天天看点

《软件建模与设计: UML、用例、模式和软件体系结构》一一3.2 设计验证和确认

本节书摘来自华章计算机《软件建模与设计: uml、用例、模式和软件体系结构》一书中的第3章,第3.2节,作者:(美)hassan gomaa,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

boehm(1981)区分了软件确认(software validation)和软件验证(software verification)。软件确认的目标是要确保软件开发团队“构建了正确的系统”,也就是说,确保系统符合用户的需求。软件验证的目标是要确保软件开发团队“正确地构建系统”,也就是说,确保软件系统在每一个阶段中的构造与前一个阶段所定义的规约相符合。

本节简要讨论的主题是软件质量保证(software quality assurance)和软件设计的性能分析(performance analysis of software designs)。另一个重要的活动是根据软件需求测试整个集成系统,它是在系统测试阶段实施的,这部分内容将在软件测试的3.3节中进行介绍。

3.2.1 软件质量保证

软件质量保证是指一系列确保软件产品质量的活动。软件验证和确认是软件质量保证的重要目标。

根据用户需求,抛弃型原型能够用于对系统的确认(在开发系统之前),有助于确保开发团队“构建了正确的系统”,即系统确实符合用户的需求。抛弃型原型也能够用于构造设计的实验原型。

软件技术评审(software technical review)能够为软件验证和确认带来很大的帮助。在软件验证中,确保设计符合软件需求规约是非常重要的。需求追踪和软件设计的技术评审能够有助于该活动的开展。

3.2.2 软件设计的性能分析

在系统实现之前分析软件设计的性能来评估设计是否满足性能目标是十分有必要的。如果在生存周期早期就能发现潜在的性能问题,那么就能够采取措施来克服它们。

评估软件设计的方法使用排队模型(menascé,almeid,and dowdy 2004;menascé,gomaa,and kerschberg 1995;menascé and gomma 2000)和模拟模型(smith 1990)。对于并行系统而言,能够使用petri网(david 1994;jensen 1997;pettit and gomaa 2006;stansifer 1994)来建模和分析并行设计。在(gomaa 2000)中描述的一个方法是通过使用实时调度理论来分析实时设计的性能。

继续阅读