东北大学UML全程一体化建模课件第5章需求建模.ppt

上传人:牧羊曲112 文档编号:6533472 上传时间:2023-11-09 格式:PPT 页数:58 大小:3.02MB
返回 下载 相关 举报
东北大学UML全程一体化建模课件第5章需求建模.ppt_第1页
第1页 / 共58页
东北大学UML全程一体化建模课件第5章需求建模.ppt_第2页
第2页 / 共58页
东北大学UML全程一体化建模课件第5章需求建模.ppt_第3页
第3页 / 共58页
东北大学UML全程一体化建模课件第5章需求建模.ppt_第4页
第4页 / 共58页
东北大学UML全程一体化建模课件第5章需求建模.ppt_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《东北大学UML全程一体化建模课件第5章需求建模.ppt》由会员分享,可在线阅读,更多相关《东北大学UML全程一体化建模课件第5章需求建模.ppt(58页珍藏版)》请在三一办公上搜索。

1、第5章 需求建模,刘志成 编著,本章学习导航,本章学习导航,本章学习要点,用例模型概述 用例图组成 识别和描述用例 用例间的关系 建议课时:10课时,任务1,了解用例模型的基本功能和基本组成。,任务目标,分组教学法 资料查询法 案例教学法,教学方法,5.1 用例模型概述,用例模型的功能,用例模型是把应满足用户需求的基本功能(集)聚合起来表示的强大工具。对于正在构造的新系统,用例描述该系统应该作什么;对于已构造完毕的系统,用例则反映了系统能够完成什么样的功能。构建用例模型是通过系统开发者与系统的客户(或最终使用者)共同协商完成的,他们要反复讨论需求的规格说明,达成共识,明确系统的基本功能,为后阶

2、段的工作打下基础。,5.1 用例模型概述,用例模型的基本组成,用例模型的基本组成部件是用例、参与者和系统。用例用于描述系统的功能,也就是从外部用户的角度观察系统应具备哪些功能,帮助分析人员理解系统的行为,它是对系统功能的宏观描述。一个完整的系统中通常包含若干个用例,每个用例具体说明应完成的功能,代表系统的所有基本功能(集)。参与者是与系统进行交互的外部实体,它可以是系统用户,也可以是其它系统或硬件设备,总之,凡是需要与系统交互的任何东西都可以称作参与者。系统的边界线以内的区域(即用例的活动区域)则抽象表示系统能够实现的所有基本功能。,5.1 用例模型概述,引入用例的目的,(1)确定系统应具备哪

3、些功能,这些功能是否满足系统的需求(开发者与用户协商达 成共识的东西)。(2)为系统的功能提供清晰一致的描述,以便为后续的开发工作打下良好的交流基础,方便开发人员传递需求的功能。(3)为系统验证工作打下基础。通过验证最终实现的系统能够执行的功能是否与最初需求的功能相一致,保证系统的实用性。,任务2,确定WebShop电子商城系统中的参与者、系统边界。,任务目标,分组教学法 SDSPR教学法 案例教学法,教学方法,5.2 用例图组成,购物用户注册帐号购物用户登录系统购物用户查看个人资料购物用户查看历史订单购物用户查看当前订单购物用户关闭帐号系统管理员删除用户,WebShop用例图,5.2.1 参

4、与者,参与者(Actor)是与系统交互的人或事。所谓“与系统交互”指的是参与者向系统发送消息,从系统中接收消息,或是在系统中交换信息。UML中用一个小人形图形表示角色类,小人的下方书写角色名字。,参与者概述,(1)系统用户(2)其他系统(3)一些可以运行的进程,5.2.1 参与者,(1)使用系统主要功能的人是谁(即主要角色)?(2)需要借助于系统完成日常工作的人是谁?(3)谁来维护和管理系统(次要角色),保证系统正常工作?(4)系统控制的硬件设备有哪些?(5)系统需要与哪些其它系统交互?其它系统包括计算机系统,也包括该系统将要使用的计算机中的其它应用软件。其它系统也分成二类,一类是启动该系统的

