软件建模与UML实验指导书

更新时间:2023-05-14 19:09:02 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

使用rose工具的软件建模与UML实验

软件建模与UML

实验指导书

高晔 杨晓强 付立东 编

西安科技大学

使用rose工具的软件建模与UML实验

前 言

抽象、分解、模型化是计算机科学的主要技术手段。由于软件系统的复杂性以及人们对复杂性的认识能力有限,因此系统的设计者在系统设计之初往往无法全面理解整个系统。此时,人们就需要对系统进行建模。建模可以使设计者从全局把握系统及其内部的联系,而不致陷入纷杂的细节之中。模型可使具有复杂关系的信息简单易懂,使人们容易洞察系统的规律,并能有效地让人们将系统需求映射到软件结构上。

统一建模语言(Unified Modeling Language, 简称UML)是一种定义良好、易于表达、功能强大的面向对象建模语言。适用于系统开发过程中从需求规格描述直到系统完成后的测试和维护。统一建模语言(UML)的产生为面向对象技术的推广规定了一致的表示,支持用例驱动,以架构为中心以递增和迭代地进行软件开发。Rational Rose集中体现了当代软件开发的先进思想,把面向对象的建模与螺旋上升式的开发过程相结合,支持团队开发,并且综合了其它的开发技术,提供了对UML标准的完美支持。

本实验指导书试图通过一些实际的例子,使学习者熟悉Rational Rose开发环境,培养学习者运用面向对象思想分析和解决实际问题的能力,掌握UML建模技术,以达到系统的掌握面向对象的软件开发技术。

本书由计算机系教师高晔、杨晓强、付立东编写。高晔编写了UML概况及实验1,2,3;杨晓强编写了实验5,6;付立东编写了实验7,8,9。硕士生段建荣负责文字及插图编辑,全书由高晔副教授统稿,软件工程教研室主任付燕副教授审阅。

由于作者水平所限,难免存在一些不足之处,恳请读者批评指正。

2007年7月

使用rose工具的软件建模与UML实验

内容简介

本书是为大学计算机类相关专业《软件建模与UML》课程编写的实验指导书,旨在指导学生了解、熟悉Rational Rose 开发环境,应用并熟练掌握UML的基本知识,理解面向对象的分析与设计方法,熟悉面向对象软件开发过程。

本书结合《软件建模与UML》课程内容,编写了八个专题实验和一个综合型实验。目的是进一步加强和巩固理论知识,帮助学习者培养操作建模工具的技能,提高解决实际问题的能力。

实验环境条件:PIII以上机型,内存512M以上,安装Rational Rose2003

使用rose工具的软件建模与UML实验

目 录

UML概况 ................................................................................................ - 2 - 实验 1 Rational-Rose的使用 .............................................................. - 4 -

实验 2 用例图建模 ................................................................................... 8 实验 3

实验 5

实验 6

实验 7

实验 8

实验 9

类图和对象图 ............................................................................. 14 时序图和协作图 ......................................................................... 26 状态图和活动图 ......................................................................... 31 组件图和部署图 ......................................................................... 41 双向工程 ..................................................................................... 51 ATM自动取款机系统 ............................................................... 54

使用rose工具的软件建模与UML实验

UML概况

UML架构由视图、图、模型元素和通用机制等几个部分组成。

[1] UML从不同的视角为系统的构架建模,形成系统的不同视图,包括:

用例视图,强调从用户的角度看到的或需要的系统功能。

逻辑视图,展现系统的静态或结构组成及特征。

并发视图,体现了系统的动态或行为特征。

组件视图,体现了系统实现的结构和行为特征。

配置视图,体现了系统环境的结构和行为特征。

[2] UML定义了9种不同类型的图,把它们有机地结合起来就可以描述系统的所有视图。

用例图 Use case diagram

对象图 Object diagram

类图 Class diagram

序列图 Sequence diagram

协作图 Collaboration diagram

状态图 Statechart diagram

活动图 Activity diagram

组件图 Component diagram

配置图 Deployment diagram

这9种图又可以分为5类,分别是:

第1类,用例图(Use Case Diagram),从用户角度描述系统功能,

并指出各功能的操作者。

