文史百科-中国历史

 文史百科-中国历史     |      2019-12-08

团队项目进入到写需求说明书的阶段,本周我所考虑的问题是:

为加强对公司软件研发部门工作管理,缩短开发周期,提高软件开发质量,降低开发成本,提高开发效率,特制定软件研发部管理制度。

在软件开发的过程中,书写需求说明书的意义是什么?

第一章、总则

首先要了解的是软件需求说明书的定义:

为保证日常工作正常有序的进行,让开发中各个环节更紧凑,更可控,需要尽可能实现软件研发部项目管理的正规化,工作过程的流程化,以便提高软件质量和开发效率,达到项目能按质按量按期交付的目标。

【SRS(Software Requirements Specification), 软件需求说明书的编制是为了使用户和软件开发者双方对该软件的初始规定有一个共同的理解, 使之成为整个开发工作的基础。包含硬件、功能、性能、输入输出、接口需求、警示信息、保密安全、数据与数据库、文档和法规的要求。】

1、软件开发总体遵循项目管理和软件工程的基本原则。

定义摘自百度百科,原文链接【

2、项目管理涉及项目立项、项目计划和监控、配置管理。

 以下谈谈我对书写软件需求说明书意义的理解

3、软件工程涉及需求分析、系统设计、软件实现、系统测试、用户测试、试运行、系统验收、系统上线和数据迁移、产品维护。

 编写软件需求说明书,一般要给两种人看,一种是客户,一种是开发人员。
针对客户:  重点在于清楚的表达客户提出的需求,你是如何理解的,让客户看了你的文档后确认你的表达和描叙是符合它的需求的。为了更形象的表达,请做一些界面原型来表达,这样客户才能真正与你形成互动,使针对客户的软件需求说明书有意义。
对于开发人员:  重点告诉他们系统需要具有哪些功能,有哪些对象,对象有哪些属性,对象之间有哪些关系,最好能采用UML来表达。

第二章、阶段成果

 

根据软件工程的过程理论并结合公司目前的实际情况,制定以下工作流程,并规定了各个重要环节需要提交的交付物。

总体而言,果不能明确用户的需求,当你认为项目马上要结束的时候,用户看了你的软件会给你提出无数个你想不到的问题,也有可能用户会说他当初想要的目标软件不是这样的,这个地方我不是那个意思,总之你要修改,甚至重做。没有明确软件需求,将会使得软件开发周期变长,资金消耗增加,浪费人力物力。

1、立项:市场需求分析、项目立项申请表、项目风险分析清单。

 

2、需求分析:软件需求报告或设计方案、需求规格说明书。

so,撰写软件需求说明书具有重要的意义,是软件开发过程中的重要一环。

3、总体设计:概要设计说明书或功能模块描述。

4、详细设计:详细设计说明书,包括软件接口说明、单元测试计划。

5、软件实现:软件功能说明、源代码、源代码说明或者注释

6、产品测试:测试报告

7、产品发布:产品说明书、使用手册

8、产品维护:问题反馈记录

9、项目总结:提交客户方的项目总结和公司项目汇报的PPT。

软件过程成果表:

图片 1

图片 2

第三章、岗位设置

根据公司目前的开发过程主要分为分析、开发、测试三个阶段。分析阶段完成用户需求文档的编写,系统总体设计的编写;开发阶段完成设计文档的编写,代码的编写、代码的维护。测试阶段完成系统的测试,测试文档及其他材料。通过逐渐的调整岗位,明确工作职责,逐步实现项目经理,需求分析工程师,高级软件开发工程师,软件开发工程师,测试工程师的岗位设置。

图片 3

第四章、项目立项

1、需求分析工程师进行应用调查与分析,确认软件的应用需求。

2、成立项目评审会,开发总监、部门经理和指定人员必须参加。对项目进行可行性研究,编写项目建议书,评估项目的难度和工作量,形成可行性研究报告。

3、根据项目配置的优劣成立项目开发组,制定软件开发计划,确定项目经理,由部门和项目经理共同来确定具体项目配置,知识技能要求,团队成员及团队的角色。

第五章、项目计划与监控

1、以项目为单位,项目经理负责整个项目的计划、组织和控制。

2、在整个项目过程中,项目经理定期检查项目进度和完成情况,调整人员分工和安排。

3、项目计划需要变更时,需要明确变更内容并及时汇报。项目经理需要说明客户变更原因并将变更说明提交公司领导审核,以便根据变更内容及时调整计划。。

第六章、需求分析

1、对用户提出的需求进行分析汇总,梳理用户的业务流程和详细的功能定义。

2、做出简单的界面原型,与客户进行有效的沟通, 编写需求详细说明书。

3、根据现有条件进行估计,制定项目进度,制定详细的软件开发计划。

第七章、总体设计

