UML 新编实验指导书(实验三 类图)

合集下载

UML实验指导书

UML实验指导书

《面向对象设计UML建模》---08本新版上机实验(一)创建用例及用例图一.实验目的:在Rose 2003 环境下设计应用系统的UML用例图(Use Case Diagram)。

二.实验内容:根据用户“需求陈述”创建Use Case框图。

包括:案例1. 绘制“自动饮料机售货”的Use Case框图(包括功能扩展)案例2. 用例之间的三种关系练习案例3. 设计“网上学生选课系统”的Use Case 框图案例4. 设计“图书管理系统”的Use Case 框图三.操作步骤:案例1.①建立用例图的步骤:。

右击Use Case View。

选New Use Case Diagram。

起名,比如:Buy Drink。

双击Buy Drink图标,这时工具栏变成适合Use Case作图的形式。

设计Use Case Diagram.②“自动饮料机售货”需求陈述:“顾客通过自动饮料售货机, 可以方便地买到一听饮料。

而自动饮料售货机除了卖给顾客饮料外,还具备以下功能:·供应商可以向自动饮料售货机添加饮料(需要打开和关闭自动饮料售货机的门);·收银员可以从自动饮料售货机取钱. (需要打开和关闭自动饮料售货机的门)”经过分析可知自动饮料售货机系统涉及到的名词及概念有:Customer Supplier Cashier Buy drink Set drink Take moneyOpen machine Close machine显然, 前三个名词为参与者. 后面的那些功能为Use Case .③绘制自动饮料售货机售货的用例图. (提示:首先找出参与者和用例之间的关系, 建立初步用例图, 然后细化用例建立用例之间的《include》或《extend》关系。

)案例2. 用例之间的三种关系练习·分析用例之间的“泛化关系”、“include”和“extend”关系。

·在Rose下创建包括以上三种关系的Use Case图。

《可视化建模与UML》实验指导书

《可视化建模与UML》实验指导书

