
第2章用户登录模块建模.ppt
68页第第2章 章 用户登录模块建模用户登录模块建模用户登录模块的用例图、类图、活动用户登录模块的用例图、类图、活动图、顺序图在第图、顺序图在第1章有初步了解,本章重点章有初步了解,本章重点分析用例图的绘制,同时介绍用例图的功分析用例图的绘制,同时介绍用例图的功能、元素及关系,分析如何识别使用者和能、元素及关系,分析如何识别使用者和用例【【教学导航教学导航】】知知识技能技能目目标((1)熟悉)熟悉UML用例用例图的功能和元素的功能和元素((2)学会)学会识别使用者和用例使用者和用例((3)理解用例之)理解用例之间的关系和参与者的泛化的关系和参与者的泛化((4)学会在)学会在Rational Rose 2003中中绘制用例制用例图((5)学会以)学会以书面文档形式面文档形式对用例用例进行描述行描述本章重点本章重点((1))识别使用者和用例使用者和用例((2)在)在Rational Rose 2003中中绘制用例制用例图((3)描述用例)描述用例教学方法教学方法 案例教学法、分案例教学法、分组讨论法、自主学法、自主学习法、探究式法、探究式训练法法课时建建议 4课时(含引(含引导训练和同步和同步训练))【【引导训练引导训练】】【【任务任务1】】浏览用户登录模块的活动浏览用户登录模块的活动图图【【任务描述任务描述】】在在Rational Rose 2003中浏览用户登录中浏览用户登录模块的活动图,调整活动图中图形元素的模块的活动图,调整活动图中图形元素的位置,将文字大小设置为位置,将文字大小设置为10。
【【任务任务2】】创建创建Rose模型模型“02用户登录模块用户登录模块模型模型”【【任务描述任务描述】】创建一个创建一个Rose模型,将其命名为模型,将其命名为“02用户登录模块模型用户登录模块模型”,且保存在本章对应,且保存在本章对应的文件夹中的文件夹中【【操作示范与知识讲解操作示范与知识讲解】】【【实例引导实例引导】】普通的机的主要功能是普通的机的主要功能是“打打”和和“接接”,打和接的人统,打和接的人统称为称为“用户用户”,机的用例图如图,机的用例图如图2-2所所示图图2-2 普通机的用例图 普通机的用例图 如果机具有如果机具有“录音录音”功能,功能,则用例图如图则用例图如图2-3所示图图2-3 带录音功能机的用例图 带录音功能机的用例图 【【试一试试一试】】的主要功能是的主要功能是“打打”、、“接接”、、“收短信收短信”、、“发短信发短信”,试着,试着绘制的用例图绘制的用例图【【任务描述任务描述】】((1)对图书管理系统的用户登录模)对图书管理系统的用户登录模块进行需求分析块进行需求分析2)识别用户登录模块的参与者识别用户登录模块的参与者((3)识别用户登录模块的用例。
识别用户登录模块的用例4)在)在Rational Rose 2003中绘制用中绘制用户登录模块的用例图户登录模块的用例图 【【任务实施任务实施】】 2.1 2.1 认识认识UMLUML的用例图的用例图2.2 2.2 绘制用例图绘制用例图2.3 2.3 描述用例描述用例 2.12.1 认识 认识UMLUML的用例图的用例图2.2.1 用例图的功能 用例图的功能在在UML中,用例图的用途是列出系统中,用例图的用途是列出系统中的用例和参与者,并显示哪个参与者参中的用例和参与者,并显示哪个参与者参与了哪个用例的执行与了哪个用例的执行用例图是一种描述用例的可视化工具,用例图是一种描述用例的可视化工具,它用简单的图形元素表示出系统的参与者它用简单的图形元素表示出系统的参与者(即角色)、用例以及他们之间的关系,(即角色)、用例以及他们之间的关系,准确地表达了角色与系统交互的情况和系准确地表达了角色与系统交互的情况和系统所能提供的服务统所能提供的服务用例图描述了从外部用例图描述了从外部“参与者参与者”来看来看系统应该完成的功能以及系统的需求系统应该完成的功能以及系统的需求。
用例图的主要元素用例和参与者用例图的主要元素用例和参与者2.1.2 用例图的组成元素 用例图的组成元素用例图主要应用于需求分析阶段,其用例图主要应用于需求分析阶段,其主要作用有:主要作用有:((1)获取需求;)获取需求;((2)指导测试;)指导测试;((3)在整个过程中的其他工作流中)在整个过程中的其他工作流中起指导作用起指导作用用例图元素主要包括参与者与用例两用例图元素主要包括参与者与用例两个部分,另外还包括参与者与用例之间以个部分,另外还包括参与者与用例之间以及用例之间的关系及用例之间的关系2.1.3 用例间的关系 用例间的关系在在UML中,一个用例图包括用例的集中,一个用例图包括用例的集合,该集合定义了整个系统的功能合,该集合定义了整个系统的功能用例图是表达用例和系统参与者及其用例图是表达用例和系统参与者及其之间关系的载体之间关系的载体这些关系可以是:关联关系、包含关这些关系可以是:关联关系、包含关系、扩展关系和泛化关系系、扩展关系和泛化关系 2.22.2 绘制用例图 绘制用例图2.2.1 分析用户登录模块的功 分析用户登录模块的功能需求能需求根据用户提出的具体需求和软件系统根据用户提出的具体需求和软件系统的开发要求,用户登录模块的功能需求会的开发要求,用户登录模块的功能需求会有所不同,最基本的需求是:提供输入有所不同,最基本的需求是:提供输入“用户名用户名”和和“密码密码”的文本框,验证用户的文本框,验证用户身份的合法性。
身份的合法性2.2.2 识别使用者 识别使用者识别参与者是在需求分析阶段进行的识别参与者是在需求分析阶段进行的一项重要工作,通常与用例识别结合在一一项重要工作,通常与用例识别结合在一起展开为了识别出一个系统所涉及的参与者,为了识别出一个系统所涉及的参与者,可以向用户提出以下一些问题:可以向用户提出以下一些问题:((1)谁将使用系统的主要功能?)谁将使用系统的主要功能?((2)谁将需要系统的支持来完成他)谁将需要系统的支持来完成他们的日常任务?们的日常任务?((3)谁必须维护、管理和确保系统)谁必须维护、管理和确保系统正常工作?正常工作?((4)谁将给系统提供数据、使用数)谁将给系统提供数据、使用数据和删除数据?据和删除数据?((5)系统需要处理哪些硬件设备?)系统需要处理哪些硬件设备?((6)系统是否使用了外部资源?)系统是否使用了外部资源?((7)系统需要与哪些其他系统进行)系统需要与哪些其他系统进行交互?交互?((8)在预定的时刻,是否有事件自)在预定的时刻,是否有事件自动发生?动发生?((9)系统从何处获取信息?)系统从何处获取信息?((10)谁或者什么对系统产生的结果)谁或者什么对系统产生的结果感兴趣?感兴趣?((11)一个人同时使用几种不同的规)一个人同时使用几种不同的规则吗?则吗?((12)几个人使用相同的规则吗?)几个人使用相同的规则吗?2.2.3 识别用例 识别用例识别用例是系统分析的关键工作,因识别用例是系统分析的关键工作,因为后续的各项工作都是以用例为基础而展为后续的各项工作都是以用例为基础而展开。
开具体地讲,可以提出以下几个问题,具体地讲,可以提出以下几个问题,然后根据对这些问题的回答来确定用例:然后根据对这些问题的回答来确定用例:((1)参与者要向系统获取哪些功能,)参与者要向系统获取哪些功能,即参与者要系统即参与者要系统“做什么做什么”??((2)每个参与者的特定任务是什么)每个参与者的特定任务是什么??((3)参与者需要读取、创建、修改)参与者需要读取、创建、修改或者存储系统的某些数据吗?或者存储系统的某些数据吗?((4)是否任何一个参与者都要向系)是否任何一个参与者都要向系统通知有关突出性的、外部的改变统通知有关突出性的、外部的改变或者必须通知参与者关于系统中发生或者必须通知参与者关于系统中发生的事件?的事件?((5)是否存在影响系统的外部事件)是否存在影响系统的外部事件??((6)系统需要哪些输入)系统需要哪些输入/输出?输出?((7)这些输入)这些输入/输出来自哪里或者到输出来自哪里或者到哪些去了?哪些去了?((8)哪些用例支持或维护系统?)哪些用例支持或维护系统?((9)是否所有功能需求都被用例使)是否所有功能需求都被用例使用了?用了?((10)系统当前实现的问题是什么?)系统当前实现的问题是什么?2.2.4 使用 使用Rational Rose 2003绘制用户登录模块的用例图绘制用户登录模块的用例图((1)建立新的用例图)建立新的用例图((2)显示用例图)显示用例图【【编辑编辑】】窗口和编窗口和编辑工具栏辑工具栏((3)绘制参与者)绘制参与者((4)设置参与者的属性)设置参与者的属性((5)绘制用例)绘制用例((6)设置用例的属性)设置用例的属性((7)添加参与者与用例之间的关系)添加参与者与用例之间的关系((8)设置关系的属性)设置关系的属性((9)保存绘制的用例图)保存绘制的用例图2.在.在Rational Rose 2003的用例的用例图中,如何添加已有的用例?图中,如何添加已有的用例?方法一:在方法一:在【【浏览窗口浏览窗口】】中单击选中中单击选中一个用例,然后将它拖动到打开的用例图一个用例,然后将它拖动到打开的用例图中即可。
中即可方法二:使用方法二:使用Rational Rose 2003的菜的菜单将已有的用例添加到用例图中单将已有的用例添加到用例图中 3.在.在Rational Rose 2003中,中,要从整个模型删除用例与从一个用要从整个模型删除用例与从一个用例图中删除用例有何区别,分别应例图中删除用例有何区别,分别应如何删除?如何删除? 1)从一个用例图中删除一个用例)从一个用例图中删除一个用例 ((1)选择用例图中的一个用例选择用例图中的一个用例 ((2)按)按Delete键即可2)从整个模型中删除一个用例)从整个模型中删除一个用例方法一:在用例图中删除方法一:在用例图中删除((1)选择用例图中的用例选择用例图中的用例2)单击)单击Rational Rose 2003的菜单的菜单项项【【Edit】】→【【Delete from Model】】或者按或者按Ctrl+D组合键方法二:在方法二:在【【浏览窗口浏览窗口】】中删除中删除((1)右键单击)右键单击【【浏览窗口浏览窗口】】中的用中的用例名称2)在弹出的快捷菜单中单击菜单)在弹出的快捷菜单中单击菜单项项【【Delete】】即可。
即可 2.32.3 描述用例 描述用例一般情况下用例描述应包括以下几个一般情况下用例描述应包括以下几个方面1)用例名称)用例名称((2)用例编号)用例编号((3)简要说明)简要说明((4)参与者)参与者((5)当前状态)当前状态((6)使用频率)使用频率((7)前置条件)前置条件((8)后置条件)后置条件((9)假设条件)假设条件((10)基本操作流)基本操作流((11)备选操作流)备选操作流((12)修改历史记录)修改历史记录【【同步训练同步训练】】【【任务任务1】】扩充用户登录模块的参与扩充用户登录模块的参与者和用例者和用例 【【任务描述任务描述】】 ((1)前面绘制的用户登录模块用)前面绘制的用户登录模块用例图没有考虑图书借阅者,图书借阅例图没有考虑图书借阅者,图书借阅者借出图书与归还图书时,是通过图者借出图书与归还图书时,是通过图书借阅员操作系统完成的书借阅员操作系统完成的 图书借阅者本身可以通过图书管图书借阅者本身可以通过图书管理系统查询图书借阅信息和图书馆藏理系统查询图书借阅信息和图书馆藏书信息,在查询相关信息之前必须进书信息,在查询相关信息之前必须进行登录操作。
行登录操作 在原有用例图的基础上增加在原有用例图的基础上增加“图图书借阅者书借阅者”参与者 ((2)用户登录模块的基本功能是)用户登录模块的基本功能是“输入用户名和密码输入用户名和密码”和和“验证用户验证用户身份身份” 为了保证系统安全,通常需要限为了保证系统安全,通常需要限制用户连续登录次数,例如用户只能制用户连续登录次数,例如用户只能连续输入三次连续输入三次“用户名用户名”和和“密码密码”,超过三次则不允许用户登录系统,,超过三次则不允许用户登录系统,这样应增加一个这样应增加一个“检查登录次数检查登录次数”的的用例 另外为了跟踪用户登录情况,通另外为了跟踪用户登录情况,通常需要将用户登录的时间记载在常需要将用户登录的时间记载在“用用户登录信息户登录信息”数据表中,这样应增加数据表中,这样应增加另一个另一个“记录登录信息记录登录信息”的用例 根据以上分析在原有用例图的基根据以上分析在原有用例图的基础上扩充一个参与者和两个用例,绘础上扩充一个参与者和两个用例,绘制新的用例图,命名为制新的用例图,命名为“011用户登用户登录模块用例图录模块用例图”。
【【任务任务2】】对参与者进行泛化,然后绘制用对参与者进行泛化,然后绘制用例图例图【【任务描述任务描述】】对于用户登录模块来说,四类参与者对于用户登录模块来说,四类参与者(图书管理员、系统管理员、图书借阅员(图书管理员、系统管理员、图书借阅员和图书借阅者)扮演相同的角色,使用相和图书借阅者)扮演相同的角色,使用相同的用例同的用例将四类参与者泛化为一个参与者,即将四类参与者泛化为一个参与者,即可可“用户用户”,这样参与者,这样参与者“用户用户”描述了描述了四类参与者所扮演的一般角色,如果不考四类参与者所扮演的一般角色,如果不考虑与系统交互时的职责,可以使用一般角虑与系统交互时的职责,可以使用一般角色参与者色参与者“用户用户”如果强调用户的职责,那么使用特化如果强调用户的职责,那么使用特化用例根据以上分析使用泛化用例绘制用例根据以上分析使用泛化用例绘制用例图,命名为图,命名为“012用户登录模块用例图用户登录模块用例图”【【任务任务3】】考虑用例间的包含关系,且绘制考虑用例间的包含关系,且绘制用例图用例图【【任务描述任务描述】】用户登录系统时,首先必须输入用户用户登录系统时,首先必须输入用户名和密码,在输入用户名和密码的过程中名和密码,在输入用户名和密码的过程中应限制用户名和密码不能为空,同时要限应限制用户名和密码不能为空,同时要限制用户不能输入非法字符,还要限制输入制用户不能输入非法字符,还要限制输入字符的数量。
字符的数量为此可以从为此可以从“输入用户名和密码输入用户名和密码”用用例中将例中将“检验是否为空检验是否为空”、、“检验非法字检验非法字符符”、、“检验长度检验长度”三个用例提取出来,三个用例提取出来,形成三个新用例形成三个新用例这三个新用例与用例这三个新用例与用例“输入用户名和输入用户名和密码密码”为包含关系为包含关系根据以上分析,考虑用例间的包含关根据以上分析,考虑用例间的包含关系后绘制用例图系后绘制用例图【【任务任务4】】考虑用例间的扩展关系,然后绘考虑用例间的扩展关系,然后绘制用例图制用例图【【任务描述任务描述】】对于图书管理系统的四类用例具有不对于图书管理系统的四类用例具有不同的权限同的权限其中其中“图书借阅者图书借阅者”具有最低权限;具有最低权限;“系统管理员系统管理员”具有最高权限;具有最高权限;“图书借图书借阅员阅员”的权限只能借出图书、归还图书、的权限只能借出图书、归还图书、执行罚款操作、查询有关信息,而不能添执行罚款操作、查询有关信息,而不能添加或修改书目信息,不能修改或删除罚款加或修改书目信息,不能修改或删除罚款数据所有的所有的“图书借阅员图书借阅员”的权限都相同;的权限都相同;“图书管理员图书管理员”的主要职责是管理书目信的主要职责是管理书目信息、订购图书、统计藏书数量、管理罚款息、订购图书、统计藏书数量、管理罚款等,根据其职责分工不同,不同的等,根据其职责分工不同,不同的“图书图书管理员管理员”可能有不同的权限等级。
可能有不同的权限等级为此为此“用户登录模块用户登录模块”需要增加一个需要增加一个新的用例新的用例“设置权限等级设置权限等级”,该用例与,该用例与“验证用户身份验证用户身份”用例具有扩展关系用例具有扩展关系“系统管理员系统管理员”具有设置具有设置“图书管理图书管理员员”权限等级的权限权限等级的权限根据以上分析,考虑用例间的扩展关根据以上分析,考虑用例间的扩展关系,然后绘制用例图系,然后绘制用例图【【任务任务5】】绘制学生管理系统登录模块的用绘制学生管理系统登录模块的用例图例图【【任务描述任务描述】】分析学生管理系统的登录模块,且绘分析学生管理系统的登录模块,且绘制用例图制用例图【【任务任务6】】绘制电梯运行的用例图绘制电梯运行的用例图【【任务描述任务描述】】根据如下关于电梯控制器的问题描述根据如下关于电梯控制器的问题描述,绘制一个用例图绘制一个用例图每部电梯都有楼层按钮,每一楼层有每部电梯都有楼层按钮,每一楼层有一组乘坐电梯的人可以按下楼按钮,按钮乘坐电梯的人可以按下楼按钮,按钮被按下时会指示灯闪亮,然后通知电梯运被按下时会指示灯闪亮,然后通知电梯运行到指定的楼层行到指定的楼层。
等电梯到达指定楼层时,按钮停止指等电梯到达指定楼层时,按钮停止指示灯闪亮示灯闪亮乘客在必要时可以按下紧急求助按钮乘客在必要时可以按下紧急求助按钮,该按钮会自动发出求救信号该按钮会自动发出求救信号技术员可以通过一个控制键激活或终技术员可以通过一个控制键激活或终止电梯的楼层按钮止电梯的楼层按钮出于安全方面的考虑,只有保安人员出于安全方面的考虑,只有保安人员可以通过一个控制键打开地下室的电梯楼可以通过一个控制键打开地下室的电梯楼层按钮所有的电梯都是通过大厅前台的一个所有的电梯都是通过大厅前台的一个控制中心控制控制中心控制【【本章小结本章小结】】本章主要介绍了本章主要介绍了UML用例图的功能、用例图的功能、组成元素和用例间的关系,重点介绍了组成元素和用例间的关系,重点介绍了Rational Rose 2003中用例图的绘制方法和中用例图的绘制方法和用例的描述方法用例的描述方法用例图主要在系统需求分析阶段和系用例图主要在系统需求分析阶段和系统设计阶段使用,在系统的需求分析阶段,统设计阶段使用,在系统的需求分析阶段,用例图用来获取系统的需求,理解系统应用例图用来获取系统的需求,理解系统应当如何工作;在系统设计阶段,用例图可当如何工作;在系统设计阶段,用例图可以用来规定系统要实现的行为。
以用来规定系统要实现的行为用例图用于对系统、子系统或类的行用例图用于对系统、子系统或类的行为进行建模,它只说明系统实现什么功能为进行建模,它只说明系统实现什么功能,而不必说明如何实现这些功能而不必说明如何实现这些功能每个用例图由三部分组成,即一组参每个用例图由三部分组成,即一组参与者、用例和关系与者、用例和关系用例图描述系统的静态结构,图形化用例图描述系统的静态结构,图形化地概括了系统中拥有的各个参与者和用例地概括了系统中拥有的各个参与者和用例,它主要描述系统的外部行为,以及系统,它主要描述系统的外部行为,以及系统中用例与参与者之间的交互中用例与参与者之间的交互。
