论文部分内容阅读
当今大型软件系统的开发活动不可避免的深深植根于宽广的问题上下文(Problem Context)当中,涉及到各种各样的利益相关人员(System Stakeholder),这些人会从自身的视角(Viewpoint)出发表达各自的需求,并以此作为评价未来系统的标准。因此,要开发出能充分满足各种利益相关者的软件系统,必须能显式的表达(建模)和分析这些视角,不同视角间的关系以及各个视角所关注的问题上下文。与此同时,为对整个软件问题有全局的了解,必须将这些视角整合成完整统一的需求模型,这也给系统的架构设计提供了很好的参照。因此,研究基于视点并能结构化的建模问题上下文的需求建模方法及过程模型具有重要意义。需求工程领域存在着众多的需求建模方法,为了能全面的挖掘出系统的需求信息源,以可视化、结构化的方式建模各个视点内部的情况以及各视点之间的关系,本文重点研究基于视点(Viewpoint Orientation)及基于问题框架方法(Problem Frames Approach)的结合。在理念上,基于视点的方法着重于从各种系统利益相关人员的角度出发,从源头捕获和分析他们复杂的需求,挖掘并消除潜在的冲突;问题框架方法致力于描述软件问题的需求、问题上下文、机器领域及它们之间的物理和逻辑上的关系。前者侧重需求源的挖掘,冲突需求的消解,后者侧重可视化,结构化的需求建模。显然,这两种需求建模方法具备较大的互补性。在问题框架方法(PF)中,通过把子问题合成为完整的问题图(Problem Composition)以实现对整个软件问题的建模。结合基于视点及基于问题框架方法,就能很好地实现从多种角度出发,直观的为软件问题建模的目标。由此,本文提出了VPFA (Viewpoint-driven Problem Frames Approach),即视点驱动的问题框架建模方法,力图提供一种贴近实际需求分析活动的方式去捕获和表达不同类型的系统利益相关者的需求以及他们所关注的问题上下文,在此基础上提出了一个视点驱动的问题建模过程模型,以此规范需求源的挖掘,子问题的建模,子问题的合成及架构设计这一过程。运用VPFA方法,本文能构建基于视点的子问题图(Viewpoint-Based Subproblem Diagram),通过分析并组合众多的子问题图,可以建模出完整的问题模型,这即有利于及早发现不同需求源的需求信息不一致,把冲突的需求在开发活动的早期消除,也有助于提高整个软件问题模型的完整性。完整的问题模型也给后续的系统架构设计提供一定的参考。应用本文所提出的VPFA建模方法及过程模型,本文对某大型超市的管理问题进行调研,客观评估和总结本研究所提出的方法及过程模型的优缺点。同时,为了能广泛地收集反馈信息,为方法改进提供依据,以及在实际项目中的推广方法的应用,本文在已有的支持问题框架方法建模的开源工具OpenPF的基础上,综合运用Xtext, GMF, Java技术开发出支持基于视点的子问题合成的插件’Viewpoint_Integration’,同时,进一步融入Acceleo技术开发出支持从基于视点的子问题图中抽取出问题过程伪代码的插件’Problem PseudoCode’,为后续编码开发提供指导。最后,为了能深入的对领域知识进行表达及建模,实现从高抽象层次的需求模型的变换向低抽象层次的基于领域和需求知识的变换过渡,本文设计了全新的支持更细粒度建模和推理的视点驱动的问题建模元模型。