^`可视化建模与UML实验指导书软件学院目录实验一 UML建模基础 (3)实验二用例图 (4)实验三类图 (8)实验四对象图 (10)实验五面向对象设计基本原则 (11)实验六包图 (14)实验七交互图 (16)实验八活动图 (20)实验九交互概述图 (22)实验十状态图 (23)实验十一构件图 (27)实验十二需求建模实例与分析 (29)实验十三设计建模实例与分析 (30)实验十四数据库建模实例与分析 (31)实验一 UML建模基础[实验目的和要求]1、熟悉UML建模工具Visual Paradigm和Rational Rose的基本菜单及操作。

2、掌握UML的三大组成部分及各部分作用。

3、掌握UML规则和相关机制。

4、掌握UML的可见性规则和构造型的作用。

[实验内容和步骤]1、练习使用建模工具建立各种UML图形,并对图形进行相应编辑和修改。

2、认识各种UML关系及可见性符号,并用工具表示出来。

[分析与讨论]1、总结UML在软件工程中的作用以及使用UML建模的必要性。

实验二用例图[实验目的和要求]1、掌握用例与场景的概念。

2、掌握UML用例图的组成、作用以及使用场合。

3、掌握用例与用例之间的各种关系。

4、学习针对具体场景使用用例图进行分析说明的方法。

5、掌握用例描述的概念和基本结构,以及用例描述的作用。

[实验内容和步骤]1、什么是用例,什么是场景?用例和场景之间的关系是怎样的?2、用例图中有哪些组成元素?在UML中是如何表示的?3、用例与用例之间的包含关系、扩展关系和泛化关系各代表什么含义?它们之间有何区别?对以上三种关系各举一例,画出用例图,并进行说明。

4、为了满足物业中介行业的信息化要求,甲公司基于详尽的需求调研与分析,准备研发一套符合市场需要的、实用的信息管理系统。

主要将实现客户资料信息管理、客户委托(出租、出售、租赁、购买)信息管理、业务线索生成与管理、房源状态自动更新、权限管理、到期用户管理、房源组合查询等功能。

实验3 绘制uml的各种图形(活动图、状态图)

实验3 绘制uml的各种图形(活动图、状态图)

实训3 绘制UML的各种图形
一、实验目的要求和注意事项
练习各类UML图的画法。

二、实验主要内容
1、运行visio,熟悉其工作界面。

2、绘制各类UML图。

三、实验仪器设备
微机:每人一台
四、实验步骤
1、运行Visio,熟悉其工作界面。

2、学习UML图的常用符号。

3、结合例题绘制各类UML图。

五、相关知识
(1)状态图
(2)活动图
六、具体任务
任务1绘制状态图:门有opened、closed、locked三种状态,请绘制门的状态图。

任务2绘制状态图:电水壶:on和off两个状态,初态off,烧坏则转换到终态。

trunOn 事件发生时,判断水壶是否有水,若没有水,则仍处于off状态,若有水,则turnOn事件引起烧水活动,使状态从off转入on,水开,则从on转入off状态。

任务3绘制活动图:学生请假活动图
1、学生请假须先经过班主任同意;
2、班主任在准假时,如学生请假时间超越审批权限,还要请系办审批,经系办审批后,系办将假条存根留下,事后转班主任存查;
3、学生请假获准后,应立刻报告班长,以便班长向任课教师报告。

《UML建模与分析》实验指导书

《UML建模与分析》实验指导书

《UML建模与分析》实验指导书实验类别:实验课程名称:UML建模与分析实验室名称:软件基础实验室实验课程编号:总学时:56 学分:3.5适用专业:软件工程先修课程:软件工程基础、程序设计语言实验在教学培养计划中地位、作用;《UML建模与分析》是理论与实践并重的课程。

这门实验课为配合UML建模与分析的课堂教学而编写,要求学生综合运用一、二、三年级所学的多门课程的内容。

通过本实验课程培养学生的实际分析问题、编程和动手能力,最终使学生系统的掌握该门课程的主要内容,更好的完成教学任务。

实验一 UML开发工具(2学时)1、实验目的:通过实验,熟悉并掌握UML的一种开发工具。

2、实验内容:安装及使用Rational Rose 2003。

3、实验要求:(1)使用Rose 2003创建一个模型,命名为“课程设计”。

具体步骤如下:a)启动Rose后,进入模型向导界面。

选择模型最终实现的工具,按下“OK”,进入设计画面。

或直接点击“Cancel”后进入设计画面。

b)右键点击浏览器中的“untitled”,在弹出的快捷菜单中选择“Save”,弹出文件保存对话框。

c)输入“课程设计”,按下“保存”按钮,即建立一个名为“课程设计.mdl”的文件。

(2)熟悉Rose的操作界面及各项功能:菜单、浏览器、文档窗口、图窗口、日志窗口、工具栏。

(3)分别在浏览器和图中删除名为exercise1的元素。

在这里要区分从浏览器中删除元素还是从图中删除元素。

当从浏览器中删除元素时,Rose首先从模型中移去被选择的元素,修改所有出现被移去元素的图,从中删除被移去的元素,并删除元素的详细说明。

当在一个图中删除选择的元素时,Rose从当前图中移去选择的元素,但是不修改模型中其他的图。

(4)类似地,分别在浏览器和图中增加新的元素。

实验二用例图的绘制(2学时)1、实验目的:通过实验,熟悉并掌握UML中用例图的绘制。

2、实验内容:设计和实现某学校的网上选课系统的用例图。

实验三 类图

实验三 类图
1、研究问题域
考虑问题域,侧重于客观存在的事物与系统中对象的映射。 可以启发分析员发现对象的因素包括:人员、组织机构、 物品、设备、事件(如索赔、上访、交易)、表格、日志、 报告和结构等。
1.2 识别对象与类
2.考虑系统边界
1) 把一些人员和设备看作问题域范畴以内的事物,系统 中的对象是对它们的抽象描述。侧重于以系统中的对象模拟现 实中的人和设备。 2) 对系统边界之外与系统进行交互的参与者,系统中需 要设立相应的对象处理系统与这些实际的人和设备的交互,侧 重于以系统中的对象处理现实中的人和设备与系统的交互。 3) 在系统中设立一个对象,处理与外系统的接口。
1.4 类的命名

类的名称是每个类的图形中所必须拥有的元素, 用于同其它类进行区分。类的名称通常来自于系 统的问题域,并且尽可能地明确表达要描述的事 物,不会造成类的语义冲突。
1.4 类的命名
类的命名
合该类及其特殊类的全部对象实例*
汽车加摩托车->机动车;还有马车->车辆
反映个体而不是群体*

类图的作用是对系统的静态视图进行建模。当对系统的静
态视图进行建模时,通常是以以下三种方式来使用类图。
1. 为系统的词汇建模。 2. 模型化逻辑数据库模式。

在设计数据库时,通常将数据库模式看作为数据库概念设
计的蓝图,在很多领域中,都需要在关系数据库或面向数
据库中存储永久信息。系统分析者可以使用类图来对这些 数据库进行模式建模。
书-书籍;船-船舶*
使用名词,或带有定语的名词 ,避免无意义的符号
如线装书
考虑使用适当种类的语言文字对类命名。
在中国:可用中、英文双重命名*
2. 定义属性和操作

UML实验课指导书

UML实验课指导书

UML建模原理实验指导书目录第1章实验概述 (1)1.1引言 (1)1.2样例系统需求概述 (1)第2章实验要求 (3)2.1实验总体要求 (3)2.1.1 实验意义和目的 (3)2.1.2 实验内容安排 (3)2.1.3 实验过程要求 (3)2.2实验报告要求 (3)2.3实验成绩评价 (4)2.3.1 实验成绩评价结构及比例............................................................. 错误!未定义书签。

2.3.2 考核方式......................................................................................... 错误!未定义书签。

第3章实验内容与指导.. (5)3.1用例图和类图设计 (5)3.1.1 实验类型 (5)3.1.2 实验目的 (5)3.1.3 背景知识 (5)3.1.4 实验设备 (14)3.1.5 实验内容 (14)3.1.6 实验要求......................................................................................... 错误!未定义书签。

3.2顺序图和协作图设计............................................................................. 错误!未定义书签。

3.2.1 实验类型......................................................................................... 错误!未定义书签。

3.2.2 实验目的......................................................................................... 错误!未定义书签。

实验三类图状态图设计

实验三类图状态图设计

实验三类图与状态图的设计【实验目的】掌握在Visio下类图和状态图的设计。

【实验要求】1.通过网上选课系统学习识别类的方法。

2.通过网上选课系统学习识别类之间关系的方法。

3.学习使用Visio绘制类图。

4.通过网上选课系统学习识别对象状态的方法。

5.通过网上选课系统理解对象状态的转换。

6.学习使用Visio绘制状态图。

【实验步骤】一.识别类1.通过实验二中用例图的设计,我们找到了四个参与者:管理员Registrar,学生Student,学生和管理员的父类People,数据库Database。

这些参与者都可以作为类图中的类。

2.识别选课系统中其他的类。

在选课系统中,还能找出哪些类?这些类有哪些属性和操作?二.绘制类图1.绘制类在“模型资源管理器”中,双击“分析模型”中“顶层包”下的静态结构图,此时在绘图区中显示的则是此静态结构图。

按照实验一中给出的方法绘制这四个类,包括这些类的属性和操作。

2.绘制类之间的关系确定类之间是否有关系以及有什么关系。

如果存在“关联”关系,则将“形状”窗口中“UML静态结构”标签页中的“二元关联”图标拖到绘图区,来连接两个类;如果存在“泛化”关系,则将“UML静态结构”标签页中的“泛化”图标拖到绘图区,来连接类;如果存在“聚集”或“组成”关系,则将“UML 静态结构”标签页中的“复合”图标拖到绘图区,来连接类;如果存在“依赖”关系,则将“UML静态结构”标签页中的“依赖关系”图标拖到绘图区,来连接类。

在绘图区中双击这些关系图标,可以打开它们的属性对话框来修改属性。

具体操作可参考实验一。

三.识别课程类(对象)的状态我们考察一个课程类(对象)(Course)的状态变化过程。

课程对象被创建、添加到数据库中。

管理员可以删除、修改课程信息,在某个学期,开设该课程,如果选修人数超过指定人数,就不再允许学生选这门课程。

学期结束,课程的状态终止。

通过上述需求描述,我们能够识别出课程类(对象)的哪些状态?四.绘制状态图1.在“模型资源管理器”的“分析模型”中,右击“课程”类,选择“新建”|“状态图”,这时会新建一个名为“状态图-1”的空白状态图,右击新建的空白状态图节点,选择“重命名”,可对状态图重新命名。

UML 新编实验指导书(实验三)

UML 新编实验指导书(实验三)

天津理工大学华信软件学院上机实验(三)创建类和类图一、实验目的:在Rose 环境下创建类和类图, 完成应用案例的类图设计。

二、实验内容:(一)创建类1)根据“需求陈述”提炼对象和类2)分析对象,并将对象抽象成类(二) 创建类图建立类之间的关系(关联关系、泛化关系、聚集或组合关系、依赖关系等)创建类图。

(三) 综合应用练习。

三、操作步骤:(一) 创建类1、右击Logical View2、选New 选Class Diagram ,再在Class Diagram下创建类;3、给类命名(比如Course)4、增加属性(右击框途中的类,选New Attribute)5、添加类操作(右击框途中的类,选New Operation)(二) 建立类之间的关系1.关联关系 (使用按钮工具,如果当前工具栏中没有,右击工具栏,然后添加相关按钮)1) 单项关联2) 双向关联2.聚集和组合 (先建立关联,再右击靠近“整体”方的关联线,选Aggregate) 3.泛化关系。

4.依赖关系。

四.实例练习(要求尽量用英文表示)1.举实例说明类之间的关联关系。

包括:单、双向关联、一对一关联、一对多关联、多对多关联、自反关联、限定关联和关联类。

2.举实例说明类之间的聚合(组合)关系。

3.举实例说明类之间的泛化(继承)关系。

包括:单继承、多继承。

4.举实例说明接口与实现,抽象类与子类等。

五.综合应用:(一)以“学生选课系统”为例建立类图1.“学生选课系统”涉及到的类:1) Database类属性:dbPath: String操作:(以下列出部分操作)Query Course() Add Course() Delete Course() Get dbPath() Set dbPath() ……2) Student类属性:studentID: Int studentName: String操作:get StudentID() set StudentID()get StudentName() set StudentName()3) Registrar类属性:registrarName: String regID: Int操作:get regID() set regID()get registrarName() set registrarName()4) Course类属性:courseID: Int courseName: Stringclassroom: String teacher: string操作:createCourse() destroyCourse() getName()setName() getCourseID() setCourseID() getTeacher() setTeacher()……5) Control类属性: (无)操作:verifyCourse() canAdd() queryCourse()confirmDelete() canSelect() queryAssociation() 6)Form类属性:(接口无属性)操作:getCourseInfo() showSuccessInfo() showConfirmPage()displayCourseList() querySelectCourse()2. 创建上述类之间的关系;① Student和Form之间-----单向关联(一对多)② Registrar和Form之间-----单向关联(一对多)③ Form和Course之间-----单向关联(一对多)④ Control和Course之间-----单向关联(一对多)⑤ Control和Form之间-----双向关联(一对多)⑥ Control和Database之间-----单向关联(一对一)3.完成类图(对象模型)的设计(以下是简化的类图参考图,详细的类图由同学们自己来完成。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

天津理工大学华信软件学院天津理工大学(华信软件学院)实验指导书课程名称:软件工程与UML建模适应课程:(1969216)上机实验(三)创建类和类图一、实验目的:在Rose 环境下创建类和类图, 完成应用案例的类图设计。

二、实验内容:(一)创建类1)根据“需求陈述”提炼对象和类2)分析对象,并将对象抽象成类(二) 创建类图建立类之间的关系(关联关系、泛化关系、聚集或组合关系、依赖关系等)创建类图。

(三) 综合应用练习。

三、操作步骤:(一) 创建类1、启动Rose 2003进入后,在左面结构框内右击Logical View;2、选New 选Class Diagram ,再在Class Diagram下创建类;3、给类命名(比如Course);4、增加属性(右击框途中的类,选New Attribute);5、添加类操作(右击框途中的类,选New Operation);(二) 建立类之间的关系1.首先关联关系(使用按钮工具,如果当前工具栏中没有,右击工具栏,然后添加相关按钮)1) 单项关联;2) 双向关联。

2.练习聚集和组合(先建立关联,再右击靠近“整体”方的关联线,选Aggregate选项。

)3.然后泛化关系。

4.最后练习依赖关系。

四.实例练习(不能用课件及教材上的示例,要自己来想。

)1.举实例说明类之间的关联关系。

包括:单、双向关联、一对一关联、一对多关联、多对多关联、自反关联、限定关联和关联类。

2.举实例说明类之间的聚合(组合)关系。

3.举实例说明类之间的泛化(继承)关系。

包括:单继承、多继承。

4.举实例说明接口与实现,抽象类与子类等。

五.综合应用:(一)以“学生选课系统”为例建立类图1.“学生选课系统”涉及到的类:1) Database类属性:dbPath: String操作:(以下列出部分操作)Query Course() Add Course() Delete Course() Get dbPath() Set dbPath() ……2) Student类属性:studentID: Int studentName: String操作:get StudentID() set StudentID()get StudentName() set StudentName()3) Registrar类属性:registrarName: String regID: Int操作:get regID() set regID()get registrarName() set registrarName()4) Course类属性:courseID: Int courseName: Stringclassroom: String teacher: string操作:createCourse() destroyCourse() getName()setName() getCourseID() setCourseID() getTeacher() setTeacher()……5) Control类属性: (无)操作:verifyCourse() canAdd() queryCourse()confirmDelete() canSelect() queryAssociation() 6)Form类属性:(接口无属性)操作:getCourseInfo() showSuccessInfo() showConfirmPage() displayCourseList() querySelectCourse()2. 创建上述类之间的关系;①Student和Form之间-----单向关联(一对多)②Registrar和Form之间-----单向关联(一对多)③Form和Course之间-----单向关联(一对多)④Control和Course之间-----单向关联(一对多)⑤Control和Form之间-----双向关联(一对多)⑥Control和Database之间-----单向关联(一对一)3.完成类图(对象模型)的设计(以下是简化的类图参考图,详细的类图由同学们自己来完成。

)图3—1 学生选课系统简化类图4. 生成代码。

可以针对某一个类,比如Course类,生成Java源代码, 操作如下:①设置参数: Tools → Options → Notation标签②在Default 框中选Java;③检查类中所有操作,确认它们都具有返回值类型;④选种类Course,然后选:Tools → Java/J2EE → General code⑤代码存放的路径(CLASSPATH entries)可以设为d:\student_name\code;生成的代码如下://Source file: d:\\code\\Course.javapublic class Course{private String courseName;private Int courseID;private String classRoom;public Database theDatabase;/*** @roseuid 44C6FA3000E6*/public Course(){ }/***@roseuid 4429D321008C*/public void getCourseID(){ }/*** @roseuid 4429D34700EA*/public void getCourseName(){ }/*** @roseuid 44C6F9AC0096*/public void createCourse(){ }/*** @roseuid 44C6F9C403BC*/public void destroyCourse(){ }}注意:此例中已经对某些空格进行了压缩。

其它类对应的Java代码,请学生自己完成。

(二)创建“图书管理系统”的类图(对象模型)ss1.系统涉及到的类①Title类属性:name: String ISBN: String Number of item: Int 操作:Add() Delete() Update()②Borrower Information类属性:name: String address: String tel: String操作:Find() Query() delete()③Item类属性:ID: Int操作:Add() Delete() FindOnTitle()④Loan类属性:time: Date操作:Create() Destroy()⑤Reservation 类属性:time: Date操作:Create() Destroy() Find()2. 上述类的关联1) Title 与Borrower Information 之间的关联2) Title 与Item 之间的关联(学生自己填写)3) Item 与Borrower Information 之间的关联(学生自己填写)3. 完成类图(对象模型)的设计(见下图)图3-2 图书管理系统类图(三)创建“网上购物系统”中与“Add Item to Shopping Cart”对应的类图。

1.分析“Add Item to Shopping Cart”涉及到的类1)CartInterface(或Interface)类属性:(无)操作:AddItem()2)CartManager(或CartMgr)类属性: (无)操作:AddItem()3)ProductMgr 类属性: (无)操作: GetProduct()4) Product类属性:ProductID:Int ProductName:String UnitPrice:Double操作: FindProduct()5)CartItem类属性:Number of Items inCart:Int操作:Add Item to Cart()2.建立关系,(增加版型)创建类图。

(请同学自己完成)3.创建构件图(请学生自己完成)4.类映射到构件; 见实验(五)。

5.生成Java代码(请学生自己完成)。

(四)创建类图补充实例练习A. 根据以下每一组类绘制类图。

1)学校、操场(playground)、校长(principal)、学校人员、教师、食堂(dining room)、设施、教室、学生、机房、计算机、课桌、椅子、书本。

2)文件系统、文件、磁盘(disc)、目录文件(directory file)、磁道(track)、扇区(sector)、ASCII文件、二进制文件。

B. 给每个类添加属性和方法(至少2个属性,2个操作)C. 绘制一个类模型来描述“无向图”(Undirected Graph)。

无向图由一组顶点(vertex)和边(edge)组成。

每个边均连接顶点对。

(模型只捕获图的结构,不考虑外形等方面的问题)D. 绘制一个类模型来描述“有向图”(Directed Graph)。

有向图由一组顶点(vertex)和边(edge)组成。

每个边均连接顶点对,但边是有方向的。

(模型只捕获图的结构,不考虑外形等方面的问题)E.以医院管理信息系统为背景根据以下类构造类图:(属性和操作从略)医院(Hospital)、门诊部(Outpatient Department)、药房(Pharmacy)、住院部(Inpatient Department)、病人(Patient)、病房(Ward)、病床(Bed)、住院病人(Inpatient)、门诊病人(Outpatient)、药品(Drug)、用药纪录(Record on drug)F. 选择填空:供选择的答案①~⑤C ircle , Arc , Point , Polygon , LineG.给上述5个类添加属性和方法(至少2个属性,2个操作)H.某音像出租店,要记录图书、唱碟和客户租借信息。

现已设计了两个类Book 和CD 如下:(1)经过分析,上述两个类重复内容(属性和方法)较多,于是又打算定义一个Loan类,表示Book类和CD类的重复部分。

请画出上述三个类构成的优化类图。

(2)如果再引入一个History类来记录所有租借Book和CD的历史,请画出上述四个类构成的类图。

(只画出类的框架结构)六. 评分标准1.能根据“学生选课系统”、“图书管理系统”的需求陈述正确找出类、正确。

相关文档
最新文档