uml实验总结.doc
《uml实验总结.doc》由会员分享,可在线阅读,更多相关《uml实验总结.doc(14页珍藏版)》请在冰豆网上搜索。
实验一
1.源代码生成,在逻辑视图中绘制下图,生成JAVA源文件
生成代码步骤:
“Tools”-〉“Java”-〉“GenenateCodes”。
publicclassMeeting
{
privateStringUserName;
privateStringScheduled_User;
privateDateStart_Time;
privateDateEnd_Time;
privateStringLabel;
publicStringgetUser()
{
returnnull;
}
publicStringgetOther()
{
returnnull;
}
publicDategetStart()
{
returnnull;
}
publicDategetEnd()
{
returnnull;
}
publicStringgetLabel()
{
returnnull;
}
publicStringtoString()
{
returnnull;
}
publicVoidmain(Stringargs)
{
returnnull;
}
}
2.进行逆向工程,自行找到一个项目软件源代码,进行逆向工程。
(FTP上有一个小源程序文件)
逆向工程的实现
“Tools”->“Java”-〉“ReverseEngineerJava…”。
publicclassStudent
{
privateStringname;
publicStudent()
{
}
publicvoidtest()
{
}
}
实验二
根据下属需求,分析参与者和用例,并建立网络教学系统的用例图。
网络教学系统的功能需求主要包括以下几个方面:
①学生可以登录网站浏览信息、查找信息和下载文件。
②教师可以登录网站输入课程简介、上传课件文件、发布消息、修改和更新消息。
③系统管理员可以对页面维护以及批准用户的注册申请。
实验三
1、已知借书的活动图如图3所示,若要求欠费的读者需结清欠款才能借书,请完善该活动图,并在Rose内绘制出来。
图3借书处理活动图
2、图4为图书“借书”活动图,文字描述此活动图包括哪些活动,活动按照怎样的顺序发生?
图4“借书处理”活动图
(1)读者查找所需的图书,若找到图书,将所需的图书带到借阅台;
(2)工作人员输入读者信息,检查读者身份是否合法,如果读者身份合法,进入(3);
(3)录入图书信息,并检查图书是否允许借阅,如果允许,则记录借阅信息,否则直接进入(4);
(4)检查是否还有图书需要录入,如果还需录入,进入(3),否则提借阅信息。
3、绘制“删除读者信息”用例的活动图。
删除读者信息一般按照以下步骤进行:
(1)管理员在录入界面,输入待删除的读者名;
(2)“业务逻辑”组件在数据库中,查找待删除的读者名;
(3)如果不存在,则显示出错信息,返回步骤
(1),如果存在则继续;
(4)“业务逻辑”组件判断“待删除的读者”是否可以删除;
(5)如果不可以,则显示出错信息,返回步骤(8),如果可以则继续;
(6)在数据库中,删除相关信息;
(7)显示删除成功信息;
(8)结束。
实验四
1.作业一:
分析并使用Rose画选课系统类图
在选课系统中,通过分析可抽象出如下几个类:
1.学生类2.管理员类3.课程类
学生类和管理员类的属性较容易分析,这里只列出课程类的属性和方法:
(1)课程名称
(7)允许选课的学生人数
(2)开课教室
(8)设置课程号
(3)课程号
(9)设置课程名称
(4)授课教师
(10)查询课程号
(5)选课学生数
(11)查询允许选课的学生人数
(6)开课起始时间
2.作业二:
交通工具类的设计
描述:
汽车和自行车都是交通工具。
一辆自行车只能归一个人拥有,但一辆汽车可归一个人或者两个人拥有。
一个人可能没有自行车或汽车,也可能拥有多辆自行车或汽车。
人分男女两类,每个人都有年龄和名字。
每辆汽车都有自己的颜色和商标。
特别地,每辆汽车都只有两个前灯和一台发动机。
完成:
1)寻找系统中的类,完成类的属性和方法的设计;
2)确定类间的继承关系,创建类间的继承关系;
3)确定类间的关联关系,创建类间的关联关系。
实验五
1.作业一:
根据下面顺序图,回答问题。
在顺序图中:
Kjosk表示信息亭,BoxOffice表示售票中心,CreditCardService表示信用卡服务。
(1)Kjosk类中的操作有哪些?
BoxOffice的操作有哪些?
CreditCardService类的操作有哪些?
Kjosk类的操作包括:
showAvailable(seat-list),DemandPayment(cost),printtickets(performance,seats),ejectcard
BoxOffice的操作包括:
Request(count,performance),SelectSeats,InsertCard(CardNumber),authorized
CreditCardService的操作包括:
change(cardnumber,cost)
(2)根据对象间的消息顺序,描述该顺序图的含义。
信息亭查询演出的信息;售票中心给出可用的座位表;信息亭选择座位,售票中心给出所需要支付的费用;信息亭插入卡,提供信用卡卡号,进行费用支付;售票中心将信用卡号和费用发送给信用卡服务中心;信用卡服务中心验证有效性,并进行扣款;信息亭确认支付成功后,打印包含演出和座位信息的票,并弹出信用卡。
2.作业二:
根据以下Java源程序绘制出相应的顺序图
publicclassPayroll{
privatePayrollDBitsPayrollDB;
privatePayrollDispositionitsDisposition;
publicvoiddoPayroll()
{
ListemployeeList=itsPayrollDB.getEmployeeList();
for(Iteratoriterator=employeeList.iterator();iterator.hasNext();)
{
Stringid=(String)iterator.next();
Employeee=itsPayrollDB.getEmployee(id);
if(e.isPayDay())
{
doublepay=e.calculatePay();
doubledeductions=e.calculateDeductions();
itsDisposition.sendPayment(pay-deductions);
}
}
}
}
实验六
作业一:
根据下面住院管理系统中“登记出院记录”用例叙述画出通信图
在住院管理系统中,业务处理逻辑类的名称为:
RecordHospitalOutBpo,负责系统的登记出院记录处理逻辑。
(1)医护人员向系统提供“患者出院申请信息”。
(2)系统保存“患者出院申请信息”到数据库。
(3)系统通过提供“患者住院信息”给收费管理系统,获取“住院费”。
(4)系统向病床费用计算逻辑提供“患者病床信息”,获取“病床费”。
(5)系统保存“患者出院信息”到数据库。
作业二:
根据以下Java源程序绘制出相应的通信图
publicclassPayroll{
privatePayrollDBitsPayrollDB;
privatePayrollDispositionitsDisposition;
publicvoiddoPayroll()
{
ListemployeeList=itsPayrollDB.getEmployeeList();
for(Iteratoriterator=employeeList.iterator();iterator.hasNext();)
{
Stringid=(String)iterator.next();
Employeee=itsPayrollDB.getEmployee(id);
if(e.isPayDay())
{
doublepay=e.calculatePay();
doubledeductions=e.calculateDeductions();
itsDisposition.sendPayment(pay-deductions);
}
}
}
}
实验七
1、以回车或者空格作为输入的结束,现需要输入一实数,已知实数编译(识别)对象共需要6个状态:
A(初始态)、B(符号态)、C(整数部分态)、D(小数点态)、E(小数部分态)、Error(错误输入态)、F(终止态)。
有效的状态转换如下:
(3)AD
小数点
(2)AC
数字
(1)AB
+/-
(6)CD
小数点
(5)CC
数字
(4)BC
数字
(9)C、D、EF
回车、空格
(8)EE
数字
(7)DE
数字
无效的输入举例
(10)B、C、D、EError(符号只能输入一次)
+/-
(11)D、EError(小数点只能输入一次)
小数点
2、一般的垂直升降的井电梯运行时具有“空闲”、“启动”、“上升”、“下降”、“停”、“开门”、“关门”等状态,试根据你乘坐教学楼C区电梯时对电梯运行过程中其状态转换情况的理解,绘制出其状态机图。
包图。
它描述系统各个部分如何打成包以及各个包之间的依赖关系。
用例图。
它描述角色和用例之间的关系,用于分析客户需求。
活动图。
它描述包括数据流的高层业务过程或者系统的复杂业务逻辑。
交互图。
交互图主要表现对象之间是如何进行交互和通信的。
交互图主要用于对UseCase中的控制流的建模。
包括顺序图、通信图、交互概览图和定时图
类图。
它描述模型的类、类元素之间的关系。
对象图。
它描述某个时间点上的系统对象以及他们之间的关系,是类图某一时刻的特例。
组件图。
它描述组成系统的各个部分,各部分之间的关系,各部分之间的消息以及各部分的公共接口。
部署图。
它描述系统部署结构,包括软硬件环境以及中间件。
组合结构图。
它具体描述类、构件和协作等模型元素的内部结构,包括该部分和系统的其他部分