1.软件开发过程(比较成熟)
Rational Unified Proccess(RUP)
Open process
Object-oriented Software Process(OOSP)
Extreme Programming(XP)
Catalysis
Dynamic System Development Method DSMP
2.RUP是一套软件工程方法
特点:RUP的二维开发模型(横轴表时间、纵轴表内容)
传统软件的开发模型
(1)瀑布模型(软件生存周期模型):问题定义、可行性研究、需求分析、总体设计、详细设计、编程实现、测试与运行、维护
优点:易于实施的标准流程、井然有序。缺点:不易确定全部需求、若确定需要需要等很长一段时间,如果中间提出较大的修改意见,项目损失比较大。
(2)可回溯的瀑布模型
优点:解决了原瀑布模型的不可回溯的问题。
缺点:回溯太多,瀑布模型的优点荡然无存。不知下一次回溯在什么时候
(3)迭代模型
优点:减低风险、加快进度、开发早期确定风险可以尽早解决问题。
举例:
迭代增量模型是软件开发过程中、常用的开发模型。其中的增量是指是软件开发过程中,先开发主要功能模块,再开发次要功能模块,逐步完善,最终开发出符合需求的软件产品。比如,需要开发一个类似WORD的软件,应该首先开发出文件管理(保存、读取文件)、基本编辑功能、打印等,而其它不太常用的功能可以最后开发。
迭代是指增量开发过程中,各模块的开发是反复进行的,并不是完成了某个模块后就终止该模块的开发转而开发下一个模块,以上面的开发WORD为例,比如,现在已开发了文件管理模块,正在开发编辑模块,但后来发现,文件管理模块有某些功能还没有实现,可以在编辑模块的开发过程中同时继续开发文件管理模块,如此不断的反复,所以说这个过程是迭代的过程。经过这样的反复迭代后该软件的功能就会越来越完善,最终开发出优秀的产品。
注:软件生命周期:需求捕获、系统分析、系统设计、系统实现、系统测试
软件开发的工作流:起始阶段、分析与设计、构建、完成