1、在该阶段确定总体结构和软件开发架构,文件命名规范,编码规范。可按软件需求划分成子系统,也可直接定义目标系统的功能模块及各个功能模块的关系。

3、确定软件模块结构,给出每个功能模块的功能描述、数据接口描述,并完成系统概要设计说明书。

4、完成数据库的设计,并编写数据库设计说明书。

5、完成的文档需提交公司进行归档管理。

第八章、详细设计

1、调整前一步设计的不足,确认各模块之间的详细接口信息。

2、设计功能使用的具体描述、行为者、前置条件、后置条件、UI描述、业务流程/子流程/分支流程,界面说明等。

3、确定模块内的数据流或控制流,对每个程序模块必须确定所有输入、输出和处理功能。

4、汇总并提交所有相关文档,审核确认质量和进度。

第九章、软件实现

1、项目组根据概要设计说明书、详细设计说明书制定系统实现计划

2、有条件的情况下保证开发、测试和生产环境独立。选择软件工具,明确项目成员的职责分工,按照编码规范和详细设计实现软件功能。

3、代码应满足结构良好,清晰易读,且与设计一致,符合编码规范。

4、开发人员需要软件实现过程中编写软件功能说明,源代码说明。软件功能说明文档应说明项目名称、编号、软件名称和版本号,软件功能、主要功能实现过程。源代码说明应说明项目编号、源代码类名称、编写人员、编写日期、变更履历、功能、全局变量、数据库字典、函数功能、接口。该文档包含在源代码文件中,以注释形式存在。

5、项目组进行单元测试和集成测试。开发人员处理测试人员反馈的测试问题,并以书面形式反馈主要问题及解决办法,直至系统运行稳定。

6、汇总并提交所有相关文档,提交公司备案,形成项目知识库。

第十章、软件测试

1、根据单据测试和集成测试两个过程,制定测试计划。按阶段设计测试实例,并将测试结果记录,未通过的的反馈给开发人员调整。

2、完成测试文档、操作手册、安装维护手册的编写。

第十一章、用户培训

1、准备用户培训计划、培训手册

2、确定培训时间、培训地点,向用户进行系统使用培训、操作指导及提供软件操作手册。

3、保留培训签到表,用户意见等存档。

第十二章、系统上线

1、 制定上线计划,确定上线工作时间表,部署的环境。

2、上线操作步骤以及问题处理步骤;

3、根据软件特点、客户需求进行软件部署,并记录软件部署和运行结果;

4、项目组根据系统运行请款对系统进行优化,记录系统的运行情况、系统问题和处理后的版本。

第十三章、系统验收

1、验收工作准备,按要求整理项目成果物,打印装订成册,并提交客户方。

2、系统主要使用部门及信息技术部门联合成立项目验收小组,从需求功能及技术需求层面对系统进行综合评估和项目成果物的审核,根据验收情况形成系统验收报告

3、应用部门及信息技术部门负责人根据系统试运行情况签署验收意见。

第十四章、产品维护

1、调出项目主要开发人员,按照合同要求安排维护人员对系统进行技术支持。

2、系统需求变更或调整,记录变更原因和软件及源代码的版本控制,按照软件变更要求对系统进行维护。

第章十五、源码和文档

1、源代码/文档管理采用版本控制软件VisualSourceSafe。

2、按项目的阶段性完成源代码、文档的上传。项目负责人每天对代码进行检查,开发总监或部门经理定期进行抽查。

3、文档分为项目文档和个人文档,文档上传前进行归类和汇总。

第十六章、质量检查

1、项目负责人每天要检查成员的工作完成情况,特别是新员工的工作进展;

2、工作抽查制度:不定期的进行抽检,并将检查对象、检查时间、检查内容、检查结果反馈给被抽检人。

3、内部审核制度:针对业务需求、概要设计或疑难问题组织评审会,提出意见或解决方案。

第十七章、文档规范

1、需按照软件实施的阶段落实成果物,参照《软件过程提交成果表》。

2、如果客户有特殊要求,请按照客户要求的规范完成。并将最终的问题提交公司归档备份。

第十八章、软件变更

为规范软件变更与维护管理,特制定本制度。本制度适用于应用系统开发完毕并正式上线,移交给客户方之后的运行支持及系统变更工作。

1、系统变更工作可分为功能完善维护、系统缺陷修改、统计报表生成。

2、需求部门提出系统变更需求,项目经理同开发人员一起根据重要性和紧迫性做判断,确定其优先级和影响程度,并进行相应处理,同时将变更需求整理成系统变更申请表。

3、系统变更实现过程按照软件开发过程规定进行,遵循软件开发过程统一的编码标准和版本控制,并经过测试通过才能完成部署和上线。

4、在系统变更完成后,开发人员需将系统变更表的执行结果提交给项目经理,测试人员确认执行结果后,项目经理与需求提出方确认签字后,提交至公司进行归档管理。