● 摘要
随着软件规模和复杂度的不断增加,软件的开发逐渐走向规模化和产业化,为了确保软件产品的质量,对软件的验证(Verification)与确认(Validation)扮演着越来越重要的作用。目前,对验证与确认(简写为V&V)的研究多是针对某个具体领域的软件开发(如仿真软件),或是针对软件开发过程中用到的模型(如UML)进行的,缺少对软件开发的通用V&V方法的研究。在实际中存在如下问题:(1)对软件需求的V&V多采用评审和测试的方法,不能进行多角度、多层次的V&V;不能对需求涉及的组织和资源进行V&V;不能通过统一的模型对需求的正确性、一致性和完备性进行V&V。(2)对软件过程的验证与确认,多是对过程产品的评审和检查,没有利用过程性能的规律对过程的质量、进度和成本进行V&V。(3)在CMMI模型中,没有详细定义出V&V实施的层次,对V&V实施和评价的准确性有一定影响。(4)对软件验证和确认的工具多是进行定性的管理,缺少能够模拟优化需求和软件过程,并进行定量管理的支持环境。为了解决上述问题,本文结合先进的可视化系统建模模拟技术以及对软件过程的定量项目管理和过程优化技术,形成一整套基于模型的软件验证与确认方法。本文的主要研究工作和成果如下:1. 定义了软件需求和软件过程建模的模型构成应用建模技术定义和建立软件功能需求模型、软件过程模型和软件过程性能模型。该需求模型由三个原始模型(组织模型、资源模型和过程模型)和五个派生视图(组织视图、资源视图、用例视图、协同视图和信息视图)构成;基于此提出对软件功能需求和软件过程进行多角度、多层次的静态检查与动态模拟相结合的验证和确认的方法。2. 提出了应用软件功能模型进行验证和确认的方法对如何通过构建软件功能需求模型,从与软件功能相关的组织、角色、资源、业务类型以及开发和测试的用例需要等多角度、多层次,进行软件功能需求V&V内容获取方法的研究。具体包括:采用过程切片技术获取基于服务的用例全集的方法及其正确性证明;基于过程模型的投影技术,获取针对不同组织和角色的V&V内容;通过对模型属性信息的钻取为开发人员获取更加详细设计所需信息,资源、角色和进度的风险预测;通过对模型的前后追踪技术,获取变更的相关信息,实现对功能需求变更的V&V。3. 提出了应用软件过程模型和过程性能模型进行验证和确认的方法从与软件开发过程相关的生命周期各个阶段的活动、阶段的产品、参与阶段活动的人员,以及软件组织的过程性能在软件产品质量、成本和进度的相关性等方面,对软件开发过程进行V&V的研究。具体包括:通过对软件开发过程的可视化建模,采用切片、投影、钻取和追踪技术,就软件开发过程的阶段、中间产品和各阶段参与的人员与资源进行V&V;通过分析软件开发过程与软件的质量、成本和进度相关的因素,获取软件组织中与质量、成本和进度有关的过程性能模型,在软件开发过程模型中植入过程性能模型,然后采用模拟技术对可计算的量化模型进行不同参数设置下的模拟,以对所选择的过程方案能否满足对软件产品的质量、成本和进度的目标进行V&V。4. 提出了基于模型的软件验证与确认方法的实施和评价需要检查的方面根据CMMI能力成熟度等级的特征,扩展并描述出V&V的能力成熟度五个等级的特征,以及V&V活动与CMMI2级、3级、4级和5级相关过程域的关系,分别概括出在对软件功能需求的V&V和对软件过程V&V实施中所需要检查的方面,以指导V&V的实施,这些需要检查的方面通过对所建立的软件功能需求模型和软件过程模型的相应运算获得。5. 构建了软件验证与确认的系统集成环境根据基于建模技术的软件验证与确认方法的需要,将过程建模系统、项目管理系统、质量监控系统、日志系统、信息资源编目系统和Monte Carlo模拟工具加以集成,构成软件验证与确认的支持环境,建立各个系统和工具之间数据传递的接口关系,并将该环境应用于基于CMMI项目实施中和电子政务的信息系统建立的活动中。
相关内容
相关标签