5、系统,另一类是该系统要使用的系统。(6)对系统产生的结果感兴趣的人或事是哪些?,确定参与者,5.2.1 参与者,确定WebShop电子商城中的参与者主要是用户,而用户又包括前台购物用户和后台管理员两大类;后台管理员又包括普通管理员和系统管理员两大类。,确定WebShop参与者,5.2.1 参与者,参与者对于系统而言总是外部的,它们可以处于人的控制之外;参与者可以直接或间接地同系统交互,或使用系统提供的服务以完成某件事务;参与者表示人或事物与系统发生交互时所扮演的角色,而不是特定的人或者特定的事物;一个人或事物在与系统发生交互时,可以扮演多个角色;每一个参与者需要一个具有业务一样的名字,并且必须

6、有简短的描述(从业务角度描述参与者是什么);参与者可以具有属性和事件,但使用不能太频繁。,参与者说明,5.2.2 系统,系统是用例模型的一个组成部分,代表的是一部机器或一个商务活动等,而并不是真正实现的软件系统。系统的边界用来说明构建的用例模型的应用范围。先识别出系统的基本功能(集),然后以此为基础定义一个稳定的、精确定义的系统架构,以后再不断地扩充系统功能,逐步完善。这样做的好处在于避免了一开始系统太大,需求分析不易明确,从而导致浪费大量的开发时间。用例图中的系统用一个长方框表示,系统的名字写在方框上或方框里面,方框内部还可以包含该系统中的用符号表示的用例。,用例模型中的系统,5.2.3 用

7、例,用例是Jacobson在面象对象的软件工程中提出的,但它实际上是独立于面象对象的。用例代表一个系统或系统的一部分行为,是对一组动作序列的描述,系统执行该动作序列来作为参与者产生一个可观察的结果值。用例代表的是一个完整的功能。UML中的用例是动作步骤的集合。动作是系统的一次执行(能够给某个参与者输出结果值)。,什么是用例,5.2.3 用例,用例总是由参与者初始化 用例为参与者提供值 用例具有完全性,用例的特征,【提示】用例表示的也是一个类(如搜索图书),而不是某个具体的实例(搜索名称为“Java程序设计”的图书)。用例描述了它代表的功能的各个方面,也就是包含了用例执行期间可能发生的种种情况。

8、,课堂实践 1,(1)通过学习小组讨论和上网查询资料形式完成。(2)使用手绘形式绘制出图书管理系统的参与者和系统边界。,操作提示,(1)小组讨论用例模型的主要功能有哪些。(2)根据已往的软件开发经验,讨论使用用例模型来描述需求与使用纯文字的方式来描述需求有什么不同。(3)结合实例说明用例模型由哪几部分组成。(4)根据典型图书管理系统的需求,确定该系统中的参与者,并说明你确定参与者的根据。(5)确定图书管理系统的系统边界。,操作要求,任务3,确定WebShop电子商城中的用例,绘制WebShop电子商城的用例图,并对用例进行描述。,任务目标,分组教学法 案例教学法 SDSPR教学法,教学方法,5

9、.3.1 识别用例,了解的问题,1针对参与者(1)某个参与者要求系统为其提供什么功能;该参与者需要做哪些工作?(2)参与者需要阅读、创建、销毁、更新或存储系统中的某些信息吗?(3)系统中的事件一定要告知参与者吗?参与者需要告诉系统一些什么吗?(4)系统新功能的识别,参与者的日常工作被简化或效率提高了吗?2针对系统(1)系统需要什么样的输入和输出?输入来自哪里?输出到哪里去?(2)该系统的当前状况还存在哪些问题?(3)系统的改进的方向?,5.3.1 识别用例,询问以下问题以发现用例,参与者需要从系统中获得哪种功能?参与者需要做什么?参与者需要读取、产生、删除、修改或存储系统中的某种信息吗?系统中

10、发生的事件需要通知参与者吗?或者参与者需要通知系统某件事吗?这些事件(功能)能干些什么?如果用系统的新功能处理参与者的日常工作是简单化了,还是提高了工作效率?系统需要的输入/输出是什么信息?这些输入/输出信息从哪儿来,到哪儿去?系统当前的这种实现方法要解决的问题是什么(也许是用自动系统代替手工操作)?,5.3.1 识别用例,购物用户相关用例,5.3.1 识别用例,普通管理员相关用例,5.3.1 识别用例,系统管理员相关用例,5.3.2 绘制WebShop用例图,1新建工程,依次选择【File】【New】菜单,新建一个模型(缺省名称为untitled),5.3.2 绘制WebShop用例图,2新

