安全评价论坛

 找回密码
 注册安评论坛

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 762|回复: 0
打印 上一主题 下一主题

信息技术 软件产品通用要求(一)

[复制链接]

3142

主题

0

好友

534

积分

安评小学三年级

Rank: 3Rank: 3

贡献
0 个
金币
534 个
在线时间
42 小时
帖子
3185
跳转到指定楼层
1#
发表于 2007-7-31 21:52:01 |只看该作者 |倒序浏览
目  次
前言
1        范围
2        规范性引用文件
3        术语和定义
4        标准符合性要求
5        开发要求
5.1  概述
5.2  生存周期模型
5.3  软件项目生存周期过程的确定
5.4  编程语言的确定
6        管理要求
6.1  概述
6.2  项目开发计划
6.3        软件质量保证计划
6.4        软件配置管理计划
6.5        软件风险管理计划
7        说明要求
7.1  概述
7.2  功能需求
7.3  性能需求
7.4  环境需求
7.5  安全保密需求
7.6  接口需求说明
7.7  数据要求说明
7.8  数据库设计说明
8  测试要求
8.1  概述
8.2  单元测试
8.3  软件集成测试
8.4  系统集成测试
9  验收要求
9.1  概述
10        文档要求
10.1  概述
10.2  文档种类
附录A(资料性附录)  开发模型描述
  

本标准规定了计算机软件产品的通用要求。
本标准的附录A是资料性附录。
本标准由中国电子技术标准化研究所(CESI)归口。
本标准起草单位:中国电子技术标准化研究所。
本标准起草人:冯惠、王宝艾、周明德、许聚常。
软件产品通用要求

1  范围
本标准规定了计算机软件产品(以下简称软件产品)基本的开发要求、管理要求、说明要求、测试要求、验收要求、文档要求以及标准符合性要求。
本标准适用于软件产品的设计、开发和制造。本标准是制定具体的软件产品标准的依据。根据具体软件产品的规模性质等因素,可作适当增删和细化。
本标准可供各种类型的软件供应商参考和采用。
2  规范性引用文件
下列文件中的条款通过本标准的引用而成为本标准的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本标准,然而,鼓励根据本部分达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本标准。
GB/T8566-2001  信息技术  软件生存周期过程
GB/T8567  信息技术  软件产品文档编制规范
GB/T9386  计算机软件测试文件编制规范
GB/T11457  信息技术  软件工程术语
GB/T12504  计算机软件质量保证计划规范
GB/T12505  计算机软件配置管理计划规范
GB/T15532  计算机软件单元测试
3         术语和定义
GB/T8566-2001和GB/T11457定义的术语适用于本标准。
4         标准符合性要求
软件产品在合同阶段或在需求分析阶段就应根据产品的类型、规模等特点提出标准符合性要求。例如操作系统类产品应符合字符集编码标准、字型标准、输入法标准、API标准以及相应的软件工程标准等。
在最终产品的产品说明书中应明示该产品符合哪些相关的国家标准、行业标准或企业标准。
5         开发要求
5.1  概述
根据GB/T8566-2001规定,软件生存周期一般包括:概念阶段、需求定义阶段、设计阶段、实现阶段、测试阶段、安装和调整阶段、运行和维护阶段以及退役阶段。开发方的任务往往从需求定义阶段开始直至设计与实现,有的还需要参与安装与调整以及软件的维护。为保证软件开发的质量,GB/T8566-2001规定了这些阶段的过程、活动和任务。针对具体项目,软件产品标准应规定开发模型、开发方法,确定软件项目的生存周期过程。
5.2  生存周期模型
目前,软件开发中常用的开发模型和方法主要有如下三种:
——瀑布型;
——增量型;
——演化型。这些开发模型可以单独使用,也可以把它们组合成混合型。开发模型确定后,则根据GB/T8566-2001的规定,选择适当的过程、活动和任务而形成软件项目的软件生存周期过程。开发模型的描述参见附录A
5.3  软件项目生存周期过程的确定
根据每个软件项目的类型、目标、任务和规模,选择和确定一种生存周期模型过程。在模型确定以后,应对GB/T8566-2001中规定的过程和开发组织自己的标准过程进行剪裁与组合,确定本软件项目的生存周期过程,并把各个过程的活动和任务与确定的生存周期模型有机结合起来。执行所定义的过程、活动和任务。具体过程、活动和任务的执行参见GB/T8566。
5.4  编程语言的确定
    软件产品规范应根据软件产品的特点和要求以及开发人员的素质和能力。规定编程语言、编程风格和编程约定。
