软件项目开发过程

人性使然~!神马都要有个可以依据的过程!不过这样也好~!省的走好多的弯路、错路!并且可以直到目的地!

好吧闲话少说!咸蛋少扯~!开始正题

一个项目的开发过程是什么样的呢?一通常标准的设计方法为例,过程如下:

1、需求调研啊!!!

技术和市场结合才能体现最大的价值,也是保证你做的东西是有用处滴~!一般好的需求调研报告具有以下特点:清晰、明确的架构,强有力的图表说明,简洁、清晰的分析结果,当然最重要一点就是要有客观的现象分析与判断。

2、需求分析
编写目的软件需求说明书的编制是为了使用户和软件开发者双方对该软件的运行环境、功能和性能需求的初始规定有一个共同的理解,使之成为整个开发工作的基础,为概要设计提供需求说明。(此时可以用规格说明说来说明系统规格)
格式如下:
 引言
1.1 目的
a. 说明开发本软件的目的;
b. 说明编写本软件说明书的目的;
c. 说明软件需求说明所预期的读者。
1.2 背景
a. 标识要开发的软件产品(名称,代码);
b. 列出本项目的任务提出者、项目负责人、系统分析员、系统设计员、程序设
计员、程序员、资料员以及与本项目开展工作直接有关的人员和用户;
c. 说明该软件产品与其它有关软件产品的相互关系。
1.3 参考资料
a. 列出本项目经核准的任务书或合同和上级机关的批文;
b. 列出编写本软件需求说明书时参考的文件、资料、技术标准以及它们的作者、
标题、编号、发布日期和出版单位等。
1.4 术语
列出本软件需求说明书中专门术语的定义以及英语缩写词的原词组。

2、 项目概述
2.1 被开发软件的一般描述
描述被开发软件的主要组成,相互联系和外部接口,可用系统流程图的层次结构
描述,如图1:
           图1 层次结构图示例

2.2 被开发软件的功能
简述被开发软件的功能,可用系统流程图的层次结构描述。
必须采用设计工具,如:PowerDesigner,来进行。

2.3 实现技术
列出所采用的编程语言。
2.4 用户特点
描述最终用户具有的受教育水平、工作经验及技术专长。
2.5 一般约束
给出影响承办单位在设计软件时的约束条款和当需求发生变化时该软件对这些变
化的适应能力即灵活性的需求。
3、 具体需求
3.1 功能需求
用文字、图表或数学公式详细描述被开发软件的输入、处理、输出以及在上述过
程中发生的基本操作。对每一类功能,按下述四小节描述。
(必须采用设计工具,如:PowerDesigner来进行,报告可不遵从下面的格式)。


3.1.1 引言
a. 描述该软件功能及使用方法;
b. 列出与功能有关的背景材料。
3.1.2 输入要求
a. 输入数据的描述,包括输入源、数量、度量单位和精度;
b. 操作员具体的操作控制需求(如输入格式、数据类型、精度、范围自动检验等
);
c. 指明引用的输入设备接口资料(包括设备型号、数量)。
3.1.3 处理要求
  描述为获得期望的输出,对输入数据及中间参数进行的操作,包括:
a. 输入数据有效性检查手段;
b. 操作顺序和处理过程;
c. 非正常情况的响应。如溢出、通讯故障、错误处理;
d. 输出数据有效性检查手段。
3.1.4 输出要求
a. 输出数据的描述,包括目的地(存储媒体和用途)、数量、度量单位和精度;

b. 非法数据的处理;
c. 指明引用的输出设备接口资料(包括设备型号、数量)。
3.2 外部接口需求
3.2.1 用户界面
a. 指出用户使用软件产品时的界面需求。若用户通过显示终端操作,则需指定如
下需求:
餹 对屏幕格式的要求;
餹 报表或菜单的页面显示格式及内容;
餹 用户命令的格式。
b. 列出输出错误信息的格式。

c. 尽可能采用开发工具构造界面,使需求定义和设计、编码相衔接,应遵从《界
面设计规范》。

3.2.2 硬件接口
a. 软件产品与系统硬设备之间每一接口的逻辑特点;
b. 硬件接口支持的设备;
c. 软件与硬件接口之间以及硬件接口与支持设备之间的约定。
3.2.3 软件接口
描述该软件产品与其它有关软件的接口关系,并指出这些软件的名字、助记符及
版本号。
3.2.4 通讯接口
说明各种通讯接口及协议。
3.3 性能需求
a. 正常情况下和峰值工作条件下,在一定时间内要处理的数据总量;
b. 响应时间;
c. 输出结果精度。
3.4 软件属性需求
a. 正确性需求;
b. 健壮性需求;
c. 安全保密性需求;
d. 易使用性需求;
e. 可理解性需求;
f. 可维护性需求;
g. 可测试性需求;
h. 可移植性需求;(不同操作系统、数据库系统、网络、系统软件)
3.5 数据需求(若是较大规模的软件本节内容取消,由数据要求说明书详细描述
,此部分内容同软件的功能描述一起做。必须采用设计工具,如:PowerDesigne
r,来进行)。
3.5.1 数据描述
a. 列出作为控制和引用而使用的静态数据元素;
b. 列出动态输入数据元素;
c. 列出动态输出数据元素;
d. 列出软件内部生成的数据元素。
3.5.2 数据获取
a. 列出提供输入数据的机构;
b. 列出数据输入介质和设备;
c. 列出数据生成介质和设备。

3.6 产品化需求
a. 安装程序的需求;
b. 学习软件的需求;
d. 软件功能通用性需求。
e. 软件加密需求
f. 软件运行环境的通用性需求(不同操作系统、数据库系统、网络、系统软件) 
3、概要设计
将系统功能模块初步划分,并给出合理的研发流程和资源要求。

4、详细设计

详细设计说明书应当把具体的模块以最‘干净’的方式(黑箱结构)提供给编码者,使得系统整体模块化达到最大。
5、编码
根据详细设计说明书做编码工作!

6、测试

按照测试执行方,可以分为内部测试和外部测试;按照测试范围,可以分为模块测试和整体联调;按照测试条件,可以分为正常操作情况测试和异常情况测试;按照测试的输入范围,可以分为全覆盖测试和抽样测试。

你可能感兴趣的:(项目管理)