上世纪60年代爆发了众所周知的软件危机,为了克服这一危机,于是诞生软件工程,进而形成了软件开
发方法,至今可归结为8中:
一、Parnas方法
由于当时软件在可维护性和可靠性方面存在着严重问题,因此Parnas提出的方法是针对这两个问题的。
Parnas提出了信息隐蔽原则:在概要设计时列出将来可能发生变化的因素,并在模块划分时将这些因素
放到个别模块的内部。 现在信息隐蔽原则已成为软件工程学中的一条重要原则。 Parnas提出的第二条
原则是在软件设计时应对可能发生的种种意外故障采取措施。 他没有给出明确的工作流程。所以这一方
法不能独立使用,只能作为其它方法的补充。
二、 SASD
SASD既结构分析结构设计方法,也是面向数据流的开发方法,。它首先用结构化分析(SA)对软件进行
需求分析,然后用结构化设计(SD)方法进行总体设计,最后是结构化编程(SP)。这一方法不仅开发
步骤明确,SA、SD、SP相辅相成,一气呵成,而且给出了两类典型的软件结构(变换型和事务型)
三、 面向数据结构的软件开发方法
Jackson方法
这一方法从目标系统的输入、输出数据结构入手,导出程序框架结构,再补充其它细节,就可得到完整
的程序结构图。 Jackson设计方法是一种面向数据结构的软件设计方法,Jackson分析方法是面向数据流的分析方法。
Warnier方法
与Jackson方法类似
四、 问题分析法
PAM方法希望能兼顾Yourdon方法、Jackson方法和自底向上的软件开发方法的优点,而避免它们的缺陷。
它的基本思想是:考虑到输入、输出数据结构,指导系统的分解,在系统分析指导下逐步综合。
五、 面向对象的软件开发方法
随着OOP(面向对象编程)向OOD(面向对象设计)和OOA(面向对象分析)的发展,最终形成面向对象的
软件开发方法OMT(Object Modelling Technique)。这是一种自底向上和自顶向下相结合的方法,而且
它以对象建模为基础,从而不仅考虑了输入、输出数据结构,实际上也包含了所有对象的数据结构。
六、 可视化开发方法
可视化开发就是在可视开发工具提供的图形用户界面上,通过操作界面元素,诸如菜单、按钮、对话框
、编辑框、单选框、复选框、列表框和滚动条等,由可视开发工具自动生成应用软件。
七、 ICASE
ICASE(Integrated Computer-Aided Software Engineering) 的最终目标是实现应用软件的全自动开
发,即开发人员只要写好软件的需求规格说明书,软件开发环境就自动完成从需求分析开始的所有的软
件开发工作,自动生成供用户直接使用的软件及有关文档。
八、软件重用和组件连接
件重用是利用已有的软件成份来构造新的软件。它可以大大减少软件开发所需的费用和时间,且有利于
提高软件的可维护性和可靠性。