UML建立类模型示例
UML系统需求分析建模实例(包括业务建模)

系统用例几乎总是以黑盒形式编 写的。它们描述了软件系统之外 的参与者如何与将被设计的系统 进行交互。系统用例详细阐明了 系统需求。系统用例模型的目的 是从涉众的角度说明需求,而不 是设计如何满足需求。
业务用例图中,可以让业务参与者【业 在系统用例图中,让参与者与用 务执行者】和业务角色【业务工人】与 例进行交互。 业务用例进行交互。
做专业的企业,做专业的事情,让自 己专业 起来。2 020年1 2月上 午12时3 5分20. 12.200: 35Dece mber 2, 2020
时间是人类发展的空间。2020年12月2 日星期 三12时 35分4 秒00:35: 042 December 2020
科学,你是国力的灵魂;同时又是社 会发展 的标志 。上午1 2时35 分4秒上 午12时 35分00 :35:042 0.12.2
原始需求愿景
1. 为员工提供账务的自动化办理,提高办 事效率,方便员工。
2. 方便财务部门管理好账务信息。
涉众分析
涉众
解释
期望
员工
公司的正式录用雇员 通过网上办理账务业务申 请,计算机控制流程
部门经理 部门负责人,负责审 方便审核操作,通过计算 核员工提交的申请 机代替原来的手工审核方 式。
公司主任 公司负责人,负责 2 方便审核操作,通过计算
次审核员工提交的申 机代替原来的手工审核方
请
式,界面友好易用。
财务主任 公司财务部门负责人,通过计算机转账的方式替 负责发放报账款项 代原来的人为付款方式。
业务用例获取(1)
定义:
" 业务用例从一个外部的,增加值的角度来描 述一个业务过程。为了给这个业务的涉众创造 价值,业务用例是超越组织边界的业务过程, 很可能包括合作伙伴和供应商。“
UML实例UML案例(完整建模)(图书馆信息系统)

1: add item( ) : Administrator
: Maintenance Window
3: update( )
2: find(String)
: Item
: Title
2. 系统管理员删除书籍的协作图
1: remove item( ) : Administrator
: Maintenance Window
2: find(String)
3: Return true 4: reserve( )
系统的协作图
▪ 1. 系统管理员添加书籍的协作图 ▪ 2. 系统管理员删除书籍的协作图 ▪ 3. 图书管理员处理借书的协作图 ▪ 4. 图书管理员处理还书的协作图 ▪ 5. 借阅者预留书籍的协作图
1. 系统管理员添加书籍的协作图
5. 图书管理员处理书籍归还的时序图
: Borrower
: Librarian
: Return Window
1: give the book
2: return item( )
3: check( )
: Item
4: ok 5: update( )
6: update( )
: Loan
6. 借阅者查询书籍信息的时序图
或其他正式规定的文档所需要的条件或权 能。 ③ 反映以上(1)或(2)中描述的条件或权 能的文档说明。
软件需求的层次
▪ 软件需求包括三个层次: ▪ 业务需求:反映了组织机构或客户对系统
高层次的目标要求。 ▪ 用户需求:描述了用户使用产品所能完成
的任务。 ▪ 功能需求:说明了软件的功能,用户使用
这些功能以完成任务。
基本数据维护模块
▪ 基本数据维护模块包括的主要功能模块: ①添加借阅者帐户 ②修改更新借阅者帐户信息 ③添加书目 ④修改和更新书目信息 ⑤添加书籍 ⑥删除书籍
UML实例-会议管理系统

