版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件体系结构实验报告项目名称 UML实验(2)专业班级 工科试验班(软件)1201学 号 18姓 名 杨 铮实验成绩:批阅教师:2014年11 月 19 日实验2 UML实验(2)实验学时:二每组人数:_j实验类型:二 (1:基础性 2 :综合性 3 :设计性4 :研究性)实验要求:J (1:必修 2 :选修 3 :其它)实验类别:3(1:基础 2 :专业基础 3 :专业 4 :其它)一、实验目的1 .学习类图的绘制;2 .学习从系统需求中识别类,并构建相应的面向对象模型;3 .学习使用顺序图描述对象之间的交互;4 .学习使用活动图为业务流程建模;5 .学习使用PowerDesigner实现正
2、向工程和逆向工程。二、实验内容1 .根据以下描述绘制类图,再正向工程生成 Java源代码(也可生成其他面向对象语言的源代码,如C+或C#):图形(Shape)可分为圆形(Circle)、矩形(Rectangle)、椭圆形(Ellipse)等具体图形,在Shape类中提供了一个抽象的draw()方法用于绘制图形,而在具体的图形类中实现该抽象draw()方法。提供一个图形工厂类(ShapeFactory),该类提供一个静态方法createShape(chartype),其返回类型为 Shape,参数type为所需绘制图形对应的代码,例如“c”表示圆形,“r”表示矩形,“e”表示椭圆形等,在 cre
3、ateShape()方法中,可以使用条件语句来判断 所需绘制图形的类型,并根据参数的不同返回不同的具体形状对象。【注:“创建关系”是一种特殊的“依赖关系”】2 .根据以下描述绘制类图:某商场会员管理系统包含一个会员类(Member),会员的基本信息包括会员编号、会员姓名、联系电话、电子邮箱、地址等,会员可分为金卡会员(GoldMember)和银卡会员(SilverMember)两种,不同类型的会员在购物时可以享受不同的折扣;每个会员可以拥有一个或多个订单(Order) , 每一个订单又可以包含至少一条商品销售信息(ProductItem) , 商品销售信息包括订单编号、商品编号、商品数量、商品
4、单价和折扣等;每一条商品销售信息对应一类商品(Product) ,商品信息包括商品编号、商品名称、商品单价、商品库存量、商品产地等。3 . 某基于 C/S 的即时聊天系统的注册和登录模块功能描述如下:(1) 注册功能:用户通过注册界面(RegisterForm) 输入新帐号,系统检测该帐号是否已存在,如果不存在则可注册成功,否则提示“帐号已存在”,用户再次输入帐号;用户输入其他个人信息;系统保存用户个人信息;用户个人信息包括帐号、密码、 姓名、 性别、 年龄、电话、电子邮箱等。(2) 登录功能:用户通过登录界面(LoginForm) 输入账号和密码,系统将输入的账号和密码与存储在数据库(Use
5、r) 表中的用户信息进行比较,验证用户输入是否正确,如果输入正确则进入主界面(MainForm) ,否则提示“输入错误”。现对这两个模块进行设计,要求如下:(3) 根据以上描述绘制类图,要求分析出每个类中的主要方法;(4) 需要提供独立的业务逻辑类和数据访问类,考虑到数据库的移植性,需提供抽象的数据访问接口;(3)尽量使用数据传输对象(DTO)来传递参数,减少方法中参数的个数。4. 某运输公司决定为新的售票机开发车票销售的控制软件,下图给出了售票机的面板示意图以及相关的控制部件。一些操作说明显示屏打印机继续/取消键3 6 一9 2 5 一8 一。147硬币口目的地键盘车票彳建盘纸币槽售票机相关
6、部件的作用如下所述:(1)目的地键盘用来输入行程目的地的代码(例如,200表示总站)。(2)乘客可以通过车票键盘选择车票种类(单程票、多次往返票和座席种类)。(3)继续/取消键盘上的取消按钮用于取消购票过程,继续按钮允许乘客连续购买多张票。(4)显示屏显示所有的系统输出和用户提示信息。(5)插卡口接受MCard (现金卡),硬币口和纸币槽接受现金。(6)打印机用于输出车票。(7)所有部件均可实现自检并恢复到初始状态。现采用面向对象方法开发该系统,使用UMLS行建模,绘制该系统的核心类图并尽量分 析出每一个类所包含的方法。5 .根据如下描述绘制顺序图:在某在线订房系统中,顾客输入房间套数、房间类
7、型、入住时间、入住天数等信息,系 统显示符合要求的房间号; 顾客确定预订的房间, 系统显示预付订金信息; 顾客输入信用账号和密码,系统请求银行信用卡系统提供支付服务;银行信用卡系统验证用户信息并返回验证通过和支付成功消息;顾客请求系统打印预订单和收据,系统打印相关资料;预订结束。6 .根据以下Java源代码绘制相应的顺序图:public class Sale privateList<SalesProductItem>productitems=newArrayList<SalesProductItem>public Money getTotal() Money total
8、 = new Money();Money subTotal = null;for (SalesProductItem item : productitems) subTotal =();(subTotal);return total;7 .根据以下描述绘制某订餐系统中顾客订餐过程的活动图(要求绘制泳道):(1)顾客请求查看菜单;(2)系统显示菜单和今日特价;(3)顾客选菜;(4)系统显示订单和价格;(5)顾客确认订单;(6)系统显示可送餐时间;(7)顾客指定送餐时间、地点和支付方式;(8)系统确认接受订单,然后发送Email给顾客以确认订餐,同时发送相关订餐信息通 知给餐厅员工。三、实验要求1
9、. 熟练使用PowerDesigner绘制类图、顺序图和活动图;2. 熟练使用PowerDesigner 实现正向工程和逆向工程;3. 使用中的标准图符绘制图形,对于一些较为复杂的图形,适当增加文字注释来进行说明;4. 所绘制图形必须正确、完整,需具有较好的可读性,注意图形中图符和文字大小及布局。四、实验步骤1. 根据描述绘制类图并正向工程生成源代码;2. 分析商场会员管理系统中实体类之间的关系,绘制相应的类图;3. 分析某基于C/S 的即时聊天系统的注册和登录模块的功能,绘制对应的类图;4. 分析车票销售控制系统,绘制该系统的核心类图;5. 分析在线订房系统中顾客与系统之间的交互过程,绘制相
10、应的顺序图;6. 根据源代码绘制相应的顺序图;7. 分析订餐系统中顾客订餐过程的流程,绘制相应的活动图。五、实验结果1. 类图:源代码:,j Circle.java2014/11/12 17:03 JAVA 文件1 KBEllipse.java2014/11/12 17;03 JAVA 文件1 KR, Rectanglejava2014/11/12 17:03 JAVA 文件1 KB_ , Shape.java2014/11/12 17:03 JAVA 文件1 KBShapeFartory.java2014/11/12 17;14 JAVA 文件1 KB1 I f *,*,口* *,丰事* s
11、*s*s 9,2 *Module:Circle.java3 *Author;dell4 *Purpose:Defines theClass Circle5 *聿玄*玄*事*专*聿玄*,玄事玄本*今玄*本*今玄*友本本*;»玄本*<(玄*今本*京67 import java.util, j89 /* 鲫dOid ec2fl23b-385d-4da2-a560-fb4c289cl9a3 */1® u二一。lei s 5 CircleShape II /* pdOid 7771b0&8-8a51-4eea-9bea-c24c3aca2f85 */12 private
12、 CircLc circle;1314 / (SpdOid 37e7a237-4d52-46b8-b3b3-8c8885c8d4f2 */15 public wid draw() 1*6;)J TODO: impleirtent17 S力ope尸outory createShape(c);18 )1920 尸 ®pdOid 69fe7d4e-2479-4509-8f!&-7e8ccf5385de */21 public Circle getCircle() 22 return circle;23 )2425 /* (fiparam ne<ircle26 pdOid 95
13、»aa8e6-dfd3-4e0b-bbe5-9e5d652225ae */27 public void setCircle(Circte newCircLe) 28 circle = newCircle;29 13031 Module: Ellipse.javaAuthor: dellPurpose: Defines the Class Ellipse-ilo- t . u tMl.1/* (fipdOid 80494dc7-d945-44ad-91e5-d5dl7ie61dda 1 pj'c c'as5 Ellipse 二一Shape 尸 pdOid 917592c
14、3-a49e-4313-9931-3e9ce6b83e3e */ ELlipse ellipse;7* pdOid aceed631-d41e-4a01-9f73-fcdf86daO0fe / pub.ic void draw() T0g; iinplcincnL ShapeFactory createShape(e);)7* gpdOid bb2a6298-aecb-4eb7-b0fG-7357580f5dl4 *7 pub. ELLipse getEllipse() ellipse;)/* param newEllipse* pdQid 8062a3df-72ac-41b3-b39a-be
15、bef5c4a35c / public void setEllipse(Eltipse newELLipse) ellipse = newEllipse;)2 Module:Rectangle.java3 *Author:dell4 "Purpose:Defines the ClassRectangle5 *»*: *:(* 玄 * *x*6 i: D-ort -ava. uti.;891 pdOid dcc79246-e398-4704-8c2a-3d54190c856a */10 c u RectangleShape 11/* pdOid 727eeeb9-6908-4
16、248-albc-e727fecff2eb */12 r:v-RectangLe rectangle;1314 L pdOid ef386abd-2c96-42c7-aacc-12c8eaff9f67 */15 public void draw() 16 ShapeFactory.createShape(r)j17 ;1819 /* pdOid 36ced9af-711b-4011-8041-778156fd55Oe */20 public Rectangle getRectangleQ 21 return rectangle;22 2324 /* param newRectangle25*
17、pdOid a3e31ccb-2eat>-4797-a6de-87ddd0f5e84b */26 public void setRectangle(/?ectangte newRectangLe) 27 rectangle newRectangle;28 2936 1/卑2 *Module:Shape.java3 *Author:dell4 *Purpose:Defines theClass Shape6java.util.;89/* pdOid 9ca5182c-2125-46be-9409-b631ae41389a */10 二3二5-ll 3 / Shape 11/»
18、187; gpdOid 7-Fe8a7fa-dc25-40f3-8443-daff80e4df6d */12 public abstract void draw();1314 )2 * Module: Sha ip eFactory t j ava3 i * Author: dell4 r Purpose: Defines the Clas-s ShapeFactory5 ; *,*;*;*4iw: 6口 E FTs GJ T a i' =" 1HIB1- Bls9/* pdOid f_F2b&096-6e96-4-f7c-al2b -d9b3f36cedc3 *ZC
19、 ShpeFttory f11 f*x 如moiii type12 * pdoid If7elc4t-5aba-49S5-9f22ef4bB0O957cG13 u;:c stctic Shape createShape(char type)工14 / TODO: idpleirent1STif (type *ch)1617retjrn this getCircle();ISelse if (type ='")19 this, getflectanglef);20 else if (type = 'erthis. getEllipse() i|22 else23 ret
20、urn null;24 12526 12.商场会员管理系统类图:- FD:String- wNa:me;Sir ire- m西!smreiCrrwil:String- : Svir.Swir-g ,0 i日SHiiii¥5汨 Saira wflliSSr rf : i:l9* g gid产力”口 ifWam ()EErT之三黑£<%, qMC承Ngnn喙 jgct/Tel 1)eNT* wi)ig ntaVrM) golWneii .VEr-ia W :S|T母方TEi同;« 白" AHUMvCmH Ij命ei&iiH mWdX§
21、: ImriJBEbeff- dijoc-aiLFzjrdill . cc ub t- OfW: OW*r- EKbfrT: MgEXfJ 叱4<6:*用> / QSfiiiOQw-ntFQfSfl fl*ub lu+ -CSfrtEBf» EaGDEcccL.r1Fi3Shn i<dkublE»li 内dOn»|K6du=rteLi : pTMueti也:便1310向,* s«i*3P*rn4xPrm-uheni iPtod4iiSMcni n ewPtvduiQt,WetVpCSr ngpnme5rngp priceuni,paLi
22、aigillyirrt-生丸meBar ngpcujticnni. 视 EudMLiPnanu QlvtHH1 - «0e*IC Siring-pIDSiring-pMixnm-pprict douole 015HLin: =Tm* <OrtW!» x汨口;5w”$ e-fS-HctEf-nePI3)r vcic:tij&lPifene 03,叩 sOegA gt&gnD。SrlringSfflOrwlQ l&ving n«r«Oaw9j) 用id3.即时聊天系统类图:(1)fl.i彳 scdUse-r i DsefSTO lsetj boclEaiJs&roro4scxxji t . St 1 nig0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年大数据服务合同违约金问题及处理办法
- 2024版合法借款合同模板
- 2024年店铺经营权代理协议
- 2024年度电机维修配件销售与代理合同
- 2024年度安全环保施工与社区关系和谐协议
- 2024年保险合同(财产)
- 2024年度智能物流系统研发与实施合同
- 2024年度租赁合同标的及服务内容详细描述
- 对联课件名称教学课件
- 2024年卫星发射服务提供商与客户的发射合同
- 高中英语外研版高中选修7Scopeandsequence-英语长难句教学反思
- 科技金融项目银行工作总结汇报PPT模板
- 品质异常升级管理规定
- 实验室ISO17025认证推进计划表
- 1.春夏秋冬 教案(两课时)+说课稿+练习(含答案)+素材
- GB 31652-2021 食品安全国家标准 即食鲜切果蔬加工卫生规范
- DBJ41∕T 188-2017 城市轨道交通工程安全监测技术规程
- 新企业会计准则2022年(原文+指南+说明)企业会计准则指南2022
- 29 名著阅读 《西游记》 2022暑假小升初衔接精品导学导练(原卷版+解析版)
- 颅内压增高的临床表现PPT课件
- 接待与会务工作礼仪培训及规范-PPT课件
评论
0/150
提交评论