3901130721谭淇蔚实验一.docx
- 文档编号:12119518
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:55
- 大小:1.24MB
3901130721谭淇蔚实验一.docx
《3901130721谭淇蔚实验一.docx》由会员分享,可在线阅读,更多相关《3901130721谭淇蔚实验一.docx(55页珍藏版)》请在冰豆网上搜索。
3901130721谭淇蔚实验一
《软件体系结构》
实验报告
项目名称UML实验
专业班级软件工程1307班
学号3901130721
姓名谭淇蔚
实验成绩:
批阅教师:
2015年11月25日
实验1UML实验
实验学时:
4
每组人数:
1
实验类型:
3(1:
基础性2:
综合性3:
设计性4:
研究性)
实验要求:
1(1:
必修2:
选修3:
其它)
实验类别:
3(1:
基础2:
专业基础3:
专业4:
其它)
一、实验目的
1.学会安装和使用建模工具PowerDesigner,熟练使用PowerDesigner绘制常用的UML图形,熟悉常用的UML符号;
2.构建用例模型来描述软件需求,包括绘制用例图,撰写用例文档并制作用例检查矩阵;
3.学习使用状态图描述对象的状态及转换;
4.学习使用活动图为业务流程建模;
5.学习使用顺序图描述对象之间的交互;
6.学习类图的绘制;
7.学习从系统需求中识别类,并构建相应的面向对象模型;
8.学习使用PowerDesigner实现正向工程和逆向工程。
二、实验容
1.某酒店订房系统描述如下:
(1)顾客可以选择在线预订,也可以直接去酒店通过前台服务员预订;
(2)前台服务员可以利用系统直接在前台预订房间;
(3)不管采用哪种预订方式,都需要在预订时支付相应订金;
(4)前台预订可以通过现金或信用卡的形式进行订金支付,但是网上预订只能通过信用卡进行支付;
(5)利用信用卡进行支付时需要和信用卡系统进行通信;
(6)客房部经理可以随时查看客房预订情况和每日收款情况。
绘制该酒店订房系统的用例图。
2.根据以下场景绘制用例图:
某企业为了方便员工用餐,为企业餐厅开发了一个订餐系统(COS:
CafeteriaOrderingSystem),企业员工可通过企业联网使用该系统。
该系统功能描述如下:
(1)企业的任何员工都可以查看菜单和今日特价;
(2)系统的顾客是注册到系统的员工,可以在线订餐(以下操作均需先登录)、注册工资支付、修改订餐信息和删除订餐信息,在注册工资支付时需要通过工资系统进行身份验证;
(3)餐厅员工是特殊的顾客,可以进行备餐(系统记录备餐信息)、生成付费请求和请求送餐,其中对于注册使用工资支付的顾客生成付费请求并发送给工资系统;
(4)菜单管理员是餐厅员工的一种,可以管理菜单;
(5)送餐员也是餐厅员工的一种,可以打印送餐说明、记录送餐信息(如送餐时间)以及记录收费(对于没有注册工资支付的顾客,由送餐员收取现金后记录)。
3.根据以下场景绘制用例图:
某公司需开发一个反馈处理系统作为其CRM的一部分。
系统基本功能描述如下:
(1)客户可通过系统发布反馈信息;
(2)公司客户关系(CR)部门员工也可以在系统中记录反馈信息;
(3)业务部门的主管和员工均能看到本部门的反馈信息,但只有CR部门员工拥有修改与删除反馈的权限;
(4)对于部分需要调查以便验证其真实性并需要做相关处理的反馈信息,业务部门主管有权通过系统安排本部门员工调查及处理该反馈;
(5)反馈调查与处理完毕后,负责调查的员工可通过系统输入反馈的详细情况;
(6)公司高层可查看未决反馈统计报表和各业务部门的反馈统计报表;
(7)所有人员进入本系统需先登录。
4.Drawausecasediagramforthefollowinglibrarysystem:
Thelibrarystoresvariousitemsthatcanbeborrowed,includingbooksandjournals.Bookscanbeborrowedbybothstaffandstudents,butonlystaffmemberscanborrowjournals.Whenauserborrowsabook,theirloandetailsarecheckedtoensurethattheyhavenooverduebooksonloan,andhavenotalreadyborrowedthemaximumpermittednumberofbooks.
Userscanchecktheirownloandetailsatanytime.Librariansarepermittedtochecktheloandetailsofanyuser.
Libraryuserscanreservebooksthatarecurrentlyoutonloan.Ifthreereservationshavealreadybeenmadeforagivenbook,andafurtherreservationismade,anewcopywillbeorderedbythelibrarian.
5.某银行准备开发一个网上信用卡管理系统CCMS,该系统的基本功能为:
(1)信用卡申请。
非信用卡客户填写信用卡申请表,说明所要申请的信用卡类型及申请者的基本信息,提交CCMS登录。
如果信用卡申请被银行接受,客户会收到银行的确认函,并告知用户信用卡的有效期及信贷限额;否则银行会发送一封拒绝函给该客户。
客户收到确认函后,需再次登录CCMS,用信用卡号和密码激活该信用卡。
激活操作结束后,CCMS将激活通知发送给客户,告知客户其信用卡是否被成功地激活。
(2)月报表生成。
在每个月第一天的零点,CCMS为每个信用卡客户创建一份月报表,对该客户上月的信用卡交易情况及交易额进行统计。
信用卡客户可以登录CCMS查看月报表,也可以要求CCMS提供打印出的月报表。
(3)信用卡客户信息管理。
信用卡客户的个人信息可以在CCMS中进行在线的管理。
每个信用卡客户可以在线查询其个人信息。
(4)信用卡交易记录。
信用卡客户使用信息卡进行的每一笔交易都会记录在CCMS中。
(5)交易信息查询。
信用卡客户可以登录CCMS查询并核实其信用卡交易记录及交易额。
构造该系统的用例模型,要求绘制用例图,编写相应的用例文档,还需提供用例追踪矩阵。
6.根据以下描述绘制状态图:
某销售信息管理系统中销售部员工可以提交订单,刚提交的订单为“初始”状态;系统管理员可以处理订单,如果订单无误,则修改订单为“备货”状态,否则将订单退还给提交订单的销售部员工修改,员工此时可以取消订单;仓库管理员备货完毕后可将订单状态改为“发货”状态;销售部员工在确认客户已经收到货物后,可将订单改为“关闭”状态。
7.根据以下描述绘制某订餐系统中顾客订餐过程的活动图(要求绘制泳道):
(1)顾客请求查看菜单;
(2)系统显示菜单和今日特价;
(3)顾客选菜;
(4)系统显示订单和价格;
(5)顾客确认订单;
(6)系统显示可送餐时间;
(7)顾客指定送餐时间、地点和支付方式;
(8)系统确认接受订单,然后发送Email给顾客以确认订餐,同时发送相关订餐信息通知给餐厅员工。
8.根据如下描述绘制顺序图:
在某在线订房系统中,顾客输入房间套数、房间类型、入住时间、入住天数等信息,系统显示符合要求的房间号;顾客确定预订的房间,系统显示预付订金信息;顾客输入信用卡账号和密码,系统请求银行信用卡系统提供支付服务;银行信用卡系统验证用户信息并返回验证通过和支付成功消息;顾客请求系统打印预订单和收据,系统打印相关资料;预订结束。
9.根据以下Java源代码绘制相应的顺序图:
publicclassSale{
privateList
publicMoneygetTotal(){
Moneytotal=newMoney();
MoneysubTotal=null;
for(SalesProductItemitem:
productItems){
subTotal=item.getSubTotal();
total.add(subTotal);
}
returntotal;
}
}
10.根据以下描述绘制类图,再正向工程生成Java源代码(也可生成其他面向对象语言的源代码,如C++或C#等):
图形(Shape)可分为圆形(Circle)、矩形(Rectangle)、椭圆形(Ellipse)等具体图形,在Shape类中提供了一个抽象的draw()方法用于绘制图形,而在具体的图形类中实现该抽象draw()方法。
提供一个图形工厂类(ShapeFactory),该类提供一个静态方法createShape(chartype),其返回类型为Shape,参数type为所需绘制图形对应的代码,例如“c”表示圆形,“r”表示矩形,“e”表示椭圆形等,在createShape()方法中,可以使用条件语句来判断所需绘制图形的类型,并根据参数的不同返回不同的具体形状对象。
【注:
“创建关系”是一种特殊的“依赖关系”】
11.根据以下描述绘制类图:
某商场会员管理系统包含一个会员类(Member),会员的基本信息包括会员编号、会员、联系、电子、地址等,会员可分为金卡会员(GoldMember)和银卡会员(SilverMember)两种,不同类型的会员在购物时可以享受不同的折扣;每个会员可以拥有一个或多个订单(Order),每一个订单又可以包含至少一条商品销售信息(ProductItem),商品销售信息包括订单编号、商品编号、商品数量、商品单价和折扣等;每一条商品销售信息对应一类商品(Product),商品信息包括商品编号、商品名称、商品单价、商品库存量、商品产地等。
12.某基于C/S的即时聊天系统的注册和登录模块功能描述如下:
(1)注册功能:
用户通过注册界面(RegisterForm)输入新,系统检测该是否已存在,如果不存在则可注册成功,否则提示“已存在”,用户再次输入;用户输入其他个人信息;系统保存用户个人信息;用户个人信息包括、密码、、性别、年龄、、电子等。
(2)登录功能:
用户通过登录界面(LoginForm)输入账号和密码,系统将输入的账号和密码与存储在数据库(User)表中的用户信息进行比较,验证用户输入是否正确,如果输入正确则进入主界面(MainForm),否则提示“输入错误”。
现对这两个模块进行设计,要求如下:
(1)根据以上描述绘制类图,要求分析出每个类中的主要方法;
(2)需要提供独立的业务逻辑类和数据访问类,考虑到数据库的移植性,需提供抽象的数据访问接口;
(3)尽量使用数据传输对象(DTO)来传递参数,减少方法中参数的个数。
三、实验要求
1.正确安装PowerDesigner;
2.熟练使用PowerDesigner绘制用例图、状态图、活动图、顺序图和类图;
3.需按照用例建模的流程,提供用例图、用例文档和用例追踪矩阵;
4.熟练使用PowerDesigner实现正向工程和逆向工程;
5.使用UML2.X中的标准图符绘制图形,对于一些较为复杂的图形,适当增加文字注释来进行说明;
6.所绘制图形必须正确、完整,需具有较好的可读性,注意图形中图符和文字大小及布局。
四、实验步骤
1.安装PowerDesigner15.X;
2.熟悉PowerDesigner15.X的常用功能;
3.分析实例场景,识别执行者;
4.识别用例及用例之间的关系;
5.使用PowerDesigner15.X绘制用例图;
6.撰写用例文档;
7.创建用例追踪矩阵;
8.使用PowerDesigner15.X绘制状态图;
9.分析订餐系统中顾客订餐过程的流程,绘制相应的活动图;
10.分析在线订房系统中顾客与系统之间的交互过程,绘制相应的顺序图;
11.根据源代码绘制相应的顺序图;
12.根据描述绘制类图并正向工程生成源代码;
13.分析商场会员管理系统中实体类之间的关系,绘制相应的类图;
14.分析某基于C/S的即时聊天系统的注册和登录模块的功能,绘制对应的类图。
五、实验结果
1.酒店订房系统用例图:
原题目:
1.某酒店订房系统描述如下:
(1)顾客可以选择在线预订,也可以直接去酒店通过前台服务员预订;
(2)前台服务员可以利用系统直接在前台预订房间;
(3)不管采用哪种预订方式,都需要在预订时支付相应订金;
(4)前台预订可以通过现金或信用卡的形式进行订金支付,但是网上预订只能通过信用卡进行支付;
(5)利用信用卡进行支付时需要和信用卡系统进行通信;
(6)客房部经理可以随时查看客房预订情况和每日收款情况。
绘制该酒店订房系统的用例图。
解答:
场景分析:
⏹识别执行者
这里面用户的执行者有
1.顾客(使用系统在线预订)
2.前台服务员(利用系统直接前台预订)
3.客房部经理(查看客房预订情况和每日收款情况)
4.信用卡系统(系统在信用卡支付时和信用卡系统进行通信,信用卡系统属于外部系统交互畴,所以也属于执行者)
⏹识别用例
这里面用例有这些:
1.在线预订
2.前台预订房间
3.支付相应定金
4.现金的形式进行订金支付
5.信用卡的形式进行订金支付
6.查看客房预订情况
7.每日收款情况
由于现金支付和信用卡支付都属于支付畴,所以我选择用这两个用例用扩展关系来表示。
可以使用泛化,但是其一,不好表示网上预订只能通过信用卡进行支付的情形,其二,增加了一个基用例会造成一个图里的用例过多,造成杂乱,所以我选择扩展关系。
⏹绘制用例图
2.订餐系统用例图:
原题目:
2.根据以下场景绘制用例图:
某企业为了方便员工用餐,为企业餐厅开发了一个订餐系统(COS:
CafeteriaOrderingSystem),企业员工可通过企业联网使用该系统。
该系统功能描述如下:
(1)企业的任何员工都可以查看菜单和今日特价;
(2)系统的顾客是注册到系统的员工,可以在线订餐(以下操作均需先登录)、注册工资支付、修改订餐信息和删除订餐信息,在注册工资支付时需要通过工资系统进行身份验证;
(3)餐厅员工是特殊的顾客,可以进行备餐(系统记录备餐信息)、生成付费请求和请求送餐,其中对于注册使用工资支付的顾客生成付费请求并发送给工资系统;
(4)菜单管理员是餐厅员工的一种,可以管理菜单;
(5)送餐员也是餐厅员工的一种,可以打印送餐说明、记录送餐信息(如送餐时间)以及记录收费(对于没有注册工资支付的顾客,由送餐员收取现金后记录)。
解答:
场景分析:
⏹识别执行者
1.企业的任何员工(查看菜单和今日特价)
2.工资系统(外部系统执行者,部用例注册工资需要使用其来验证身份)
3.餐厅员工(备餐等活动)
4.菜单管理员(管理菜单等)
5.送餐员(打印送餐等等)
6.顾客
⏹识别用例
1.在线订餐
2.查看菜单
3.查看今日特价
4.注册工资支付
5.修改订餐信息
6.删除订餐信息
7.身份验证
8.备餐
9.生成付费请求
10.请求送餐
11.管理菜单
12.打印送餐说明
13.记录送餐信息
14.记录收费
15.登录
16.注册
⏹绘制用例图
通过分析,该系统的执行者包括员工、顾客、餐厅员工、菜单管理员、送餐员和工资系统,员工与顾客之间具有泛化关系,顾客与餐厅员工之间具有泛化关系,餐厅员工与菜单管理员和送餐员之间具有泛化关系。
3.反馈处理系统用例图:
原题目:
3.根据以下场景绘制用例图:
某公司需开发一个反馈处理系统作为其CRM的一部分。
系统基本功能描述如下:
(1)客户可通过系统发布反馈信息;
(2)公司客户关系(CR)部门员工也可以在系统中记录反馈信息;
(3)业务部门的主管和员工均能看到本部门的反馈信息,但只有CR部门员工拥有修改与删除反馈的权限;
(4)对于部分需要调查以便验证其真实性并需要做相关处理的反馈信息,业务部门主管有权通过系统安排本部门员工调查及处理该反馈;
(5)反馈调查与处理完毕后,负责调查的员工可通过系统输入反馈的详细情况;
(6)公司高层可查看未决反馈统计报表和各业务部门的反馈统计报表;
(7)所有人员进入本系统需先登录。
解答:
场景分析:
⏹识别执行者
1.客户
2.CR部门员工
3.公司员工
4.业务部门主管
5.业务部门员工
6.公司高层
⏹识别用例
1.发布反馈消息
2.记录反馈消息
3.管理反馈消息(修改与删除反馈消息的操作的归纳)
4.查看反馈消息
5.安排员工调查和处理
6.输入反馈详情
7.查看反馈统计报表(查看未决反馈统计报表和各业务部门的反馈统计报表)
8.登录
⏹绘制用例图
4.图书馆系统(LibrarySystem)用例图:
原题目:
4.Drawausecasediagramforthefollowinglibrarysystem:
Thelibrarystoresvariousitemsthatcanbeborrowed,includingbooksandjournals.Bookscanbeborrowedbybothstaffandstudents,butonlystaffmemberscanborrowjournals.Whenauserborrowsabook,theirloandetailsarecheckedtoensurethattheyhavenooverduebooksonloan,andhavenotalreadyborrowedthemaximumpermittednumberofbooks.
Userscanchecktheirownloandetailsatanytime.Librariansarepermittedtochecktheloandetailsofanyuser.
Libraryuserscanreservebooksthatarecurrentlyoutonloan.Ifthreereservationshavealreadybeenmadeforagivenbook,andafurtherreservationismade,anewcopywillbeorderedbythelibrarian.
解答:
场景分析:
⏹识别执行者
1.Users
2.Librarian
3.Staff
4.Students
⏹识别用例
1.Borrowedbook
2.Borrowedjournal
3.Checkloandetails
4.Checktheloandetailsofanyuser
5.Reservebooks
6.Ordereanewcopy
7.Ensurechecknooverduebooksonloan
8.Ensurenotmorethanthemaximumpermittednumberofbooks
⏹绘制用例图
5.网上信用卡管理系统CCMS的需求模型:
原题目:
5.某银行准备开发一个网上信用卡管理系统CCMS,该系统的基本功能为:
(1)信用卡申请。
非信用卡客户填写信用卡申请表,说明所要申请的信用卡类型及申请者的基本信息,提交CCMS登录。
如果信用卡申请被银行接受,客户会收到银行的确认函,并告知用户信用卡的有效期及信贷限额;否则银行会发送一封拒绝函给该客户。
客户收到确认函后,需再次登录CCMS,用信用卡号和密码激活该信用卡。
激活操作结束后,CCMS将激活通知发送给客户,告知客户其信用卡是否被成功地激活。
(2)月报表生成。
在每个月第一天的零点,CCMS为每个信用卡客户创建一份月报表,对该客户上月的信用卡交易情况及交易额进行统计。
信用卡客户可以登录CCMS查看月报表,也可以要求CCMS提供打印出的月报表。
(3)信用卡客户信息管理。
信用卡客户的个人信息可以在CCMS中进行在线的管理。
每个信用卡客户可以在线查询其个人信息。
(4)信用卡交易记录。
信用卡客户使用信息卡进行的每一笔交易都会记录在CCMS中。
(5)交易信息查询。
信用卡客户可以登录CCMS查询并核实其信用卡交易记录及交易额。
构造该系统的用例模型,要求绘制用例图,编写相应的用例文档,还需提供用例追踪矩阵。
(1)用例图:
解答:
场景分析:
⏹识别执行者
1.非信用卡客户
2.信用卡客户
3.银行
⏹识别用例
1.申请信用卡
2.登录
3.查看月报表
4.打印月报表
5.发送确认函
6.发送拒绝函
7.激活信用卡
8.查询个人信息
9.管理个人信息
10.交易信息查询
⏹绘制用例图
(2)用例描述文档:
1.用例编号:
UC001用例名:
申请信用卡
用例名
申请信用卡
用例编号
UC001
执行者
非信用卡用户
前置条件
CCMS系统运行
后置条件
银行接收到信用卡申请
基本路径
1.非信用卡用户填写信用卡申请表的相关信息
2.包含用例“登录”
3.非信用卡用户提交信用卡申请表
4.系统处理信用卡申请表
5.系统向银行发送非信用卡用户申请表请求
扩展路径
无
2.用例编号:
UC002用例名:
登录
用例名
登录
用例编号
UC002
执行者
用户
前置条件
用户要与系统进行信息交互
后置条件
用户登录了CCMS系统
基本路径
1.用户填写账户和密码
2.系统验证用户输入的账户和密码
3.用户通过系统验证并登录了CCMS系统
扩展路径
3a1:
用户没通过系统验证,要求重新输入账户和密码
非功能需求
安全性:
用户密码输入错误达到3次,则需要停止验证并锁定用户登录,需要用户等待一段时间再进行输入。
3.用例编号:
UC003用例名:
激活信用卡
用例名
激活信用卡
用例编号
UC003
执行者
非信用卡用户
前置条件
非信用卡用户收到银行确认函
后置条件
通知用户激活信用卡成功并将用户由非信用卡用户转成信用卡用户
基本路径
1.包含用例“登录”
2.用户提交信用卡号和密码
3.系统验证信用卡号和密码
4.系统激活信用卡
5.系统将屏幕显示“激活成功”
6.系统将该用户修改成信用卡用户
扩展路径
无
4.用例编号:
UC004用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 3901130721 谭淇蔚 实验