(二)用例识别
4. 与会议人员管理相关的用例:
定义参加人员(Add Attendee )
取消申请(Cancel Request ) 申请会议召开(Request Meeting Instance )
更改申请( Modify Request ) 5. 与系统维护者相关的用例:
会议室维护( Meeting Room Maintenance ) 设定预定时限(Set Reservation Tome Limit )
(二)用例识别
1. 与会议管理者相关的用例: 定义一个会议(Define Meeting ) 更改一个会议(Alter Meeting ) 删除一个会议(Remove Meeting ) 2. 与会议申请者相关的用例: 申请会议召开( Request Meeting Instance ) 更改申请(Chang Request ) 取消申请(Cancel Request ) 定义参加人员(Add Attendee ) 归还会议室(Release Room ) 3. 与邮局相关的用例: 申请会议召开( Request Meeting Instance ) 更改申请( Modify Request ) 取消申请( Cancel Request )
会议管理系统类图
MeetingAdministration MeetingName:string
0..*
Meeting
ReservationCriteria
1
1
1
MeetingInstance
1 0..*
MeetingRoom
AttendeeManagement
0..*
GroupAttendee
1 1..*
UML系统需求分析建模实例包括业务建模

UML系统需求分析建模实例包括业务建模一、背景某公司为了提高内部管理效率,决定开发一个在线人事管理系统。
该系统主要目标是帮助公司员工和管理人员更好地进行人事管理工作,包括员工信息管理、薪资管理、请假管理等功能。
二、业务建模1. 参与者- 员工:具有查看和修改个人信息的权限。
- 人事部门:负责对员工信息进行管理、薪资管理和请假管理。
- 管理员:拥有所有功能权限。
2. 用例图用例图展示了系统的功能视图,包括主要的参与者和他们的交互。
(图1:用例图)3. 用例描述- 查看个人信息:员工可以查看自己的个人信息,包括个人资料、联系方式和工作历史。
- 修改个人信息:员工可以修改自己的个人信息,如联系方式和地址等。
- 管理员登陆:管理员可以使用管理员账号登陆系统。
- 管理员工信息:管理员可以查看和修改员工信息,包括添加员工、删除员工和修改员工信息等。
- 薪资管理:人事部门可以查看和修改员工薪资信息。
- 请假管理:人事部门可以管理员工的请假信息,包括请假申请和批准等。
4. 状态图状态图描述了系统中的一个对象或参与者的状态变化。
(图2:状态图)5. 类图类图展示了系统中的类以及它们之间的关联。
(图3:类图)三、系统分析1. 需求分析对于查看个人信息的用例,系统应该提供一个界面给员工输入自己的员工号,然后显示员工的个人信息。
对于修改个人信息的用例,系统应该提供一个界面给员工输入员工号和想修改的信息,然后保存修改后的信息。
对于管理员登陆的用例,系统应该提供一个界面给管理员输入管理员账号和密码进行登陆。
对于管理员工信息的用例,系统应该提供一个界面给管理员查看和修改员工信息,包括添加、删除和修改员工信息。
对于薪资管理的用例,系统应该提供一个界面给人事部门查看和修改员工薪资信息。
对于请假管理的用例,系统应该提供一个界面给人事部门管理员工的请假信息,包括请假申请和批准。
2. 非功能性需求- 界面友好:系统应该提供直观、易用的界面来满足用户的需求。
基于UML的用例图模型创建