第2类,静态图(Static diagram),包括类图、对象图和包图。

第3类,行为图(Behavior diagram),描述系统的动态模型和组成

对象间的交互关系,包括状态图和活动图。

第4类,交互图(Interactive diagram),描述对象间的交互关系,

包括时序图和合作图。

第5类,实现图(Implementation diagram),包括组件图和配置图。

使用rose工具的软件建模与UML实验

[3] 通用机制用于表示其他信息,比如注释、模型元素的语义等。另外,它还提供扩展机制,使UML语言能够适应一个特殊的方法(或过程)、或扩充一个组织或用户。

UML的目标是用面向对象的方式描述任何类型的系统。最直接的是用UML为软件系统创建模型,但UML也可用来描述其它非计算机软件的系统,或者是商业机构或过程。

UML的应用贯穿在系统开发的五个阶段,它们是:

1) 需求分析

UML的用例图描述客户需求,通过用例建模,可以对外部的角色以及它

们所需要的系统功能建模。

2)系统分析(问题域建模)

系统结构:类图

系统行为:协作图、状态图、时序图、活动图

3)系统设计(系统框架建模)

逻辑框架:细化问题域模型

界面设计、数据设计

物理框架:组件图、部署图

4)系统实现

对象设计:从系统框架到程序结构

可复用构件、可复用系统框架

5)系统测试

单元测试:测试类(基于类图)

结合测试:测试协作关系(基于构件图和协作图)

系统测试:测试系统功能(基于使用案例图)

总之,统一建模语言UML的应用领域很广泛,它既可以用于商业建模(business modeling)、软件开发建模的各个阶段,也可以用于其他类型的系统。它是一种通用(general)的建模语言,具有创建系统的静态结构和动态行为等多种结构模型的能力。UML语言本身并不复杂,也不很专业化,它具有可扩展性和通用性,适合为各种多变的系统建模。

使用rose工具的软件建模与UML实验

实验 1 Rational-Rose的使用

实验学时:2

实验类型:(设计型)

一、实验目的与要求

通过本实验的学习,使学生熟悉Rational Rose的操作环境,并熟练各个菜单项、工具栏、工作区等组成部分的操作与使用。为今后使用Rational-Rose工具建模奠定基础。

二、实验内容

掌握Rational-Rose的基本建模操作包括:⑴创建模型、保存模型、发布模型;⑵全局选项的设置(可以通过菜单“Tool→Options”进行设置);⑶框架设计(例如设计一个用例图);⑷UML双向工程。

三、实验步骤

Rational Rose是菜单驱动式的应用程序,可以通过工具栏使用其常用工具。它的界面分为3个部分——Browser窗口、Diagram窗口和Document窗口。Browser窗口用来浏览、创建、删除和修改模型中的模型元素;Diagram窗口用来显示和创作模型的各种图;而Document窗口则用来显示和书写各个模型元素的文档注释。

⑴ 基本建模操作

1)创建模型

Rose模型文件的扩展名是.mdl,要创建模型,需要完成下列步骤:

a) 从菜单栏选择“File→New”,或单击标准工具栏中的“New”按钮;

使用rose工具的软件建模与UML实验

b) 弹出如图2-14所示的对话框,选择要用到的框架,单击“OK”按钮,

或者“Cancel”按钮(表示不使用框架)。

2) 保存模型

Rational Rose的保存,类似于其他应用程序。可以通过菜单或者工具栏来实现。

a) 保存模型:通过选择菜单“File→Save”或者工具栏的“Save”按钮,来

保存系统建模;

b) 保存日志:激活日志窗口(见图2-30),通过菜单“File→Save Log As”

来保存,或者右键单击日志窗口,在弹出的菜单中选择“Save Log As”

命令来保存。

3)导出与导入模型

面向对象机制的一大优势就是重用技术。重用不公适用于代码,也适用于模型。Rose支持导出与导入模型和模型元素操作。

a) 导出模型。选择菜单项【File→Export Model】,在弹出的对话框中输

入导出文件名(.ptl)即可。

b) 导入模型。选择菜单项【File→Import】,在弹出的对话框中输入导入

的文件名(.ptl),供选择的文件类型有.ptl.、.mdl 、.cat 和.sub。

