【UML】案例分析:机场运作系统

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/xiaowei_cqu/article/details/7773820

08年9月入学,12年7月毕业,结束了我在软件学院愉快丰富的大学生活。此系列是对四年专业课程学习的回顾,索引参见:http://blog.csdn.net/xiaowei_cqu/article/details/7747205

此篇是UML课程的大作业,是我跟随 桐姐小鹿,和 翠翠 一起完成的。感谢几位认真扎实又不嫌弃我的队友,让我学习很多~

UML案例分析


UML建模的目的:
  • 使用模型可以更好地理解问题 (To understand the problem better)
  • 使用模型可以加强人员之间的沟通 (To communicate with other persons)
  • 使用模型可以更早地发现错误或疏漏的地方 (To find errors or omissions)
  • 使用模型可以获取设计结果 (To plan out the design)
  • 模型为最后的代码生成提供依据 (To generate code)
UML建模:
UML是Unified Modeling Language(统一建模语言)的简称。UML是对软件密集型系统中的制品(软件开发过程中产生的各种各样的产物,如模型、源代码、测试用例等)进行可视化、详述、构造和文档化的语言。
UML是一套表示法系统。UML由一组图组成,它使得系统分析员可以利用这一标准来建立能够和客户、程序员以及任何参与程序开发的人员理解的多视角的系统蓝图。不同的风险承担人通常使用不同类型的图相互交流。
  1. UML提供了九种不同的图来描述系统模型,用于面向对象的编程:类图:一类或者一组具有类似属性和共同行为的事物;
  2. 对象图:一个类的实例,是具有属性值的一个具体事物;
  3. 用例图:是从用户的观点对系统行为的一个描述;
  4. 状态图:在任意给定的时刻,一个对象总是处于某一特定的状态;
  5. 顺序图:表达对戏那个之间基于时间的动态交互;
  6. 活动图:显示系统中从一个活动到另一个活动的流程;
  7. 协作图:展示一组对象间的连接以及这组对象收发的消息;
  8. 构件图:展现了一组组件之间的组织和依赖,用于对源代码、可执行的发布、物理数据库和可调整的系统建模;
  9. 部署图:显示了基于计算机系统的物理体系结构;

实验步骤


【确定项目】

机场运作系统

【项目立意】

 机场运作系统分析旨在分析机场的运作系统,从中发现系统中的不足,以求设计出更好的机场运作系统。机场运作系统的核心在于机场的调度系统,通过对此业务模型的建立和分析,希望那个能够找出更好的机场调度算法,使机场能够更加高效的运行。整个系统中采用无线网络进行通信,除了Pc机,为了方便通信,在本系统中还通过对讲机进行通信,使信息能够及时的传送。

【系统分析】

首先机场运作系统是一个比较庞大的系统,为了方便起见,我们将其分成四大版块,小组四位成员一人负责一大版块,每阶段任务结束都进行汇报总结,相互纠正错误,完善各版块体系:
四大版块:
  1. 买票系统:主要对乘客购买机票到登机前的系统的分析;包括:网购 、机场购买、退票、改签机票
  2. 登记系统:主要对乘客到达机场后直到登机之间的系统分析;包括:安检、检票、登机
  3. 调度系统:主要对飞机起飞与着陆的系统分析; 包括:跑道控制、飞机起飞、特殊情况、飞机降落
  4. 货运系统:主要对货物从安检装机到抵达目的地之间的系统分析; 包括:发货、货物检查、收货
对各版块进行系统分析的方法也同样依照书本上所使用的——从业务入手,发现业务过程。我们小组成员对各自的版块都进行了业务流程的分析,并画出了业务流程图,为方便之后的抽类及细化类的过程。

图 1 登记活动图


图 2 买票活动图


图 3 飞机起飞活动图


图 4 飞机着陆活动图


图 5 机场货运活动图


【领域分析——抽类】

上阶段步骤校验结束后,进行领域分析,即对各版块系统进行对名词和动词的抽取,汇总去掉重复累赘项后得到初步类图:
初步将类分为 : 角色、实体和机场部分
  1. 角色包括:乘客、检票员、安检人员、地控中心人员、携货员、前台服务人员、机场货运人员、机场广播人员、跑道工作人员
  2. 实体包括:机票、行李、货物、货运单、登机牌、货运单
  3. 机场部门包括:飞机、跑道、候机厅、机场公安局、机场大厅、海关、登机口、边防检查属
