? 什么是软件工程标准
? 软件工程标准的层次
? 中国的软件标准
? ISO 9000-3标准及软件质量认证
? 软件文档的作用与分类
? 对文档编制的质量要求
什么是软件工程标准
? 软件危机的出路在于软件开发的 工程
化 和 标准化 。
? 程序设计语言的标准化,为某一程序
设计语言规定若干个标准子集,对于
语言的实现者和用户都带来了很大方
便。
? 软件过程的标准化,软件生存期各个
阶段的工作建立标准或规范。
软件工程标准的类型
? 国家标准 GB/ T 15538- 1995,软件工
程标准分类法, 给出软件工程标准的
分类。
? 涉及 过程管理, 产品管理, 资源管理,
以及 确认与验证 。
? 过程标准
方法、技术、度量
? 产品标准
需求、设计、部件、描述、计划、
报告
? 专业标准
职别、道德准则、认证、特许、课

? 记法标准
术语、表示法、语言
? 软件工程标准的清单可用 二维表 表示。
? 表中填入的标准表明了 软件工程标准
的工作范围 和 如何对标准分类 。
? 已经制定的标准都可在表中找到相应
的位臵,而且它可启发人们去制定新
的标准。
软件工程标准化的作用
? 可提高软件的 可靠性, 可维护性 和 可
移植性 ;
? 可提高软件人员的 技术水平,减少差
错和误解;
? 可提高软件人员之间的 通信效率,提
高软件的 生产率 ;
? 有利于软件管理;有利于 降低软件产
品的成本 和 运行维护成本 ;
? 有利于 缩短软件开发周期 。
软件工程标准的层次
(1) 国际标准
由国际联合机构制定和公布,提供各
国参考的标准。
? 国际标准化组织 ISO (International
Standards Organization)
? 这一国际机构有着广泛的代表性和
权威性,它所公布的标准也有较大的
影响。
? ISO建立了,计算机与信息处理技术
委员会,,简称 ISO/ TC97,专门负责
与计算机有关的标准化工作。
? 这一标准通常冠有 ISO字样,如
ISO 8631- 86 Information
processing_program constructs and
conventions for their representation
,信息处理 ──程序构造及其表示法的
约定, 。该标准现已由中国收入国家
标准。
(2) 国家标准
由政府或国家级的机构制定或批准,适
用于全国范围的标准,如:
? GB ── 中华人民共和国国家技术监督
局 公布实施的标准,简称,国标,。现
已批准了若干软件工程标准。
? ANSI (American National Standards
Institute) ── 美国国家标准协会。这
是美国一些民间标准化组织的领导机
构,
? FIPS (NBS){ Federal Information
Processing Standards (National
Bureau of Standards)} ── 美国商务
部国家标准局联邦信息处理标准。
? BS (British Standard) ── 英国国家标
准。
? DIN (Deutsches Institut für Nor-
mung ) ── 德国标准协会
? JIS (Japanese Industrial Standard)
── 日本工业标准
(3) 行业标准
由行业机构、学术团体或国防机构制定,
适用于某个业务领域的标准。
? IEEE ( Institute of Electrical and
Electronics Engineers ) ── 美国电气
与电子工程师学会 。
该学会有一个 软件标准分技术委员会
(SESS),负责软件标准化活动。 IEEE
公布的标准常冠有 ANSI的字头。例如,
ANSI/ IEEE Str 828- 1983,软件配
臵管理计划标准, 。
? GJB──中华人民共和国国家军用标准。
这是由 中国国防科学技术工业委员会
批准,适合于国防部门和军队使用的
标准。例如,GJB 437- 88,军用软件
开发规范, 。
? DOD_STD ( Department Of Defense
_STanDards) ── 美国国防部标准,适
用于美国国防部门。
? MIL_S ( MILitary_Standard)──美国
军用标准,适用于美军内部。
(4) 企业规范
一些大型企业或公司,由于软件工程
工作的需要,制定适用于本部门的规
范。
? 例如,美国 IBM公司通用产品部
1984年制定的, 程序设计开发指南,,
仅供该公司内部使用。
(5) 项目规范
由某一科研生产项目组织制定,为该
项任务专用的软件工程规范。
中国的软件标准
从 1983年起,中国已陆续制定和发布
了 20项国家标准。这些标准可分为 4类:
① 基础标准
? GB/T 11457-89 软件工程术语
? GB 1526-891( ISO 5807-1985)信息
处理 --数据流程图、程序流程图、系
统结构图、程序网络图和系统资源图
的文件编制符号及约定
? GB/T 15538-1995 软件工程标准分类

