软件开发流程:
需求收集>需求分析>需求设计(流程、原型、需求说明)>需求评审>需求确认>开发(各种开发模式)>测试(黑河、白盒)>验收>上线>复盘
软件生命周期:
立项(或签合同)、下达任务书>需求分析>概要设计>详细设计>编码实现>软件测试>软件发布与实施>软件维护>版本更新或退役
主流的软件开发模型:
瀑布模型:
- 特点:软件开发的各项活动严格按照线性方式进行,当前阶段的活动接受上一阶段活动的工作结果,实施完成所需的工作内容。
软件生命周期: 瀑布模型中软件生命周期的过程是由需求、设计、编码、测试、发布等阶段组成,把每个阶段当做瀑布中的一个台阶,把软件生存过程比喻成瀑布中的流水。 - 优点:开发阶段界定清晰,便于评审、审计、跟踪、管理和控制。
- 缺点:可维护性差,逆转性差。
增量模型:
- 特点:要开发一个大的软件系统,先开发其中的一个核心模块(或子系统),然后再开发其他模块(或子系统),这样一个个模块(或子系统)地加上去,直至整个系统开发完毕。要求各模块高内聚,低耦合。
- 优点:将一个大风险分解为多个小风险,降低了开发难度;人员分配灵活,可分模块发布。
- 缺点:要求软件系统的组装性和拆卸性较强,要求开发人员全局把控水平较高。
原型模型:
- 特点:原型驱动,开发者必须先有一个原型(样品),至少要有一个原型的核心。
- 优点:开发速度快,有利于需求评估和意见反馈。
- 缺点:不利于开发人员创新。
迭代模型:
- 特点:针对瀑布模型的缺陷提出了迭代模型。迭代或迭代循环驱动,每一次迭代或迭代循环,均要走完初始(先启)、精华、构建、产品化(移交)这4个阶段。
- 优点:在开发早期或中期,用户需求可以变化;模型的适用范围很广,几乎适用于所有开发项目。
- 缺点:对项目组成员要求很高;必须掌握先进的开发工具。
网友评论