6  管理要求
6.1  概述
一般说来,软件需求定义阶段、设计阶段、实现阶段、测试阶段、验收交付阶段到项目总结,表示整个软件开发的结束。这一系列阶段又称为项目生存周期。项目生存周期的结果是软件产品。
为了对软件项目实施有效的管理,通常又将整个项目划分成三个大的阶段,即:策划阶段、开发阶段和验收收尾阶段。从项目管理的要求来说,在策划阶段,要进行项目策划,即对项目进行整体策划,策划的结果将作为项目后续开发和管理活动的基础:在项目的开发阶段,为了确保项目能按预定计划、预定成本完成开发任务,需要对其进行跟踪和监控;在项目的验收收尾阶段,项目验收交付后应进行项目总结。
为适应软件项目管理的需要,一般说来,软件产品标准应规定项目开发计划、软件质量保证计划、软件配置管理计划、软件风险管理计划等。
6.2  项目开发计划
在软件项目的策划阶段、软件开发组织—即供方应制定软件项目开发计划。
项目开发计划的主要内容是概述本项目的开发中须进行的各项主要工作,主要参加人员及职责,产品、验收标准、工作进度、经费预算、工作条件的环境要求等。
项目开发计划的格式参见GB/T8567。软件项目的管理人员依据项目开发计划对软件策划、开发的全过程实施管理。
6.3  软件质量保证计划
软件质量保证工作贯穿于整个软件生存周期之中,软件开发组织应依据项目中的软件质量保证工作的规模和重点,确定软件质量工作的范围和内容,应制定、实施和维护软件质量保证计划。
软件质量保证计划的主要内容是明确软件质量保证机构、人员及其职责;规定为保证软件质量应采取的措施、应进行的活动和各项任务;规定软件产品的基本文档及工作文档,文档质量的度量准则;开发过程中应遵守的标准、规程和约定;必要的评审和检查、媒体控制;记录收集、维护和保存;所需的工具、技术和方法等。
软件质量保证计划的格式可参见GB/T12504。软件质量保证机构或人员应依据质量保证计划对软件开发过程实施监督和控制。
6.4  软件配置管理计划
软件配置管理是保证软件产品质量的重要环节,它贯穿于软件项目的始终、其目的是确保软件产品的完整性和正确性。为了规划整个软件生存周期中的配置管理活动,软件开发组织应制定软件配置管理计划,并对软件配置管理计划进行必要的维护。软件配置管理计划的主要内容是明确软件配置管理机构、人员及其职责;规定要执行的与配置管理有关的标准、规程和约定;确定开发基线、产品基线;描述接口控制;规定配置标识、配置控制、配置状态记录与报告、配置状态审核;规定修改规程;描述产品库、开
发库等。软件配置管理计划的格式可参见GB/T12505。软件配置管理机构或人员依据配置管理计划对软件项目的所有配置项实施控制和管理。
6.5  软件风险管理计划
对于大型的、重要的软件产品,必要时,软件开发组织应开展风险管理过程和活动,编制风险管理计划,以建立并维护用于识别、分析和缓减风险的策略。其主要内容是制定风险管理策略、定义风险管理机构及其职责,确定分析来源并加以分类;一些重要的风险来源如下:
a)       软件应用的复杂性;
b)      软件规模的大小;
c)      软件任务的重要性;
d)      需求不稳定性
e)       设计过分灵活;
f)       测试和评估不充分;
g)      技术可用性不充分;
h)      支持概念不确切;
i)        开发者能力欠缺;
j)        成本和资金有问题;
k)      监督不够;
l)        进度的估计和安排不切合实际
m)    缺乏足够的人力资源;
n)      存在安全问题