图 6 系统类图


图 7 跑道工作人员类图


图 8 安检人员类图


图 9 乘客相关类图


图 10 低空中心人员相关类图


图 11 机场工作人员相关类图


图 12 机场总负责相关类图


图 13 检票相关类图


图 14 携货人员相关类图



【开发用例】

   对各种类进行了细化后,开始对用例的开发。
   对于用例,我们根据所得出的类来分析,首先我们将类分为几个不同的包,
   如乘机对象(乘客和货物)、 携货人员(发货人和收货人)检查机构(海关和边防检察署)、 机场工作人员(前台服务员等)

图 15 检查机构用例图


图 16 乘机对象用例图



图 17 携货人员用例图


图 18 机场工作人员用例图


【创建时序图】

   开发完用例后,我们小组对其中重要的用例进行了时序图的创建。
   对于买票系统来说,最关键的用例即购票,我们我们仅对网上购票进行了时序图的描述,具体时序图 ;对于登机系统来说,我们对登记检查部分进行了时序图的描述,检查包括登机前的机票检查和物品安检以及国际航班的海关检查;对于调度系统来说,主要是飞机的起飞和着陆,我们分别对这两个用例进行了时序图的描述。
   对于货运系统来说,我们主要对货物交货时的安检用例进行了时序图的描述,对于货物的安检来说是比较严格的,而且考虑到的方面也比较繁杂
   时序图完成后,相应的协作图就很容易得到,按F5即可。

图 19 登机顺序图


图 20 买票顺序图


图 21 飞机起飞顺序图


图 22 飞机着陆顺序图


图 23 货运顺序图


【创建状态图】

   状态图在创建的过程中很容易出现错误,不知道什么是状态图,如何确定状态,常常需要回过头去看状态图的概念——是针对某一个对象不同时刻的状态所描绘成德图。
   于此,我们小组对两个重要对象进行了状态图的描绘:

图 24 货物状态图


图 25 飞机状态图

【创建组件图】

   组件图是根据之前的类图,相关的用例所构建的,描述的是组件之间的组织和依赖。

图 26 系统构件图


【创建部署图】

   部署图展现的是运行时处理节点以及其中组件的配置,说明分布、交付和安装的物理系统。

图 27 系统部署图




实验结果及分析

  1. 通过实验对具体问题的建模,更加深了对UML的理解,以及体系化了自己建模的思想。UML是Unified Modeling Language(统一建模语言)的简称。UML是对软件密集型系统中的制品(软件开发过程中产生的各种各样的产物,如模型、源代码、测试用例等)进行可视化、详述、构造和文档化的语言。同时理解了UML各种图之间的关系。UML中视图包括:用例视图、逻辑视图、实现视图、进程视图、部署视图。由九种图组成:包括类图、对象图、顺序图、状态图、用例图、活动图、协作图、构件图、部署图。
  2. 通过实验我们也再次融洽了小组的协作。集体的力量是无穷的!当你属于你一个集体的时候,那种归属感与优越感也能再次大限度的发挥你的潜力!整个建模过程我们一起讨论,分工合作。大家各有自己的任务,同时也有集体的大局,熬了几夜才搞出这个浩大的工程。实验中我们系统的类图啊,部署,构件几乎都是一起做的,而每个模块分到个人专门负责。我负责调度模块,为了使这一块做的好一些,也查阅了不少有关调度的知识(虽然很多并没有用来建模),学习了很多。相信我们团队会越走越远!
  3. 整个系统是通过EA(Enterprise Architecture)软件作为分析平台,由于Rational Rose中有些UML图是不支持的,比如顺序图中的帧化等,所以在此选择EA作为开发平台。顺序图中的帧化情况的出现是由于我们在各自的工程下进行分析,在整合系统的时候就直接采用帧化的方式,说明图式来自于别的工程,充分利用了UML2.0的优越性

转载请注明出处:http://blog.csdn.net/xiaowei_cqu/article/details/7773820




展开阅读全文

没有更多推荐了,返回首页