4)发布模型

选择菜单栏的【Tools→Web Publisher】选项,在弹出的对话框中选择要发布的模型视图和包,可以把Rose建立的模型发布到Web,使得其他人都能够浏览模型。

5)使用控制单元

Rose通过使用控制单元支持多用户的并行开发。

6)使用模型集成器

Rose中的模型集成器可以比较和合并多个Rose模型,这项功能在多个设计人员共同开发时十分有用。每个人可以独立工作,最后再将所有的模型集成到一起。

7)使用注释

8)在Rose模型元素中增加文件与URL

右键单击浏览器中的模型元素:选择【New→File】或【New→URL】;在弹

使用rose工具的软件建模与UML实验

出的对话框中选择相应的文件或URL。

要删除文件或URL,只要在浏览器中右键单击文件名或URL并选择【Delete】 即可。

提示:此处的删除操作只是删除Rose模型与文件之间的链接,而不会从系统中删除文件。

9)使用包

包的主要作用是:①用于组织模型。②用于版本控制。

10)增加与删除图

⑵ 设置全局选项

1) 设置字体

2) 设置颜色

四、思考题

1.Rational Rose的主界面由哪些部分组成。

2.Rational Rose中有哪几种视图,各个视图的作用是什么。

使用rose工具的软件建模与UML实验

使用 UML 进行系统建模,就是使用面向对象的方法来分析系统,然后用可视化的模型 将信息用标准的图形直观地显示出来,以此建立面向对象的系统模型。为了能够加深读者 对 UML 建模技术的理解,我们选取了一个大家耳熟能详的实例——图书馆管理系统,以它 的整个建模过程为例来直观学习 UML 建模技术。 本书中第 2 到第 8 个实验都是以图书馆管理系统为例来设计的。 分析阶段最重要的是用例视图的建立,用例视图强调从用户的角度看到的所希望得到 的功能,是被成为参

与者的外部用户所能观察到的系统功能的模型图。通过用户视图,应 该明确软件后续设计阶段所要完成的任务的基础,整个软件直到实现的过程都是围绕需求 阶段的用例来进行的。 画好用例图(Use Case Diagrams)是由软件需求到最终实现的第一步,在 UML 中用例 图用于对系统、子系统或类的行为的可视化,以便使系统的用户更容易理解这些元素的用 途,也便利了软件开发人员最终实现这些元素。

用例图的组成UML 中的用例图描述了一组用例、参与者以及它们之间的关系。用例图包括用例、参 与者和用例之间的依赖、泛化以及关联关系三方面内容。 (1)参与者(Actor)是系统外部的一个实体(可以是任何的事物或人) ,它以某种方 式参与了用例的执行过程。参与者通过向系统输入或请求系统输入某些事件来触发系统的 执行。参与者由他们参与用例时所担当的角色来代表。在图形上,参与者用人形图符表示。 (2)用例(Use Case)是一个叙述型的文档,用来描述一个参与者(Actor)使用系 统完成某个事件时的事情发生顺序。用例是系统的使用过程。更确切的说,用例不是需求 或者功能的规格说明,但用例也展示和体现出了其所描述的过程中的需求情况。图形上用 例用一个椭圆来表示,用例的名字可以书写在椭圆的内部或下方。 (3)用例之间的关系。用例除了与参与者发生关联外,还可以与系统中的其它用例具 有多个关系,这些关系包括包含关系、扩展关系和泛化关系。应用这些关系的目的是为了 从系统中抽取出公共行为和其变体。

-7-

使用rose工具的软件建模与UML实验

实验 2 用例图建模

实验学时:2

实验类型:(设计型)

一、实验目的与要求

通过本实验的学习,使学生认识到用例图对整个系统建模过程的重要性,能根据系统的功能需求,分析系统的用例组成;确定用例图中的参与者,参与者与用例之间的关系以及用例与用例之间的关系;使用建模工具绘制用例图。

二、实验内容

以图书馆管理系统为例设计一个图书馆管理系统的用例图。

三、实验步骤

分析:

(1) 确定系统涉及的内容

图书馆管理系统用于对书籍的借阅以及对读者信息进行统一的管理,凡是有关这些操作的内容都属于系统的范围。