基于UML的用例图模型创建UML(UML是Unified Modeling Language的首字母缩写)是一种通用的建模语言,用于描述软件系统的各种方面,包括结构、行为和交互。
用例图是UML的一种图形化表示方式,用于描述软件系统的功能需求。
在用例图中,用例表示系统的功能或任务,参与者表示与系统直接相关的外部实体,而关系表示用例和参与者之间的交互关系。
本文将使用UML的用例图模型描述一个简化的在线购物系统的功能需求。
该系统包括顾客、管理员和系统三个参与者,以及浏览商品、搜索商品、添加商品到购物车、结算购物车、管理商品和管理订单等六个主要用例。
下面将分别从参与者、用例和关系三个方面详细描述该用例图模型。
参与者:1. 顾客:顾客是系统的主要使用者,可以浏览商品、搜索商品、将商品添加到购物车,并结算购物车。
顾客还可以查看自己的订单和对订单进行管理。
顾客的需求主要包括对商品的浏览和购买功能。
2. 管理员:管理员是系统的管理者,可以管理系统中的商品和订单。
管理员的主要任务包括添加、更新和删除商品,以及查看和处理订单。
管理员具有对系统中商品和订单的管理权限。
3. 系统:系统是实现在线购物功能的软件系统,它为顾客和管理员提供商品浏览、搜索、购买和管理订单等功能。
系统作为参与者与顾客和管理员交互,提供各种功能服务。
用例:1. 浏览商品:顾客可以在系统中浏览各种商品,查看商品的图片、描述和价格等信息。
2. 搜索商品:顾客可以根据关键字搜索系统中的商品,以便快速找到所需要的商品。
3. 添加商品到购物车:顾客可以将自己喜欢的商品添加到购物车中,方便后续一次性结算。
4. 结算购物车:顾客可以对购物车中的商品进行结算,选择配送方式和支付方式,并生成订单。
5. 管理商品:管理员可以添加新商品、更新现有商品信息,或者删除不再销售的商品。
6. 管理订单:管理员可以查看各类订单的详细信息,对订单进行处理,例如确认订单、发货、取消订单等操作。
uml建模案例

uml建模案例UML(Unified Modeling Language)是一种软件工程的建模语言,用于描述、分析和设计软件系统。
它提供了一套图形化的表示法,用于可视化和概括软件系统的各个方面,包括结构、行为和交互等。
以下是一个简单的 UML 建模案例,以一个图书馆管理系统为例:首先,我们需要定义系统的主要角色。
在这个案例中,主要角色有图书馆管理员、读者和图书。
接下来,我们可以开始构建类图,用于描述系统中的类及其之间的关系。
我们可以创建以下类:1. 图书类(Book):包含图书的相关信息,如书名、作者、出版社等。
2. 读者类(Reader):包含读者的相关信息,如姓名、年龄、地址等。
3. 图书馆管理员类(Librarian):包含管理员的相关信息,如姓名、工号等。
该类可以包含一些操作,例如借书、还书等。
4. 图书管理系统类(LibraryManagementSystem):负责管理图书、读者和管理员。
该类可以包含一些操作,如添加图书、删除图书、注册读者、借书、还书等。
接下来,我们可以定义类之间的关系。
在这个案例中,可以定义如下关系:1. 图书与读者之间的关系:读者可以借阅图书,每位读者可以借阅多本图书,而每本图书只能被一个读者借阅。
2. 图书与图书馆管理员之间的关系:管理员可以管理图书,例如添加图书、删除图书等操作。
3. 读者与图书馆管理员之间的关系:管理员可以注册读者,读者可以向管理员借书、还书。
最后,我们可以根据需求进一步细化类的行为和交互。
例如,根据借书和还书的需求,可以设计用例图,描述用户与系统之间的交互流程。
在用例图中,我们可以定义以下用例:1. 注册读者:读者通过系统界面提供个人信息进行注册。
2. 添加图书:管理员通过系统界面提供图书信息进行添加。
3. 借书:读者通过系统界面搜索图书并进行借书操作。
4. 还书:读者通过系统界面搜索已借阅的图书并进行还书操作。
以上仅为一个简单的UML 建模案例,实际情况可能更为复杂,涉及更多的类和关系。
UML建立类模型示例