风险管理计划还应定义分析参数;识别和分析风险;描述风险管理过程;评价风险管理过程;拟定风险缓减方案和规程;风险管理计划更改规程等。风险管理的实施模型参见SJ/T11234。风险管理机构或人员依据风险管理计划实施软件项目的风险管理。
7  说明要求
7.1  概述
软件产品标准必须明确说明软件产品的需求。明确指出将要开发的软件产品满足系统、子系统或客户的功能、性能要求,环境需求、安全保密需求和接口需求;需要时软件产品规范还有数据要求说明和数据库设计说明等。
7.2  功能需求
软件需求说明应确定软件产品应具有的功能,以及这些功能的主要处理步骤,并用文字或数学的方法予以描述。
7.3  性能需求
软件需求说明应明确描述软件产品应满足的具体性能要求,包括精度要求、时间特性要求、适应性要求等。必要时,应对可靠性、可维护性、可移植性、易用性等质量特性进行说明。
7.4  环境需求
软件需求说明应确定软件产品对硬件环境与支持软件环境的需求,即说明运行软件产品所需的硬件设备以及与软件开发相关的全部支持软件及工具。
7.5  安全保密需求
必要时,软件需求说明必须确定软件产品应满足的安全保密要求,即说明整个系统及系统成分的安全性和保密性要求以及各层次的保护等级。
7.6  接口需求说明
软件需求说明应确定软件产品与外部的各种接口关系,包括软件产品与外部设备的接口、软件产品与其他系统的接口以及软件产品的人机界面,并指明每个接口的特性。对于大型复杂的软件产品,接口需求说明宜作为一个单独的文档编制。
7.7  数据要求说明
在软件项目开发阶段,应编制数据要求说明文档,明确指出对数据要求情况,包括软件产品使用的各种数据以及对数据采集的要求。
7.8  数据库设计说明
软件开发项目中涉及数据库内容时,则应编制数据库设计说明。规定数据库外部设计、结构设计和运用设计(包括数据字典设计和安全保密设计)以及相关数据元素,数据结构和数据存储要求。
8  测试要求
8.1  概述
软件产品规范应规定测试要求,以保证所开发的软件产品满足所有的功能、性能要求、操作要求和验收标准。测试一般划分为单元测试、部件测试、配置项测试、软件集成测试、系统集成测试及验收测试。测试前应编制相应的测试计划。测试计划的编制可参见GB/T9386。
8.2  单元测试
单元测试是由编码人员对每个程序单元进行的测试。目的是验证单元满足功能、性能和接口等要求。为此应在测试前将单元实现的功能用图表的形式一一列出。对表中的功能都必须用测试用例所验证。
单元测试的基本要求如下:
a.       用指定值、异常值和极限值验证全部计算;
b.       验证全部输入数据的各种选择;
c.       验证全部输出数据的各种选择和格式;
d.       每个单元的全部可执行语句至少执行一次;
e.       在每个分支点进行选择的测试。
单元测试的要求和方法参见GB/T15532。
8.3  软件集成测试
软件集成测试是指软件按一定策略将程序单元逐个集成为特定的模块、分程序和程序,然后确定它们是否满足软件需求的测试。其目的是:
a)       把软件单元集成为一个紧密的、可以指名执行的软件产品;
b)      验证软件满足软件需求说明中的全部需求;
c)      验证该软件能在运行条件范围(正常和异常)内运行。
软件集成和测试活动包括将软件单元集成为软部件及由单个部件集成为更大的软部件,即从单元到模块,从模块到分程序、程序。当所有的软部件被集成和测试后,最后的软部件就是一个在一定控制环境下可执行的完整和集成化的软件系统。软件集成测试计划描述了所有级别软件的集成方法以及测试这些部件的计划。
对每一个软部件,集成测试第一是验证软件单元可在一起执行。第二是验证通过软件的控制路径,包括通过人-机界面和外部、内部控制的正确性。第三是测试软件内部数据的完整性,这些测试可能要求测试工具监督数据的值以及由于数据值的变化而引起系统变化。第四是验证软件外部接口、性能、精确度、错误识别和恢复。当新的软部件加到已有的软部件中时,还要验证旧的软部件仍保持原有的特性和功能。
8.4  系统集成测试系统集成测试是将所开发的软件作为一个大系统的组成部分,试验其是否能完成大系
统分配给该软件的功能的测试。这种测试通常要求在最终用户环境或其模拟环境中进行。
除单元测试外负责软件测试的组织,最好是独立于软件开发的组织,但至少负责系统集成测试的组织是独立于软件设计和编码系统的,它不从属于软件开发组织。
系统集成测试按结构化方法有计划地验证软件是否满足功能和性能的要求,并要求有客户的参与和认可,它可以在不同于软件开发的最终用户环境或其模拟环境中实施。
在测试中必须进行充分的验证,其内容包括:
a.       软件满足软件需求说明所要求的全部功能;
b.       软件满足性能需求、操作要求和约束条件;
c.       软件支持外部接口需求;
d.       软件支持人-机和系统控制接口。
9  验收要求
9.1  概述
软件产品规范应规定软件产品的验收要求。软件产品的验收必须履行正式手续,按任务书或合同的规定,交付被验收的软件的有关产品、资料和文档等。
软件验收通常应遵循以下工作步骤:
a.       提出软件验收申请;
b.       制定软件验收计划;
c.       成立软件验收委员会;
d.       进行软件验收测试;
e.       进行软件验收评审;
f.        形成软件验收报告;
g.       移交软件产品。
必须强调软件验收测试,以保证被验收的软件产品符合任务书或合同规定的要求。验收测试的内容包括功能测试、性能测试、强度测试以及综合演示,以证实软件的功能、性能与软件需求的一致性,程序和文档的一致性。
在验收测试的基础上,对被验收的软件进行综合评审,给出对软件的综合评价。除了对软件的性能、质量的评价外,还应对软件文档的完整性、准确性和标准化程度给出评价。
在评审的基础上进行项目验收。开发单位提出软件产品移交项目清单,并附加必要的说明,逐步核实并移交给需方,移交结束后形成产品移交文件,文件内容如下:
a.       移交项目清单;
b.       移交项目的数量和装载媒体的详细说明;
c.       移交的时间、地点、收授人签名。
10  文档要求
10.1  概述
软件产品规范应根据GB/T8566-2001和GB/T8567的规定,并结合软件项目的特点、规模、性质以及合同要求规定软件项目的文档编制清单及编写内容和格式。
10.2  文档种类
软件文档通常分为工作文档和产品文档两类。工作文档一般是指设计描述、记录等开发过程中一些内部文档,产品文档是产品规范要求的并经批准的一些正式文档。
表1至表4列出了根据GB/T8566-2001标准所要求的或推荐进行文档编制的过程的输出。这些输出的文档宜根据项目或组织的范围,规模、复杂性和关键性选择和确定。
1  生存周期基本过程的输出





