欢迎来到天天文库
浏览记录
ID:44774022
大小:890.74 KB
页数:17页
时间:2019-10-28
《实验2UML实验(2)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实用《软件体系结构》实验报告项目名称UML实验(2)专业班级工科试验班(软件)1201学号3903120118姓名杨铮实验成绩:批阅教师:2014年11月19日文档实用实验2UML实验(2)实验学时:2每组人数:1实验类型:3(1:基础性2:综合性3:设计性4:研究性)实验要求:1(1:必修2:选修3:其它)实验类别:3(1:基础2:专业基础3:专业4:其它)一、实验目的1.学习类图的绘制;2.学习从系统需求中识别类,并构建相应的面向对象模型;3.学习使用顺序图描述对象之间的交互;4.学习使用活动图为业务流程建模;5.学习使用Powe
2、rDesigner实现正向工程和逆向工程。二、实验内容1.根据以下描述绘制类图,再正向工程生成Java源代码(也可生成其他面向对象语言的源代码,如C++或C#等):图形(Shape)可分为圆形(Circle)、矩形(Rectangle)、椭圆形(Ellipse)等具体图形,在Shape类中提供了一个抽象的draw()方法用于绘制图形,而在具体的图形类中实现该抽象draw()方法。提供一个图形工厂类(ShapeFactory),该类提供一个静态方法createShape(chartype),其返回类型为Shape,参数type为所需绘制
3、图形对应的代码,例如“c”表示圆形,“r”表示矩形,“e”表示椭圆形等,在createShape()方法中,可以使用条件语句来判断所需绘制图形的类型,并根据参数的不同返回不同的具体形状对象。【注:“创建关系”是一种特殊的“依赖关系”】2.根据以下描述绘制类图:文档实用某商场会员管理系统包含一个会员类(Member),会员的基本信息包括会员编号、会员姓名、联系电话、电子邮箱、地址等,会员可分为金卡会员(GoldMember)和银卡会员(SilverMember)两种,不同类型的会员在购物时可以享受不同的折扣;每个会员可以拥有一个或多个订
4、单(Order),每一个订单又可以包含至少一条商品销售信息(ProductItem),商品销售信息包括订单编号、商品编号、商品数量、商品单价和折扣等;每一条商品销售信息对应一类商品(Product),商品信息包括商品编号、商品名称、商品单价、商品库存量、商品产地等。3.某基于C/S的即时聊天系统的注册和登录模块功能描述如下:(1)注册功能:用户通过注册界面(RegisterForm)输入新帐号,系统检测该帐号是否已存在,如果不存在则可注册成功,否则提示“帐号已存在”,用户再次输入帐号;用户输入其他个人信息;系统保存用户个人信息;用户个
5、人信息包括帐号、密码、姓名、性别、年龄、电话、电子邮箱等。(2)登录功能:用户通过登录界面(LoginForm)输入账号和密码,系统将输入的账号和密码与存储在数据库(User)表中的用户信息进行比较,验证用户输入是否正确,如果输入正确则进入主界面(MainForm),否则提示“输入错误”。现对这两个模块进行设计,要求如下:(1)根据以上描述绘制类图,要求分析出每个类中的主要方法;(2)需要提供独立的业务逻辑类和数据访问类,考虑到数据库的移植性,需提供抽象的数据访问接口;(3)尽量使用数据传输对象(DTO)来传递参数,减少方法中参数的个
6、数。4.某运输公司决定为新的售票机开发车票销售的控制软件,下图给出了售票机的面板示意图以及相关的控制部件。文档实用售票机相关部件的作用如下所述:(1)目的地键盘用来输入行程目的地的代码(例如,200表示总站)。(2)乘客可以通过车票键盘选择车票种类(单程票、多次往返票和座席种类)。(3)继续/取消键盘上的取消按钮用于取消购票过程,继续按钮允许乘客连续购买多张票。(4)显示屏显示所有的系统输出和用户提示信息。(5)插卡口接受MCard(现金卡),硬币口和纸币槽接受现金。(6)打印机用于输出车票。(7)所有部件均可实现自检并恢复到初始状态
7、。现采用面向对象方法开发该系统,使用UML进行建模,绘制该系统的核心类图并尽量分析出每一个类所包含的方法。5.根据如下描述绘制顺序图:文档实用在某在线订房系统中,顾客输入房间套数、房间类型、入住时间、入住天数等信息,系统显示符合要求的房间号;顾客确定预订的房间,系统显示预付订金信息;顾客输入信用卡账号和密码,系统请求银行信用卡系统提供支付服务;银行信用卡系统验证用户信息并返回验证通过和支付成功消息;顾客请求系统打印预订单和收据,系统打印相关资料;预订结束。6.根据以下Java源代码绘制相应的顺序图:publicclassSale{pr
8、ivateListproductItems=newArrayList;publicMoneygetTotal(){Moneytotal=newMon
此文档下载收益归作者所有