UML建⽴类模型⽰例UML建⽴类模型⽰例类模型是⾯向对象分析的核⼼,⽤类图来描述。
类图主要描述系统中类、类与类之间的关系。
1找出类要找出系统中的类,也要⾸先掌握识别类的⽅法,然后再从系统中把类⼀个⼀个找出来。
1.1 怎样找识别类⽐识别⽤例要困难得多。
虽然从理论上说,我们⽣活在⼀个实体世界中,周围的⼀切都是对象,但是识别起来并⾮易事。
因为长期以来,⼈们,特别是程序开发⼈员,在认识世界时总是从功能出发,因⽽反映在头脑⾥的往往是功能⽽不是实体对象。
识别类的⽅法不⽌⼀种,但通常使⽤的识别⽅法是名词识别⽅法。
下⾯,简单介绍⼀下名词识别⽅法。
⼀般来说,描述问题域实体都⽤名词或名词短语。
应⽤名词识别⽅法时,要从系统描述中找出名词、名词短语或名词性代词,它们往往对应着对象(类)。
其中单数名词可以识别为对象,⽽复数名词则可以识别为类。
但是要注意,并不是每个名词都对应着⼀个对象(类),可能有的名词只是其他对象的⼀个属性,也可能⼏个名词对应着⼀个对象(类)。
找出的名词是否都应该成为系统的对象(类),有⼀个简单的判断⽅法:考察其是否有与该对象(类)相关的⾝份和⾏为,如果有,那么它就是系统中的⼀个对象(类)。
⾝份指的是⼀个对象的唯⼀标识,正如⼈的⾝份证唯⼀地代表⼀个⼈⼀样。
另外,也可以运⽤⾃⼰的开发经验来识别系统中的类。
在传统的数据库设计中,E.R图中的实体表⽰系统中的持久的元素,要映射为数据库中的数据表。
UML中的实体也表⽰系统中的持久的元素。
两者的区别在于,UML中的实体除表⽰系统中的持久的元素外,还具有⾏为特性——操作。
因此,如果UML初学者识别类时开始有困难,不妨⾸先找出系统中E—R图中的实体,即系统中的持久的元素,然后参照E.R图中的实体去定义UML中的实体。
1.2找出类现在,采⽤名词识别⽅法来识别系统实例中的类。
第⼀步,从系统描述中找出⽤来描述问题域实体的名词。
根据9.1节对系统的描述,可以得到以下⼀些名词:企业、家⽤电器、市场竞争⼒、公司、创新基⾦、产品、管理部门、决策信息、创新基⾦管理信息系统、新系统、票据、⼈⼯处理⽅式、开发计划、研究项⽬、财务室、项⽬开⽀的经费、报销⼈、公司财务报销规定、汽油票⾦额、发票的⾦额、飞机票、项⽬经费总额、招待费、财务档案、⽤户、报表、系统资源、公司领导。
UML完整例子

