论文部分内容阅读
近年来,随着信息科技产业的快速发展,物联网系统、大数据分析以及云计算平台的不断普及,信息物理融合系统(Cyber-Physical System,CPS)随之诞生,如智能道路交通管理系统、智能远程路灯管理、智能水库大坝控制系统等。对于CPS项目的需求分析,不仅需要考虑传统软件开发项目中的软件功能需求,还需要考虑人的影响因素以及硬件设备、工程设备的物理特征和电气特性,同时也要关注软件系统与硬件设备之间的交互,所以,CPS项目的需求分析显得更为重要。软件开发初期阶段的需求分析将直接影响整个项目的进度和最终软件产品的质量。因此,在软件项目开发过程中,需要需求提供方和软件项目组对软件的需求分析引起足够的重视并投入足够的人员和资金来完成需求分析阶段的各项任务。问题框架方法(Problem Frames,PF),作为一种主流的软件需求分析方法,其在近几十年的不断研究中已经得到需求工程界的广泛关注和重视,是需求工程领域的重要研究热点之一。该方法将软件需求定义为软件系统与现实世界问题领域进行交互的行为描述的集合,将软件需求视为一个问题,实现需求所对应的软件系统就是围绕该问题进行求解的过程。问题框架方法通过构造问题图来对软件需求问题进行描述,通过问题渐变和因果关系链,对软件需求问题进行推理和求解。虽然问题框架的相关研究已经获得较多成果,但如何从需求模型(问题图)过渡到软件设计以及实现仍是一个有待解决的问题。行为驱动开发方法(Behavior-Driven Development,BDD)是极限编程的最佳实践之一,也是软件工程不断发展过程中的成果之一。该方法鼓励需求提供方和软件项目团队使用一种“通用语言”来描述系统的行为,从而避免表达不一致所带来的问题。同时推崇测试先行,快速迭代的思想,在编写软件实现功能之前就编写测试框架代码,通过测试框架代码来推动软件的实现,从而保证软件的质量。但是行为驱动开发方法缺乏软件开发前期的需求分析建模基础,而需求分析是软件项目成功与否的关键因素。因此为BDD提供一种需求分析建模方法具有重要的意义。本文提出一种面向信息物理融合系统的基于问题框架的行为驱动开发方法(PFBDD)。该方法使用问题框架方法对软件需求进行建模,并将需求建模得出的问题图自动转换为用户场景文本。通过用户场景文本作为问题框架方法与行为驱动开发方法两者之间的桥梁,把两者紧密地结合起来。该方法为需求模型到软件的设计与实现提供了一种过渡的方法,加快了问题框架方法从理论研究走向实际应用的步伐。该方法在软件需求建模阶段采用Alloy形式化语言对需求模型进行描述,实现了模型到形式化语义间的一一对应关系,同时使用Alloy分析器对需求模型进行验证,从而保证需求模型的正确性。为了确保软件开发过程中模型、设计、代码的一致性,本文还给出了一种需求可跟踪性方案,建立了从需求模型到用户场景文本、测试框架代码、软件实现与测试的跟踪关系链,保持了需求的可跟踪性。此外,本文还设计并实现了支持上述开发方法的辅助工具,并给出了问题图模型的完整性检验算法以及问题图模型自动转换为用户场景文本的算法,实现了问题图到用户场景文本的自动转换。最后,本文通过一个车管业务大厅排队叫号系统的案例研究验证了本方法的可行性和实用性,同时将辅助工具应用在案例的设计与开发过程中,验证了辅助工具的实用性。