一.软件生存周期
定义:一款软件从定义到开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把软件经历的这个漫长的时期成为生存周期。软件生存周期就是从提出软件产品开始,直到该软件产品淘汰的全过程。传统的软件生存周期一般可分为一下阶段:
1.制定计划:确定要开发软件系统的总目标;给出功能、性能、可靠性以及接口等方面的要求;完成该软件任务的可行性研究;
2.需求分析和定义:对待开发软件提出的需求进行分析给出详细的定义;编写软件需求说明书;
3.设计:概要设计,把各项需求转换软件的体系结构;
4.编码;
5.测试:软件测试可以分为静态测试和动态测试(上机调试)。单元测试,查找各模块在功能和机构上存在的问题并加以纠正;组装测试,将已测试过的模块按一定的顺序组装起来;
6.运行与维护。
软件生存期也可以分为三个大阶段:计划阶段;开发阶段和维护阶段。
二.软件开发模型
1.瀑布模型:传统软件模型,对于瀑布模型有如下简介:
思想:从制作时间上按工序把问题化简,将功能实现与制作分开便于分工协作;
优点:奠定了软件工程方法的基础;流水依赖,便于分工协作;推迟物理实现,易于修改文档,有复审质量保证;
不足:与用户见面晚,成功率低。一般为25%;
适用范围:适用于系统要求明确的系统,各种应用软件的开发均可使用。
瀑布模型
2.原型
基本思想:允许从部分需求出发,先建立一个不完全的系统,通过测试这个系统,进一步使系统扩充和完善;
优点:开发的始终开发人员和用户否共同参与,有问题可以随时修改,从而很好地满足了用户的需求;
适用范围:适用于那些知识型软件系统的开发;
特点:从整体结构上不如瀑布型清晰;从软件的文档不如瀑布型的划分严格;周期长,成本高;与用户见面快,开发效率高。
原型
3.渐增模型:基于原型,其简介相同。
渐增型
4.螺旋模型
沿着螺线旋转,在四个象限上分别表达了四个方面的活动,即:
指定计划:确定软件目标,选定实施方案,弄清项目开发的限制条件;
风险分析:分析所选方案,考虑如何识别和消除风险;
实施工程:实施软件开发;
客户评价:评价开发工作,提出修正建议。
思想:从软件需求的形式规格说明出发,经过一系列的程序变化,得到最终的结果;
特点:有严格的数学理论和形式化的救赎支持,但目前在研究和试验阶段,不能使用;
不足:多次原型反复并增加风险评估的开发。
螺旋型
5.喷泉模型
采用迭代的方式,重复演进,无间隙,各阶段间无明显界限,认为软件的各个周期是相互中谍的和多次反复的。
喷泉型
三.知识梳理
通过对于软件工程视频的学习,再一次感觉到了软件工程的重要性,其概论一章节讲述了软件的生存周期和软件开发的模型,对于软件的开发过程和如何能够更好地了解和设计软件做了很好地阐述。软件工程,我们必修的一门课程,很值得我们去历练,也希望在接下来的时间里,多做一些这方面的功课。