过程

GB/T8566-2001的条目

输出

输出类型




获取过程

5.1.1.8

获取计划

计划






5.1.1.9

验收策略和条件

描述






5.1.2.1

建议书(或标书)

描述






5.1.2.1

获取文档

描述






5.1.3.1

供方选择规程

程序






5.1.3.4

合同

合同




供应过程

5.2.2.1

建议书

建议书






5.2.4.5

项目管理计划

计划






5.2.6.4

评价、评审、审核、测试和问题解决报告

报告




开发过程

5.3.1.2

问题和不一致记录

记录






5.3.1.4

开发计划

计划






5.3.2.1

系统需求规格说明书

描述






5.3.3.1

系统体系结构文档

描述






5.3.3.1

系统分配文档

描述






5.3.4.1

软件规格说明书

描述






5.3.4.2

软件规格说明书评价

记录






5.3.5.1

软件配置项

软件






5.3.5.1

体系结构规格说明书

描述






5.3.5.2

接口软件规格说明书

描述






5.3.5.3

数据库顶层设计

描述






5.3.5.4

用户手册

手册






5.3.5.5

测试需求

描述






5.3.5.6

设计评审

记录






5.3.6.1

详细设计

描述






5.3.6.2

详细接口软件规格说明书

描述






5.3.6.3

详细数据库设计

描述






5.3.6.5

软件单元测试需求

描述






5.3.6.7

详细设计评审

记录






5.3.7.1

软件单元和数据库

软件






5.3.7.1

测试程序

程序






5.3.7.2

软件单元测试结果

记录






5.3.7.5

软件编码和测试结果评审

记录






5.3.8.1

软件集成计划

计划






5.3.8.2

软件集成和测试结果

记录






5.3.8.5

软件集成计划和文档评审

记录






5.3.9.1

软件配置项合格性测试结果

记录






5.3.9.3

软件集成评审

记录






5.3.9.4
5.3.10.1
5.3.10.2

软件集成审核
系统集成和测试结果
系统合格性测试需求

记录
记录
描述












5.3.10.3

系统合格性测试评审

记录






5.3.11.1

系统合格性测试结果

记录






5.3.11.3

系统审核结果

记录






5.3.12.1

软件安装计划

计划






5.3.12.2

软件安装事件和结果

记录






5.3.13.1

软件验收评审和测试

记录




运作过程

5.4.1.1

运作计划

计划






5.4.1.2

问题报告程序

程序











续表1




过程

GB/T8566-2001的条目

输出

输出类型




5.4.1.2

问题报告

记录




