发布时间:2020-07-31
只要说到生命周期,我们首先想到的是生命的开始到结束,其实软件的生命周期大体也是这个样子的。软件生命周期从根本的意义上来说,就是软件从产生到废弃的整个过程,周期内有问题定义、可行性分析、需求分析、系统设计、编码、调试和测试、部署/发版、维护升级到废弃等阶段。
1、需求定义(Ruquest for Proposal)
定义出本次任务都需要做什么,做成什么样子。
2、可行性分析:
由项目组相关成员去研究需求是否可行,能不能做出来(比如:商家拿订单需求去找设计和工厂,问设计图形或者样式能否做出来;问工厂在相应的布料上能不能做出设计图样式的衣服,这个过程就是可行性分析)
3、需求分析/用户需求(Requirements Analysis):
需求分析其实是在做需求细化,按照任务说明书中的任务内容和指标具体细化各个点,细化到每个框每个按钮的样式,输入输出等各项值
4、评审
评审就是做审查,对这个阶段的工作进行审查,看是否偏离或者有遗漏,评审一般由相应工作人员来参与
每个阶段的评审一般都是各职能部门内部审核,也可以申请其他相关人员审核,比如需求评审,一般是产品经理、项目经理、测试、开发一起评审;系统设计一般是项目经理、开发评审;测试策略评审一般是测试组内部评审等等
5、开发线
架构师根据需求确定产品或者项目的场景、特点,选择合适的框架,技术使项目实现最优化。在此上将系统进行概要设计,包括系统总体数据结构、数据库结构、模块结构以及它们之间的关系等。开发人员根据概要设计对具体模块进行详细设计,包括接口参数、参数等。此处设计会形成概要设计文档和详细设计文档……
6、编码(Coding)
开发人员根据详细设计文档对系统进行模块化开发,在确定参数和接口的情况下,根据需求对模块内部进行方法级别的设计和编码以及自测,对产品功能进行一一实现
7、提测
开发人员完成一个小迭代/小功能,且完成自测(开发编码完成后,一般都会自己检测下),于是向测试部门发起提测,一般以邮件方式或者任务管理工具任务流方式向测试部门通知xxx模块/功能可以测试
8、测试设计:
主要是对测试用例和规程的设计。测试用例是根据《测试方案》来编写的,测试用例需要包括测试项,用例级别,预置条件,操作步骤和预期结果。同样,测试用例也需要评审。
9、测试执行(Testing)
根据测试用例对开发提测部分进行,通过的标记通过,不通过的提交有质量的Bug(问题缺陷)。这里要说下bug,测试对出问题的部分提交bug到相关开发工程师,开发根据问题描述,进行修订,修订完成后会将bug流转给相关测试人员(通过缺陷管理工具分配/邮件通知相关测试人员bug修订完成,可测),测试需要对bug以及bug相关模块进行测试回归。
10、测试报告
最终测试完成(所有测试用例通过/已挂起)会出测试报告对以上测试进行总结性描述。
11、部署/发版(Deploy)
经过前面的各个阶段,产品已经可以出售或者面见大众了;由测试进行冒烟测试,冒烟测试通过后配置管理人员进行封版、版本制作、部署上线
12、支持维护(Production Support)
支持维护类似于我们日常中的售后,主要是对已卖出的产品/已上线的项目进行日常维护。包括纠错性维护和改进性维护两个方面。
现在大家对于软件生命周期有了一个大体的印象了吧,知道了它的流程和生命过程。这个过程除了完全靠人工之外,还是可以借助一些工具的,并且有了工具之后,人工可以减少不少的时间,省去一些麻烦。ALM就是一个这样的工具,它是面向软件研发生命周期管理的工具,实现了从产品概念设计、需求分析、历经项目计划、项目进度、配置管理、工时管理、测试管理等阶段,直至项目完成的全过程管理。
推荐阅读:
您的信息已成功提交!
我们的客服人员稍后会与您联系