11、建用例图,在视图区域中右键单击用例视图(Use Case View)节点,依次选择【New】【Use Case Diagram】,新建一个用例图。,5.3.2 绘制WebShop用例图,3添加参与者和用例,(1)绘制参与者在用例图绘图工具栏上选择图形符号,在绘图区域中单击,即可绘制参与者(默认名称为NewClass),5.3.2 绘制WebShop用例图,3添加参与者和用例,(2)绘制用例在用例图绘图工具栏上选择图形符号,在绘图区域中完成单击,即可绘制相应的用例图形(如:NewUseCase),5.3.2 绘制WebShop用例图,4删除参与者和用例,(1)在视图区域中删除对象,(2)在绘图区

12、域删除对象,5.3.2 绘制WebShop用例图,5设置参与者属性,在图形绘制区域添加了相关的参与者之后,可以对指定的参与者的属性进行修改。,5.3.2 绘制WebShop用例图,6设置用例的属性,在图形绘制区域添加了相关的用例之后,可以对指定的用例的属性进行修改。,5.3.2 绘制WebShop用例图,7设置字体、调整位置和大小,参与者和用例都可以进行字体大小和字体类型的设置,如图所示。对于参与者来说,“Line Color”、“Fill Color”和“Use Fill Color”菜单项不可用。,5.3.3 通过包对用例进行合理规划,包图概述,包是一种组合机制,把各种各样的模型元素通过内

13、在的语义连在一起成为一个整体就叫做包。包通常用于对模型进行组织管理,因此有时又将包称为子系统。包拥有自己的模型元素,包的实例没有任何语义(含义),只有在模型执行期间,包才有意义。,5.3.4 WebShop用例图(不含关系),系统的参与者,5.3.4 WebShop用例图(不含关系),购物用户管理相关的用例图,5.3.4 WebShop用例图(不含关系),前台购物相关的用例图,5.3.4 WebShop用例图(不含关系),后台管理相关用例图,5.3.4 WebShop用例图(不含关系),后台管理中管理购物用户相关用例图,用例描述,用例描述,(1)用例的目标用例的最终任务是什么?想得到什么样的结

14、果?即每个用例的目标一定要明确。(2)用例是怎样被启动的哪个参与者在怎样的情况下启动执行用例。(3)参与者和用例之间的消息流参与者和用例之间的哪些消息是用来通知对方的?哪些是修改或检索信息的?哪些是帮助用例做决定的?系统和参与者之间的主消息流描述了什么问题?系统使用或修改了哪些实体?(4)用例的多种执行方案在不同的条件或特殊情况下,用例能根据当时条件选择一种合适的执行方案。(5)用例怎样才算完成并把值传给了参与者描述中应明确指出在什么情况下用例才能被看作完成,当用例被看作完成时要把结果值传给参与者。,用例描述,用例描述模板,用例描述,用例描述实例,课堂实践 2,(1)通过学习小组讨论和上网查询

15、资料形式完成。(2)使用Rose 2003进行图形的绘制。(3)建议通过包图对图书管理系统中用例进行逻辑分类。,操作提示,(1)确定图书管理系统的用例。(2)绘制图书管理系统的用例图。(3)对图书管理系统的用例进行描述。,操作要求,任务4,识别WebShop电子商城中用例间的关系,并绘制其关系图。,任务目标,分组教学法 案例教学法 SDSPR教学法,教学方法,5.4.1 泛化关系,用例泛化关系,用例泛化关系是指一种从子用例到父用例的关系,它指定了子用例如何特化父用例的所有行为和特征。,5.4.1 泛化关系,参与者泛化关系,跟用例一样,参与者和参与者之间也存在着泛化关系。,5.4.2 使用关系,