读者:

① 借书

② 还书

③ 书籍预定

图书馆管理员:

① 书籍借出处理

② 书籍归还处理

③ 预定信息处理

系统管理员:

① 增加书目

② 删除或更新书目

③ 增加书籍

④ 减少书籍

⑤ 增加读者账户信息

使用rose工具的软件建模与UML实验

⑥ 删除或更新读者账户信息

⑦ 书籍信息查询

⑧ 读者信息查询

(2) 确定系统的参与者

对参与者的确定,需要分析系统涉及的问题领域,明确系统运行的主要任务。分析使用该系统主要功能部分的是哪些人。谁将需要该系统的支持以完成其工作。系统的管理者与维护者。

根据图书馆管理系统的需求分析得出,系统的参与者主要有以下3类:

① 读者(借阅者)

② 图书馆管理员

③ 图书馆管理系统维护者

(3) 确定系统用例

用例是系统参与者与系统在交互过程中所需要完成的事务。识别用例的最好办法就是从分析系统的参与者开始,考虑每个参与者是如何使用系统的。由于系统存在借阅者、图书馆管理员、系统维护人员3个参与者,所以在识别用例的过程中,可以将系统分为3个用例图分别考虑。

1.借阅者请求服务的用例

登录系统

查询自己的借阅信息

查询书籍信息

预定书籍

借阅书籍

归还书籍

2) 图书馆管理员处理借书、还书等的用例

处理书籍借阅

处理书籍归还

删除预定信息

3) 系统管理员进行系统维护的用例

使用rose工具的软件建模与UML实验

查询借阅者信息

查询书籍信息

增加书目

删除或更新书目

增加书籍

删除书籍

添加借阅者账户

删除或更新借阅者账户

用Rational Rose 来绘制用例图的基本操作如下:

1.创建用例。

要建立新的用例图,可以选择【New→Use Case Diagram】菜单项。此时,在“Use Case Diagram”树型结构下多了一个名为“NewDiagram”的图标,右键单击此图标,在弹出的菜单中选择【Rename】菜单项,就可以为用例图重命名。最好为用例图模型取一个有意义的名字,此处取名为“Library”。

2.添加参与者与用例。

双击用例图图标,出现用例图的编辑区和编辑工具栏,如图2.1所示,左边是用例图的编辑工具栏,右边是用例图的编辑区。

图2.1 用例图的编辑区和编辑工具栏

3.工具栏的定制

使用rose工具的软件建模与UML实验

用户可以根据需要自行定制和添加工具栏中的图标按钮,操作方法:右键单击工具箱的空白处(注意别点到图标按钮),在弹出菜单中选择【Customize】菜单项后出现“自定义工具栏”对话框。用户在此对话框中定置自己需要的按钮。

4.添加参与者与用例之间以及用例之间的关系。

(1)参与者与用例的绘制方法相同,首先点击工具栏中的图标按钮,然后在编辑区要绘制的地方单击鼠标左键。

(2)设置用例的属性。在用例上双击,弹出用例属性设置对话框。

5.添加参与者与用例,用例之间的关系

6.完成图书馆管理系统的用例图设计分别如图2.2,图2.3,图2.4所示。

图2.2借阅者请求服务的用例图

图2.3 图书馆管理员处理借书、还书的用例图

使用rose工具的软件建模与UML实验

图2.3系统管理员进行系统维护的用例图

注意:构造用例图时,不需要关心系统的实现问题,每一个用例的内部细节不是本阶段需要考虑的问题,用例图的最终目的是说明系统对于用户来说是什么样子的,因此,能否正确反映用户的需求是用例视图的关键所在。

四、作业

对大型仓库管理系统进行需求分析,确定系统的参与者,识别出系统的用例,以及各用例之间的关系,然后,用Rational Rose对这些用例建模。

五、思考题

1.什么是用例图,用例图由哪些部分组成。

2.什么是参与者,如何确定参与者。

3.简述用例之间有哪些关系。

使用rose工具的软件建模与UML实验

