什么是软件工程标准软件工程标准的层次中国的软件标准ISO9000-3标准及软件质量认证软件文档的作用与分类对文档编制的质量要求什么是软件工程标准软件危机的出路在于软件开发的工程化和标准化。程序设计语言的标准化:为某一程序设计语言规定若干个标准子集,对于语言的实现者和用户都带来了很大方便。软件过程的标准化:软件生存期各个阶段的工作建立标准或规范。软件工程标准的类型国家标准GB/T15538-1995《软件工程标准分类法》给出软件工程标准的分类。涉及过程管理、产品管理、资源管理,以及确认与验证。过程标准方法、技术、度量产品标准需求、设计、部件、描述、计划、报告专业标准职别、道德准则、认证、特许、课程记法标准术语、表示法、语言软件工程标准的清单可用二维表表示。表中填入的标准表明了软件工程标准的工作范围和如何对标准分类。已经制定的标准都可在表中找到相应的位置,而且它可启发人们去制定新的标准。软件工程标准化的作用可提高软件的可靠性、可维护性和可移植性;可提高软件人员的技术水平,减少差错和误解;可提高软件人员之间的通信效率,提高软件的生产率;有利于软件管理;有利于降低软件产品的成本和运行维护成本;有利于缩短软件开发周期。软件工程标准的层次(1)国际标准由国际联合机构制定和公布,提供各国参考的标准。国际标准化组织ISO(InternationalStandardsOrganization)这一国际机构有着广泛的代表性和权威性,它所公布的标准也有较大的影响。ISO建立了“计算机与信息处理技术委员会”,简称ISO/TC97,专门负责与计算机有关的标准化工作。这一标准通常冠有ISO字样,如ISO8631-86Informationprocessing_programconstructsandconventionsfortheirrepresentation《信息处理──程序构造及其表示法的约定》。该标准现已由中国收入国家标准。(2)国家标准由政府或国家级的机构制定或批准,适用于全国范围的标准,如:GB──中华人民共和国国家技术监督局公布实施的标准,简称“国标”。现已批准了若干软件工程标准。ANSI(AmericanNationalStandardsInstitute)──美国国家标准协会。这是美国一些民间标准化组织的领导机构,FIPS(NBS){FederalInformationProcessingStandards(NationalBureauofStandards)}──美国商务部国家标准局联邦信息处理标准。BS(BritishStandard)──英国国家标准。DIN(DeutschesInstitutfürNor-mung)──德国标准协会JIS(JapaneseIndustrialStandard)──日本工业标准(3)行业标准由行业机构、学术团体或国防机构制定,适用于某个业务领域的标准。IEEE(InstituteofElectricalandElectronicsEngineers)──美国电气与电子工程师学会。该学会有一个软件标准分技术委员会(SESS),负责软件标准化活动。IEEE公布的标准常冠有ANSI的字头。例如,ANSI/IEEEStr828-1983《软件配置管理计划标准》。GJB──中华人民共和国国家军用标准。这是由中国国防科学技术工业委员会批准,适合于国防部门和军队使用的标准。例如,GJB437-88《军用软件开发规范》。DOD_STD(DepartmentOfDefense_STanDards)──美国国防部标准,适用于美国国防部门。MIL_S(MILitary_Standard)──美国军用标准,适用于美军内部。(4)企业规范一些大型企业或公司,由于软件工程工作的需要,制定适用于本部门的规范。例如,美国IBM公司通用产品部1984年制定的《程序设计开发指南》,仅供该公司内部使用。(5)项目规范由某一科研生产项目组织制定,为该项任务专用的软件工程规范。中国的软件标准从1983年起,中国已陆续制定和发布了20项国家标准。这些标准可分为4类:①基础标准GB/T11457-89软件工程术语GB1526-891(ISO5807-1985)信息处理--数据流程图、程序流程图、系统结构图、程序网络图和系统资源图的文件编制符号及约定GB/T15538-1995软件工程标准分类法GB13502-92(ISO8631)信息处理--程序构造及其表示法的约定GB/T15535-1995(ISO5806)信息处理--单命中判定表规范GB/T14085-93(ISO8790)信息处理系统计算机系统配置图符号及其约定②开发标准GB8566-88软件开发规范GB计算机软件单元测试GB软件支持环境GB(ISO6593-1985)信息处理--按记录组处理顺序文卷的程序流程GB/T14079-93软件维护指南③文档标准GB8567-88计算机软件产品开发文件编制指南GB9385-88计算机软件需求说明编制指南GB9386-88计算机软件测试文件编制规范GB软件文档管理指南④管理标准GB/T12505-90计算机软件配置管理计划规范GB信息技术软件产品评价--质量特性及其使用指南GB12504-90计算机软件质量保证计划规范GB/T14394-93计算机软件可靠性和可维护性管理GB/T19000-3-94质量管理和质量保证标准第三部分:在软件开发、供应和维护中的使用指南。ISO9000-3标准及软件质量认证ISO9000国际标准发源于欧洲经济共同体,但很快就波及美国、日本及世界各国。到目前为止,已有70多个国家在它们的企业中采用和实施这一系列标准。中国对此也十分重视,确定对其等同采用,发布了与其相应的质量管理国家标准系列GB/T19000;同时积极组织实施和开展质量认证工作。ISO9000系列标准如此迅速地在国际上广为流行,其原因主要在于:市场经济,特别是国际贸易的驱动。ISO9000系列标准客观地对生产者(也称供方)提出了全面的质量管理要求、质量管理办法,并且还规定了消费者(也称需方)的管理职责,使其得到双方的普遍认同,从而将符合ISO9000标准的要求作为国际贸易活动中建立互相信任关系的基石。在各国企业中形成了不通过这一标准认证就不具备参与国际市场竞争实力的潮流,并且在国际贸易中,把生产者是否达到ISO9000质量标准作为购买产品的前提条件,取得ISO9000质量标准认证被人们当做进入国际市场的通行证。ISO9000系列标准适用领域广阔。1)硬件:具有特定形状的产品,如机械、电子产品,包括计算机硬件。2)软件:通过媒体表达的信息所构成的智力产品。包括计算机软件。3)流程性材料:将原料转化为某一特定状态的产品。如,流体、粒状、线状等,通过瓶装、袋装等或通过管道传输交付。4)服务:为满足客户需求的更为广泛的活动。ISO9000系列标准的内容ISO9000质量管理和质量保证标准──选择和使用的导则ISO9001质量体系──设计/开发、生产、安装和服务中的质量保证模式ISO9002质量体系──生产和安装中的质量保证模式ISO9003质量体系──最终检验和测试中的质量保证模式ISO9004质量管理和质量体系要素──导则ISO9000系列标准的主体部分可以分为两组:一组是用于“需方对供方要求质量保证”的标准──9001~9003;一组是用于“供方建立质量保证体系”的标准──9004。9001、9002和9003之间的区别,在于其对象的工序范围不同:9001范围最广,包括从设计直到售后服务;9002为9001的子集,而9003又是9002的子集。ISO9000-3标准ISO9000系列标准原本是为制造硬件产品而制定的标准,不能直接用于软件制作。曾试图将9001改写用于软件开发方面,但效果不佳。以ISO9000系列标准的追加形式,另行制定出ISO9000-3标准。ISO9000-3成为“使9001适用于软件开发、供应及维护”的“指南”。制定与实施ISO9000系列标准的主导思想(1)强调质量并非在产品检验中得到,而是形成于生产的全过程。ISO9000-3叙述了需方和供方应如何进行有组织的质量保证活动,才能得到较为满意的软件;规定了从双方签订开发合同到设计、实现以至维护整个软件生存期中应当实施的质量保证活动ISO9000-3没有规定具体的质量管理和质量检验方法和步骤。ISO9000-3的核心思想是“将质量制作入产品之中”。软件产品的质量取决于软件生存期所有阶段的活动。(2)为把握产品的质量,ISO9000-3要求“必须使影响产品质量的全部因素在生产全过程中始终处于受控状态”。为使软件产品达到质量要求,ISO9000-3要求软件开发机构建立质量保证体系。首先要求明确供需双方的职责,针对所有可能影响软件质量的各个因素都要采取有力措施,作出如何加强管理和控制的决定。对与质量有关的人员规定其职责和职权,责任落实到人,产品质量真正得到控制。(3)ISO9000标准要求证实:“企业具有持续提供符合要求产品的能力”。质量认证是取得这一证实的有效方法。产品质量若能达到标准提出的要求,由不依赖于供方和需方的第三方权威机构对生产厂家审查证实后出具合格证明。如果认证工作是公正的、可靠的,其公证的结果应当是可以信赖的。为了达到质量标准,取得质量认证,必须多方面开展质量管理活动。其中,负责人的重视以及全体人员的积极参与是取得成功的关键。(4)ISO9000标准强调“质量管理必须坚持进行质量改进”。贯彻ISO9000标准就是企业加强质量管理,提高产品质量的过程,这个过程包含许多工作,决非轻而易举,一蹴而就所能奏效的。即使已经取得了质量认证也不能认为一劳永逸而放松质量管理。实际上认证通常以半年为有效期。取得认证之后尚需接受每年1-2次的定期检查,其目的在于促使企业坚持进行质量改进。软件文档的作用与分类什么是文档软件文档的作用文档的分类软件文档的工作(1)什么是文档文档(document)是指某种数据媒体和其中所记录的数据。它具有永久性,并可以由人或机器阅读,通常仅用于描述人工可读的东西。在软件工程中,文档常常用来表示对活动、需求、过程或结果进行描述、定义、规定、报告或认证的任何书面或图示的信息。(2)软件文档的作用在软件生产过程中,总是产生和使用大量的信息。软件文档在产品的开发过程中起着重要的作用。提高软件开发过程的能见度。把开发过程中发生的事件以某种可阅读的形式记录在文档中。管理人员可把这些记载下来的材料作为检查软件开发进度和开发质量的依据,实现对软件开发的工程管理。提高开发效率。软件文档的编制,使得开发人员对各个阶段的工作都进行周密思考、全盘权衡、减少返工。并且可在开发早期发现错误和不一致性,便于及时加以纠正。作为开发人员在一定阶段的工作成果和结束标志。记录开发过程中有关信息,便于协调以后的软件开发、使用和维护。提供对软件的运行、维护和培训的有关信息,便于管理人员、开发人员、操作人员、用户之间的协作、交流和了解。使软件开发活动更科学、更有成效。便于潜在用户了解软件的功能、性能等各项指标,为他们选购符合自己需要的软件提供依据。文档的桥梁作用从某种意义上来说,文档是软件开发规范的体现和指南。按规范要求生成一整套文档的过程,就是按照软件开发规范完成一个软件开发的过程。所以,在使用工程化的原理和方法来指导软件的开发和维护时,应当充分注意软件文档的编制和管理。(3)文档的分类软件文档从形式上来看,大致可分为两类:一类是开发过程中填写的各种图表,称之为工作表格;一类是应编制的技术资料或技术管理资料,称之为文档或文件。软件文档的编制,可以用自然语言,特别设计的形式语言,介于两者之间的半形式语言(结构化语言),各类图形表示、表格来编制文档。文档可以书写,也可以在计算