UML与软件建模实验.docx
《UML与软件建模实验.docx》由会员分享,可在线阅读,更多相关《UML与软件建模实验.docx(14页珍藏版)》请在冰豆网上搜索。
![UML与软件建模实验.docx](https://file1.bdocx.com/fileroot1/2022-12/6/0904606d-bdef-4bb5-88c5-ed63ee92d22a/0904606d-bdef-4bb5-88c5-ed63ee92d22a1.gif)
UML与软件建模实验
《UML与软件建模》
实验报告
姓名:
学号:
班级:
指导老师:
日期:
实验一、用例建模
【实验日期】2013年3月20日
【实验目的】
●掌握客户需求分析的方法和步骤
●了解以用例建模的软件开发方法
●识别并编写用例
●掌握用Rose进行用例建模的具体方法和步骤
【实验内容】
要求根据周围的实际情况,自选一个小型应用项目,分析业务需要,识别并编写用例、绘制用例图以理解系统需求,亦可老师指定的“企业综合信息管理系统”中的“进销存管理子系统”
【实验原理与步骤】
建模原理:
1.需求获取,以任务和客户为中心,通过会议、面谈等手段对客户需求进行调研,获得系统目标、范围和功能要求的初步说明。
2.用例分析,确定用例,同时采用分层思想,对用例的层次级别进行划分(高层用例、子系统级、用户目标级)
3.用例描述。
分层绘制用例图,撰写用例的文字描述(采用单栏格式)。
步骤:
1.需求获取。
自选题目,与相关客户、领域专家等反复商讨,获得系统目标、范围和功能要求的初步说明。
(也可采用老师指定的题目:
“企业综合信息管理系统”中的“进销存管理子系统”)。
2.用例分析。
确定系统范围和边界、确定参与者、确定用例。
3.用例描述。
分层绘制用例图,描述用例。
画图原理:
采用Rose软件进行用例建模必须建立在完好的系统用例分析基础之上,只有做好系统分析,系统用例建模才能达到预期的效果。
步骤:
1.分层绘制用例图,每层采用“包”进行管理。
2.以“企业综合信息管理系统”—》“进销存管理”子系统—》“销售管理”—》“合同管理”—》“收款单处理”为主线,完成实验。
其他主线也可以。
【实验结果】
1.用Rose绘制的“企业综合信息管理系统”的1级用例图如下:
此系统包括“财务管理子系统”、“综合支持管理子系统”、“生产调试管理子系统”和“经理查询子系统”等,而“进销存管理子系统”又包括“采购管理子系统”、“销售管理子系统”和“库存管理子系统”。
1级用例图——企业综合信息管理系统如下:
1级用例图——企业综合信息管理系统
2.用Rose绘制“进销存管理”的2级用例图如下:
“管理进销存”用例管理企业与客户签订采购/销售合同,并督促合同的执行和履约,提供售后服务。
对库存产品和物料进行出/入库的有效管理,及时盘点并提出低于库存预警线而需要采购的物料清单和各种库存统计报表。
2级用例图——进销存管理
3.用Rose绘制“销售管理子系统”的3级用例图如下:
制定销售计划,与客户签订销售合同,井将其详细内容录入管理系统。
监控正在履约的合同,检查客户是否按时付款,对付款的客户发货。
3级用例图——销售管理
4.用Rose绘制“销售合同管理子系统”的4级用例图如下:
销售合同的主要条款是销售合同的重心,它决定了合同签订双方的义务和权利,决定了销售合同是否有效和是否合法,是当事人履行合同的主要依据。
这是一份合同的重中之重,营销员在签订合同的过程中,一定要对合同所具备的主要条款逐一审明,详尽规定,使之清楚、明确。
【实验总结】
这是第一次使用rose软件,对于里面的一些控件还不是很熟悉,只能根据老师所提供的实验说明书来摸索着做,通过这几个用例建模,我学会了分析客户需求,了解了用力建模的软件开发方法,基本掌握了如何根据一个实例来绘制用例图的具体方法和步骤。
也在实验过程中学会了一些常用控件的添加等,这些还需要在实验课之后多练习,这样才能更好地掌握。
实验二、分析建模
【实验日期】2013年3月27日
【实验目的】
●理解面向对象系统和对象类建模(概念建模)的概念
●了解和掌握面向对象系统分析的方法和步骤
●了解和掌握寻找开发系统中类(概念)的方法和技巧
●掌握用Rose绘制概念模型的方法
【实验内容】
在用例分析的基础上,选择第一个迭代周期打算开发的用例,建立相关的概念模型
【实验原理与步骤】
建模原理:
1.使用概念目录列表(见下图)和非正式分析法(识别问题域的文本描述中的名词短语,然后将其作为概念或属性的候选对象)相结合的方法识别概念。
因此,待开发用例的文字描述中,名词可能成为概念或属性的候选对象;表示行为的动词词组有可能成为事务型或过程型对象;形容词组有可能对应抽象的名词型概念。
采用的技术基本上就是:
ER图和纯行为+OO的聚合、泛化。
2.最终关联的数量介于“需要知道”型关联与【“需要知道”型关联+“需要理解”型(从通用关联列表中派生出的,见下图)】之间。
步骤:
(1)识别关键用例作为第一个迭代周期的开发目标(一般是在用例图中被依赖的比较多)。
可以选“企业综合信息管理系统”->“进销存管理”子系统->“销售管理”->“合同管理”->“收款单处理”主线中的“增加销售合同”或“收款单处理”用例。
(2)识别概念和重要属性。
(3)建立概念间的关联。
画图原理:
(1)可以采用“逻辑视图”下的类图描述概念模型,只不过每个类中只有类名和属性,没有方法。
在概念模型阶段也没有必要确定属性的类型和访问属性。
(2)概念间的关联可以采用一般关联(无方向实线),当然,对于聚合和泛化,应采用相应的连线(组合:
实心菱形+实线;聚合:
空心菱形+实线;泛化:
空三角+实线)。
步骤:
(1)前提条件:
第一个迭代周期可以选“企业综合信息管理系统”->“进销存管理”子系统->“销售管理”->“合同管理”->“收款单处理”主线中的“增加销售合同”或“收款单处理”用例。
做好与此用例相关的概念模型。
(2)建立相关的概念模型的基础上,在“逻辑视图“下得类图中描述概念模型,可以直接在类图main中绘制,也可以采用类似用例图中用过的分包机制。
(3)绘制概念和重要属性。
(4)绘制概念间的关联。
【实验结果】
绘制的概念模型图如下:
【实验总结】
这个实验主要用是理解面向对象系统分析和对象类建模概念,并在用rose绘制概念模型前要掌握面向对象系统分析的方法和步骤和掌握寻找开发系统中类(概念)的方法和技巧
,对一些抽象名词概念的理解。
熟悉了概念目录列表和非正式分析法相结合的方法识别概念。
当然对于这些分析方法还没有完全的掌握和理解,还需要继续的学习,并通过其他的实例来让自己有所提高。
实验三、设计建模
(1)
【实验日期】2013年4月3日
【实验目的】
●理解顺序图的基本概念
●了解和掌握软件工程中用例逻辑时序的分析方法
●掌握使用Rose创建顺序图的方法
【实验内容】
在用例模型和概念模型的基础上,对首选的用例进行分解,识别出系统事件(系统操作)、(并写出契约的后置条件);为每个系统事件画顺序图,为对象分配职责。
【实验原理与步骤】
原理:
(1)在系统顺序图中,所有的系统都被当成黑盒子看待,顺序图的重点是参与者发起的跨越系统边界的事件。
(2)系统事件是由某参与者发起的指向系统的输入事件。
一个事件的发生能够触一个响应操作的执行。
(3)请仔细研究下图,考察它是如何从左边的“购买商品”用例文字描述中分解出3个系统事件的。
(4)参照用例模型和概念模型。
为每个系统操作估计后置条件。
(实例创建、形成关联、属性修改)
(5)按照设计模式为对象分配职责
步骤:
1.分析首选用例的文字描述,按事件进行分解,识别出系统事件。
(下面以“企业综合信息管理系统”)->“进销存管理”子系统->“销售管理”->“合同管理”主线中的“收款单处理”用例为例)。
2.为每个系统事件估计后置条件。
(以上做了部分分析)
3.按设计模式进行设计
首先考虑控制者,领域控制者选参与者角色,即“销售人员”。
为了避免使用FORM窗口等表示层对象,我们构造一个类“应用协调者”向控制者发送消息。
【实验结果】
1.用Rose绘制的销售管理子系统概念模型
2.付款单处理
3.销售管理子系统设计类图
4.用Rose画出的顺序图付款单处理如下:
【实验总结】
在做这个实验之前首先要理解顺序图的基本概念,然后对用例进行事件分解,识别出系统事件,再为每个系统事件画顺序图。
通过这次实验,理解了顺序图的相关概念,对于软件工程中用例逻辑时序分析方法有了进一步的认识,掌握了使用Rose创建顺序图的方法。
但自己对于一些创建的实例的关联分析的还不够好,不能准确的画出它们之间的关联,这也是自己有待提高的部分。
实验四、设计建模
(2)
【实验日期】2013年4月3日
【实验目的】
●理解面向对象类之间关联关系的概念
●了解和掌握分析类之间关联关系的方法
●了解和掌握待开发系统中类之间关联关系的分析方法
●完善设计类图,掌握使用Rose对关联进行建模的过程
【实验内容】
根据设计建模
(1)中交互分析,进一步设计关联和对象可见性,完善设计类图。
【实验原理与步骤】
建模原理:
(1)关联关系描绘了给定类的对象个体之间的语义连接,是类与类之间的连接。
关联乐意分为一般关联、聚合关联、组合关联和依赖关联等。
(2)一般关联包括一对类的二元关联及多个类之间的多元关联。
(3)聚合表示整体和部分之间较强的关联关系,聚合关系的多重性大于1,则称为共享聚合。
(4)组合关系表示整体和部分之间有比聚合关系更强的关系,它们之间是一对一对的关系,即同生死共存亡,组合关系不能共享。
(5)依赖关系是一种使用关系,表现为一个对象仅仅调用了另一个对象的服务。
可以使用下列的指导方针列出暂时性的关系:
(1)存在两个或两个以上的类互相之间就可能有关联。
(2)类的操作的参数表里出现其他类的对象。
(3)一个类包含另一个类的对象(对象成员)。
(4)根据一般常识可能会出现的关联。
步骤:
(1)分析已经建立的设计类图和交互图,进一步设计关联和对象可见性。
在销售管理子系统中,定义的个各类之间一般都有关系发生。
销售人员和大客户共同签署销售合同,销售合同中涉及到多种可以销售的产品,合同经公司经理审查并签字后该合同才能生效,付款单需要客户付款,销售人员签发催款单想客户催缴欠款,销售人员制定销售计划,销售人员要检查监督执行期合同按合同执行、履行,履行后的合同转到履行合同数据库存档备查等等。
例如:
(a)销售人员与客户:
一般关联,多对多
(b)销售合同与合同明细,销售计划与计划明细:
组合
(c)付款单与客户:
依赖关系
(2)完善设计类图
画图原理:
(1)关联关系描绘了给定类的对象个体之间的语义连接,是类与类之间的连接。
关联可以分为一般关联、聚合关联、组合关联和依赖关联等
(2)一般关联宝库一对类的二元关联及多个类之间的多元关联
(3)聚合表示整体和部分之间较强的关联关系,聚合关系的多重性大于1,则称为共享聚合
(4)组合关系表示整体和部分之间有比聚合关系更强的关系,它们之间是一对一的关系,即同生死共存亡,组合关系不能共享
(5)依赖关系式一种使用关系,表现为一个对象仅仅调用了另一个对象的服务
步骤:
(1)在关联和对象可见性分析的基础上,补充一般关联、组合、泛化、依赖
(a)一般关联关系要注意关联的命名以及哪个是roleA哪个是roleB
(b)一般关联选中roleBdetail中的aggregate,就变成聚合:
再选中byvalue就会变成组合
(c)依赖画虚线箭头
(2)完善设计类图
【实验结果】
用Rose完善的设计类图如下图:
【实验总结】
在这次实验的过程中,自己对于一些概念由模糊到逐渐认识,理解了面向对象类之间关联关系的概念,掌握了分析类之间关联关系的方法,完善了以前设计的类图,掌握了一定的用Rose对关联进行建模的方法,并把它们用在实例中,对uml建模有个更为深刻的认识和了解,这也为自己以后的学习打下了很好的基础。
对于ROSE软件,由于自己知识的有限,对于里面的控件掌握的还是不够熟练,只是对整个实验的整个过程中常用的一些控件还是比较熟悉,对于其他的的就比较生疏,会在以后继续学习,让自己获得更多的知识,让自己更加深刻的认识到uml的强大之处。