论文部分内容阅读
软件需求描述(如场景)中存在的细节过多、缺乏结构性、不规范、不一致等问题,为后续的软件开发活动带来困难,需求分析是解决上述问题的有效途径。过程建模是目前项目实践中使用较为广泛的需求建模方法。然而目前的需求分析方法仍然面临一些挑战:(1)忽视过程模型在需求分析中的作用,导致前期构建的过程模型不能被有效利用,缺乏一套完整的面向过程的需求分析方法;(2)忽视需求描述到需求模型的转换过程;(3)在分析需求缺陷和时间需求冲突时,依赖大量的形式化推理,实用性不高,难以处理大规模系统的需求;(4)在分析非功能需求时,没有考虑去除非功能需求间的伪依赖,加重了设计人员在进行设计决策时的负担。 针对上述挑战,本文着重研究一种面向过程的需求分析方法,主要工作和贡献如下: (1)提出一种基于认知的多视角需求建模方法,从认知科学的角度分析了需求描述的认知模式并构建了统一的软件需求元模型,将需求描述转换为过程模型、对象转换模型、主体模型和目标模型,最后从实践和理论两个角度评估了多视角需求模型的易用性和全面性。该方法的提出克服了软件需求描述零碎、模糊、缺乏结构性、隐藏用户意图等缺点。 (2)借助过程模型,本文提出了基于工作流模式的功能需求缺陷检测和消解方法。提出一种基于工作流模式的过程语言(WPPL)用于描述功能需求的过程模型,与工作流模式进行模式匹配,通过预先定义不同模式中的检测规则,实现不同等级的、可持续的需求缺陷检测,最后采用不同的消解策略处理检测到的不一致性、不正确性和不完整性,很大程度上提高了需求描述的质量。 (3)提出一种基于过程模型的时间需求分析方法,采用时间修饰符构建时间需求与过程模型的集成模型,有效描述了时间点和时间间隔两种形式的时间需求。充分挖掘过程模型中功能需求间关联,通过时间需求冲突检测算法分析时间需求之间的冲突,克服传统形式化方法不易使用的困难,为时间需求的获取、建模和冲突检测提供了一套切实可行的解决方案。 (4)提出了基于过程模型的非功能需求分析方法,区分了非功能需求间的有效依赖和伪依赖,在过程模型中有机结合非功能需求,通过构建非功能需求潜在冲突与协作模型,识别不同非功能需求间的依赖。该方法充分利用了过程模型中所包含的功能需求间关联识别非功能需求之间的伪依赖,有效解决了非功能需求间伪依赖的排除问题,为后期系统设计提供重要指导。 本文采用上述方法,通过分析某工业案例中核心模块的需求,验证了面向过程的需求分析方法的有效性和可操作性,证实了本文研究成果对于提高需求文档质量等方面的重要价值,有效解决了需求建模与分析中的诸多难题。