3文档
本章给出了在CADCSC软件开发过程各阶段需要编制的文档名称及其要求,并且规定了评审文质量的通用的度量准则。
3.1.基本文档为了确保软件的实现满足项目委托单位“国家自然科学基金委员会信息科学部”认可的需求规格说明书中规定的各项需求,CADCSC软件各开发单位至少应该编写以下八个方面内容的文档:a.软件需求规格说明书(SRS);b.软件设计说明书(SDD),对一些规模较大或复杂性较高的项目,应该把本文档分成概要设计说明书(PDD)与详细设计说明书(DDD)两个文档;c.软件测试计划(STP);d.软件测试报告(STR);e.用户手册(SUM);f.源程序清单(SCL);g.项目实施计划(PIP);h.项目开发总结(PDS)。
3.2其他文档除了基本文档之外,对于尚在开发中的软件,还应该包括以下四个方面的文档:a.软件质量保证计划(SQAP);b.软件配置管理计划(SCMP);c.项目进展报表(PPR);d.阶段评审报表(PRR)。
注:前面两个文档由项目软件工程小组制订,属于管理文档,各个子系统的项目承办单位与软件开发单位都应充分考虑执行计划中规定的条款。后面两类文档属于工作文档,就是本计划的2.2中提到的四张阶段评审表与四张项目进展季报表,各个子系统的项目承办单位或软件开发单位应该按照规定要求认真填写有关内容。
3.3文档质量的度量准则文档是软件的重要组成部分,是软件生存周期各个不同阶段的产品描述。验证和确认就是要检查各阶段文档的合适性。评审文档质量的度量准则有以下六条:a.完备性:所有承担软件开发任务的单位,都必须按照GB8567的规定编制相应的文档,以保证在开发阶段结束时其文档是齐全的。
b.正确性:在软件开发各个阶段所编写的文档的内容,必须真实地反映该阶段的工作且与该阶段的需求相一致。
c.简明性:在软件开发各个阶段所编写的各种文档的语言表达应该清晰、准确简练,适合各种文档的特定读者。
d.可追踪性:在软件开发各个阶段所编写的各种文档应该具有良好的可追踪性。文档的可追踪性包括纵向可追踪性与横向可追踪性两个方面。前者是指在不同文档的相关内容之间相互检索的难易程度;后者是指确定同一文档某一内容在本文档中的涉及范围的难易程度。
e.自说明性:在软件开发各个阶段所编写的各种文档应该具有较好的自说明性。文档的自说明性是指在软件开发各个阶段中的不同文档能独立表达该软件其相应阶段的阶段产品的能力。
f.规范性:在软件开发各个阶段所编写的各种文档应该具有良好的规范性。文档的规范性是指文档的封面、大纲、术语的含义以及图示符号等符合有关规范的规定。
4标准、条例和约定在CADCSC工程化软件系统的开发过程中,还必须遵守下列标准、条例和约定:a.《CADCSC软件配置管理计划》,CADCSC软件工程小组编,1988年。
b.《C语言编程格式约定》,CADCSC软件工程小组编,1988年。
5评审和检查
本章具体规定了应该进行的阶段评审、阶段评审的内容和评审时间要求。对新开发的或正在开发的各个子系统,都要按照GB8566的规定认真进行定期的或阶段性的各项评审工作。就整个软件开发过程而言,至少要进行软件需求评审、概要设计评审、详细设计评审、软件验证和确认评审、功能检查、物理检查、综合检查以及管理评审等八个方面的评审和检查工作。如本计划第2.2条所述,经总体组研究决定,在CADCSC软件及其所属各个子系统的开发过程中,把前七种评审分成三次进行。在每次评审之后,要对评审结果作出明确的管理决策。下面给出每次评审应该进行的工作。
5.1第一次评审第一次评审会对软件需求、概要设计以及验证与确认方法进行评审。
a.软件需求评审(SRR)应确保在软件需求规格说明书中规定的各项需求的合理性。
b.概要设计评审(PDR)应评价软件设计说明书中的软件概要设计的技术合适性。
c.软件验证和确认评审(SV&VR)应评价软件验证和确认计划中确定的验证和确认方法的合适性与完整性。
5.2第二次评审第二次评审会要对详细设计、功能测试与演示进行评审,并对第一次评审结果进行复核。如果在软件开发过程中发现需要修改第一次评审结果,则应按照《CADCSC软件配置管理计划》的规定处理。
a.详细设计评审(DDR)应确定软件设计说明书中的详细设计在满足软件需求规格说明书中的需求方面的可接受性。
b.编程格式评审应确保所有编码采用规定的工作语言,能在规定的运行环境中运行,满足《C语言编程格式约定》,并且符合GB8566中提倡的编程风格。在满足这些要求之后,方可进行测试工作评审。
c.测试工作评审应对所有的程序单元进行静态分析,检查其程序结构(即模块和函数的调用关系和调用序列)和变量使用是否正确。在通过静态分析后,再进行结构测试和功能测试。在结构测试中,所有程序单元结构测试的语句覆盖率Co必须等于100%,分支覆盖率C1必须大于或等于85%.要给出每个单元的输入和输出变量的变化范围。各个子系统只进行功能测试,不单独进行结构测试,因而要登录程序单元之间接口的变量值,力图使满足单元测试的C1和Co准则的那此测试用例在子系统功能测试时得到再现。测试工作评审要检查所进行的测试工作是否满足这些要求。特别在评审功能测试工作时,不仅要运行变量的等价值,而且要运行变量的(合法的和非法的)边界值;不仅要运行开发单位给出的测试用例,而且要允许运行任务委托单位或用户、评审人员选定的采样用例。
5.3第三次评审第三次评审会要进行功能检查、物理检查和综合检查。这些评审会应在集成测试阶段结束后进行。
a.功能检查(FA)应验证所开发的软件已经满足在软件需求规格说明书中规定的所有需求。
b.物理检查(PA)应对软件进行物理检查,以验证程序和文档已经一致、并已做好了交付的准备。
c.综合检查(CA)应验证代码和设计文档的一致性、接口规格说明之间的一致性(硬件和软件)、设计实现和功能需求的一致性、功能需求和测试描述的一致性。