使用CASE工具进行开发可提高生产力

时间:2020-03-05 18:40:08  来源:igfitidea点击:

我正在使用一个名为MAGIC的CASE用于正在开发的系统,我以前从未使用过这种工具,乍一看,我并不喜欢,一个月后,我生成了很多应用程序,感觉效率很高,并且。 ..我会说...很满意。

从某种程度上来说,这是一种令人不舒服的原因,因为没有代码和我习惯的一切,但另一方面,我可以加快开发速度。事实是,最终我重新使用了C,因为我发现它可以更灵活地进行开发,可以进行单元测试,可以使用CVS,可以访问更多资源,并且基本上我拥有"所有控件"。我觉得这个工具没有给我信心,我认为在项目的后期,由于它强制制定了开发规则,所以我无法管理它。还有很多事情,例如发送电子邮件,使用我自己的控件以及其他复杂的事情,似乎在某些时候,这并没有我最初想象的那么容易,也不像最初所说的那样容易。这使我想起了一篇非常不错的文章,名为" No Silver Bullet"。

这个CASE有它的优点,但是另一方面,它没有我们可以查阅的资源,实际上,许可证和认证非常昂贵。对我来说,另一个令人失望的事情是,由于其开发方法过于简单,我一方面感到害怕,因为我对这类工具的经验不足,其次,我认为如果继续使用它,它可能会变成一个复杂的怪物。我在项目后期无法管理。

我认为使用这类解决方案来加快速度是很好的,但是我想知道,如果这些程序声称比我的工具更好地提高了生产力,为什么它们不像VS.Net,J2EE,Ruby,Python等那样受欢迎呢?已经指出了吗?

解决方案

回答

我们在我目前的公司中使用CASE工具来生成代码,并且我们正试图摆脱它。

在我看来,它带来的好处是图形化表示代码制作组件"更轻松"以供新开发人员使用,而这些好处却远远超过了缺点。

这些主要缺点是:

  • 我们无法进行自动合并,因此几乎不可能在一个组件上进行并行开发。
  • 开发人员开始依赖该工具,而"忘记"如何手动编码。

回答

几个问题要问我们:

与我们使用的控件相比,我们可以获得多少生产率?
我们创建的代码如何可测试和可靠?
我们如何在设计中实现新模式?

我无法想象那里有一个CASE,我可以先编写一个测试,然后再使用CASE生成所需的代码。我宁愿坚持使用reshaper,它可以轻松地完成平凡的任务并保留对代码的完全控制。

回答

我参与的项目最初是使用Oracle开发套件来组合Web应用程序的。

随着时间的推移(超过5年),客户要求变得比最初预期的要复杂,并且屏幕难以维护。因此,团队非正式地决定开始在Web PL / SQL中创建自定义(手工编码)屏幕,而不是使用Oracle Development Suite CASE工具(Oracle Designer)生成它们。

团队仍在使用Development Suite的Oracle Report Builder组件,因为它似乎可以及时"完成工作"。通常,使用报表生成器工具的开发人员的编码不太舒服。

在这种情况下,这种CASE工具的生产力似乎在很大程度上取决于客户需求和开发人员的技能/培训/背景。

回答

不幸的是,魔术工具无法生成代码,也无法实现设计模式。我无法控制代码原因,因为我之前没有修改代码。最重要的是,它可以以某种方式提高生产率,但是它无法提供给用户CVS,模式,而且我无法控制所有细节。

我同意gary的看法,他说"看来,这种CASE工具的生产力在很大程度上取决于客户需求和开发人员的技能/培训/背景",但我也不太同意Klelky。

这些主要缺点是:
1.我们无法进行自动合并,因此几乎不可能在一个组件上进行并行开发。
2.开发人员开始依赖该工具,并且"忘记"如何手动编码。

谢谢