• “计算机类”、“非计算机类”是该系统中图书
的两大分类,因此应该对其建模,并改名为“计 算机类书籍”和“非计算机类书籍”,以减少歧
义;、
火龙果 整理
筛选备选类
• “外借情况”则是用来表示一次借阅行为, 应该成为一个候选类,多个外借情况将组 成“外借情况列表”,而外借情况中一个 很重要的角色是“朋友”—借阅主体。 • 虽然到本系统中并不需要建立“朋友”的 资料库,但考虑到可能会需要列出某个朋 友的借阅情况,因此还是将其列为候选类。 为了能够更好地表述,将“外借情况”改 名为“借阅记录”,而将“外借情况列表” 改名为“借阅记录列表”;
火龙果 整理
需求描述
• 在使用该系统录入新书籍时系统会自动按 规则生成书号,可以修改信息,但一经创 建就不允许删除。 • 该系统还应该能够对书籍的外借情况进行 记录,可对外借情况列表打印。 • 另外,还希望能够对书籍的购买金额、册 数按特定时间周期进行统计
火龙果 整理
火龙果 整理
4.绘制交互图
• 首先根据自己的喜好和实际的表现需要来 • 不过由于它们在语义上是等价的,因此可
以绘制出一种,再通过建模工具来自动转 换成另一种图 。 选择顺序图或通信图。
火龙果 整理
(1)准备工作
• 分析模型中的交互图彻重于分析类的职责分配
•
一本书只有一册,因此只能够被借一次,因此对于一本 Book而言只能有一个RecordId与其对应
火龙果 整理
限 定 • 分 析
火龙果 整理
3.绘制用例图
• 用例图的绘制流程
(1)记录需求—特性表
编号 说明
火龙果 整理
火龙果 整理
UML完整例子
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
.update()更新类实例的信息。
类操作的识别主要在第11章中设计序列图时进行。在设计序列图时,为了满足用例路径,可能需要为类重新定义操作。
与类的识别一样,类操作的识别也需要往复多次才能完成。本章建立的类模型,还只是一个初步的模型。随着对系统静态和动态特性的深入了解,类模型还需不断调整或细化。
项目
Invoice
票据
User
用户
2
要画出类图,不仅要识别出系统中的类,还要识别出类与类之间的关系。
显式的关系可以从用例中找到,而隐式的关系在用例中没有明确的说明,这需要系统分析员去细心发现。
表2列出了系统实例中类的关系。
表2系统中类的关系
类
关系
类
Project
拥有
Invoice
Project
涉及
User
因此去掉。
市场竞争力对于系统来说,不需要持久保存,不能识别为系统中的实体,因此去掉。
家用电器、产品意义相近或相同,并且对于系统来说,不需要持久保存,不能识别为系统中的实体,
因此去掉。
创新基金对于系统来说,只有一个,没有身份,不能识别为系统中的实体,因此去掉。
创新基金管理信息系统、新系统意义相近或相同,并且对于系统来说,只有一个,没有身份,不能
供应商
报销内容
报销金额
报销时间
报销人
付款方式
是否附合同
是否附通知
票据张数
4.3 User类
User类标识用户。在本系统中,对User类我们所关心的是用户的账户、姓名、权限、部门和密码。
这样,对User类可以初步找出以下一些属性:
● 账户
● 姓名
● 权限
● 部门
● 密码
5找出类的操作
类的操作定义了类的行为。相对来说,识别类的操作比识别类的属性要容易一些。可以从如下几个方面去识别类的操作:
要注意分辨类与属性。在类的识别中,曾经提到过,从系统描述中找出的名词,并不都对应着一个对象(类),有的名词可能只是其他对象的一个属性。
类的属性最后要映射到数据库中的数据表的列。
与类的识别一样,类属性的识别也需要往复多次才能完成。
4.1 Project类
Project类标识项目。在我们这个系统中,我们关心的项目信息有:项目名称、项目经费、报销单位和报销人等。因此,对Project类可以初步找出以下一些属性:
· 类本身应该有哪些操作来维持其信息的更新、一致性和完整性?
· 系统要求类具有什么作用?
· 这个类要为别的类提供什么?
现在来识别类的操作还为时过早,因为现在并不清楚系统需要这些类提供哪些服务。不过,一个类通常需要以下一些必须的、基本的服务:
· getlnfo()选择类实例的信息。
· insert()插入类实例的信息。
正如人的身份证唯一地代表一个人。在传统的数据库设计中,E.R图中的实体表
示系统中的持久的元素,要映射为数据库中的数据表。UML中的实体也表示系统中的持久的元素。两
者的区别在于,UML中的实体除表示系统中的持久的元素外,还具有行为特性——操作。因此,如果
3 画出类图
类图主要描述系统中类、类与类之间的关系。前两节已经识别出了系统的类以及类与类之间的关系。从表l0.2可以看出,与Project类有关系的类是Invoice和User。一个项目有0或多张票据,一张票据属于一个项目,因此Project类与Invoice类之fnq存在着一到0或多的双向关联;一个项目有一或多个报销人,一个用户可能是0或多个项目的报销人,因此Project类与User类之间存在着0或多到一或多的双向关联。
● 项目大类
● 项目小类
● 项目经费
● 已报销金额
● 报销单位
· 报销人
4.2 Invoice类
Invoice类标识票据。对于本系统,我们所关心的是一张票据的报销内容、供应商、报销金额、报销时间、报销人、付款方式、票据张数、是否附合同、是否附通知。另外,考虑到对报销后的票据归档,还要有凭证号。这样,对Invoice类可以初步找出以下一些属性:
UML
类模型是面向对象分析的核心,用类图来描述。类图主要描述系统中类、类与类之间的关系。
1
要找出系统中的类,也要首先掌握识别类的方法,然后再从系统中
把类一个一个找出来。
1.1 怎样找
识别类比识别用例要困难得多。虽然从理论上说,我们生活在一个实体世界中,周围的一切都是对
象,但是识别起来并非易事。因为长期以来,人们,特别是程序开发人员,在认识世界时总是从功能出
报销人、审核人、用户、公司领导是系统中的实体,可以识别为一个类,保留名称“用户”。
财务室是管理部门中的一个,而管理部门又是部门中的一个类别。因此,将“部门”识别为“用户”
类的一个属性。
公司财务报销规定虽然需要持久保存,但不是一个实体。
飞机票是票据的一种,因此它只是类“票据”的一个对象。
项目经费总额可以识别为类“项目”的属性“项目经费”。
以识别为类。但是要注意,并不是每个名词都对应着一个对象(类),可能有的名词只是其他对象的一
个属性,也可能几个名词对应着一个对象(类)。
找出的名词是否都应该成为系统的对象(类),有一个简单的判断方法:考察其是否有与该对象(类)
相关的身份和行为,如果有,那么它就是系统中的一个对象(类)。身份指的是一个对象的唯一标识,
UML初学者识别类时开始有困难,不妨首先找出系统中E—R图中的实体,即系统中的持久的元素,然
后参照E.R图中的实体去定义UML中的实体。
1.2找出类
现在,采用名词识别方法来识别系统实例中的类。
第一步,从系统描述中找出用来描述问题域实体的名词。根据9.1节对系统的描述,可以得到以下
一些名词:
企业、家用电器、市场竞争力、公司、创新基金、产品、管理部门、决策信息、创新基金管理信息
识别为系统中的实体,因此去掉。
票据是系统中的实体,可以识别为一个类“票据”。
决策信息、人工处理方式、开发计划对于系统来说,不需要持久保存,不能识别为系统中的实体,
因此去掉。
研究项目是系统中的实体,可以识别为一个类“项目”。
汽油票金额、发票的金额是项目开支的经费的一种,它们可以识别为类“项目”的属性“报销金额”。
发,因而反映在头脑里的往往是功能而不是实体对象。
识别类的方法不止一种,但通常使用的识别方法是名词识别方法。下面,简单介绍一下名词识别方法。
一般来说,描述问题域实体都用名词或名词短语。应用名词识别方法时,要从系统描述中找出名词、
名词短语或名词性代词,它们往往对应着对象(类)。其中单数名词可以识别为对象,而复数名词则可
招待费是票据报销内容的一种,因此可以为类“票据”识别一个属性“报销内容”。
财务档案对于系统来说,只有一个,没有身份,不能识别为系统中的实体,因此去掉。
报表、系统资源对于系统来说,不需要持久保存,不能识别为系统中的实体,因此去掉。
经过上面的筛选,初步得到如下表所示的一些类。
表1系统中的类
类
含义
Project
现在可以画出类图,如图1所示。
图1系统类图
类的属性一般描述类的某个特征。在识别属性时,要从类的语义完整性角度来斟酌取舍。所谓类的语义完整性,是指类的属性能够在一起完整地描述一个类所具有的特性和特征。
类属性的识别依赖于系统的问题域。一般来说,类所对应的实体具有很多种不同的特征。但是,在某个特定系统的问题域中,系统分析员只对其中某些特征感兴趣,只有这些特征才可能成为该类的属性。
系统、新系统、票据、人工处理方式、开发计划、研究项目、财务室、项目开支的经费、报销人、公司
财务报销规定、汽油票金额、发票的金额、飞机票、项目经费总额、招待费、财务档案、用户、报表、
系统资源、公司领导。
第二步,从候选对象(类)中筛选去掉一部分名词。
企业、公司意义相近或相同,并且对于系统来说,只有一个,没有身份,不能识别为系统中的实体,