UML建模技术实验报告要点.docx
《UML建模技术实验报告要点.docx》由会员分享,可在线阅读,更多相关《UML建模技术实验报告要点.docx(26页珍藏版)》请在冰点文库上搜索。
UML建模技术实验报告要点
学生学号
实验课成绩
武汉理工大学
学生实验报告书
实验课程名称UML建模技术
开课学院计算机科学与技术学院
指导老师姓名
学生姓名
学生专业班级
2012—2013学年第二学期
实验课程名称:
UML建模技术
实验项目名称
关于新的电脑销售系统点的需求文档
实验成绩
实验者
专业班级
组别
同组者
实验日期
第一部分:
实验分析与设计(可加页)
一、实验内容描述(问题域描述)
实验目的:
学会怎样为新的电脑销售系统点写需求文档
实验内容:
1、写一个概况陈述,包含信息系统相关的问题。
2、确定客户,包括公司名称、地址、电话号码,员工的头衔也要包含在他的名字之中。
3、总结至少三个系统的目标。
4、确定至少两个制约因素。
5、建立一个基本功能和属性表。
6、分析基本功能和属性的可行性。
7、包括一个环境图示范的类。
二、实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或者算法描述)
需求对用户和软件开发人员来说都是至关重要的,必须由他们共同合作才能写出较好的需求及需求文档。
需求是用户认为其所使用的系统应该具备的功能和性能。
这个项目是为计算机系统的一个新销售点学习如何记录要求,应给业主提供一个作为报告的信息。
三、主要仪器设备及耗材
MicrosoftOfficeWord2003
第二部分:
实验调试与结果分析(可加页)
一、调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)
1、概况陈述:
客户选择租出某样商品或某几种影碟,该销售/租赁终端系统能够确定影碟信息并实现顾客归还影碟、顾客租赁影碟、收银员重新购置影碟和对于被租借的影碟的超期处理,其中需要记录客户的交易信息及影碟信息并更新数据库存。
最后顾客离开。
2、客户:
雄楚大道“升升”音像商店的韩老板(兼收银员),电话:
186*******
3、系统目标:
a、对于初次租借的顾客进行账户登记,便于后续的交易
b、对影碟进行库存管理,对新购入的影碟、租出的影碟、归还的影碟、超期未还的影碟以及损失的影碟等进行记录,及时更新库存信息,统计租借时间,并能够对超期未还影碟的顾客信息及时更新记录,以便收银员对此做出相应的处理
c、操作便捷
d、能够进行每天营业额的统计
4、制约因素:
a、资金制约导致不能及时更新库存
b、音像店老板(收银员)对该系统的要求不明确或者不完整
5、基本功能属性表见实验结果
6、基本功能和属性的可行性分析
上述六个功能是基本功能,实现上述的任何一个功能都不会导致整个系统性能下降,而且也可以满足整个系统的安全需求,对系统的安全性没有任何负面影响。
实现这些功能所需要的技术有C++,数据库用MySQL就可以实现。
而且这些功能都很稳定、基本,不需要改变。
7、环境图
二、实验结果及分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)
基本功能属性表:
编号
基本功能
属性
1
账户登记
顾客姓名、身份证号、电话号码、居住地址
2
影碟销售
日期、影碟名、价格、影碟类型
3
影碟租借
日期、影碟名、租金、到期日、影碟类型
4
影碟归还
日期、影碟名、影碟类型
5
重新购置影碟
日期、影碟名、成本、类型
6
迟还扣款
租借日期、应到日期、影碟名、类型、超期时间、应罚款额
三、实验小结、建议及体会
第一次uml上机实验,初步了解了staruml软件的使用方法。
通过这次实验,我知道了一个音像店电脑销售系统的基本功能有新客户的登记、影碟销售、影碟租赁等。
对音像店的租借和进购影碟的等业务有了一个比较客观的认识,了解了相关业务的运作流程。
实验课程名称:
UML建模技术
实验项目名称
为类中描述的事件写一个基本用例
实验成绩
实验者
专业班级
组别
同组者
实验日期
第一部分:
实验分析与设计(可加页)
一、实验内容描述(问题域描述)
实验目的:
学习如何为类中描述的事件写一个基本用例。
用word文档或其他文字处理器写用例,最重要的部分是典型的事件的经过。
实验内容:
1、仿照教科书来描述每个用例。
事件的主流程(成功场景)是用例的最重要的部分。
确保它准确地描述这个过程,同时还有少量一些替代流程即扩展。
2、对于这个项目假设所有客户用现金或信用卡支付租金,不允许用支票支付。
3、有一些隐藏的要求:
基本上租借出去的影碟信息必须有序地保存起来以跟踪物料,还要将记录回报,最后通知会计。
4、客户有一个帐号。
电话号码是首选,当客户第一次来时被分配。
如果客户不是在租赁的成员,成员的记录会临时创建。
他们的姓名,电话号码,信用卡号码和到期日被记录在其成员的记录里。
二、实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或者算法描述)
1、根据系统的功能确定四个基本用例:
租赁项目,归还项目,超期项目,重新购置项目。
没有购买项目。
2、每天晚上待商店关门后,所有晚交的租金记入帐户持有人的信用卡,所有超过10天迟了的租金记入帐户持有人信用卡的项目费用。
三、主要仪器设备及耗材
MicrosoftOfficeWord2003
第二部分:
实验调试与结果分析(可加页)
一、调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)
用例1:
租赁项目
参与者:
顾客、收银员
目的:
实现一次租赁交易并收取押金
前置条件:
假设所有顾客用现金或信用卡付款,不用支票付款
后置条件:
存储租赁信息,更新账务和库存信息
概述:
一个顾客携带要租借的影碟到达收银台,收银员收取押金,系统记录交易的相关信息,最后顾客离开。
主成功场景(或基本流程):
1.顾客携带所要出租的影碟到收银台进行租赁交易
2.收银员开始一次新的租赁交易
3.顾客告知收银员其会员号,收银员将该顾客会员号输入系统中,并输入影碟条形码
4.系统逐条记录租赁的影碟,并显示影碟的描述、应缴押金额和累计额。
应缴押金额通过一组价格规则来计算
收银员重复3-4步,直到输入结束。
5.系统显示顾客所租借的影碟总数及应缴的押金总额
6.收银员告知顾客总额,并请顾客付款
7.顾客付款,系统处理支付
8.系统记录完整的租赁信息,并将租赁和支付信息发送到外部的账务系统和库存系统(更新库存)
9.系统打印票据
10.客户携带商品和票据离开
扩展(或替代流程)
3a.顾客不是租赁会员
1、为新顾客建立一个会员账户,其中电话号码为首选项
2、在该系统中为该顾客保存信息:
顾客姓名、电话号码、信用卡号码以及会员到期日
7a.现金支付:
1、收银员输入收取的现金额
2、系统显示找零金额,并弹出现金抽屉
3、收银员放入收取的现金,并给顾客找零
4、系统记录该现金支付
7b.信用卡支付
1、顾客输入信用卡账户信息
2、系统显示其支付信息以备验证
3、收银员确认
4、系统记录信用卡支付信息,其中包括支付批准,并显示信用卡支付的签名输入机制
5、收银员请求顾客签署信用卡支付。
用例2:
归还项目
参与者:
顾客、收银员
目的:
实现一次归还交易
前置条件:
假设顾客所租赁的影碟没有超期
后置条件:
存储租赁信息,更新账务和库存信息
概述:
一个顾客携带已租借的影碟到收银台,收银员输入顾客归还的影碟信息以及顾客信息,系统记录归还交易的相关信息,顾客离开或继续进行下一次的租赁交易。
主成功场景(或基本流程):
1.顾客携带所要归还的影碟到收银台进行归还交易
2.收银员开始一次新的归还交易
3.收银员输入影碟条形码
4.系统逐条记录顾客归还的影碟,并显示影碟的描述、累计额。
收银员重复3-4步,直到输入结束。
5.系统显示顾客所归还的影碟总数及影碟名
6.收银员告知顾客归还手续成功
7.系统记录完整的租赁信息,并将归还信息发送到外部库存系统(更新库存)
8.顾客离开或者进行下一次的租赁交易
用例3:
超期项目
参与者:
收银员
目的:
实现对持有租赁影碟超期的顾客进行罚款交易并记录应罚金额
前置条件:
假设顾客租赁的影碟已超过持有期限
后置条件:
存储超期信息,更新账务和库存信息
概述:
每天晚上待商店关门后,所有晚交的租金记入帐户持有人的信用卡,所有超过10天迟了的租金记入帐户持有人信用卡的项目费用。
主成功场景(或基本流程):
1.每天晚上待商店关门后,系统自动扫描,并统计所有晚交的租金,并将其记入相应帐户持有人的信用卡中
2.每天晚上待商店关门后,系统自动扫描,并将所有超过10天期限的租赁交易记入相应帐户持有人信用卡的项目费用中
系统自动重复1-2步,直到扫描结束。
3.等超过租赁期限的用户归还影碟时,收银员对顾客进行相应罚款,并将所罚的记录输入系统中,更新系统有关该客户的信息及库存信息。
用例4:
重新购置项目
参与者:
收银员
目的:
实现重新购置影碟
前置条件:
假设影碟丢失或者损坏,导致库存不够;假设需要购进新出版的影碟
后置条件:
存储影碟信息,更新账务和库存信息
概述:
对于库存不够的影碟,系统会自动提醒收银员。
收银员购进新的影碟,并将该影碟的相关信息输入系统,系统自动更新库存信息。
主成功场景(或基本流程):
1.影碟库存不够时,系统自动提醒收银员
2.收银员根据系统所提供的信息购进一定数量的影碟,并将所购进影碟的相关信息输入系统中
3.系统根据收银员所输入的影碟信息更新数据库
二、实验结果及分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)
音像交易系统用例图如下所示:
三、实验小结、建议及体会
通过本次实验,我对用例图的用途有了进一步的了解,知道了用例图的作用,学会了写用例文档,明白了用例的核心。
通过在Visio中绘制用例图,对Visio环境也熟悉了,有利于我有效地在该环境下建模。
实验课程名称:
UML建模技术
实验项目名称
学习绘制概念模型
实验成绩
实验者
专业班级
组别
同组者
实验日期
第一部分:
实验分析与设计(可加页)
一、实验内容描述(问题域描述)
实验目的:
学习用RationalRose绘制概念模型。
它必须包括所有的属性和关系与适当的多重性。
实验内容:
1.画一个假设的音像店的概念模型。
2.确保包括的概念展现了四种交易的每一个:
租借项目、归还项目、进货项目、迟交费项目。
3.假设付款将会在租借进行的时间。
二、基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或者算法描述)
1、根据实验二——为类中描述的事件写一个基本用例中的4个用例,用确定名词短语的方法来寻找概念类(语言分析,即在对领域的文本性描述中识别名词和名词短语,将其作为候选的概念类或属性),可得:
用例1:
顾客、影碟目录、影碟描述、音像店、收银员、租赁记录、付款行为、租赁行为、库存系统
用例2:
顾客、收银员、影碟目录、影碟描述、库存系统、租赁记录
用例3:
收银员、付款行为、信用卡、租金
用例4:
收银员、影碟描述、库存系统
综上4个用例,可确定最后的概念类:
音像店、影碟描述、影碟目录、顾客、收银员、租赁行为、租赁记录、付款行为、库存系统、租赁记录、归还行为、重新购置行为、超期行为
2、根据上述的概念类用StarUML画出概念模型。
三、主要仪器设备及耗材
StarUML
第二部分:
实验调试与结果分析(可加页)
一、调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)
1、尝试从上到下构图,始终把包含者放在被包含的项目之上。
2、添加关联,使用教科书作为指导来发现关联。
3、下一步添加多重价值,要确保最小值和最大值是正确的。
4、下一步添加属性。
坚持纯数据值或值的对象。
5、不要在领域模型中加入方法,这一过程不涉及实现阶段
二、实验结果及分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)
音像店的概念模型如下:
三、实验小结、建议及体会
概念模型就是领域模型,要建立概念模型必须先弄清楚概念类。
这次实验绘制了概念模型,展示了概念类、概念类之间的关联和多重性、概念类的属性。
概念图在建模中具有非常重要的地位。
实验课程名称:
UML建模技术
实验项目名称
学习绘制附有契约制度的系统顺序图
实验成绩
实验者
专业班级
组别
同组者
实验日期
第一部分:
实验分析与设计(可加页)
一、实验内容描述(问题域描述)
实验目的:
学习如何绘制附有契约制度的系统顺序图。
为每个用例创建一个集(一个系统顺序图和一组契约)。
这些用例是租赁项目,归还项目,迟交费项目,重新购置项目。
实验内容:
学会画一个与合同相关的系统顺序图。
为每个用例写操作契约,该契约的最重要的部分是后置条件。
密切地关注这些后置条件,因为这是将要分级审议的区域。
操作契约要确保使用概念模型的实例,属性和关联。
交付:
1.用starUML完成的4个系统顺序图
2.四套合同完成在一个文字处理器。
二、实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或者算法描述)
1、系统顺序图(SSD)是为阐述与所讨论系统相关的输入和输出事件而快速、简单地创建的制品。
他们是操作契约和(最重要的)对象设计的输入。
2、系统顺序图表示的是对于用例的一个特定场景,外部参与者产生的事件,其顺序和系统之内的事件。
所有系统被视为黑盒,该图强调的是从参与者到系统的跨越系统边界的事件
3、应为每个用例的主成功场景以及频繁发生的或者复杂的替代场景绘制SSD。
4、操作契约使用前置和后置条件的形式,描述领域模型里对象的详细变化,并作为系统操作的结果。
它对用例指出的系统操作的效用提供了更详细的分析,包括4个部分:
操作、交叉引用、前置条件、后置条件
三、主要仪器设备及耗材
MicrosoftOfficeWord2003
MicrosoftOfficeVisio2007
第二部分:
实验调试与结果分析(可加页)
一、调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)
1、在visio环境下“文件”——“新建”——“软件和数据库”——“uml模型图”
2、在打开的页面下拖动图标,绘制序列图。
3、用MicrosoftOfficeWord为租赁项目,归还项目,迟交费项目,重新购置项目这4个用例写操作契约。
二、实验结果及分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)
1、4个系统顺序图:
RentItem用例的系统顺序图如下:
ReturnItem用例的系统顺序图如下:
RestockItem用例的系统顺序图如下:
OverdueChargesItem用例的系统顺序图如下:
2、4个操作契约:
用例RentItem操作契约:
操作:
makeNewRent()
交叉引用:
用例RentItem
前置条件:
顾客是该音像店的会员
后置条件:
∙ 创建了Rent的实例rent(创建实例)
∙ rent被关联到RentLineItem(形成关联)
∙ rent的属性被初始化(修改属性)
操作:
enterItem(itemID:
itemID,quantity:
integer)
职责:
输入影碟租赁并把它添加到租赁。
显示影碟的名称和价格。
交叉引用:
用例RentItem
前置条件:
正在进行中的租赁
后置条件:
∙ 创建了RentLineItem的实例rentli(创建实例)
∙ rentli被关联到当前rent(形成关联)
∙ rentli.quantity赋值为quantity(修改属性)
∙ 基于itemID的匹配,rentli被关联到VideoDescription(形成关联)
操作:
endRent()
职责:
记录租赁输入的结束,并显示租赁总金额
交叉引用:
用例RentItem
前置条件:
正在进行中的租赁
后置条件:
∙ Rent.isCompleted被置为真(修改属性)
操作:
makePayment(amount:
Money)
职责:
输入租赁金额并把它加入到租赁行为上,显示所有改变
交叉引用:
用例RentItem
前置条件:
正在进行中的租赁
后置条件:
∙ 创建了Payment的实例p(创建实例)
∙ p.amountTendered被赋值为amount(修改属性)
∙ p被关联到当前的Rent(形成关联)
∙ 当前的Rent被关联到Ledger(形成关联)(将其加入到完成租赁的历史日志中)
用例ReturnItem操作契约:
操作:
makeReturn()
交叉引用:
用例ReturnItem
前置条件:
顾客是该音像店的会员,并且租借了影碟
后置条件:
∙ 创建了Return的实例return(创建实例)
∙ return被关联到RentLineItem(形成关联)
∙ return的属性被初始化(修改属性)
操作:
enterItem(itemID:
itemID,quantity:
integer)
职责:
输入要归还的影碟,显示影碟的名称和相关信息
交叉引用:
用例ReturnItem
前置条件:
正在进行中的归还
后置条件:
∙ 创建了RentLineItem的实例rentli(创建实例)
∙ rentli被关联到当前return(形成关联)
∙ rentli.quantity赋值为quantity(修改属性)
∙ 基于itemID的匹配,rentli被关联到VideoDescription(形成关联)
操作:
endReturn()
职责:
记录归还输入的结束
交叉引用:
用例ReturnItem
前置条件:
正在进行中的归还
后置条件:
∙ Return.isCompleted被置为真(修改属性)
用例ChargeLateItem操作契约:
操作:
makeChargeLate()
交叉引用:
用例ChargeLateItem
前置条件:
顾客是该音像店的会员,并且租借的影碟超过期限了
后置条件:
∙ 创建了ChargeLate的实例c(创建实例)
∙ c被关联到Payment(形成关联)
∙ c的属性被初始化(修改属性)
操作:
makeOverduePay(amountTendered:
Money)
职责:
输入超期金额并把它加入到租赁行为上,显示所有改变
交叉引用:
用例ChargeLateItem
前置条件:
正在进行中的罚款
后置条件:
∙ 创建了Payment的实例p(创建实例)
∙ p.amountTendered被赋值为amount(修改属性)
∙ p被关联到当前的ChargeLate(形成关联)
操作:
endChargeLate()
职责:
记录所欠罚款已缴
交叉引用:
用例ChargeLateItem
前置条件:
正在进行中的罚款
后置条件:
∙ ChargeLate.isCompleted被置为真(修改属性)
用例RestockItem操作契约:
操作:
makeRestock()
交叉引用:
用例RestockItem
前置条件:
影碟库存不够
后置条件:
∙ 创建了Restock的实例restock(创建实例)
∙ restock被关联到StockSystem(形成关联)
∙ restock被关联到VideoCatalog(形成关联)
∙ restock的属性被初始化(修改属性)
操作:
enterItem(itemID:
itemID,quantity:
integer)
职责:
输入购置的新的影碟信息,显示影碟的名称和相关信息
交叉引用:
用例RestockItem
前置条件:
已购置了新的影碟
后置条件:
∙ 创建了VideoCatalog的实例vc(创建实例)
∙ vc被关联到当前restock(形成关联)
∙ vc.quantity赋值为quantity(修改属性)
∙ 基于itemID的匹配,rentli被关联到VideoDescription(形成关联)
操作:
endStock()
职责:
记录输入购置新的影碟的结束
交叉引用:
用例RestockItem
前置条件:
已购置了新的影碟
后置条件:
∙ Restock.isCompleted被置为真(修改属性)
三、实验小结、建议及体会
通过这次实验我学会了如何绘制系统顺序图和建立操作契约文档。
系统顺序图更好地反映了各个层的关系,表示出了事件发生的顺序,是UML建模中一种重要的工具图。
操作契约中的后置条件很重要,是关键元素,大致可以分为创建/删除实例、属性值的变化、形成/消除关联。
实验课程名称:
UML建模技术
实验项目名称
学习绘制交互图
实验成绩
实验者
专业班级
组别
同组者
实验日期
第一部分:
实验分析与设计(可加页)
一、实验内容描述(问题域描述)
实验目的:
学习如何用RationalRose绘制交互图。
每个用例将包括一个序列图和一个协作图。
实验内容:
使用RationalRose工具去开发一个顺序图,图完成后,可通过菜单中的工具生成协作图。
假设只在租赁项目用例中使用现金支付。
交付:
1、用RationalRose完成3个顺序图,对于每个操作,包含没有数据类型或类的参数。
2、三个生成过程中产生的协作图,确保安排是容易执行。
二、实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或者算法描述)
1、UML使用交互图(interactiondiagram)来描述对象间通过消息的交互。
交互图可以用于动态对象建模,有两种类型:
顺序图和通信图。
2、顺序图的优势是能够清晰表示消息的顺序和时间排序,是大量详细表示法选项,劣势是强制在右侧增加新对象,消耗水平空间。
它以一种栅栏格式描述交互,其中在右侧添加新创建的对象。
3、协作图(CollaborationDiagram)主要表现对象之间如何协作,同时也用于表现那些以顺序图进行建模的情形。
序列图处理序列关系和简单的选择关系(带有保护),而协作图处理迭代。
三、主要仪器设备及耗材
MicrosoftOfficeWord2003
StarUML
第二部分:
实验调试与结果分析(可加页)
一、调试过程(包括调试方法描述、实验数据记录