开发逻辑,是正确获取软件的关键。
2.1 软件生存周期过程
编程之前的工作。软件生存周期是软件产品或系统的一系列相关活动的全周期。95年发布国际标准,“ISO/IEC软件生存周期过程12207-1995”,给出了软件开发需要的任务,即回答了软件开发需要做哪些基本的映射。2002年进行增加。
三个术语:过程、活动、任务。
软件生存周期过程分为三类,基本过程、支持过程、组织过程。
2.2 软件生存周期模型
对软件开发本质的映射,即软件生存周期过程。
瀑布模型
优点:纪律性,完全弄清楚上一步才进行下一步,保证质量。缺点:不适合不稳定的需求,项目结束之前都不能演示系统。
增量模型,将需求分组,形成一个个的增量,对每一个增量进行瀑布式开发。
前提:需求可结构化。适用于“技术驱动”的软件产品开发,如数据库系统。缺点:需求不像早期思考的稳定和完整,会导致重新开发。
演化模型,针对不能完整定义需求的软件开发,先进性核心系统的开发。后续根据用户的反馈,实施开发的迭代过程。
容易弱化需求分析阶段的工作。要求不论采用什么软件生存模型,均不能弱化需求分析工作,并形成响应的文档。
螺旋模型,在瀑布模型和演化模型基础上,加入风险分析。下图三个原型后进入详细分析,编码实现。
喷泉模型
2.3 软件项目生存周期过程的规划与控制