5.4.1.3

操作环境的测试程序

程序


维护过程

5.5.1.1

维护计划

计划




5.5.1.1

维护程序

程序




5.5.1.2

问题和修正请求程序

程序




5.5.2.4

问题/修正请求记录

记录




5.5.3.1

修正记录

记录




5.5.3.2

修正测试结果

记录




5.5.5.2

移植计划

计划




5.5.6.1

退役计划

计划

2  生存周期支持过程的输出




过程

GB/T8566-2001的条目

输出

输出类型


文档编制过程

5.5.6.1

文档编制计划

计划


配置管理过程

6.1.1.1

配置管理计划

计划




6.2.1.1

配置管理报告和记录

记录


质量保证过程

6.2.4.1

质量保证计划

计划




6.3.1.4

质量保证记录

记录


验证过程

6.4.1.5

验证计划

计划


确认过程

6.5.1.4

确认计划

计划


联合评审过程

6.6.1.4

联合评审结果

记录


审核过程

6.7.1.5

审核结果

记录


问题解决过程

6.8.1.1

问题报告

记录

3  生存周期组织过程的输出




过程

GB/T8566-2001的条目

输出

输出类型


管理过程

7.1.2.1

管理计划

计划




7.1.3.3

问题分析

报告


基础设施过程

7.2.1.2

基础设施计划

计划




7.2.2.1

基础设施配置

描述


改进过程

7.3.1.1

组织过程程序

程序




7.3.2.1

过程评估程序

程序


培训过程

7.4.1.1

培训计划

计划




7.4.3.1

培训记录

记录

GB/T 8566标准中附录A中的剪裁过程是规范性引用文件。引用时,需要下面的输出。

4  剪裁过程的输出




过程

GB/T8566-2001的附录

输出

输出类型


剪裁过程

A.4.1

剪裁决策和理由

记录


根据GB/T8567的规定,软件产品规范至少应规定如下文档中的几种:
软件开发计划(SDP)
软件测试计划(STP)
软件安装计划(SIP)
软件移交计划(STrP)
运行概念说明(OCD)
系统/子系统需求规格说明(SSS)
接口需求规格说明(IRS)
系统/子系统设计说明(SSDD)
接口设计说明(IDD)
软件需求规格说明(SRS)
软件设计说明(SDD)
数据库设计说明(DBDD)
软件测试说明(STD)
软件测试报告(STR)
软件产品规格说明(SRS)
软件版本说明(SVD)
软件用户手册(SUM)
软件输入/输出手册(SIOM)
软件中心操作员手册(SCOM)
计算机操作手册(COM)
计算机编程手册(CMP)
固件保障手册(FSM)

这些文档编写格式详见GB/T8567。
附录A
(资料性附录)
开发模型描述

A.1  瀑布模型
A.1.1  模型描述
瀑布模型也叫线性顺序模型(见图1),本质上是一次通过,每个活动做一次的方法。简单来说即:
——确定用户要求;
——定义需求;
——设计系统;
——制作系统;
——测试;
——改正;
——交付或使用。
在这种方法中,随着每个软件项的开发,开发过程的活动和任务通常是顺序地执行。然而,在顺序的活动相交时,它们有可能部分平行执行。
当并发地开发几个软件项时,可以对所有的软件项平行地使用开发过程的活动和任务。维护和运行过程通常在开发过程后使用。获取、供应、支持和组织过程通常和开发过程平行地使用。

A.1.2  时机
如果需求明确、能较好理解且较稳定,可以考虑选择瀑布模型。
A.1.3  缺点    由于其线性顺序的特点,故只有在项目开发的后期才得到具有全部功能的软件版本;如
果有未定义或未实施的需求,将会引起重复劳动,甚至开发出的产品不是用户所需要的。
A.1.4  风险
在选择该方法时,要考虑以下相关的风险因素:
a)       需求未被充分理解;
b)      系统太大而不能一次做完所有事情;
c)      事先打算采用的技术迅速发生变化;
d)      需求迅速发生变化;
e)       有限的资源如:现有的工作人员/资金;
f)       无法利用某一中间产品。
                                    
                  
              
            
            
              
            
            
              源自:
分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
分享分享0 收藏收藏0
您需要登录后才可以回帖 登录 | 注册安评论坛

手机版|Archiver|安全评价

GMT+8, 2025-5-16 04:42 , Processed in 0.028790 second(s), 8 queries , Gzip On, Redis On.

回顶部