中南大学软件体系结构实验二Word格式文档下载.docx
- 文档编号:17193309
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:10
- 大小:450.14KB
中南大学软件体系结构实验二Word格式文档下载.docx
《中南大学软件体系结构实验二Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《中南大学软件体系结构实验二Word格式文档下载.docx(10页珍藏版)》请在冰豆网上搜索。
1
实验类型:
3(1:
基础性2:
综合性3:
设计性4:
研究性)
实验要求:
1(1:
必修2:
选修3:
其它)
实验类别:
基础2:
专业基础3:
专业4:
一、实验目的
1.学习类图的绘制;
2.学习从系统需求中识别类,并构建相应的面向对象模型;
3.学习使用顺序图描述对象之间的交互;
4.学习使用活动图为业务流程建模;
5.学习使用PowerDesigner实现正向工程和逆向工程。
二、实验内容
1.根据以下描述绘制类图,再正向工程生成Java源代码(也可生成其他面向对象语言的源代码,如C++或C#等):
图形(Shape)可分为圆形(Circle)、矩形(Rectangle)、椭圆形(Ellipse)等具体图形,在Shape类中提供了一个抽象的draw()方法用于绘制图形,而在具体的图形类中实现该抽象draw()方法。
提供一个图形工厂类(ShapeFactory),该类提供一个静态方法createShape(chartype),其返回类型为Shape,参数type为所需绘制图形对应的代码,例如“c”表示圆形,“r”表示矩形,“e”表示椭圆形等,在createShape()方法中,可以使用条件语句来判断所需绘制图形的类型,并根据参数的不同返回不同的具体形状对象。
【注:
“创建关系”是一种特殊的“依赖关系”】
2.根据以下描述绘制类图:
某商场会员管理系统包含一个会员类(Member),会员的基本信息包括会员编号、会员姓名、联系电话、电子邮箱、地址等,会员可分为金卡会员(GoldMember)和银卡会员(SilverMember)两种,不同类型的会员在购物时可以享受不同的折扣;
每个会员可以拥有一个或多个订单(Order),每一个订单又可以包含至少一条商品销售信息(ProductItem),商品销售信息包括订单编号、商品编号、商品数量、商品单价和折扣等;
每一条商品销售信息对应一类商品(Product),商品信息包括商品编号、商品名称、商品单价、商品库存量、商品产地等。
3.某基于C/S的即时聊天系统的注册和登录模块功能描述如下:
(1)注册功能:
用户通过注册界面(RegisterForm)输入新帐号,系统检测该帐号是否已存在,如果不存在则可注册成功,否则提示“帐号已存在”,用户再次输入帐号;
用户输入其他个人信息;
系统保存用户个人信息;
用户个人信息包括帐号、密码、姓名、性别、年龄、电话、电子邮箱等。
(2)登录功能:
用户通过登录界面(LoginForm)输入账号和密码,系统将输入的账号和密码与存储在数据库(User)表中的用户信息进行比较,验证用户输入是否正确,如果输入正确则进入主界面(MainForm),否则提示“输入错误”。
现对这两个模块进行设计,要求如下:
(1)根据以上描述绘制类图,要求分析出每个类中的主要方法;
(2)需要提供独立的业务逻辑类和数据访问类,考虑到数据库的移植性,需提供抽象的数据访问接口;
(3)尽量使用数据传输对象(DTO)来传递参数,减少方法中参数的个数。
4.某运输公司决定为新的售票机开发车票销售的控制软件,下图给出了售票机的面板示意图以及相关的控制部件。
售票机相关部件的作用如下所述:
(1)目的地键盘用来输入行程目的地的代码(例如,200表示总站)。
(2)乘客可以通过车票键盘选择车票种类(单程票、多次往返票和座席种类)。
(3)继续/取消键盘上的取消按钮用于取消购票过程,继续按钮允许乘客连续购买多张票。
(4)显示屏显示所有的系统输出和用户提示信息。
(5)插卡口接受MCard(现金卡),硬币口和纸币槽接受现金。
(6)打印机用于输出车票。
(7)所有部件均可实现自检并恢复到初始状态。
现采用面向对象方法开发该系统,使用UML进行建模,绘制该系统的核心类图并尽量分析出每一个类所包含的方法。
5.根据如下描述绘制顺序图:
在某在线订房系统中,顾客输入房间套数、房间类型、入住时间、入住天数等信息,系统显示符合要求的房间号;
顾客确定预订的房间,系统显示预付订金信息;
顾客输入信用卡账号和密码,系统请求银行信用卡系统提供支付服务;
银行信用卡系统验证用户信息并返回验证通过和支付成功消息;
顾客请求系统打印预订单和收据,系统打印相关资料;
预订结束。
6.根据以下Java源代码绘制相应的顺序图:
publicclassSale{
privateList<
SalesProductItem>
productItems=newArrayList<
;
publicMoneygetTotal(){
Moneytotal=newMoney();
MoneysubTotal=null;
for(SalesProductItemitem:
productItems){
subTotal=item.getSubTotal();
total.add(subTotal);
}
returntotal;
}
}
7.根据以下描述绘制某订餐系统中顾客订餐过程的活动图(要求绘制泳道):
(1)顾客请求查看菜单;
(2)系统显示菜单和今日特价;
(3)顾客选菜;
(4)系统显示订单和价格;
(5)顾客确认订单;
(6)系统显示可送餐时间;
(7)顾客指定送餐时间、地点和支付方式;
(8)系统确认接受订单,然后发送Email给顾客以确认订餐,同时发送相关订餐信息通知给餐厅员工。
三、实验要求
1.熟练使用PowerDesigner绘制类图、顺序图和活动图;
2.熟练使用PowerDesigner实现正向工程和逆向工程;
3.使用UML2.X中的标准图符绘制图形,对于一些较为复杂的图形,适当增加文字注释来进行说明;
4.所绘制图形必须正确、完整,需具有较好的可读性,注意图形中图符和文字大小及布局。
四、实验步骤
1.根据描述绘制类图并正向工程生成源代码;
2.分析商场会员管理系统中实体类之间的关系,绘制相应的类图;
3.分析某基于C/S的即时聊天系统的注册和登录模块的功能,绘制对应的类图;
4.分析车票销售控制系统,绘制该系统的核心类图;
5.分析在线订房系统中顾客与系统之间的交互过程,绘制相应的顺序图;
6.根据源代码绘制相应的顺序图;
7.分析订餐系统中顾客订餐过程的流程,绘制相应的活动图。
五、实验结果
1.类图:
源代码:
publicabstractclassShape{
/**@pdOid4e18c402-38a0-4869-bec7-658a847742ab*/
publicabstractshapedraw();
publicclassCircleextendsShape{
/**@pdOid12826a24-2209-4247-ae46-e150a83cbaf5*/
publicshapedraw(){
//TODO:
implement
returnnull;
publicclassEllipseextendsShape{
/**@pdOidc0193d4f-4de9-4f6b-a6fb-738058c59885*/
publicclassRectangleextendsShape{
/**@pdOid9ea9c5c1-6732-40dd-b2e3-5a7f55a70f4e*/
publicclassShapeFactory{
/**@paramtype
*@pdOid91de983e-cac3-49d4-a9c3-f5d9df011e6a*/
publicshapecreateShape(chartype){
2.商场会员管理系统类图:
3.即时聊天系统类图:
4.车票销售控制系统类图:
5.在线订房系统顺序图:
6.顺序图:
7.订餐系统活动图:
六、实验小结
这次试验过程中遇到了以下的问题:
1.类之间的关系不是十分的熟悉
2.类的属性和函数设计接触较少,写起来很吃力
3.顺序图中调用消息和发送消息的区别在课堂上充分把握
解决方法:
1.复习相关PPT
2.在网上查找相关知识的博客
3.和同学讨论交流
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中南 大学 软件 体系结构 实验