静态视图包括类图,对象图和包图。其中类图描述系统中类的静态结构。它不仅定义系统中类,表示类之间的联系,如关联、依赖、聚合等,还包括内部结构(类的属性和操作)。通过分析用例和问题域,就可以得到相关的类,然后再把逻辑上相关的类封装成包。这样就可以很好的体现出系统的分层结构,使人们对系统层次关系一目了然。对象图是类图的实例,几乎与类图有完全相同的标识。他们的不同点在于对象图显示类图的多个对象实例,而不是实际的类,一个对象图是类图的一个实例。由于对象存在生命周期,因此对象图只能在系统的某一时间存在。包图由包或类构成,表示包与包之间的关系。包图用于描述系统的分层结构。

实验3,实验4,实验5是有关UML静态视图的建模实验。

使用rose工具的软件建模与UML实验

实验 3 类图和对象图

实验学时:2

实验类型:(设计型)

一、实验目的与要求

①掌握类的识别方法;

②理解类与类之间依赖关系,泛化关系,关联关系,实现关系的含义。

③理解类的继承性,分析属性和操作的可见性与可继承性;

④熟练使用建模软件创建出该系统的类图和类的实例化——对象图。

二、实验内容

本实验要求学生完成图书馆管理系统的类图和对象图的创建。

三、实验步骤

分析:

图书馆管理系统的不可缺少的7个类:Item、Title、Loan、Reservation、Borrower、Administrator、Librarian,前5个类之间有一定的关系。

使用Rose绘制类图的基本操作步骤:

1.创建类图

要创建图,可以右键单击“Logic View”节点,从弹出菜单中选择【New→Class Diagram】,新建一个名为Item的类,双击该类的图标,将会打开类图的编辑区域,如图3.1所示。

使用rose工具的软件建模与UML实验

图3.1 类图的编辑区域

读者还可以使用实验2中介绍的方法的对工具栏进行定置,这里就不再详述。

2.加入类

单击工具栏中类的图标,然后在类图编辑区域中某个位置单击鼠标左键,就可以在该图中绘制出一个类。

3.增加类的属性

有两种方法可以增加类的属性(即类的成员变量)

(1)使用“Class Specification”。双击类的图标打开“Class Specification”窗口,然后选择“Attributes”选项卡,在窗口中空白的地方单击右键,并且单击【Insert】按钮,添加name属性。

(2)选择类的图标,单击右键,在弹出的菜单中选择【New Attributes】,添加name属性。

双击name属性,打开“Class Attribute specification”对话框,如图3.2所示。

使用rose工具的软件建模与UML实验

图3.2 “Class Attribute specification”对话框

在如图3.2所示的对话框中,可以对该属性的名字、类型、修饰符、初始值、可见性等进行设置。

4.增加类的方法

增加类的方法与增加类的属性相似。

5.添加类之间的关系

类之间的关系不同,表示方法也不相同。

最后,绘制出图书馆管理系统的类图。

1. 参与者相关的类

使用rose工具的软件建模与UML实验

图3.3 参与者相关的类

【类图说明】

(1) Borrower类是借阅者的类,它的属性较多,包括借阅者的账户ID(User ID)、姓名(Name)、地址(Address)、邮编(Zip)、所借书籍的书目(Borrow_number)等。其中主要操作有借书(borrow)和还书(return_back)。

(2) Librarian类是图书管理员的类,包括工作账号(WordID)、名字(Name)和地址(Address)等属性。

(3) Administrator类是系统管理员类。

2.系统中用到的其它类

使用rose工具的软件建模与UML实验

图3.4 系统中用到的其它类

【类图说明】

(1) Title 是记录书目信息的类,包括书籍的名字(name)、作者(author)、ISBN、此种书籍的总数量(total_number)、借出的数量(borrowed_number)、是否允许借出(isAllowforBorrow)等属性。

(2) Item类是具体某本书的类,属性包括书籍号(ID)。操作包括预订(reserve)、按书目查找(find_on_title)等

(3) Loan类是某本书的借阅信息类,包括借阅书籍的ISBN、借阅的时间(data)等。

(4) Reservation类是预订信息类,每个预订信息包括预订日期(data)、所预订书籍的ISBN、预订书籍的用户ID(userID)等属性。

3.各类之间的关系

本文来源:https://www.bwwdw.com/article/xc3e.html

Top