案例分析——采用UML对学生宿舍管理系统建模1.案例分析目标本案例采用UML语言对进销存系统进行分析和设计,通过本案例的讲解,目的是使学生了解面向对象的基本思想方法,学会使用UML语言对面向对象开发的软件系统进行可视化描述、分析与设计。2.UML建模基础知识一般而言,我们可以从以下几种常用的视角来描述一个系统: 系统的使用实例:从系统外部的操作者的角度描述系统的功能。 系统的逻辑结构:描述系统内部的静态结构和动态行为,即从内部描述如何设计实现系统功能。 系统的构成:描述系统由哪些程序组件所组成。 系统的并发性:描述系统的并发性,强调并发系统中存在的各种通信和同步问题。 系统的配置:描述系统的软件和各种硬件设备之间的配置关系。根据这种思想,UML采用9种视图描述系统的结构和行为,如下图所示:图1UML视图3.案例简介——学生宿舍管理系统需求调查随着近几年高校招生人数的不断扩大,学生的宿舍管理工作也越来越繁重和琐碎。比如:一年一度的新生住宿安排;每个月进行一次的收费、统计及打印报表(包括:水费、电费、热水费);各种查询问题等等。原来有的是靠手工完成,有的简单报表是靠Word或Excel完成。现在仅靠传统的办法已不能适应这个时代的要求,本作业主要任务是采用UML对学生宿舍管理系统进行面向对象建模。通过对系统的分析,我可以找到这样一些参与者:一般的查询者、住宿的学生用户、时钟、财务管理人员、系统管理员、学生工作人员、宿舍管理人员、物业管理人员和人事经理等。通过分析参与者的活动,可以初步确定这样一些用例:(1)查询信息,(2学生管理,(3)宿舍分配,(4)住宿管理,(5)基础数据管理,(6)财务管理,(7)决策支持。4.UML建模根据前面的需求分析,分别建立系统的用例图、包图、类图、顺序图、协作图、活动图。4.1整体宿舍管理系统用例的组织——用例包图学生宿舍管理子系统学生基本信息管理子系统查询子系统财务管理子系统决策支持基础数据库管理子系统公用部分图2:学生宿舍管理系统的包图4.2子系统的用例图画出图2中的“学生宿舍管理子系统”的用例图:学生工作人员信息管理员一般用户财务管理系统管理员财务人员时钟查询者时钟支持查询信息基础数据库管理学生信息管理宿舍分配住宿管理登陆usesusesusesusesusesusesusesuses图3:学生宿舍管理子系统的用例图然后划出图3中,“学生信息管理“子用例的用例图。学生工作人员添加学生删除学生更新学生查询学生usesuses图4:学生信息管理子用例用例的详细描述——以“登录用例”为例用例名称登陆用例目标登陆。描述了用户登录到《学生宿舍管理系统》的过程,设置了各种用户的访问权限主要参与者用户触发条件用户企图进入各个系统模块时触发前置条件:系统必须能正常启动参与者动作系统响应典型事件过程①当用户启动这个应用系统时,用例开始。③户输入用户名和密码。②系统显示登录界面。④系统验证信息。⑤系统设置访问权限。⑥系统显示主菜单(子用例:显示主界面)。⑦用例结束。替代事件过程替代⑤:如果用户输入错误的用户名或者密码,给出提示信息,并且跳转到⑦后置条件用户正常登录到界面上4.3系统类图分析用例,从用例中寻找对象和类。例如,通过分析宿舍分配管理子系统,可以发现以下实体类:学生、宿舍管理员、班级、楼栋、床位等-员工号-姓名-密码宿舍管理员+登录()-用户名-登录类型-密码登录界面+增加学生()+删除学生()-所属院代号-所属系代号-班级-班级名称班级-分配方式分配住宿界面(abstract)个人分配+getData()+setData()+...()-学号-姓名-性别-院代号-系代号-班级代号-专业代号-类型编号-入学日期学生(abstract)-学号-姓名-性别-类型号-院代号-系代号-班级代号-班级号-专业号DB学生+new()+add()床位List+增加楼栋()+删除楼栋()-园区号-楼栋号-楼栋名楼栋-床位号-居住者学号-所属楼栋号-所属园区号-所属寝室号床位-床位号-居住者学号-所属寝室号-所属楼栋号-所属园区号DB床位集体分配********1*登录打开《dependon》《dependon》-11-0*图5:静态分析阶段—学生宿舍分配类图4.4为对象分配操作——通过协作图:宿舍管理员:学生基本信息表:宿舍住宿情况表:床位:学生:宿舍分配界面4:确认学生信息3:显示学生具体信息1:打开2:输入学好查询学生信息7:修改住宿信息5:查询空床位6:显示空床位具体信息图6:为对象分配操作—通过协作图4.5系统的动态分析——用顺序图表示用例的实现顶层包::顶层包学生宿舍管理系统部分顺序图进入登陆界面进入登陆界面密码与用户名相符密码与用户名不符确定住宿管理宿舍管理员登录界面住宿管理顶层包::顶层包顶层包::顶层包图7:动态分析阶段——登陆顺序图4.6活动图利用UML的活动图工具进行工作流程建模。申请入住取消住宿交费认可学生身份认可****财务管理中心宿舍管理中心学生基本情况管理中心住宿分配[失败][失败]认可认可图1:学生入住业务流程--活动图5.案例总结本案例以学生宿舍管理系统UML建模为例,列举了几个相对重要视图中的图形建模,旨在为大家分析此类问题提供参考性的方法和思路。每类图中更细节的问题有待进一步深入分析和细化。UML不是一种方法学,它不需要任何正式的工作产品,而且它还提供了多种类型的模型描述图(diagram),当在某种给定的方法学中使用这些图时,它使得开发中的应用程序的更易理解。UML的内涵远不只是这些模型描述图,但是对于入门来说,这些图对这门语言及其用法背后的基本原理提供了很好的介绍。通过把标准的UML图放进工作产品中,精通UML的人员就更加容易加入您的项目并迅速进入角色。昀常用的UML图包括:用例图、类图、序列图、状态图、活动图、组件图和部署图。