软件工程 (第三版)
(一)定义
软件产品从形成概念开始,经过开发,使用和维护,直到最后退役的全过程称为软件生存周期
(二) 三个时期
1软件定义
1.1 可行性研究
1.给定要开发软件系统的总目标
2.给出功能,性能,可靠性以及接口等方面的要求
3.完成该软件任务的可行性研究
4.估计可利用的资源(硬件,软件,人力等),成本,效益,开发进度
5.制定出完成开发任务的实施计划,连同可行性研究报告,提交管理部门审查
1.2 需求分析
1.对用户提出的要求进行分析并给出详细的定义
2.编写软件需求说明书或系统功能说明书及初步的系统用户手册
3.提交管理机构评审
2软件开发
1.概要设计 — 把各项需求转换成软件的体系结构。结构中每一组成部分都是意义明确的模块,每个模块都和某些需求相对应,编写设计说明书,数据库或数据结构设计说明书,组装测试计划等文件,评审。
2.详细设计 — 对每个模块要完成的工作进行具体的描述(算法、数据结构、各行程序模块之间的详细接口信息),为源程序编写打下基础,编写设计说明书,拟定模块测试方案,提交评审。
3.软件实现(编码、程序设计)
(1)把软件设计转换成计算机可以接受的程序代码,即写成以某一种特定程序设计语言表示的“源程序清单”;写出的程序应当是结构良好、清晰易读的,且与设计相一致的。
(2)单元测试,查找各模块在功能和结构上存在的问题并加以纠正
4.软件测试
(1)组装测试,将已测试过的模块按一定顺序组装
(2) 按规定的各项需求,逐项进行有效性确认测试,决定已开发的软件是否合格,能否交付用户使用
3软件使用和维护
软件使用:操作培训、模拟数据试运行、并行运行、系统转换
软件维护:
1.改正性维护:运行中发现软件中的错误需要修正
2.适应性维护:为了适应变化了的软件工作环境,需做适当变更
3.完善性维护:为了增强软件的功能需做变更
软件生存期:
各阶段工作量:
软件开发与测试的V型关系
总结
因为临近考试,拿出来预习预习,发现需要记忆和理解的知识点好多,干干干。