目录
1.市场需求调研
1.1模式
主动模式:软件公司主动挖掘市场需求,从而开发出解决大众需求的软件,该背景下研发的软件一般称为“产品”,从用户角度,需求来源于软件公司,用户被动接受。
被动模式:由用户主动提出,软件公司负责研发,一般称为“项目”,从用户角度,需求来源于自己主动提出。
1.2总结表格
模式 | 需求来源 | 需求特点 | 优点 | 缺点 | 实例 | 产物 |
主动 | 软件公司主动挖掘 | 广泛的社会用户需求 | 确定目标市场, 更好地制定策略 具有战略意义 | 需求模糊 | QQ研发 | 《xx市场分析报告》 |
被动 | 用户主动提出 | 特定的用户自身需求 | 需求明确 | 限制企业战略纵深 | 银行柜台交易系统 | 《xx系统初步需求报告》 |
2.可行性研究
以企业研发能力为前提,以投资收益为目的。
研发能力体现于:技术、成本、管理、风控等。
收益体现于:经济效益、社会效益。
软件产品成败受4个方面的约束:Time(时间)、Scope(范围)、Cost(成本)、Risk(风险)。
3.产品项目立项
经过市场调研,可行性研究确认可行,需求调研人员牵头进行立项活动。
构建研发小组,制定研发计划,期间参与人员:项目经理、开发经理、测试经理。
4.需求调研开发
4.1模式
主动模式:需求调研小组与用户直接沟通,获取明确的需求。
被动模式:市场调研小组分析市场需求,无明确的需求提出者,获取粗糙的需求。
需求调研是整个软件生产中最重要的环节,该环节输出的一切成果都是后续工作的基准。
故很多公司会投入更多的时间、人力物力,保证需求调研的充分性和正确性。
从软件测试角度,测试人员也需要参与其中,如能在需求调研开发阶段接触到原始需求,对保证整个项目的测试质量具有积极意义。
最终得到需求规格说明书(Software Requirements Specification, SRS)
5.设计开发测试
SRS经过评审确定后,形成需求基线,由项目组内开发人员进行系统设计。
如公司有专门的系统架构师(System Architect, SA),则由SA从多角度进行系统概要设计,输出系统概要说明书(High Level Design, HLD)。
再根据SRS&HLD进行系统的详细设计,得到详细设计说明书(Low Level Desigh, LLD)。
然后按照计划,开发人员完成编码,当测试版本交付日期到达时,由测试团队执行测试用例测试系统功能&性能。经过多次版本迭代,完成系统测试,输出系统测试报告。
若达到定义的停测标准,即可结束测试活动,反之,持续回归测试,直至达到被测对象出口准则。
6.发布运行维护
研发对象为产品,由研发公司发布,通常交由网络&媒体宣传;
研发对象为项目,由客户确定交付日期,客户接受软件公司提供的软件系统前,通常会进行验收测试,通过方可正式接受,且需要根据与客户签订的产品维护协议,制定产品维护流程,以便及时处理软件系统在使用中出现的问题,直到产品废弃或升级,进入新的生命周期。