用例模型在系统建模过程中是十分重要的,它影响着其他视图的建立和系统的实现。对不同的人员来说,用例模型具有不同的用处:
*客户使用它,详细说明系统应有的功能,并描述系统的使用方法;
*开发人员使用它,有助于理解系统的需求,为后续阶段的工作(如分析、设计和实现)奠定基础;
*系统集成和测试人员使用它,验证最终实现的系统是否与用例模型说明的功能一致;
* 文档人员使用它,为编写用户手册提供参考。
建立用例模型的过程如下:
(1)找出系统边界以外的角色(actor),角色是与系统进行交互的外部实体,可以是与系统交互的人员、与系统相连并交换信息的设备和其他系统;
(2) 从这些角色如何与系统进行交互的角度,使用用例(use
case)来描述角色怎样使用系统以及系统向角色提供什么功能,用例所表示的是从外部用户角度观察的系统功能;
(3)绘制用例图,并编写详细的用例描述。用例图只能宏观地描述系统的功能,但却不能提供用例模型所必需的所有信息,每个功能的含义和具体实现步骤则以文本方式描述。
下面,我们采用一个简单的例子说明用例模型的基本概念和建立过程。
用例模型用于描述系统的基本功能,其中,角色代表外部实体,如用户、硬件或其他外部系统,用例代表一个完整的功能。角色启动用例并与之通讯,执行中的用例是一个动作序列。用例的具体执行过程需要用文本进行描述。
举例:学生注册课程系统
某大学准备开发一个学生课程注册系统,学生可以使用该系统查询新学期将开设的课程和讲课教师情况,选择自己要学习的课程进行登记注册,并可以查询成绩单;教师可以使用该系统查询新学期将开设的课程和选课学生情况,并可以登记成绩单;注册管理员使用该系统进行注册管理,包括维护教师信息、学生信息和课程信息等。
在每个学期的开始,学生可以获得该学期的课程目录表,课程目录表列出每门课程的所有信息,诸如基本信息、教师、开课系和选课条件等。
新学期开始前两周为选课注册时间,在此期间学生可以选课注册,并且允许改变或取消注册申请,开学两周后注册管理员负责关闭课程注册。每个学生可以选择不超过4门课程,同时指定2门侯选课程以备主选课程未选上。每门课程最多不能超过10人,最少不能低于3人,低于3人选课的课程将被取消。一旦学生的注册过程完毕,注册系统将有关信息提交收费系统以便学生付费。如果在实际注册过程中名额已满,系统将通知学生在提交课程表之前予以更改。
在学期结束时,学生可以存取系统查看电子成绩单。由于学生成绩属于敏感信息,系统必须提供必要的安全措施以防非法存取。
发现角色
简单地说,角色是与系统交互的人或事。所谓"与系统交互"意味着向系统发送消息,从系统中接收消息,或是与系统交换信息。有些角色可以初始化用例,有些角色则不然,仅仅参与用例,在某个时刻与用例进行通信。在UML语言中,角色用一个小人的图形和名称来表示。
我们可以通过回答下列问题,进行系统角色的识别:
* 谁使用系统的功能?
* 谁需要借助系统完成日常工作?
* 谁来维护和管理系统,以保证系统正常工作?
* 系统控制的硬件设备有哪些?
* 系统需要与其他哪些系统交互?
* 谁对系统产生的结果感兴趣?
在上述例子中,学生和教师使用系统完成课程注册和成绩登记等,注册管理员维护和管理教师、学生和课程的信息。另外,新系统存取已有的课程目录数据库,获得课程列表。因此,我们可以识别出如图所示的角色。
学生注册课程系统的角色
发现用例
用例代表一个完整的功能,如与角色通信、进行计算或在系统内工作等。用例具有以下的特征:
* 用例总是由角色初始化;
* 用例为角色提供值;
*用例具有完全性,即不管其内部是如何实现的,只有最终产生了返回角色的结果,用例的执行才能完毕。
用例描述了它所代表的功能的各个方面,即包含了用例执行期间可能发生的种种情况。用例和角色之间具有"关联"的连接关系,表示什么角色与该用例进行通信。在UML语言中,用例用一个椭圆图形和名称表示。
实际上,从识别角色开始,发现用例的过程就已经开始了。对于已识别的角色,通过询问下列问题,我们可以发现用例:
* 角色需要从系统中获得什么功能?角色需要做什么?
* 角色需要读取、产生、删除、修改或存储系统的某些信息吗?
*系统中发生事件需要通知角色吗?角色需要通知系统某件事情吗?
*系统需要的输入/输出信息是什么?这些信息从哪儿来到哪儿去?
* 采用什么实现方法满足某些特殊要求?
在上述例子中,我们通过上述提问可以识别以下用例:
* 与教师有关的用例
选择课程--选择所教的课程,并获得学生名册;
登记成绩--在学期结束时,提交学生的课程成绩。
* 与学生有关的用例
注册课程--在学期开始进行选课注册,允许在一段时间内更改或删除,课程目录系统提供当前学期的所有可选课程列表;
查看成绩单--学生可以查看以前学期的电子成绩单。
* 与注册管理员有关的用例
维护课程信息--在系统中增加、修改和删除课程信息;
维护学生信息--在系统中增加、修改和删除学生信息;
维护教师信息--在系统中增加、修改和删除教师信息。
关闭注册--删除少于3人的课程,并由付费系统通知学生缴费。
* 与安全性要求有关的用例
登录--使用此系统的人员需要进行登录,以验证其身份和权限。
分享到:
相关推荐
本文档主要介绍了一个网上图书销售系统的用例模型和用例图,旨在帮助读者更好地理解软件工程中的用例模型和用例图的应用。 在软件工程中,用例模型是指对软件系统的行为和功能的描述,它们可以帮助开发者和客户之间...
知识点:UML面向对象建模与设计的用例模型 标题和描述中提及的“uml面向对象建模与设计的用例模型”是IT行业中软件工程领域的核心概念之一,尤其对于初学者而言,掌握这一知识点至关重要。用例模型是统一建模语言...
软件工程网上图书销售系统用例模型及用例图 软件工程网上图书销售系统用例模型及用例图是软件工程领域中一个重要的概念,涉及到用例模型和用例图的设计及实现。下面将对该系统的用例模型及用例图进行详细的解释。 ...
用例模型是系统设计中的关键部分,它详细描述了系统各个组件如何与用户交互以及系统内部如何处理各种业务流程。在这个模型中,我们可以深入理解酒店管理系统的功能需求和用户需求。 首先,用例模型通常由一系列用例...
"基于UML的用例模型实验" 本实验基于UML的用例模型实验,旨在通过统一建模语言(Unified Modeling Language,UML)来描述车辆管理信息系统的用例模型。UML是一种易于交流的模型描述语言,融入了软件工程领域的新...
通用测试用例模型是软件测试领域中的一种重要方法,它旨在提供一种标准化的方式来设计和组织测试用例,以便在不同的项目或系统中复用。在Java编程语言中,我们可以利用面向对象的特性来构建这样的模型。下面将详细...
一种多进程系统用例模型的逆向生成方法,邬丽红,陈平,用例模型是展现程序系统级行为的有效手段。本文针对具有并发特征的面向对象软件系统提出了一种多进程系统用例模型的逆向生成方法
本文档将介绍用例模型实例的相关知识点,从系统登录、系统管理、用户管理、角色管理到权限分配,涵盖了系统的各个方面。 4.1.1 系统登录用例 系统登录用例从用户进入登录页面开始,用户可以选择本地验证方式或域...
【动态信息收集与用例模型恢复技术的研究】 在软件逆向工程中,理解和重构软件系统的需求至关重要,而用例模型是表达系统功能和行为的重要工具。逆向工程中,用例模型的恢复技术能帮助用户从整体上把握软件的功能...
本文主要讲述了通过软件工程导论的用力模型建模的过程,由艾孜尔江·艾尔斯兰亲自实践并执笔撰著,后续仍有更新,尽情关注! 软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它...
**用例模型**是UML中非常重要的概念之一,它描述了系统具备的功能即“做什么”,通常由用户(执行者)和用例构成。 - **执行者**:系统的直接使用者,也可以是与系统有交互作用的外界系统。 - **用例**:定义了用户...
在软件开发过程中,用例模型是一种重要的需求分析工具,它能清晰地描绘出系统与用户之间的交互,以及系统内部的功能性需求。在这个基于Web的网上书店项目中,使用了Rational Rose这一专业的软件工程工具来构建用例...
协作IT行业论文时可以参考,一般在系统功能性分析过程中采用此用例模型图进行解释说明。
软件工程上机实践模型,用VISIO创建,内含多种用例示例!
使用UML对系统进行建模 面向对象的软件工程,同传统的面向过程的软件工程相比,在需求的获取、系统分析、...这些模型包括用例模型、分析模型、设计模型,然后,我们需要使用具体的计算机语言来建立系统的实现模型。
【用例模型与操作契约】是软件开发过程中用于系统行为分析的重要方法。它帮助开发者深入理解系统的功能需求,确保系统操作的正确性和可预测性。本文将详细探讨这一主题。 首先,【用例模型】是一种描绘系统用户与...
学生成绩管理系统设计是一个综合性的IT项目,涵盖了多个关键阶段,包括系统需求分析、系统用例模型设计、静态模型设计、系统动态模型设计以及系统部署模型设计。在本设计过程中,开发者段亦菲运用了《系统分析与设计...
《13_C_用例模型说明书_V1.01》是关于分布式温控系统的用例模型文档,由13班C组的成员共同编写。该文档详细阐述了系统的功能需求和用户交互,主要关注于中央空调的控制级操作。 文档的目的在于提供一个清晰的系统...