? GB 13502-92( ISO 8631)信息处理 --
程序构造及其表示法的约定
? GB/T 15535-1995( ISO 5806)信息
处理 --单命中判定表规范
? GB/T 14085-93( ISO 8790)信息处
理系统 计算机系统配臵图符号及其约

② 开发标准
? GB 8566-88 软件开发规范
? GB 计算机软件单元测试
? GB 软件支持环境
? GB( ISO 6593-1985)信息处理 --按
记录组处理顺序文卷的程序流程
? GB/T 14079-93 软件维护指南
③ 文档标准
? GB 8567-88 计算机软件产品开发文件
编制指南
? GB 9385-88 计算机软件需求说明编制
指南
? GB 9386-88 计算机软件测试文件编制
规范
? GB 软件文档管理指南
④ 管理标准
? GB/T 12505-90 计算机软件配臵管理
计划规范
? GB 信息技术 软件产品评价 --质量特
性及其使用指南
?GB 12504-90 计算机软件质量保证计
划规范
? GB/T 14394-93 计算机软件可靠性和
可维护性管理
? GB/T 19000-3-94 质量管理和质量保
证标准 第三部分:
在软件开发、供应和维护中的使
用指南 。
ISO 9000-3标准及软件质量认证
? ISO 9000国际标准发源于欧洲经济共同
体,但很快就波及美国、日本及世界各
国。到目前为止,已有 70多个国家在它
们的企业中采用和实施这一系列标准。
? 中国对此也十分重视,确定对其 等同采
用,发布了与其相应的 质量管理国家标
准系列 GB/ T 19000;同时积极组织实
施和开展质量认证工作。
? ISO 9000系列标准 如此迅速地在国际上
广为流行,其原因主要在于:
? 市场经济,特别是国际贸易的驱动 。
ISO 9000系列标准 客观地对 生产 者
(也称供方 )提出了全面的 质量管理要求,
质量管理办法,并且还规定了 消费者
(也称需方 )的 管理职责,使其得到双方
的普遍认同,从而将符合 ISO 9000标
准 的要求作为 国际贸易活动中建立互
相信任关系的基石 。
在各国企业中形成了 不通过这一标
准认证就不具备参与国际市场竞争实
力 的潮流,并且在国际贸易中,把生
产者是否达到 ISO 9000质量标准作为
购买产品的前提条件,取得 ISO 9000
质量标准认证被人们当做进入国际市
场的通行证。
? ISO 9000系列标准适用领域广阔 。
1) 硬件,具有特定形状的产品,如
机械、电子产品,包括计算机硬件。
2) 软件,通过媒体表达的信息所构
成的智力产品。包括计算机软件。
3) 流程性材料,将原料转化为某一
特定状态的产品。如,流体、粒状、线
状等,通过瓶装、袋装等或通过管道传
输交付。
4) 服务,为满足客户需求的更为广
泛的活动。
ISO 9000系列标准的内容
? ISO 9000 质量管理和质量保证标准 ──
选择和使用的导则
? ISO 9001 质量体系 ──设计/开发、生
产、安装和服务中的质量保证模式
? ISO 9002 质量体系 ──生产和安装中的
质量保证模式
? ISO 9003 质量体系 ──最终检验和测试
中的质量保证模式
? ISO 9004 质量管理和质量体系要素 ──
导则
? ISO 9000系列标准 的主体部分可以分
为两组:
?一组是用于,需方对供方要求质量保
证,的标准 ── 9001~ 9003;
? 一组是用于,供方建立质量保证体系,
的标准 ── 9004。
? 9001,9002和 9003之间的区别,在于
其对象的工序范围不同,
? 9001范围最广,包括从设计直到售后
服务; 9002为 9001的子集,而 9003又
是 9002的子集。
ISO 9000-3标准
? ISO 9000系列标准 原本是为制造硬件
产品而制定的标准,不能直接用于软
件制作。
? 曾试图将 9001改写用于软件开发方面,
但效果不佳。
? 以 ISO 9000系列标准 的追加形式,另
行制定出 ISO 9000-3标准 。
? ISO 9000-3成为,使 9001适用于软件
开发、供应及维护,的,指南,。
制定与实施 ISO 9000系列标准的
主导思想
(1) 强调质量并非在产品检验中得到,
而是形成于生产的全过程。
? ISO 9000-3叙述了需方和供方 应如
何进行 有组织的质量保证活动,才
能得到较为满意的软件;规定了 从
双方签订开发合同到设计, 实现以
至维护整个软件生存期中 应当实施
的质量保证活动
? ISO 9000-3没有规定具体的质量管
理和质量检验方法和步骤。
? ISO 9000-3的核心思想是,将质量
制作入产品之中,。软件产品的质
量 取决于软件生存期所有阶段的活
动 。
(2) 为把握产品的质量,ISO 9000-3要
求,必须使影响产品质量的全部因素
在生产全过程中始终处于受控状态,。
?为使软件产品达到质量要求,ISO
9000-3要求软件开发机构建立 质量保
证体系 。
?首先要求 明确供需双方的职责,针
对 所有可能影响软件质量的各个因素
都要采取有力措施,作出如何加强管
理和控制的决定。
? 对与质量有关的人员规定其 职责 和
职权,责任落实到人,产品质量真正
得到控制。
(3) ISO 9000标准 要求证实:,企业具
有持续提供符合要求产品的能力,。
? 质量认证 是取得这一证实的有效方
法。
? 产品质量若能达到标准提出的要求,
由 不依赖于供方和需方的第三方权威
机构 对生产厂家审查证实后出具合格
证明。
?如果认证工作是公正的、可靠的,
其公证的结果应当是可以信赖的。
? 为了达到质量标准,取得质量认证,
必须多方面 开展质量管理活动 。其
中,负责人的重视以及全体人员的
积极参与是取得成功的关键。
(4) ISO 9000标准 强调,质量管理必须
坚持进行质量改进,。
? 贯彻 ISO 9000标准 就是企业加强质
量管理,提高产品质量的过程,这
个过程包含许多工作,决非轻而易
举,一蹴而就所能奏效的。
? 即使已经取得了质量认证也不能认
为一劳永逸而放松质量管理。
?实际上认证通常以半年为有效期。
取得认证之后尚需接受每年 1- 2次
的定期检查,其目的在于促使企业
坚持进行质量改进。
软件文档的作用与分类
?什么是文档
?软件文档的作用
?文档的分类
?软件文档的工作
(1) 什么是文档
? 文档 (document)是指某种数据媒体
和其中所记录的数据。
?它具有 永久性,并可以由人或机器
阅读,通常仅用于描述人工可读的
东西。
?在软件工程中,文档常常用来表示
对 活动, 需求, 过程 或 结果 进行 描
述, 定义, 规定, 报告 或 认证 的任
何书面或图示的信息。
(2) 软件文档的作用
? 在软件生产过程中,总是产生和使用
大量的信息。软件文档在产品的开发
过程中起着重要的作用。
?提高 软件开发过程的能见度 。把开
发过程中 发生的事件 以某种可阅读
的形式 记录在文档中 。
?管理人员可把这些记载下来的材料
作为检查软件开发进度和开发质量
的依据, 实现对软件开发的工程管
理 。
? 提高开发效率 。软件文档的编制,使
得开发人员 对各个阶段的工作 都进行
周密思考, 全盘权衡, 减少返工 。并
且可 在开发早期发现错误和不一致性,
便于及时加以纠正。
? 作为开发人员在一定 阶段的 工作成果
和 结束标志 。
? 记录开发过程中有关信息,便于 协调
以后的软件开发、使用和维护。
? 提供对软件的 运行, 维护 和 培训 的有
关信息,便于管理人员、开发人员、
操作人员、用户之间的协作、交流和
了解 。使软件开发活动更科学、更有
成效。
? 便于潜在用户了解软件的功能、性能
等各项指标,为他们选购符合自己需
要的软件提供依据。
文档的桥梁作用
? 从某种意义上来说,文档是软件开发
规范的体现和指南 。
? 按规范要求生成一整套文档的过程,
就是按照软件开发规范完成一个软件
开发的过程。
? 所以,在使用工程化的原理和方法来
指导软件的开发和维护时,应当充分
注意软件文档的编制和管理。
(3) 文档的分类
? 软件文档从形式上来看,大致可分为
两类:
? 一类是开发过程中填写的各种图表,
称之为 工作表格 ;
?一类是应编制的技术资料或技术管
理资料,称之为 文档 或 文件 。
? 软件文档的编制,可以用 自然语言,
特别设计的 形式语言,介于两者之间
的 半形式语言 (结构化语言 ),各类 图
形表示, 表格 来编制文档。
? 文档可以书写,也可以在计算机支持
系统中产生,但必须 可阅读 。
? 按照文档产生和使用的范围,软件文
档大致可分为三类:
?开发文档
软件需求说明书 数据要求说明书
概要设计说明书 详细设计说明书
可行性研究报告 项目开发计划
? 管理文档
项目开发计划 测试计划
测试报告 开发进度月报
项目开发总结
?用户文档
用户手册 操作手册
维护修改建议 软件需求说明书
(4) 软件文档的工作
? 国家标准局在 1988年 1月发布了
?,计算机软件开发规范,
?,软件产品开发文件编制指南,
? 作为软件开发人员工作的准则和规程。
它们 基于软件生存期方法,把软件产
品 从形成概念开始, 经过开发, 使用
和不断增补修订, 直到最后被淘汰 的
整个过程 应提交的文档归于以下十三
种。
? 可行性研究报告
?说明该软件项目的实现在 技术上,
经济上 和 社会因素上 的 可行性 ;
?评述为合理地达到开发目标 可供选
择的 各种可能的实现方案 ;
? 说明并论证所选定实施方案的理由。
? 项目开发计划
为软件项目实施方案制定出的具体计
划。它包括
?各部分工作的负责人员
?开发的进度
? 开发经费的概算
? 所需的硬件和软件资源等
项目开发计划应提供给管理部门,并
作为开发阶段评审的基础 。
? 软件需求说明书
对目标软件的 功能, 性能, 用户界面
及 运行环境 等 作出详细的说明 。
它是用户与开发人员 双方对软件需求
取得共同理解基础上达成的协议,也
是 实施开发工作的基础 。
? 数据要求说明书
给出 数据逻辑描述 和 数据采集 的各项
要求,为生成和维护系统的数据文件
做好准备。
? 概要设计说明书
该说明书是概要设计工作阶段的成果。
它应当说明
? 系统的功能分配
? 模块划分
?程序的总体结构
?输入输出及接口设计
? 运行设计
?数据结构设计
?出错处理设计等
为详细设计奠定基础。
? 详细设计说明书
着重描述 每一个模块是如何实现的,
包括 实现算法, 逻辑流程 等。
? 用户手册
? 详细描述软件的 功能, 性能 和 用户界
面,使用户了解 如何使用该软件 。
? 操作手册
? 为操作人员提供 软件各种运行情况的
有关知识,特别是操作方法细节。
? 测试计划
针对 组装测试 和 确认测试,需要 为组
织测试制定计划 。计划应包括
?测试的内容
?进度安排
? 条件
? 人员
? 测试用例的选取原则
?测试结果允许的偏差范围等
? 测试分析报告
测试工作完成后,应 提交测试计划执
行情况的说明 。 对测试结果加以分析,
并 提出测试的结论性意见 。
? 开发进度月报
该月报是软件人员 按月向管理部门提
交的项目进展情况的报告 。报告应包
括 进度计划与实际执行情况的比较,
阶段成果, 遇到的问题和解决的办法
以及 下个月的打算 等。
? 项目开发总结报告
? 软件项目开发完成之后,应当 与项
目实施计划对照, 总结实际执行的情
况,如 进度, 成果, 资源利用, 成本
和 投入的人力 。
?还需 对开发工作作出评价, 总结经
验和教训 。
? 维护修改建议
软件产品投入运行之后, 可能有修正,
更改等问题,应当 对存在的问题, 修
改的考虑 以及 修改的影响估计 等 做详
细的描述,写成维护修改建议,提交
审批。
? 以上软件文档是在软件生存期中,随
着各个阶段工作的开展适时编制的。
其中,有的仅反映某一个阶段的工作,
有的则需跨越多个阶段。
软件生存期各阶段与各种文档编制的关系
软软 件件
计计 划划
需需 求求
分分 析析
软软 件件
设设 计计
编编 码码 与与 单单
元元 测测 试试
集集 成成 与与
测测 试试
运运 行行 与与
维维 护护
可可 行行 性性 研研
究究 报报 告告
项项 目目 开开 发发
计计 划划
软软 件件 需需 求求
说说 明明 书书
数数 据据 要要 求求
说说 明明 书书
软软 件件
计计 划划
需需 求求
分分 析析
软软 件件
设设 计计
编编 码码 与与 单单
元元 测测 试试
集集 成成 与与
测测 试试
运运 行行 与与
维维 护护
测测 试试 计计 划划
概概 要要 设设 计计
说说 明明 书书
详详 细细 设设 计计
说说 明明 书书
用用 户户 手手 册册
操操 作作 手手 册册
软软 件件
计计 划划
需需 求求
分分 析析
软软 件件
设设 计计
编编 码码 与与 单单
元元 测测 试试
集集 成成 与与
测测 试试
运运 行行 与与
维维 护护
测测 试试 分分 析析
报报 告告
开开 发发 进进 度度
月月 报报
项项 目目 开开 发发
总总 结结
程程 序序 维维 护护
手手 册册 (( 维维
护护 修修 改改 建建
议议 ))
? 文档最终要向 软件管理部门,或向 用
户 回答下列问题
? 哪些需求要被满足 ( What);
?软件在什么环境中实现,所需信息
从哪里来 ( Where);
? 开发时间如何安排 ( When);
?开发 (或维护 )工作打算由谁来做
( Who);
? 需求应如何实现 ( How);
? 为什么要进行这些软件开发或维护
修改工作 ( Why)。
文档要回答的问题
ww hh aa tt ww hh ee rr ee ww hh ee nn ww hh oo hh oo ww ww hh yy
可可 行行 性性 研研
究究 报报 告告
项项 目目 开开 发发
计计 划划
软软 件件 需需 求求
说说 明明 书书
数数 据据 要要 求求
说说 明明 书书
测测 试试 计计 划划
ww hh aa tt ww hh ee rr ee ww hh ee nn ww hh oo hh oo ww ww hh yy
概概 要要 设设 计计
说说 明明 书书
详详 细细 设设 计计
说说 明明 书书
用用 户户 手手 册册
操操 作作 手手 册册
测测 试试 分分 析析
报报 告告
开开 发发 进进 度度
月月 报报
ww hh aa tt ww hh ee rr ee ww hh ee nn ww hh oo hh oo ww ww hh yy
项项 目目 开开 发发
总总 结结
程程 序序 维维 护护
手手 册册 (( 维维
护护 修修 改改 建建
议议 ))
对文档编制的质量要求
? 如果不重视文档编写工作,或是对文档
编写工作的安排不当,就不可能得到高
质量的文档。
? 质量差的文档
?使读者难于理解, 给使用者造成许多
不便
?会削弱对软件的管理 (难以确认和评
价开发工作的进展情况 ),提高软件成
本 (一些工作可能被迫返工 )
? 造成 误操作
对编制高质量文档的要求
(1) 针对性
?文档编制以前 应分清读者对象 。按
不同的类型、不同层次的读者,决定
怎样适应他们的需要。
? 管理文档主要面向管理人员
?用户文档主要面向用户
? 这两类文档不应像开发文档 (面向开
发人员 )那样过多使用软件的专用术
语。
(2) 精确性
? 文档的行文应当 十分确切, 不能出现
多义性的描述 。同一课题几个文档的
内容应当是协调一致,没有矛盾的。
(3) 清晰性
?文档编写应 力求简明,如有可能,配
以适当的图表,以增强其清晰性。
(4) 完整性
?任何一个文档都应当是 完整的, 独
立的,它应 自成体系 。
?例如,前言部分应做一般性介绍,
正文给出中心内容,必要时还有附录,
列出参考资料等。
?同一课题的几个文档之间可能有些
部分内容相同,这种重复是必要的。
? 不要在文档中出现转引其它文档内
容的情况 。 如,一些段落没有具体描
述,用“见 ×× 文档 ×× 节”的方式,
(5) 灵活性
各个不同软件项目,其规模和复杂程度
有着许多实际差别,不能一律看待。
? 应根据具体的软件开发项目,决定编制
的文档种类。
?软件开发的管理部门应该 根据本单
位承担的应用软件的专业领域和本单
位的管理能力, 制定一个对文档编制
要求的实施规定 。
?对于一个具体的应用软件项目,项目
负责人应根据上述实施规定,确定一
个文档编制计划。其中包括:
? 编制哪几种文档,详细程度如何
? 各文档的编制负责人和进度要求
? 审查 /批准负责人和时间进度安排
? 在开发时期内各文档的维护、修改
和管理的负责人,以及批准手续
? 有关的开发人员必须严格执行这个文
档编制计划。
? 当所开发的软件系统非常大时,一种文
档可以分成几卷编写。 例如,
? 项目开发计划 可分写为:
?质量保证计划
? 配臵管理计划
? 用户培训计划
? 安装实施计划等 。
? 系统设计说明书 可分写为:
? 系统设计说明书
? 子系统设计说明书。
? 程序设计说明书 可分写为:
? 程序设计说明书
? 接口设计说明书
? 版本说明。
?操作手册 可分写为:
? 操作手册
? 安装实施过程。
? 测试计划 可分写为:
?测试计划
?测试设计说明
? 测试规程
? 测试用例。
? 测试分析报告 可分写为:
? 综合测试报告
? 验收测试报告。
?项目开发总结报告 也可分写成:
? 项目开发总结报告
? 资源环境统计。
? 应根据 任务的规模, 复杂性, 项目负责
人对该软件的开发过程及运行环境所需
详细程度的判断, 确定文档的详细程度 。
? 对国标 GB8567-88,计算机软件产品开
发文件编制指南, 所建议的所有条款都
?可以扩展,进一步细分,以适应需
要;
? 如果条款中有些细节并非必需,也
可以根据实际情况压缩合并 。
? 程序的设计表现形式,可以使用 程序流
程图, 判定表, 程序描述语言 (PDL)、
或 问题分析图 (PAD)等。
? 对于 文档的表现形式,没有规定或限制。
可以使用 自然语言,也可以使用 形式化
的语言 或 半形式化的语言 。
? 当国标, 计算机软件产品开发文件编制
指南, 中规定的文档种类不能满足某些
应用部门的特殊需要时,可以建立一些
特殊的文档种类要求,这些要求可以包
含 在本单位的文档编制实施规定 中。
? 为使软件文档能
?起到多种桥梁的作用
?有助于程序员编制程序
? 有助于管理人员监督和管理软件的
开发
? 有助于用户了解软件的工作和应做
的操作,
?有助于维护人员进行有效的修改和
扩充
? 文档的编制必须保证一定的质量。