UML实验指导书.docx

上传人:b****7 文档编号:23749526 上传时间:2023-05-20 格式:DOCX 页数:13 大小:33.13KB
下载 相关 举报
UML实验指导书.docx_第1页
第1页 / 共13页
UML实验指导书.docx_第2页
第2页 / 共13页
UML实验指导书.docx_第3页
第3页 / 共13页
UML实验指导书.docx_第4页
第4页 / 共13页
UML实验指导书.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

UML实验指导书.docx

《UML实验指导书.docx》由会员分享,可在线阅读,更多相关《UML实验指导书.docx(13页珍藏版)》请在冰豆网上搜索。

UML实验指导书.docx

UML实验指导书

UML实验指导书

      实验指导说明书  《面向对象设计UML建模》  ---08本新版  上机实验创建用例及用例图  一.实验目的:

在Rose2003环境下设计应用系统的UML用例图。

二.实验内容:

根据用户“需求陈述”创建UseCase框图。

包括:

案例1.绘制“自动饮料机售货”的UseCase框图案例2.用例之间的三种关系练习  案例3.设计“网上学生选课系统”的UseCase框图案例4.设计“图书管理系统”的UseCase框图三.操作步骤:

案例1.  ①建立用例图的步骤:

右击UseCaseView。

选New?

UseCaseDiagram。

起名,比如:

BuyDrink  。

双击BuyDrink图标,这时工具栏变成适合UseCase作图的形式。

设计UseCaseDiagram.②“自动饮料机售货”需求陈述:

  “顾客通过自动饮料售货机,可以方便地买到一听饮料。

而自动饮料售货机除了卖给顾客饮  料外,还具备以下功能:

  ·供应商可以向自动饮料售货机添加饮料;·收银员可以从自动饮料售货机取钱.”经过分析可知自动饮料售货机系统涉及到的名词及概念有:

  Customer  Supplier  Cashier  Buydrink  Setdrink  TakemoneyOpenmachine  Closemachine  显然,前三个名词为参与者.后面的那些功能为UseCase.  ③绘制自动饮料售货机售货的用例图.(提示:

首先找出参与者和用例之间的关系,建立初步用例图,然后细化用例建立用例之间的《include》或《extend》关系。

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

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

案例3.  ⑴“学生选课系统”需求陈述:

  管理员通过系统界面进入,建立本学期要开的课程,并把这些信息保存到Database中。

管理员可以对设置的课程进行增加、删除或改动。

  学生通过客户浏览器并根据学号和密码进入选课界面;学生可以进行三种操作:

查询已选课程,选课及付费。

⑵经过需求分析可知:

系统用户有:

  管理员  学生(Student);本系统的UseCase包括:

  选课  查询(QueryCourse)付费(PayforCourse)  增加课程(AddCourse)修改课程(ModifyCourse)  删除课程(DeleteCourse)。

⑶设计UseCaseDiagram.  案例4.根据“图书管理系统案例”绘制UseCase图和顺序图  需求描述如下:

  1)系统使用良好的图形用户界面;  2)在此界面下,只有图书管理员才能和系统直接交互对话;  3)借阅者可通过图书管理员进行借书,还书(Returnitem),预定和取消预定。

条件是:

借阅人必须事先注册.方可借书;  4)当预定的图书归还时,或新购进时,通知预定人,当预定的书已经借到时,预定自动取消;5)为简单起见我们常用“标题”和“书目”对图书进行划分。

标题指的是书名,书目指的是具体一册书;  6)所有图书均预先登记.不同的书按书名(Title)区分,而且同名的书可以有多本(item),它们按书号区分;  7)图书管理员可以方便的建立,删除修改标题及借阅者信息,增加和删除书目,也可以查询图书和借阅者信息。

a)试做出系统的初始UseCase图  b)于多个UseCase都具有寻找标题和寻找借阅者部分,          2  实验指导说明书  试绘制改进的UseCase图(可在原UseCase图上改进)。

      *案例5.(选作)根据“网上购物系统”案例,绘制初始UseCase图。

⑴“网上购物系统”涉及到的参与者如下:

  Customer(客户)WarehouseManager(库房经理)ShippingService(供货服务)PurchaseManager(采购经理)  CreditSystem(信用系统)⑵“网上购物系统”涉及到的UseCase如下:

BrowseWebSite(浏览网站)  AddItemtoShoppingCart(给购物推车添加物品)ViewShoppingCart(查看购物推车)  PurchaseIteminShoppingCart(购买购物推车中的商品)RemoveItemfromShoppingCart(从购物推车中删除商品)BrowseItemforSale(浏览销售的商品)  ProvideFeedback(提供反馈信息)  StockInventory(盘点)  rnItemtoStock(返回库存商品)  ShipOrder(提供订单)  AddNewItemforSale(增加新销售商品)  RemoveItemforSale(取消某销售商品)  PurchaseInventory(购买库存)⑶分别以客户,库房经理,和采购经理为中心建立UseCaseDiagram.参考答案:

  。

以客户为中心建立的初始UseCaseDiagram.    图1-1网上购物系统用例图  。

以库房经理和采购经理为中心建立的初始UseCaseDiagram请学生自己画出。

          3  实验指导说明书  四.评分标准  1.正确完成案例1—3者可以得到70分;  2.正确完成案例1—3,同时正确完成案例4者,可以得到85分;  3.完成1和2项任务,同时又完成案例5者,或者在建模过程中有创造性者可以给90分以上分数。

  上机实验创建交互图  一.实验目的:

在Rose环境下创建UML交互图二.实验内容:

  

(一).根据“学生选课系统”案例,分别创建:

选课,查询(QueryCourse),增加课程(AddCourse),付费(PayforCourse),修改课程(ModifyCourse)和删除课程(DeleteCourse),所对应的主脚本的顺序图。

并分别转化为对应的协作图。

  

(二).根据“图书管理系统”的用例图,创建:

借书(LendItem)用例所对应的顺序图.*(三).根据“网上购物系统”的用例图,创建:

浏览网站和添加物品到购物推车(AddItemtoShoppingCart)所对应的顺序图.三.操作步骤:

  

(一).以“SelectCourse”为例,完成“学生选课系统”的顺序图  1.分析事件流  1)学生进入选课主界面;  2)学生点击选课按钮;3)系统显示所有课程信息;4)学生选择课程;5)系统验证课程是否可选;6)系统显示课程选择成功;  7)用例结束。

2.创建顺序图总体步骤:

  1)寻找对象,上述案例涉及的对象有:

  Form(或Interface),CourseControl  Database(注意:

Database亦可看成参与者)          4  实验指导说明书  2)参与者;Student3)将消息加进图中。

3.在Rose下操作步骤:

  1)Tools?

Options?

Diagram标签,确保有关参数选中。

(比如:

SequenceNumbering)2)打开实验所创建的“网上学生选课系统”的UseCase框图3)右击UseCaseView选New?

SequenceDiagram4)新图标命名为SelectCourse即可  5)双击新窗口,并将浏览器中的参与者(Student)拖入新窗口中。

6)在新窗口中利用CreateaObject工具按钮创建对象并正确命名.7)在顺序图中增加消息.完成顺序图设计.①SelectCourse的顺序图:

          图2—1选课顺序图  4.按上述步骤,参照选课顺序图,完成:

查询(QueryCourse),增加课程(AddCourse),付费(PayforCourse),修改课程(ModifyCourse)和删除课程(DeleteCourse)所对应的主脚本的顺序图设计.注意事项:

          5

  

      实验指导说明书  1.Database可以看作对象,也可以看作参与者,视情况而定.2.顺序图中的界面对象可命名为Form,也可命名为Interface等.3.在顺序图中可以根据具体情况增设Control对象.  4.若有两个以上的参与者,应将主参与者放在顺序图最左方,次参与者放在顺序图最右方。

②QueryCourse的顺序图:

  ③AddCourse的顺序图:

④ModifyCourse的顺序图:

⑤DeleteCourse的顺序图:

      图2—2删除课程顺序图⑥PayforCourse的顺序图:

5.按F5键并检查每个顺序图对应的协作图。

  

(二).根据“图书管理系统”用例图中的“Lenditem”绘制对应的顺序图.1.分析事件流  1).借书者提出结束申请;  2).管理员选择借书选项(等同于发出借书命令)3).系统查找标题(Title);  4).系统查找该标题下的有效书目;          6    实验指导说明书  5).系统核查借书者信息(BorrowerInformation);6).办理借书(即产生一条新借书记录).2.寻找相关对象  1)LendWindow(或Form)  2)Title  3)BorrowerInformation4)Loan    5)Item3.寻找参与者  直接参与者只有:

Librarian.  注意:

Student为间接参与者(见问题陈述),所以不能在顺序图中出现.4.将消息加进框图中,完成顺序图设计.  ⑦LendItem(借书)的顺序图:

      图2—3借书顺序图  (三).根据“网上购物系统”的用例图,创建:

浏览网站和添加物品到购  物推车(AddItemtoShoppingCart)所对应的顺序图.  1.分析事件流,以“AddItemtoShoppingCart”为例:

1)顾客提出欲将某商品,比如白袜子(WhiteSocks)添加到购物推车中;2)系统把该请求通过用户界面找到CartMgr;3)通过CartMgr找到ProductMgr;4)通过ProductMgr找到Product  5)CartMgr完成把WhiteSocks装入购物推车中.2.寻找相关对象  1)Interface  2)CartMgr  3)ProductMgr        7  实验指导说明书  4)Product  5)CartItem3.参与者仅为顾客(Customer)  4.将消息添加到框图中,完成顺序图设计.  ①BrowseWebSite的顺序图:

  ②AddItemtoShoppingCart(添加物品到购物推车)的顺序图:

    图2—4向购物推车添加商品顺序图    四.评分标准  1.仅完成“学生选课系统”的指定六个用例的顺序图者,可得60-70分;  2.完成1.指定内容,同时完成“图书管理系统”和“网上购物系统”指定内容者,可得到80分以上;  3.完成1和2指定内容,并有创造性者可得90分以上成绩。

          8  实验指导说明书  上机实验创建类和类图  一.实验目的:

在Rose环境下创建类和类图,完成应用案例的类图设计。

二.实验内容:

(一)创建类  1)根据“需求陈述”提炼对象和类2)分析对象,并将对象抽象成类

(二)创建类图  1)建立类之间的关系2)创建类图。

综合应用练习三.操作步骤:

(一)创建类  1.右击LogicalView  2.选New?

选ClassDiagram,再在ClassDiagram下创建类;3.给类命名(比如Course)  4.增加属性(右击框途中的类,选NewAttribute)5.添加类操作(右击框途中的类,选NewOperation)  建立类之间的关系  1.关联关系(使用按钮工具,如果当前工具栏中没有,右击工具栏,然后添加相关按钮)1)单项关联2)双向关联  2.聚集和组合(先建立关联,再右击靠近“整体”方的关联线,选Aggregate)3.泛化关系4.依赖关系  四.实例练习  1.举实例说明类之间的关联关系。

包括:

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

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

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

包括:

单继承、多继承。

        9  实验指导说明书  4.举实例说明接口与实现,抽象类与子类等。

  五.综合应用:

  以“学生选课系统”为例建立类图1.“学生选课系统”涉及到的类:

  1)Database类属性:

  dbPath:

String  操作:

(以下列出部分操作)  QueryCourse()  AddCourse()  DeleteCourse()GetdbPath()  SetdbPath()  ?

?

2)Student类属性:

  studentID:

Int  studentName:

String操作:

  getStudentID()  setStudentID()getStudentName()  setStudentName()Registrar类属性:

  registrarName:

String  regID:

Int操作:

  getregID()  setregID()  getregistrarName()  setregistrarName()3)Course类属性:

  courseID:

Int  courseName:

Stringclassroom:

String  teacher:

string操作:

  createCourse()  getCourseID()  setCourseID()  getTeacher()  4)Control类属性:

(无)操作:

  verifyCourse()  canAdd()    queryCourse()  confirmDelete()  canSelect()  queryAssociation()5)Form类属性:

  (接口无属性)操作:

  getCourseInfo()  showSuccessInfo()  showConfirmPage()displayCourseList()  2.创建上述类之间的关系;          10

  

      实验指导说明书  ①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?

Generatecode  ⑤代码存放的路径(CLASSPATHentries)可以设为d:

\\code或编辑(Edit)一个路径名.生成的代码如下:

  //Sourcefile:

d:

\\\\code\\\\            11  实验指导说明书    publicclassCourse{  privateStringcourseName;  privateIntcourseID;  privateStringclassRoom;  /**  *@returnBoolean  */  publicBooleangetCourseID()  {  }  /**  *@returnBoolean  */  publicBooleangetCourseName()  {  }  /**  *@returnBoolean  */  publicBooleancreateCourse()  {  }  /**  *@returnBoolean  */  publicBooleandestroyCourse()  {  }  }    注意:

此例中已经对某些空格进行了压缩。

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

以“借书”为主题创建“图书管理系统”的类图  1.系统涉及到的类  ①Title类  属性:

name:

String  ISBN:

String  Numberofitem:

Int  操作:

Add()  Delete()  Update()  ②BorrowerInformation类  属性:

name:

String  address:

String  tel:

String操作:

Find()  Query()  delete()③Item类属性:

ID:

Int  操作:

Add()  Delete()  FindOnTitle()④Loan类  属性:

time:

Date          12  实验指导说明书  操作:

Create()  Destroy()  ⑤Reservation类属性:

time:

Date  操作:

Create()  Destroy()  Find()2.上述类的关联  1)Title与BorrowerInformation之间的关联    2)Title与Item之间的关联(学生自己填写)  3)Item与BorrowerInformation之间的关联(学生自己填写)4)完成类图的设计(学生自己完成)  创建“网上购物系统”中与“AddItemtoShoppingCart”对应的类图  1.分析“AddItemtoShoppingCart”涉及到的类  1)CartInterface(或Interface)类属性:

  操作:

  AddItem()2)CartManager(或CartMgr)类属性:

  (无)操作:

  AddItem()3)ProductMgr类属性:

  (无)  操作:

  GetProduct()  4)Product类属性:

  ProductID:

Int  ProductName:

String  UnitPrice:

Double  操作:

  FindProduct()6)CartItem类  属性:

  NumberofItemsinCart:

Int操作:

  AddItemtoCart()  2.建立关系,(增加版型)创建类图。

3.创建构件图4.类映射到构件;见实验          13  实验指导说明书  5.生成Java代码创建类图补充实例练习A.根据以下每一组类绘制类图  1)学校、操场、校长、学校人员、教师、食堂(diningroom)、设施、教室、学生、机房、计算机、课桌、椅子、书本。

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

  B.给每个类添加属性和方法  C.绘制一个类模型来描述“无向图”。

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

每个边均连接顶点对。

D.绘制一个类模型来描述“有向图”。

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

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

  E.以医院管理信息系统为背景根据以下类构造类图:

  医院、门诊部、药房、住院部、病人、病房、病床(Bed)、住院病人(Inpatient)、门诊病人(Outpatient)、药品(Drug)、用药纪录F.选择填空:

    供选择的答案①——⑤  Circle,Arc,Point,Polygon,Line  G.给上述5个类添加属性和方法        14  实验指导说明书  H.某音像出租店,要记录图书、唱碟和客户租借信息。

现已设计了两个类Book和CD如下:

    经过分析,上述两个类重复内容较多,于是又打算定义一个Loan类,表示Book类和CD类的重复部分。

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

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

六.评分标准  1.能根据“学生选课系统”、“图书管理系统”的需求陈述正确找出类、正确识别类的主要属性和操作、并建立类与类之间的关系,并在上述基础上完成类图设计者,可得到80分;2.能正确完成创建类图补充实例练习者,能得到90以上分数。

  上机实验数据建模  一.实验目的:

UML数据库设计,对象模型和数据模型之间相互转换。

二.实验内容:

  1.应用UML元素及其关系来模拟数据库的模式、库结构、表结构、视图、域、索引、主键、外键、约束、触发器、存储过程,以及表与表之间的关系。

  2.以包为单位进行对象模型和数据模型之间的转换。

  3.在《Schema》下编写存储过程;并创建表的触发器。

  4.正向工程生成SQL源代码  三.实验过程:

数据建模  首先要设置参数:

Tools?

Options?

Notation标签在Default框中选Analysis  1.创建表  创建数据库对象          15

  

      实验指导说明书  .右击ComponentView并选DataModeler?

NewDatabase.默认名称DB_0  .右击DB_0并选OpenSpecification  .选定目标数据库,比如:

Oracle(或SQLServer2000等)创建模式(《Schema》)  .在LogicalView下创建名为《Schema》S_0模式  .右击LogicalView选DataModeler?

New?

Schema则自动创建《Schema》S_0.右击《Schema》S_0打开Specification,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1