论文部分内容阅读
摘 要:需求分析是软件工程中得第一阶段,也是后续开发工作的基础,其重要性是不言而喻的。需求分析的目的就是要建立一个模型,这个模型不但要专业开发人员能看明白,而且要用户能够理解和接受。ARMIU方法综合考虑了现有建模方法的优点。
关键词:需求分析;需求建模;I*框架;UML
一、前言
随着需求工程领域的研究不断深入,在当前一个新的观点被提出,其主要思想就是将需求建模过程分成前、后两个阶段——早期需求获取阶段和后期需求规格说明阶段。这种思想实际上就是需求建模过程分为两个层次,理解层和说明层。在理解层主要是对系统背景的结构和组织关系进行研究和分析,从而抽象出系统利益相关者及其具有的目标,并建立相关模型对组织关系、要实现的目标等加以描述。说明层主要是描述应该怎样去做才能实现系统目标,把系统的目标转换成系统的功能。可以说容易理解、易于交流的需求说明是后期阶段的主要内容。
UML的扩展机制支持建立在域分析基础上的模型元素到视见元素的映射关系,因此可以通过建立一套完整的从I*框架模型到UML模型的映射规则,来实现前后两个阶段的平滑过渡。本文还将以网上选课系统为实例,阐述ARMIU方法的实践过程。
二、早期需求分析
(一)需求获取模型
作为一种为建立需求获取模型而开发的方法,I*框架提供了策略依赖模型(SDM)和策略原理模型(SRM)两种模型为早期的需求获取建模,并以此帮助系统开发者理解目标系统的动机和原理。
为了能够描述系统内的角色(或者Agent)与外部环境的角色(或者Agent)之间的依赖关系,我们引入了新的意图元素——服务(Service)和系统外Agent,他们形成的依赖关系称为服务依赖。服务依赖表示的是系统内的一个角色(或者Agent)需要依赖外部角色(或者Agent)提供的服务来完成操作。
(二)实例分析
通过对背景的分析,可以识别出三个角色:学生、教务员和网上选课系统,并建立SDM和SRM。因为SRM是对SDM进行分解、细化得到的,所以只给出了系统的SRM。
SRM是对SDM进行细化分解得到的,根据学生、教务员与网上选课系统之间的目标依赖、任务依赖和资源依赖等关系,网上选课系统可以分解为三个子角色,选课控制、选课处理和选课课表。选课处理要依赖选课控制完成选课条件的设定,两者是任务依赖关系;选课课表需要选课处理提供处理结果,两者是资源依赖关系。学生使用选课系统是希望能够选到满意的课程,所以选中课程是学生角色的目标,同时还具有一個软目标“满意的”。学生只有具备正确的身份信息(资源)和完成选中课程(子目标)操作,才能完成自己的目标,三者之间是任务分解关系。在规定的时间内学生可以通过修改选择的课程来尽量达到满意的结果,所以软目标(满意)与任务(修改选课)是方法-目的关系。
建立了SDM和SRM,那么系统的早期需求获取就完成了。I*框架模型中的目标、任务等元素都需要用统一规范的形式化语言进行描述,这也是后期需求规格说明的主要工作内容。
三、后期需求分析
在后期需求分析阶段的主要目标是,用形式化的语音对系统的各种功能需求和非功能需求进行描述,形成需求规格说明。ARMIU方法使用扩展的UML作为描述需求的形式化语言,在Agent层次上建立系统的用例模型和Agent类模型。
(一)建立用例模型
用例模型描述的是外部的执行者与用例之间发生的关联,通常使用UML建模都是从用户用自然语言叙述的需求中获得用例模型。ARMIU方法的用例模型是建立在Agent抽象层次上的,可以直接通过映射规则(用例模型映射规则,UR)从早期需求获取阶段建立的SDM中获得。用例模型具体的映射规则UR。根据映射规则UR,可以准确得到的网上选课系统的用例模型。
(二)建立Agent类模型
根据映射规则CR建立的类图模型。学生、教务员和网上选课系统三个Agent类是通过映射规则CR1从SRM中得到的,根据映射规则CR2可得到三者之间的合作关系。选课控制、选课处理、选课课表三个Agent类,以及它们与选课系统的关系都是根据映射规则CR3得到的。根据映射规则CR4,可以明确 Agent具有的能力,比如选课控制具有验证身份的能力。根据映射规则CR5,为了实现目标或者完成任务Agent必须要执行某些动作,比如为了实现选中满意课程的目标,学生必须要执行验证身份、选择课程、获得选课结果等操作。通过映射规则CR6和映射规则CR7,可以明确Agent的目标,比如学生的目标就是从网上选择满意的课程,教务员的目标就是合理的安排课程表。通过映射规则CR8和映射规则CR9,可以明确Agent的软目标,比如选课处理要具有容易操作的特性。通过映射规则CR10,可以获得资源类,比如课程表、课程信息和选课条件就是三个资源类以及它们含有boolean型属性availability(可用性)。通过映射规则CR11,可以明确Agent能够提供的服务,比如其他系统(学生管理系统)能够为选课控制提供身份信息的服务。最后,通过映射规则CR12和CR13,可以定义每个Agent类都具有两个默认的属性,信念和行为准则。
四、结束语
ARMIU方法的中心思想是,把需求分析分为两个层次进行建模,理解层面向的是用户和业务员建立的是分析模型,说明层面向的是软件开发人员建立的是设计模型。分析模型使用I*框架技术,设计模型使用UML技术。为了解决两者之间的差异问题实现平滑的过渡,ARMIU方法不仅对I*模型的意图元素和UML的用例和类图进行了扩展和改进,而且提出了映射规则。ARMIU方法虽然提出了一些新想法、新思路,但是仍然有一些不足之处,还有一些需要进一步完善和改进的地方。
参考文献:
[1]李天颍, 刘璘, 寇晓溪,等.I*框架自动建模与编辑工具介绍[J]. 计算机科学, 2014, 041(009):45-51,79.
[2] 毛新军. 面向主体软件工程——模型、方法学与语言(第2版)[M]. 清华大学出版社, 2015.
关键词:需求分析;需求建模;I*框架;UML
一、前言
随着需求工程领域的研究不断深入,在当前一个新的观点被提出,其主要思想就是将需求建模过程分成前、后两个阶段——早期需求获取阶段和后期需求规格说明阶段。这种思想实际上就是需求建模过程分为两个层次,理解层和说明层。在理解层主要是对系统背景的结构和组织关系进行研究和分析,从而抽象出系统利益相关者及其具有的目标,并建立相关模型对组织关系、要实现的目标等加以描述。说明层主要是描述应该怎样去做才能实现系统目标,把系统的目标转换成系统的功能。可以说容易理解、易于交流的需求说明是后期阶段的主要内容。
UML的扩展机制支持建立在域分析基础上的模型元素到视见元素的映射关系,因此可以通过建立一套完整的从I*框架模型到UML模型的映射规则,来实现前后两个阶段的平滑过渡。本文还将以网上选课系统为实例,阐述ARMIU方法的实践过程。
二、早期需求分析
(一)需求获取模型
作为一种为建立需求获取模型而开发的方法,I*框架提供了策略依赖模型(SDM)和策略原理模型(SRM)两种模型为早期的需求获取建模,并以此帮助系统开发者理解目标系统的动机和原理。
为了能够描述系统内的角色(或者Agent)与外部环境的角色(或者Agent)之间的依赖关系,我们引入了新的意图元素——服务(Service)和系统外Agent,他们形成的依赖关系称为服务依赖。服务依赖表示的是系统内的一个角色(或者Agent)需要依赖外部角色(或者Agent)提供的服务来完成操作。
(二)实例分析
通过对背景的分析,可以识别出三个角色:学生、教务员和网上选课系统,并建立SDM和SRM。因为SRM是对SDM进行分解、细化得到的,所以只给出了系统的SRM。
SRM是对SDM进行细化分解得到的,根据学生、教务员与网上选课系统之间的目标依赖、任务依赖和资源依赖等关系,网上选课系统可以分解为三个子角色,选课控制、选课处理和选课课表。选课处理要依赖选课控制完成选课条件的设定,两者是任务依赖关系;选课课表需要选课处理提供处理结果,两者是资源依赖关系。学生使用选课系统是希望能够选到满意的课程,所以选中课程是学生角色的目标,同时还具有一個软目标“满意的”。学生只有具备正确的身份信息(资源)和完成选中课程(子目标)操作,才能完成自己的目标,三者之间是任务分解关系。在规定的时间内学生可以通过修改选择的课程来尽量达到满意的结果,所以软目标(满意)与任务(修改选课)是方法-目的关系。
建立了SDM和SRM,那么系统的早期需求获取就完成了。I*框架模型中的目标、任务等元素都需要用统一规范的形式化语言进行描述,这也是后期需求规格说明的主要工作内容。
三、后期需求分析
在后期需求分析阶段的主要目标是,用形式化的语音对系统的各种功能需求和非功能需求进行描述,形成需求规格说明。ARMIU方法使用扩展的UML作为描述需求的形式化语言,在Agent层次上建立系统的用例模型和Agent类模型。
(一)建立用例模型
用例模型描述的是外部的执行者与用例之间发生的关联,通常使用UML建模都是从用户用自然语言叙述的需求中获得用例模型。ARMIU方法的用例模型是建立在Agent抽象层次上的,可以直接通过映射规则(用例模型映射规则,UR)从早期需求获取阶段建立的SDM中获得。用例模型具体的映射规则UR。根据映射规则UR,可以准确得到的网上选课系统的用例模型。
(二)建立Agent类模型
根据映射规则CR建立的类图模型。学生、教务员和网上选课系统三个Agent类是通过映射规则CR1从SRM中得到的,根据映射规则CR2可得到三者之间的合作关系。选课控制、选课处理、选课课表三个Agent类,以及它们与选课系统的关系都是根据映射规则CR3得到的。根据映射规则CR4,可以明确 Agent具有的能力,比如选课控制具有验证身份的能力。根据映射规则CR5,为了实现目标或者完成任务Agent必须要执行某些动作,比如为了实现选中满意课程的目标,学生必须要执行验证身份、选择课程、获得选课结果等操作。通过映射规则CR6和映射规则CR7,可以明确Agent的目标,比如学生的目标就是从网上选择满意的课程,教务员的目标就是合理的安排课程表。通过映射规则CR8和映射规则CR9,可以明确Agent的软目标,比如选课处理要具有容易操作的特性。通过映射规则CR10,可以获得资源类,比如课程表、课程信息和选课条件就是三个资源类以及它们含有boolean型属性availability(可用性)。通过映射规则CR11,可以明确Agent能够提供的服务,比如其他系统(学生管理系统)能够为选课控制提供身份信息的服务。最后,通过映射规则CR12和CR13,可以定义每个Agent类都具有两个默认的属性,信念和行为准则。
四、结束语
ARMIU方法的中心思想是,把需求分析分为两个层次进行建模,理解层面向的是用户和业务员建立的是分析模型,说明层面向的是软件开发人员建立的是设计模型。分析模型使用I*框架技术,设计模型使用UML技术。为了解决两者之间的差异问题实现平滑的过渡,ARMIU方法不仅对I*模型的意图元素和UML的用例和类图进行了扩展和改进,而且提出了映射规则。ARMIU方法虽然提出了一些新想法、新思路,但是仍然有一些不足之处,还有一些需要进一步完善和改进的地方。
参考文献:
[1]李天颍, 刘璘, 寇晓溪,等.I*框架自动建模与编辑工具介绍[J]. 计算机科学, 2014, 041(009):45-51,79.
[2] 毛新军. 面向主体软件工程——模型、方法学与语言(第2版)[M]. 清华大学出版社, 2015.