1. 软件生命周期定义
软件生命周期(SDLC)是软件开始研制
到最终废弃不用
所经历的各个阶段 – 软件开发模型
2. 瀑布型生命周期模型
瀑布模型规定自上而下,相互衔接的固定次序,如同瀑布流水,逐级下落,具有顺序性和依赖性
3. V模型
RAD(快速应用开发)模型,也称之为V模型,通过开发和测试同时进行的方式
来缩短开发周期,提高开发效率
4. 阶段讲解
4.1 问题的定义及规划 – 收集用户需求+初步需求文档+确定可行性(产品 市场 客户)
主要确定软件的开发目的及其可行性。指定项目的总体开发计划。 – 初步需求文档
4.2 需求分析和评审
在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细设计,明确客户的需求(需求评审–产品,开发,测试),输出需求规格说明书终版
4.3 设计开发
把需求分析得到的结果转换为软件结构和数据结构,形成系统架构
概要设计
:主要是架构的实现,指搭建架构,表述各模块功能,模块接口连接和数据传递的实现等项事务
详细设计
:对概要设计中的表述的各模块进行深入分析等,其中包含数据库设计说明,接口文档,数据库字典
4.4 编码 – 写代码 开发
按详细设计好的模块功能表,编写程序
4.4 编码 --写代码开发
4.5 软件测试
软件设计完成后要经过严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正
测试的方法主要有白盒测试和黑盒测试(灰盒测试)
两种。建立详细的测试计划并严格按照计划进行
单元测试(Unit test)
:主要测试程序代码
,为的是确保各单元模块被正确的编译,具体到模块,具体到类,函数,方法的测试等 – 开发自测,白盒测试集成测试
:单元测试后,将各单元组合成完整的体系
,测试软件单位之间的接口是否正确,数据能否正常传递 – 接口测试,灰盒测试系统测试
:把软件系统搭建起来,按照软件规格说明书中所要求,测试软件其功能,界面,兼容,易用,性能, 安全等是否和用户需求相符合,在系统中运行是否存在漏洞等验收测试
:主要就是用户在拿到软件的时候,在使用现场,会根据前边所提到的需求,以及规格说明书来做相应测试,以确定软件达到符合效果
5. 运行维护 – 软件生命周期里时间最长
软件维护是软件生命周期中持续时间最长的
阶段。在软件开发完成并投入使用后,由于多方面的原因,软件不能继续适应用户的需求。要延续软件的使用寿命,就必须对软件进行维护。软件的维护主要包括纠错型维护和改进性维护
两个方面
6. 敏捷开发模型 – 市场主流
一种以用户需求为核心,且分多个子项目-快速迭代,收集用户需求
的开发方法。
强调以人为本,专注于交付对客户有价值的软件。
是一个用于开发和维持复杂产品的框架。就是把一个大项目分为多个项目联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态