1、?软件体系结构?实验报告工程名称UML实验专业班级软件1403学号 3901140302姓名温睿诚1. 安装 PowerDesignerl 5.X;2. 熟悉PowerDesignerl5.X的常用功能;3. 分析实例场景,识别执行者;4. 识别用例及用例之间的关系;5. 使用PowerDesignerl5.X绘制用例图;6. 撰写用例文档;7. 创立用例追踪矩阵:8. 使用PowerDesignerl5.X绘制状态图;9. 使用PowerDesignerl5.X绘制活动图;10. 使用PowerDesignerl5.X绘制顺序图;11. 使用PowerDesignerl5.X绘制类图,并正向
2、工程生成源代码;12. 使用PowerDesignerl5.X绘制组件图;13. 使用PowerDesignerl5.X绘制部署图。五、实验结果1.酒店订房系统用例图:酒店订房系统用例图2.订餐系统用例图:订餐系统用例图3. 图书馆系统(Library System)用例图:图书馆系统网上信用卡管理系统CCMS的需求模型:用例图:网上,M电卡营淫系统CCMS姓理信用W申渚熊嘟人函燧拒绝函创建月报表统计上月交号额rr印月报表查言三报表登录言理个人信息记此易提交信用W申请 表处理信用卡激 活美/ME信用卡用户激活信用壬统计上月信用卡交易 情况i-clude关CCMS信用w用户查词个人信息/inc;
3、ude查词并核实其信用W交易记录及交易额使用信用卡进行交易用例描述文档:用例编号用例名执行者前蚩条件后健条件星本路绶111111提交信用卡田请非信用卡用户用户未办理信用 卡根行系统处理信用卡申 请,返回结果1 非信用卡用户埴写信用卡类型和申谄者基本信 息,提交系统系统处理请求,返回确认的或拒绝函112激活信用卡非信用卡用户非信用卡用户申 话信用卡系统发激活通知给用户吉 知其是否激活成功用户登荥系统,用信用卡号和密码激活该信用卡I 系统将激活通知发送给客户,言知吝户其信用卡: 是否祓成功地激活1311查看月报表信用卡用户信用卡用户登录 系统系统生成月报表系统为日个信用卡吝户创建一份月报表,对该客
4、户上; 月的1B用卡交易情况及交易艇彳我计用户查看月报表4看埋个人信息信用卡用户信用卡用户登荥系统修改个人信息用户管理个人信息5查看个人信息信用卡用户信用卡用户登荥无用户在线查询个人信息6记呆交易系统无无系统记荥信用卡客户使用信息卡诳行的每一笙交; 易使用信用卡遂行笙交 易信用卡用户无信用卡余额发生改变,系 统记录交易信用卡用户使用信用卡迸行望交易1L._8查询并核实其信用卡 交易记录及交易横信用卡用户信用卡用户登录 系统无信用卡用户登询并核实且信用卡交易记录及交易!系统显示交易记录及交易新用例追踪矩阵:提交信用卡申请波活信用卡查看月报表首理个人信息查看个人信息记录交易使用信用卡进查询并核实其
5、信用卡 行笔交易交易记荥及交易额信用卡申请月报表生成4信用卡者 户信息管 理信用卡交易 记录交易信息查ifil4. 销售信息管理系统中订单对象的状态图:仞归卢丁单/竺 沏露严修改订单/changeexit / cancel处理订单【订单无误/ deal备货【备货完毕喜户已姮曲关闭6.航空公司会员积分系统中会员对象的状态图:年末累积里程漓25000英里但不足50000英里7.订餐系统活动图:.版客8.在线拍卖网站拍卖流程活动图:笑万9.在线订房系统顺序图:磴订房系统早Wk订施息确定付订舞息输入银彳返回验证通过,支付成功信息请求打印订单和收据实验成绩:批阅教师:2021年 12月 4日实验1 UM
6、L实验11.类图:+ draw 0 : voidShape(abstract)CircleEllipseTRectangle+ draw 0 : void+ draw 0 : void+ draw 0 : voidShapeFactory+ createShape (char type) : Shape+ createShape (char type) : Shape+ createShape (char type) : Shapeswitch (type)(case *c:return new CircleQ; case r:return new RectangleO; case e:ret
7、urn new EllipseO; default:return new CircleQ;源代码:/* Module: Shape.java* Author: 温容诚* Purpose: Defines the Class Shape*/import java.util.*;/* pdOid d441 b20d-f4d2-4238-a6c4-698a591 b9d33 */public abstract class Shape /* pdOid 4f77af56-5595447b-998e-2d6e3f62e8f6 */ public abstract void draw();/* Modul
8、e: Circle.java* Author: 温容诚* Purpose: Defines the Class Circleimport java.utiL*;/* pdOid aa5d04eb-1082-4103-b912-2cde4e6b88b7 */ public class Circle extends Shape /* pdOid 8e7e9461 -d 13c-48b 1 -a4bb-53de 19fc678e */ public void draw() /TODO: implement* Module: Rectangle.java* Author:温容诚* Purpose: D
9、efines the Class Rectangle*/import java.util.*;/* pdOid 0b3e43a3-2821 -4f6a-a11 b-ed 15b854ea38 */public class Rectangle extends Shape (/* pdOid f6563643-07dc-48c5-8fba-3f20c86b524f*/public void draw() /TODO: implement/* Module: Ellipse.java* Author:温容诚* Purpose: Defines the Class Ellipse*/import ja
10、va.util.*;/* pdOid 783783ab-b83e-4867-bfbe-f6b8e8136b2c */ public class Ellipse extends Shape /* pdOid e2c 119a4-ba80-488f-8e 1 d-cn83bO85fc6 */public void draw() /TODO: implement/*木*木*木*才*木*木*木*木*木*木才*木*木*木*木*次*木* Module: ShapcFactory.java* Author:温容诚* Purpose: Defines the Class ShapeFactoryimport
11、java.util.*;/* pdOid 122b 1198-37dd-4491 -9d56-8ee 1443e7638 */ public class ShapeFactory /* param type* pdOid eb39a 1 ea-432a-4013-b910-5b 1994c441 a7 */ public static Shape createShape(char type) /TODO: implementswitch(typc)(case c:return new Circlc();case r:return new Rectangle。;case e:return new
12、 Ellipse();default:return new CircleO;12.商场会员管理系统类图:13 .即时聊天系统类图:14.源代码文件的组件图:15.电子商务网站的部署图/客户计算机浏览器/数据库服务器系统-六、实验总结/7银行服务器网上银行系统/麋员计算机后台管理程序/实验学时:4每组人数:L实验类型:3实验要求:I实验类别:3实验类型:3实验要求:I实验类别:3实验类型:3实验要求:I实验类别:3(1:根底性2:综合性(1:必修 2:选修(I:根底2:专业根底3:设计性4:研究性)3:其它)3:专业 4:其它一、实验目的1. 学会安装和使用建模工具PowerDesigner,熟
13、练使用PowerDesigner绘制常用的UML 图形,熟悉常用的UML建模符号;2. 构建用例模型来描述软件需求,包括绘制用例图,撰写用例文档并制作用例检查矩 阵;3. 学习使用状态图描述对象的状态及转换;4. 学习使用活动图为业务流程建模;5. 学习使用顺序图描述对象之间的交互;6. 学习类图的绘制;7. 学习从系统需求中识别类,并构建相应的面向对象模型:8. 学习使用PowerDesigner实现正向工程和逆向工程;9. 学习使用组件图描述每个功能所在的组件位置以及它们之间的关系;10. 学习使用部署图描述软件中各个组件驻留的硬件位置以及这些硬件之间的交互关 系。二、实验内容1. 某酒店
14、订房系统描述如E(1) 顾客可以选择在线预订,也可以直接去酒店通过前台效劳员预订;(2) 前台效劳员可以利用系统直接在前台预订房间;(3) 不管采用哪种预订方式,都需要在预订时支付相应订金;(4) 前台预订可以通过现金或信用卡的形式进行订金支付,但是网上预订只能通过信用 卡进行支付:(5) 利用信用卡进行支付时需要和信用卡系统进行通信;(6) 客房部经理可以随时查看客房预订情况和每口收款情况。绘制该酒店订房系统的用例图。2. 根据以下场景绘制用例图:某企业为了方便员工用餐,为企业餐厅开发了一个订餐系统(COS: Cafeteria Ordering System),企业员工可通过企业内联网使用
15、该系统。该系统功能描述如下:(1) 企业的任何员工都可以查看菜单和今FI特价;(2) 系统的顾客是注册到系统的员工,可以在线订餐以下操作均需先登录)、注册工 资支付、修改订餐信息和删除订餐信息,在注册工资支付时需要通过工资系统进行身份验证;(3) 餐厅员工是特殊的顾客,可以进行备餐系统记录备餐信息)、生成付费请求和请 求送餐,其中对于注册使用工资支付的顾客生成付费请求并发送给工资系统;(4) 菜单管理员是餐厅员工的一种,可以管理菜单;(5) 送餐员也是餐厅员工的种,可以打印送餐说明、记录送餐信息(如送餐时间)以 及记录收费(对于没有注册工资支付的顾客,由送餐员收取现金后记录)。3. Draw
16、a use case diagram for the following library system:The library stores various items (hat can be borrowed, including books and journals. Books can be borrowed by both staff and students, but only staff members can borrow journals. When a user borrows a book, their loan details arc checked to ensure
17、that they have no overdue books on loan, and have not already borrowed the maximum permitted number of books.Users can check their own loan details at any time. Librarians arc permitted to check the loan details of any user.Library users can reserve books that are currently out on loan. If three res
18、ervations have already been made for a given book, and a further reservation is made, a new copy will be ordered by the librarian.4. 某银行准备开发一个网上信用卡管理系统CCMS,该系统的根本功能为:(1) 信用卡申请。非信用卡客户,说明所要申请的信用卡类型及申请者的根本信息,提 交CCMS登录。如果信用卡申请被银行接受,客户会收到银行确实认函,并告知用户信用 卡的有效期及信贷限额;否那么银行会发送一封拒绝函给该客户。客户收到确认函后,需再 次登录CCMS,用信用
19、卡号和密码激活该信用卡。激活操作结束后,CCMS将激活通知发 送给客户,告知客户其信用卡是否被成功地激活。(2) 月报表生成。在每个月第一天的零点,CCMS为每个信用卡客户创立一份月报表, 对该客户上月的信用卡交易情况及交易额进行统计。信用卡客户可以登录CCMS查看月报 表,也可以要求CCMS提供打印出的月报表。(3) 信用卡客户信息管理。信用卡客户的个人信息可以在CCMS中进行在线的管理。 每个信用卡客户可以在线查询其个人信息。(4) 信用卡交易记录。信用卡客户使用信息卡进行的每一笔交易都会记录在CCMS中。(5) 交易信息查询。信用卡客户可以登录CCMS查询并核实其信用卡交易记录及交易 额
20、。构造该系统的用例模型,要求绘制用例图,编写相应的用例文档,还需提供用例追踪矩 阵。5. 根据以下描述绘制状态图:某销售信息管理系统中销售部员工可以提交订单,刚提交的订单为“初始状态;系统 管理员可以处理订单,如果订单无误,那么修改订单为“备货状态,否那么将订单退还给 提交订单的销售部员工修改,员工此时可以取消订单;仓库管理员备货完毕后可将订单状态 改为“发货”状态;销售部员工在确认客户己经收到货物后,可将订单改为“关闭”状态。6, 某航空公司会员积分系统描述如下:乘客只要办理该航空公司的会员卡,即可成为普卡会员,普卡会员可以升级到银卡会员 或金卡会员。非会员不能积累里程数。每年年末,系统根据
21、会员在本年度累积的里程数对下 一年会员等级进行调整。普卡会员在一年内累积的里程数假设满25000英里但缺乏5000() 英里,那么自动升级为银卡会员;假设累积的里程数在50000英里以上,那么自动升级为金 卡会员。银卡会员在一年内累积的里程数假设在50000英里以上,那么自动升级为金卡会员。 假设一年内没有到这对应级别要求的里程数,那么自动降低会员等级。金卡会员一年内累积 的里程数假设缺乏25000英里,那么自动降级为普卡会员;假设累积的里程数到达25000 英里,但是缺乏5000()英里,那么自动降级为银长会员。银卡会员一年内累积的里程数假设 缺乏25000英里,那么自动降级为普卡会员。请根
22、据以上描述绘制会员对象的状态图。7. 根据以下描述绘制某订餐系统中顾客订餐过程的活动图要求绘制泳道):(1) 顾客请求查看菜单;(2) 系统显示菜单和今日特价;(3) 顾客选菜;(4) 系统显示订单和价格;(5) 顾客确认订单;(6) 系统显示可送餐时间;(7) 顾客指定送餐时间、地点和支付方式;(8) 系统确认接受订单,然后发送Email给顾客以确认订餐,同时发送相关订餐信息通 知给餐厅员工。8. 某在线拍卖网站的拍卖流程描述如下:(1) 卖方在网站上发起一次拍卖,并设置本次拍卖的起拍价。(2) 卖方确定拍卖标的以及拍卖标的保存价假设在拍卖时间结束时,所有出价均低于 拍卖标的保存价,那么本次
23、拍卖失败)。(3) 卖方在网站上发布本次拍卖品的介绍。(4) 买方参与拍卖,给出竞拍价,多个买方可以出价。(5) 卖方选择接受一个竞拍价作为成交价,买方在线支付,结束拍卖。根据以上描述绘制活动图(要求绘制泳道)。9. 根据如下描述绘制顺序图:在某在线订房系统中,顾客输入房间套数、房间类型、入住时间、入住天数等信息,系 统显示符合要求的房间号;顾客确定预订的房间,系统显示预付订金信息;顾客输入信用卡 账号和密码,系统请求银行信用卡系统提供支付效劳;银行信用卡系统验证用户信息并返回 验证通过和支付成功消息;顾客请求系统打印预订单和收据,系统打印相关资料;预订结束。10. 根据以下Java源代码绘制
24、相应的顺序图: public class Sale (private List productitems = new ArrayList;public Money getTotaR) Money total = new MoneyO;Money subTotal = null;fbr (SalesProductltem item : productitems) subTotal = item.getSubTotal();total.add(subTotal);return total;I11. 根据以下描述绘制类图,再正向工程生成Java源代码(也可生成其他面向对象语言 的源代码,如C+或C#
25、等):图形(Shape)可分为圆形(Circle)短形(Rectangle)、椭圆形(Ellipse)等具体图形,在Shape 类中提供了一个抽象的draw。方法用于绘制图形,而在具体的图形类中实现该抽象draw() 方法。提供-个图形工厂类(ShapeFactory),该类提供一个静态方法createShape(char type),其 返回类型为Shape,参数type为所需绘制图形对应的代码,例如“c”表示圆形,“广表示 矩形,“e”表示椭圆形等,在createShapeO*法中,可以使用条件语句来判断所需绘制图 形的类型,并根据参数的不同返回不同的具体形状对象。【注:“创立关系是-种特
26、殊的 “依赖关系】12. 根据以下描述绘制类图:某商场会员管理系统包含一个会员类(Member),会员的根本信息包括会员编号、会员 姓名、联系 、电子邮箱、地址等,会员可分为金卡会员(GoldMember)和银卡会员 (SilverMember)两种,不同类型的会员在购物时可以享受不同的折扣;莅个会员可以拥有一 个或多个订单(Order),每一个订单又可以包含至少一条商品销传信息(Productitem),商品销 售信息包括订单编号、商品编号、商品数量、商品单价和折扣等;每一条商品销售信息对应 一类商品(Product),商品信息包括商品编号、商品名称、商品单价、商品库存量、商品产地 等。13
27、. 某基于C/S的即时聊天系统的注册和登录模块功能描述如下:(1) 注册功能:用户通过注册界面(RegistcrForm)输入新帐号,系统检测该帐号是否己存 在,如果不存在那么可注册成功,否那么提示“帐号已存在,用户再次输入帐号;用户输 入其他个人信息;系统保存用户个人信息;用户个人信息包括帐号、密码、姓名、性别、年 龄、 、电子邮箱等。(2) 登录功能:用户通过登录界面(LoginForm)输入账号和密码,系统将输入的账号和密 码与存储在数据库(User)表中的用户信息进行比拟,验证用户输入是否正确,如果输入正确 那么进入主界面(MainForm),否那么提示“输入错误”。现对这两个模块进行
28、设计,要求如下:(1) 根据以上描述绘制类图,要求分析出每个类中的主要方法;(2) 需要提供独立的业务逻辑类和数据访问类,考虑到数据库的移植性,需提供抽象的 数据访问接口;(3) 尽量使用数据传输对象(DTO)来传递参数,减少方法中参数的个数。14. 根据以下描述,使用组件图对所述源代码文件进行建模:Help.h 是一个头文件,被 Calculate.cpp 和 Filter.cpp 引用,而 Calculate.cpp 又引用了 Filter.cppo 此外,Filter.cpp 还引用了头文件 FileReader.h, Display.cpp 又依赖于 Calculate.cpp 的运算
29、结果。15. 某电了商务网站的硬件部署情况如下:(1) 客户可通过浏览器访问该网站,以实现查询商品、在线购物、注册、登录等功能;(2) 电子商务网站的界面文件和业务逻辑代码以war文件的方式部署在一台Web效劳器 上,该效劳器使用Tomcat作为Web效劳器中间件;(3) 为了降低Web效劳器的负载,该网站的数据库部署在另一台效劳器中,Web效劳器 通过网络连接数据库效劳器;(4) 为了实现在线支付功能,网站需要与银行提供的网上银行系统进行通信;(5) 考虑到系统的平安性,系统的后台管理通过C/S方式来实现,后台管理程序打包成 jar文件,管理员在自己的工作电脑中通过该jar文件中的数据库访问模块直接访问数据库效 劳器,以实现对网站数据的增删改查等操作和管理。根据以上描述绘制该电子商务网站的部署图。三、实验要求1. 正确安装 PowcrDcsigncr;2. 熟练使用PowerDesigner绘制用例图、状态图、活动图、顺序图、类图、组件图和部 署图;3. 需按照用例建模的流程,提供用例图、用例文档和用例追踪矩阵;4. 熟练使用PowerDesigner实现正向工程和逆向工程;5. 使用UML2.X中的标准图符绘制图形,对于一些较为复杂的图形,适当增加文字注 释来进行说明;6. 所绘制图形必须正确、完整,需具有较好的可读性,注意图形中图符和文字大小及 布局。四、实验步骤