软件生命周期
软件生命周期:又称为软件生存周期其或系统开发周期
-
软件的生命周期:计划,分析,设计,编码,测试,运行,维护
计划:确定软件开发总的目标;给出软件的功能,性能,可靠性以及借口等方面的设想;研究完成该项目的可行性探讨问题的解决方法;对可供使用的资源成本可取得的效益和开发的进度进行估计
需求分析:对开发的软件进行详细的定义,由用户和用户共同探讨决定,那些需求可以满足,并给予确切的描述,写出软件需求说明书。软件研发的类型不同,需求的来源也不不同;
设计:是整个软件工程的核心,需要完成软件设计说明书,分为概要设计(HLD):在设计阶段把各项需求转换为相应的体系结构,每一步是功能明确的模块。详细设计(LLD):对每一个模块要完成的任务进行具体的描述。
运行和维护:将软件交付给用户投入正式使用,以后进入维护阶段,可能有多种原因需要对它将进行修改,如软件错误,系统软件升级,增强软件功能,提高性能等。
软件的研发流程模型:瀑布模型;迭代模型(螺旋模型:增量迭代和RUP模型:全量迭代);IPD模型
- 瀑布模型:顺序开发,一次性将所有的活动都计划好,下一个活动的开始必须依赖于上一个活动的结束。
适用于规模小,需求非常明确,简单维护性项目。应用最为广泛的一种模型,最易理解
- 螺旋模型:综合了瀑布模型和演化/渐增原型方法
分为四个象限:需求定义,风险分析;
分线评估,抉择方案;
实施;
客户评估;
- RUP模型(Rational Unified Process):所有工作流在该阶段都有体现,就是先做一个整体框架,不断的细化,迭代
分为两个维度:横轴:工作流轴,分为核心工作流(分析设计,实现测试)和辅助工作流(项目管理,配置管理)
纵轴:迭代过程,初始化-》可行性研究:项目边界-》细化阶段:详细需求分析-》构造阶段:在需求稳定的基础上,做高质量化-》发布:测试并发布
- IPD模型(集成产品流程并发):从整个产品的各个角度出发,不仅针对研发,将开发周期或时间缩短一半。
分组:IPMT:集成产品管理组:负责决策
PDT:产品开发组:负责开发