制定计划
我们需要确定开发总目标,给出功能、性能、可靠性以及接口等方面的要求;另外是可行性研究:经济 、法律 、技术、操作可行性研究;
制定出时间、进度的计划,成本及人员的估算;
需求分析
以表格或图形的方式来呈现;
对开发软件提出的需求进行分析,编写用户手册,软件需求说明书;
软件设计
概要设计
把各项需求---→体系结构(划分模块)
详细设计
对各个模块进行程序实现
软件测试
单元测试--开发工作者自己进行测试
组装测试-已测试过的模块按一定的顺序组装起来
软件开发模型
主要有三类:瀑布型、原(渐增)型和变换型
瀑布型在这主要有三类:基本的瀑布模型,b模型
有一个缺点就是:开发阶段由于开发人员与用户暂时分开,开发完全按照开发人员的想法来实现,等到测试阶段在跟用户沟通,修改成本较大;
b模型
b模型就很好地避免了这个问题,在开发的每个阶段都有专门的人员和用户进行评价,如果有问题就可以立马进行修改,大大地保证了开发的质量;但是,修改的量也不是无止境的,要控制在20%左右,如果超过了50%就要成为二次开发
那这里,我们就可以总结一下瀑布型的特点
优点:1.奠定了基础;2.流水依赖,分工协作;3.有质量保证
缺点:与用户见面晚,成功率低,一般为25%
适用范围:与系统要求明确的系统,各种应用软件均可使用;
开发方法:明确规定每个阶段的任务,提交每个阶段的文档及人员分配;
开发特点:时间的顺序性和依赖性;
推迟实现的特点;
质量保证。
原型
原理:先形成一个不是很完善的原型,之后对该原型进行不断的反馈意见和修改,这样在需求分析阶段都可以和用户进行沟通;
这两个模型都是在原型模型基础上得来的,
原型的特点:
原理:先建立一个不全面的系统,通过测试这个系统,进一步使系统扩充和完善。
优点:与用户全程参与,有问题随时修改,满足客户需求。
适用范围:知识型软件系统
特点;1.不如瀑布型结构清晰;划分严格;
2,周期长,成本高;
3, 与用户见面快,效率高;
变换型
上面这两张图片分别是螺旋型和喷泉型,螺旋模型我们可以看到有四个象限:分别是:制定计划,风险分析、实事工程、和客户评价,每转一圈,这四个阶段都要经历一次。所以每经历一圈,都会产生一个原型,这是在原型模型基础上发展而来。
喷泉模型:
特点是迭代,每个阶段之间没有明显的界限。
变换型的特点:
思想:从软件需求的格式出发,经过一系列的变换得到最终的结果。
特点:有严格的数学理论和形式化的技术支持。