**科技股份有限公司
软件项目管理制度
目录
项目开发计划 ....................................................................................2
软件需求说明书 ................................................................................4
详细设计说明书 ................................................................................6
用户手册 ............................................................................................8
数据要求说明书 ..............................................................................11
项目开发总结报告 ..........................................................................13
项目开发计划
编制项目开发计划的目的是用文件的形式,把对于在开发
过程中各项工作的负责人员、开发进度、 所需经费预算、所需
软、硬件条件等问题作出的安排记载下来,以便根据本计划开展
和检查本项目的开 发工作。编制内容要求如下:
1 引言
1.1 编写目的
说明编写这份项目开发计划的目的,并指出预期的读者。
1.2 背景
说明:
a.待开发的软件系统的名称;
b.本项目的任务提出者、开发者、用户及实现该软件的计
算中心或计算机网络;
C.该软件系统同其他系统或其他机构的基本的相互来往关
系。
1.3 定义
列出本文件中用到的专门术语的定义和外文首字母组词的
原词组。
1.4 参考资料
列出用得着的参考资料,如:
a.本项目的经核准的计划任务书或合同、上级机关的批文;
b.属于本项目的其他已发表的文件;
C.本文件中各处引用的文件、资料,包括所要用到的软件
开发标准。 列出这些文件资料的标题、文件编号、发表日期和
出版单位,说明能够得到这些文件资料的来源。
2 项目概述
2.1 工作内容
简要地说明在本项目的开发中须进行的各项主要工作。
2.2 主要参加人员
扼要说明参加本项目开发工作的主要人员的情况,包括他们
的技术水平。
2.3 产品
2.3.1 程序
列出需移交给用户的程序的名称、所用的编程语言及存储程
序的媒体形式,并通过引用有关文件, 逐项说明其功能和能力。
2.3.2 文件
列出需移交给用户的每种文件的名称及内容要点。
2.3.3 服务
列出需向用户提供的各项服务,如培训安装、维护和运行支
持等,应逐项规定开始日期、所提供支持 的级别和服务的期限。
2.3.4 非移交的产品
说明开发集体应向本单位交出但不必向用户移交的产品(文
件甚至某些程序)。
2.4 验收标准
对于上述这些应交出的产品和服务,逐项说明或引用资料说
明验收标准。
2.5 完成项目的员迟用限
2.6 本计划的批准者和批准日期
3 实施计划
3.1 工作任务的分门与人员分工
对于项目开发中需完成的各项工作,从需求分析、设计、实
现、测试直到维护,包括文件的编制、审批、打印、分发工作,
用户培训工作,软件安装工作等,按层次进行分解,指明每项任
务的负责人和参加人员。
3.2 接口人员
说明负责接口工作的人员及他们的职责,包括:
a .负责本项目同用户的接口人员;
b.负责本项目同本单位各管理机构,如合同计划管理部门、
财务部门、质量管理部门等的接口人员;
c.负责本项目同各分合同负责单位的接口人员等。
3.3 进度
对于需求分析、设计、编码实现、测试、移交、培训和安装
等工作,给出每项工作任务的预。定开始日期、完成日期及所需
资源,规定各项工作任务完成的先后顺序以及表征每项工作任务
完成的标志性事件(即所谓"里程碑")。
3.4 预算
逐项列出本开发项目所需要的劳务(包括人员的数量和时间)
以及经费的预算(包括办公费、差旅费、机时费、资料费、通讯
设备和专用设备的租金等)和来源。
3.5 关键问题
逐项列出能够影响整个项目成败的关键问题、技术难点和风
险,指出这些问题对项目的影响。
4 支持条件
说明为支持本项目的开发所需要的各种条件和设施。
4.1 计算机系统支持
逐项列出开发中和运行时所需的计算机系统支持,包括计算
机、外围设备、通讯设备、模拟器、编译 (或 汇编)程序、操
作系统、数据管理程序包、数据存储能力和测试支持能力等,逐
项给出有关到货日期、 使用时间的要求。
4.2 需由用户承担的工作
逐项列出需要用户承担的工作和完成期限。包括需由用户提
供的条件及提供时间。
4.3 由外单位提供的条件
逐项列出需要外单位分合同承包者承担的工作和完成的时
间,包括需要由外单位提供的条件和提 供的时间。
5 专题计划要点
说明本项目开发中需制订的各个专题计划(如分合同计划、
开发人员培训计划、测试计划、安全保密 计划、质量保证计划、
配置管理计划、用户培训计划、系统安装计划等)的要点。
软件需求说明书
软件需求说明书的编制是为了使用户和软件开发者双方对
该软件的初始规定有一个共同的理解, 使之成为整个开发工作
的基础。编制软件需求说明书的内容要求如下:
1 引言
1.1 编写目的
说明编写这份软件需求说明书的目的,指出预期的读者。
1.2 背景
说明:
a.待开发的软件系统的名称;
b.本项目的任务提出者、开发者、用户及实现该软件的计
算中心或计算机网络;
C.该软件系统同其他系统或其他机构的基本的相互来往关
系。
1.3 定义
列出本文件中用到的专门术语的定义和外文首字母组词的
原词组。
1.4 参考资料
列出用得着的参考资料,如:
a.本项目的经核准的计划任务书或合同、上级机关的批文;
b.属于本项目的其他已发表的文件;
c.本文件中各处引用的文件、资料、包括所要用到的软件
开发标准。 列出这些文件资料的标题、文件编号、发表日期和
出版单位,说明能够得到这些文件资料的来源。
2 任务概述
2.1 目标
叙述该项软件开发的意图、应用目标、作用范围以及其他应
向读者说明的有关该软件开发的背景材料。解释被开发软件与其
他有关软件之间的关系。如果本软件产品是一项独立的软件,而
且全部内容自含,则说明这一点。如果所定义的产品是一个更大
的系统的一个组成部分,则应说明本产品与该系统中其他各组成
部分之间的关系,为此可使用一张方框图来说明该系统的组成和
本产品同其他各部分的联系和接口。|
2.2 用户的特点
列出本软件的最终用户的特点,充分说明操作人员、维护人
员的教育水平和技术专长,以及本软件的预期使甩频度。这些是
软件设计工作的重要约束
2.3 假定和约束
列出进行本软件开发工作的假定和约束,例如经费限制、开
发期限等。
3 需求规定
3.1 对功能的规定
用列表的方式(例如 IPO 表即输入、处理、输出表的形式),
逐项定量和定性地叙述对软件所提出的功能要求,说明输入什么
量、经怎样的处理、得到什么输出,说明软件应支持的终端数和
应支持的并行操作的用户数。
3.2 对性能的规定
3.2.1 精度
说明对该软件的输入、输出数据精度的要求,可能包括传输
过程中的精度。
3.2.2 时间特性要求
说明对于该软件的时间特性要求,如对:
a.响应时间;
b.更新处理时间;
c.数据的转换和传送时间;
d.解题时间; 等的要求。
3.2.3 灵活性
说明对该软件的灵活性的要求,即当需求发生某些变化时,
该软件对这些变化的适应能力,如:
a.操作方式上的变化;
b.运行环境的变化;
c.同其他软件的接口的变化;
d.精度和有效时限的变化;
e.计划的变化或改进。
对于为了提供这些灵活性而进行的专门设计的部分应该加
以标明。
3.3 输人输出要求
解释各输入输出数据类型,并逐项说明其媒体、格式、数值
范围、精度等。对软件的数据输出及必须标明的控制输出量进行
解释并举例,包括对硬拷贝报告(正常结果输出、状态输出及异
常输出)以及图形或显示报告的描述。
3.4 数据管理能力要求
说明需要管理的文卷和记录的个数、表和文卷的大小规模,
要按可预见的增长对数据及其分量的存储要求作出估算。
3.5 故障处理要求
列出可能的软件、硬件故障以及对各项性能而言所产生的后
果和对故障处理的要求。
3.6 其他专门要求
如用户单位对安全保密的要求,对使用方便的要求,对可维
护性、可补充性、易读性、可靠性、运行环境可转换性的特殊要
求等。
4 运行环境规定
4.1 设备
列出运行该软件所需要的硬设备。说明其中的新型设备及其
专门功能,包括:
a.处理器型号及内存容量;
b.外存容量、联机或脱机、媒体及其存储格式,设备的型
号及数量;
c.输入及输出设备的型号和数量,联机或脱机;
d.数据通信设备的型号和数量;
e.功能键及其他专用硬件
4.2 支持软件
列出支持软件,包括要用到的操作系统、编译(或汇编)程
序、测试支持软件等。
4.3 接口
说明该软件同其他软件之间的接口、数据通信协议等。
4.4 控制
说明控制该软件的运行的方法和控制信号,并说明这些控制
信号的来源。
详细设计说明书
1 引言
1.1 编写目的
说明编写这份详细设计说明书的目的,指出预期的读者。
1.2 背景
说明:
a.待开发软件系统的名称;
b.本项目的任务提出者、开发者、用户和运行该程序系统
的计算中心。
1.3 定义
列出本文件中用到专门术语的定义和外文首字母组词的原
词组。
1.4 参考资料
列出有关的参考资料,如:
a.本项目的经核准的计划任务书或合同、上级机关的批文;
b.属于本项目的其他已发表的文件;
c.本文件中各处引用到的文件资料,包括所要用到的软件
开发标准。 列出这些文件的标题、文件编号、发表日期和出版
单位,说明能够取得这些文件的来源。
2 程序系统的结构
用一系列图表列出本程序系统内的每个程序(包括每个模块
和子程序)的名称、标识符和它们之间 的层次结构关系。
3 程序 1(标识符)设计说明
从本章开始,逐个地给出各个层次中的每个程序的设计考虑。
以下给出的提纲是针对一般情况的。 对于一个具体的模块,尤
其是层次比较低的模块或子程序,其很多条目的内容往往与它所
隶属的上一层 模块的对应条目的内容相同,在这种情况下,只
要简单地说明这一点即可。
3.1 程序描述
给出对该程序的简要描述,主要说明安排设计本程序的目的
意义,并且,还要说明本程序的特点(如 是常驻内存还是非常
驻?是否子程序?是可重人的还是不可重人的?有无覆盖要求?
是顺序处理还是并发 处理卜…..等)。
3.2 功能
说明该程序应具有的功能,可采用 IPO 图(即输入一处理一
输出图)的形式。
3.3 性能
说明对该程序的全部性能要求,包括对精度、灵活性和时间
特性的要求。
3.4 输人项
给出对每一个输入项的特性,包括名称、标识、数据的类型
和格式、数据值的有效范围、输入的方式。 数量和频度、输入
媒体、输入数据的来源和安全保密条件等等。
3. 5 输出项
给出对每一个输出项的特性,包括名称、标识、数据的类型
和格式,数据值的有效范围,输出的形式、 数量和频度,输出
媒体、对输出图形及符号的说明、安全保密条件等等。
3.6 算法
详细说明本程序所选用的算法,具体的计算公式和计算步骤。
3.7 流程逻辑
用图表(例如流程图、判定表等)辅以必要的说明来表示本
程序的逻辑流程。
3.8 接口
用图的形式说明本程序所隶属的上一层模块及隶属于本程
序的下一层模块、子程序,说明参数赋值和调用方式,说明与本
程序相直接关联的数据结构(数据库、数据文卷)。
3.9 存储分配
根据需要,说明本程序的存储分配。
3.10 注释设计
说明准备在本程序中安排的注释,如:
a. 加在模块首部的注释;
b.加在各分枝点处的注释; 对各变量的功能、范围、缺省
条件等所加的注释;
d.对使用的逻辑所加的注释等等。
3.11 限制条件
说明本程序运行中所受到的限制条件。
3.12 测试计划
说明对本程序进行单体测试的计划,包括对测试的技术要求、
输入数据、预期结果、进度安排、人员职责、设备条件驱动程序
及桩模块等的规定。
3.13 尚未解决的问题
说明在本程序的设计中尚未解决而设计者认为在软件完成
之前应解决的问题。
4 程序 2(标识符)设计说明
用类似 3 的方式,说明第 2 个程序乃至第 N 个程序的设计
考虑。
用户手册
1 引言
1.1 编写目的
说明编写这份用户手册的目的,指出预期的读者。
1.2 背景
说明:
a.这份用户手册所描述的软件系统的名称;
b.该软件项目的任务提出者、开发者、用户(或首批用户)
及安装此软件的计算中心。
1.3 定义
列出本文件中用到的专门术语的定义和外文首字母组词的
原词组。
1.4 参考资料
列出有用的参考资料,如:
a.项目的经核准的计划任务书或合同、上级机关的批文;
b.属于本项目的其他已发表文件;
c.本文件中各处引用的文件、资料,包括所要用到的软件
开发标准。 列出这些文件资料的标题、文件编号、发表日期和
出版单位,说明能够取得这些文件资料的来源。
2 用途
2.1 功能
结合本软件的开发目的逐项地说明本软件所具有各项功能
以及它们的极限范围。
2.2 性能
2.2.1 精度
逐项说明对各项输入数据的精度要求和本软件输出数据达
到的精度,包括传输中的精度要求。
2.2.2 时间特性
定量地说明本软件的时间特性,如响应时间,更新处理时间,
数据传输、转换时间,计算时间等。
2.2.3 灵活性
说明本软件所具有的灵活性,即当用户需求(如对操作方式、
运行环境、结果精度、时间特性等的要求)有某些变化时,本软
件的适应能力。
2. 3 安 全保密
说明本软件在安全、保密方面的设计考虑和实际达到的能力。
3 运行环境
3.1 硬设备
列出为运行本软件所要求的硬设备的最小配置,如:
a.处理机的型号、内存容量;
b.所要求的外存储器、媒体、记录格式、设备的型号和台
数、联机/脱机;
c. I/O 设备(联机/脱机?);
d.数据传输设备和转换设备的型号、台数。
3.2 支持软件
说明为运行本软件所需要的支持软件,如:
a.操作系统的名称、版本号;
b.程序语言的编译/汇编系统的名称和版本号;
c.数据库管理系统的名称和版本号;
d.其他支持软件。
3.3 数据结构
列出为支持本软件的运行所需要的数据库或数据文卷。
4 使用过程
在本章,首先用图表的形式说明软件的功能同系统的输入源
机构、输出接收机构之间的关系。
4. 1 安装与初始化
一步一步地说明为使用本软件而需进行的安装与初始化过
程,包括程序的存储形式、安装与初始化过程中的全部操作命令、
系统对这些命令的反应与答复。表征安装工作完成的测试实例等。
如果有的话,还应说明安装过程中所需用到的专用软件。
4.2 输入
规定输入数据和参量的准备要求。
4.2.1 输入数据的现实背景
说明输入数据的现实背景,主要是
a.情况--例如人员变动、库存‘缺货;
b.情况出现的频度--例如是周期性的、随机的、一项操作状
态的函数.
c.情况来源-一例如人事部门、仓库管理部门;
d.输入媒体---例如键盘、穿孔卡片、磁带;
e.限制--出于安全、保密考虑而对访问这些输入数据所加的
限制;
f.质量管理--例如对输入数据合理性的检验以及当输入数据
有错误时应采取的措施,如建立出错情况的记录等;
g.支配--例如如何确定输入数据是保留还是废弃,是否要分
配给其他的接受者等。
4.2.2 输入格式
说明对初始输入数据和参量的格式要求,包括语法规则和有
关约定,如:
a.长度-一例如字符数/行,字符数/项;
b.格式基准--例如以左面的边沿为基准;
c.标号--例如标记或标识符;
d.顺序--例如各个数据项的次序及位置;
e.标点--例如用来表示行、数据组等的开始或结束而使用的
空格、斜线、星号、字符组等。
f.词汇表--给出允许使用的字符组合的列表,禁止使用*的
字符组合的列表等;
g.省略和重复--给出用来表示输人元素可省略或重复的表示
方式;
h.控制--给出用来表示输入开始或结束的控制信息。
H.4.2.3 输入举例
为每个完整的输入形式提供样本,包括:
a.控制或首部--例如用来表示输入的种类和类型的信息,标
识符输入日期,正文起点和对所用编码的规定;
b.主体--输入数据的主体,包括数据文卷的输入表述部分;
c.尾部--用来表示输入结束的控制信息,累计字符总数等;
d.省略--指出哪些输入数据是可省略的;
e.重复--指出哪些输入数据是重复的。
4.3 输出 对每项输出作出说明.
4.3.1 输出数据的现实背景,说明输出数据的现实背景,
主要是:
a.使用--这些输出数据是给谁的,用来干什么;
b.使用频度--例如每周的、定期的或备查阅的;
c.媒体--打印、CRI 显示、磁带、卡片、磁盘,
d.质量管理-一例如关于合理性检验、出错纠正的规定;
e.支配--例如如何确定输出数据是保留还是废弃,是否要分
配给其他接受者等。
4.3.2 输出格式
给出对每一类输出信息的解释,主要是:
a.首部--如输出数据的标识符,输出日期和输出编号;
b.主体--输出信息的主体,包括分栏标题;
c.尾部--包括累计总数,结束标记。
4.3.3 输出举例
为每种输出类型提供例子。对例子中的每一项,说明:
a.定义--每项输出信息的意义和用途;
b.来源--是从特定的输入中抽出、从数据库文卷中取出、或
从软件的计算过程中得到
c.特性--输出的值域、计量单位、在什么情况下可缺省等。
4.4 文卷查询
这一条的编写针对具有查询能力的软件,内容包括:同数据
库查询有关的初始化、准备、及处理所需 要的详细规定,说明
查询的能力、方式,所使用的命令和所要求的控制规定。
4.5 出错处理和恢复
列出由软件产生的出错编码或条件以及应由用户承担的修
改纠正工作。指出为了确保再启动和恢 复的能力,用户必须遵
循的处理过程。
4.6 终端操作
当软件是在多终端系统上工作时,应编写本条,以说明终端
的配置安排、连接步释、数据和参数输入 步骤以及控制规定.说
明通过终端操作进行查询、检索、修改数据文卷的能力、语言、
过程以及辅助性程 序等。
数据要求说明书
1 引言
1.1 编写目的
说明编写这份数据要求说明书的目的,指出预期的读者。
1.2 背景
说明:
a.待开发软件系统的名称;
b.列出本项目的任务提出者、开发者、用户以及将运行该
项软件的计算站(中心)或计算机网络系统。
1.3 定义
列出本文件中用到的专门术语的定义和外文首字母组词的
原词组。
1.4 参考资料
列出有关的参考资料,如:
a.本项目的经核准的计划任务书或合同,上级机关的批文;
b.属于本项目的其他已发表文件;
c.本文件中各处引用的文件、资料,包括所要用到的软件
开发标准。列出这些文件的标题、文件编号、发表日期和出版单
位。说明能够得到这些文件资料的来源。
2 数据的逻辑描述
对数据进行逻辑描述时可把数据分为动态数据和静态数据。
所谓静态数据,指在运行过程中主要作 为参考的数据,它们在
很长的一段时间内不会变化,一般不随运行而改变。所谓动态数
据.包括所有在运 行中要发生变化的数据以及在运行中要输入、
输出的数据。进行描述时应把各数据元素逻辑地分成若干 组,
列如函数、源数据或对于其应用更为恰当的逻辑分组。给出每一
数据元的名称(包括缩写和代码)、定 义(或物理意义)度量单
位、值域、格式和类型等有关信息。
2.1 静态数据
列出所有作为控制或参考用的静态数据元素。
2.2 动态输人数据
列出动态输入数据元素(包括在常规运行中或联机操作中要
改变的数据)。
2.3 动态输出数据
列出动态输出数据元素(包括在常规运行中或联机操作中要
改变的数据)。
2.4 内部生成数据
列出向用户或开发单位中的维护调试人员提供的内部生成
数据。
2.5 数据约定
说明对数据要求的制约。逐条列出对进一步扩充或使用方面
的考虑而提出的对数据要求的限制(容 量、文卷、记录和数据
元的个数的最大值)。对于在设计和开发中确定是临界性的限制
更要明确指出。
3 数据的采集
3.1 要求和范围
按数据元的逻辑分组来说明数据采集的要求和范围,指明数
据的采集方法,说明数据采集工作的承担者是用户还是开发者。
具体的内容包括:
a.输入数据的来源,例如是单个操作员、数据输入站,专
业的数据输入公司或它们的一个分组;
b.数据输入(指把数据输入处理系统内部)所用的媒体和
硬设备。如果只有指定的输入点的输入才是合法的,则必须对此
加以说明;
c.接受者说明输出数据的接受者;
d.输出数据的形式和设备列出输出数据的形式和硬设备。
无论接受者将接收到的数据是打印输出,还是 CRT 上的一组字
符、一帧图形,或一声警铃,或向开关线圈提供的一个电脉冲,
或常用介质如磁盘、磁带、穿孔卡片等,均应具体说明;
e.数据值的范围给出每一个数据元的合法值的范围;
f.量纲给出数字的度量单位、增量的步长、零点的定标等。
在数据是非数字量的情况下,要给出每一种合法值的形式和含意;
g.更新和处理的频度给出预定的对输入数据的更新和处理
的频度。如果数据的输入是随机的,应给出更新处理的频度的平
均值,或变化情况的某种其他度量。
3.2 输人的承担者
说明预定的对数据输入工作的承担者。如果输入数据同某一
接口软件有关,还应说明该接口软件的来源。
3.3 预处理
对数据的采集和预处理过程提出专门的规定,包括适合应用
的数据格式、预定的数据通信媒体和对输入的时间要求等。对于
需经模拟转换或数字转换处理的数据量,要给出转换方法和转换
因子等有关信息,以便软件系统使用这些数据。
3.4 影响
说明这些数据要求对于设备、软件、用户、开发单位所可能
产生的影响,例如要求用户单位增设某个机构等。
项目开发总结报告
I 引言
1.1 编写目的
说明编写这份项目开发总结报告的目的,指出预期的阅读范
围。
1.2 背景
说明:
a.本项目的名称和所开发出来的软件系统的名称;
b.此软件的任务提出者、开发者、用户及安装此软件的计
算中心。
I.3 定义
列出本文件中用到的专门术语的定义和外文首字母组词的
原词组。
1.4 参考资料
列出要用到的参考资料,如:
a.本项目的已核准的计划任务书或合同、上级机关的批文;
b.属于本项目的其他已发表的文件;
c.本文件中各处所引用的文件、资料,包括所要用到的软
件开发标准。 列出这些文件的标题、文件编号、发表日期和出
版单位,说明能够得到这些文件资料的来源。
2 实际开发结果
2.1 产品
说明最终制成的产品,包括:
a.程序系统中各个程序的名字,它们之间的层次关系,以
千字节为单位的各个程序的程序量、存储媒体的形式和数量;
b.程序系统共有哪几个版本,各自的版本号及它们之间的
区别;
c.每个文件的名称;
d.所建立的每个数据库。 如果开发中制订过配置管理计划,
要同这个计划相比较。
2.2 主要功能和性能
逐项列出本软件产品所实际具有的主要功能和性能,对照可
行性研究报告、项目开发计划、功能需 .求说明书的有关内容,
说明原定的开发目标是达到了、未完全达到、或超过了。
2.3 基本流程
用图给出本程序系统的实际的基本的处理流程。
2.4 进度
列出原定计划进度与实际进度的对比,明确说明,实际进度
是提前了、还是延迟了,分析主要原因。
2.5 费用
列出原定计划费用与实际支出费用的对比,包括:
a.工时,以人月为单位,并按不同级别统计;
b.计算机的使用时间,区别 CPU 时间及其他设备时间;
c.物料消耗、出差费等其他支出。
明确说明,经费是超出了、还是节余了,分析其主要原因。
3 开发工作评价
3.1 对生产效率的评价
给出实际生产效率,包括:
a.程序的平均生产效率,即每人月生产的行数;
b.文件的平均生产效率,即每人月生产的千字数;
并列出原订计划数作为对比。
3.2 对产品质量的评价
说明在测试中检查出来的程序编制中的错误发生率,即每干
条指令(或语句)中的错误指令数(或语句数)。如果开发中制
订过质量保证计划或配置管理计划,要同这些计划相比较。
3.3 对技术方法的评价
给出对在开发中所使用的技术、方法、工具、手段的评价。
3.4 出错原因的分析
给出对于开发中出现的错误的原因分析。
4 经验与教训
列出从这项开发工作中所得到的最主要的经验与教训及对
今后的项目开发工作的建议。