数据库开发的生命周期
为保证可扩展的、灵活的和越来越快的应用软件, 数据库 开发 者应该注意实践出真知的 软件工程 原则。数据库应用软件开发的典型阶段--实际上所有类型的开发--都包括分析,设计,实现,数据转换, 测试 ,训练,以及维修。来自InformIT的这篇文章讨论4种创
为保证可扩展的、灵活的和越来越快的应用软件,
数据库开发者应该注意实践出真知的
软件工程原则。 数据库应用软件开发的典型阶段--实际上所有类型的开发--都包括分析,设计,实现,数据转换,
测试,训练,以及维修。 来自InformIT的这篇文章讨论4 种创建软件应用的方法。
为保证可扩展的、灵活的和越来越快的应用软件,数据库开发者应该注意实践出真知的软件工程原则。 数据库应用软件开发的典型阶段--实际上所有类型的开发--都包括分析,设计,实现,数据转换,测试,训练,以及维修。 来自InformIT的这篇文章讨论4 种创建软件应用的方法:
瀑布式
最优秀生命周期范例是瀑布式方法。 开发者以一种严格的线性顺序进行软件开发,这种方法中不会走回头路。
瀑布式方法适用于易于理解的从分析到设计都有着可预测输出的应用程序。它也用于合同式的场合,特别在为政府工作时,它常常使用(不考虑它的适用性的话)。
瀑布式方法不适合用于过程中有很大不确定的应用程序,对于你将遇到的大多数应用都是这样类型的。 当
需求是处于变化中的时候,太多的组织仍然试图使用瀑布式方法。这会导致开发者抱怨在变化的需求,企业抱怨不灵活的信息系统的组织。瀑布式方法直到完成时才能交付一个有用的系统,这使得评估程序和在项目出问题时更正变得很困难。
摘要:
强项——适用于具有可预测的结果的应用程序。
弱项——不适用于具有变化需求的应用。直到项目完成才能交付一个系统。
快速原型方法
使用这种方法,你可以迅速开发软件的一部分,并使用它、评估它。然后你再合并你所学到的,然后再重复这种循环。最终,你交付一个最终原型作为完成的应用程序,或者在你得到一些原型之后转向另一种方法。你必须迅速地在原型开发时完成循环(通常,2到3个月)并成功。 快速原型方法集中于用户探询的输入;如果你能从其他输入源搜集信息,你就能减少原型的数量。
快速原型增强了通信。你了解了用户的需要,并且用户也知道了自动化的方法能提供什么。 因此,原型瞄准了一个软件开发的核心困难——找到真实的需求。快速原型提供适合向用户保证开发正常运行的频繁的关节点。它也让开发者能够实验设计和实现容易出错的方面。它们能测试很难的算法,并且在进行完整实现之前,知道它能否正常工作。
原型可能是废品,或者也可能通过逐渐的精心制作得到你想要的工作系统。快速原型的弱点是: 经常地,一件原型不合适于增强,但是你可能会收到业务方面的压力,要求增强它。成功的关键是做好准备丢掉早期的原型。原型应该被增强,只要它们能早在其领域上获得成功并且有坚固的架构。
摘要:
强项——可以引出需求。提供关节点。允许做问题检查的实验。
弱项——可能有业务压力而不得不扩展一个已经很脆弱的原型。必须抛弃代码。
增量开发
增量开发类似于瀑布方法, 除了你必须划分应用并同时开发各个部分之外。 多个增量被交付,并且积累成为被完成的应用。 (把这与快速原型对比,每次交付的新内容都会替换先前的代码。)
增量开发的一个优点,是你能有很密集的关节点。当遇到困难时,你可以及时发现并调整你的实践。
挑战在于为相应的开发找到有意义的增量——把一个应用分成相互间关联很少的几片。最好,在增值之间的接口应该最小并且容易确定。 此外,你必须进行一个最先的分析; 否则,随后的变化可能会扰乱早期的增量。在功能的有用增量对用户可见之前,大多数应用都需要很大的基础方面的努力。在简化后勤部署之前一个企业可以把几个增量结合起来。
摘要:
强项—— 交付应用的有用部分。提供关节点。
弱项—— —些问题划分困难。在交付功能之前,必须先完成基础设施。
第4 代语言
第4 代的语言(4GL)是提供屏幕布局和简单计算以及报告的直接数据库应用的一种框架。4GL 提高实现介质层的高度,使得它更接近分析层。分析工作仍然保留,但是对于设计和实现只需要更少的努力就可以完成。 如果你的应用程序适合4GL框架,开发者能只出现很少错误就迅速地构造好它。
4GL的优势在于重用:多个应用程序调控相同的4GL软件。通常地,4GL从厂家那里购买,因此你的组织不必自行开发它。如果能够熟练地使用,4GL 应用程序的
性能可能会十分好。
4GL的不利是框架的刚性。开发者习惯于范例;他们可能尝试把它用于不适当的应用场合,例如带有复杂的计算的那些。4GLs还缺乏重用应用软件逻辑的工具; 开发者必须反复对相似的形式进行编码。4GLs是复杂的软件,想要精通必须投入时间和努力。
摘要:
强项——开发者能迅速创建应用程序,却产生很少的错误。
弱项——很多应用软件不适合使用4 GL。4GL是要学习的另一项技术。
结合的方法
你可以结合各种各样的方法。例如,对于增量开发的困难部分,你可以使用快速原型方法来充实需求。 有时,把一个大型系统分成不同组件并且与不同的方法构造组建是有帮助的。
原文转自:http://www.ltesting.net