16、使用关系,用例使用关系是指一个用例使用另一个用例的关系。一个用例使用另一个用例时,这两个用例之间就构成了使用关系。一般情况下,如果若干个用例的某些行为都是相同的,则可以把这些相同的行为提取出来单独作成一个用例,这个用例称为抽象用例。,5.4.3 包含关系,包含关系,包含关系是指使用一个用例来封装一组跨越多个用例的相似动作(行为片断),以便多个基用例复用的关系。基用例控制与包含用例的关系,以及被包含用例的事件流是否会插入到基用例的事件流中。基用例可以依赖包含用例执行的结果,但是双方都不能访问对方的属性。,5.4.4 扩展关系,扩展关系,扩展关系是将基用例中一段相对独立并且可选的动作,用扩展用例加

17、以封装,再让它从基用例中声明的扩展点上进行扩展,从而使基用例行为更简练和目标更集中。扩展用例为基用例添加新的行为,扩展用例可以访问基用例的属性,因此它能根据基用例中扩展点的当前状态来判断是否执行自己。,5.4.4 扩展关系,扩展关系,引入扩展用例的好处在于:便于处理基本用例中不易描述的某些具体情况,便于扩展系统,提高系统性能,减少不必要的重复工作。,5.4.5 关系小结,泛化关系和包含关系,用例泛化关系和包含关系都可以用来复用该模型用例间的行为。二者的区别是:在用例泛化关系中,执行子用例不受父用例的结构和行为(复用部分)的影响;在包含关系内,执行基本用例只依赖包含用例(复用部分)执行有关功能的

18、结果。在泛化关系中,子用例有相似的目的和结构;而在包含关系中,复用相同包含用例的基本用例在目的上可以完全不同,但是它们需要执行相同的功能。,5.4.5 关系小结,使用关系和扩展关系,使用关系强调的是用例间的相似性,根据相似性标识出共同行为(抽象用例)。例如,自动售货系统中,“供货”和“提取销售款”这两个用例的开始动作都是去掉机器保险并打开它,最后的动作一定是关闭机器并加保险,于是可以从这两个用例中把开始的动作抽象成“打开机器”用例,把最后的动作抽象成“关闭机器”用例,那么“供货”和“提取销售款”用例在执行时一定要使用上述的两个抽象用例,它们之间便构成了使用关系。扩展关系强调的是单个用例的变化情

19、况(扩展用例);,5.4.5 关系小结,包含关系和扩展关系,包含关系:当可以从两个或两个以上的原始用例中提取公共行为,或者发现能够使用一个构件来实现某一个用例的部分功能时,应该使用包含关系来表示它们。扩展关系:如果一个用例明显地混合了两种或两种以上的不同场景,即根据情况可能发生多种事情,可以断定,将这个用例分为一个主用例和一个或多个辅用例描述可能更加清晰。,关联关系,用例和参与者之间也有连接关系,用例和参与者之间的关系属于关联(association),又称作通信关联。这种关联表明哪种参与者能与该用例通信。关联关系是双向的一对一关系,即参与者可以与用例通信,用例也可以与参与者通信。,5.4.6

20、 WebShop用例图(含关系),参与者关系,5.4.6 WebShop用例图(含关系),购物用户管理用例之间的关系,5.4.6 WebShop用例图(含关系),前台购物用例之间的关系,5.4.6 WebShop用例图(含关系),后台管理用例之间的关系,课堂实践 3,(1)阅读下图所示的自动售货系统的用例图,指出参与者、用例,并对每个用例进行说明。(2)确定图书管理系统的用例间的关系和参与者间的关系。(3)在图书管理系统的用例图基础上添加用例间的关系。,操作要求,课堂实践 3,(1)通过学习小组讨论和上网查询资料形式完成。(2)仔细分辨用例间不同关系的表示方法。,操作提示,课外拓展,(1)以小组方式对一次完整的ATM取款过程进行讨论分析。(2)尽可能的描述参与者之间和用例之间的关系。(3)以chap05.mdl文件保存ATM系统的UML模型。,操作提示,(1)简述ATM自动取款系统中ATM机取款的过程。(2)通过回答下列提示问题,获取ATM自动取款系统参与者和用例。(a)谁使用ATM系统的取款功能?(b)谁使用ATM系统的支持以完成日常工作任务?(c)谁来维护、管理并保持ATM系统的正常运行?(d)ATM系统需要和哪些系统进行交互?(e)ATM系统需要处理哪些设备?(f)谁对ATM系统运行的结果感兴趣?(3)绘制ATM系统的用例图。,操作要求,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号