案例分析——采用UML对学生宿舍管理系统的建模1.案例分析目标本案例采用UML的方式对学生宿舍管理系统进行分析和设计,通过对学生宿舍的建模来对UML进行更加详细的了解和熟悉。基于以上我们对学生宿舍的了解和对学校宿舍楼管理老师的咨询,我们小组成员:钱亚文,钟春瑕,仓决决定试着开发出来一个小型的学生宿舍管理系统。2背景分析2.1宿舍楼的基本情况学生住在宿舍楼中,每栋宿舍楼都会有若干名老师负责本宿舍楼的日常管理。一、学生的基本信息:入校时,每位同学都有唯一的学号,并被分配到指定的宿舍楼和指定的宿舍,也会有一个宿舍号,其入校时间就是他的入住时间。另外,为了管理上的方便,同一院系的学生的宿舍一般在一起,相应地会有其所在的院系名称。一、宿舍的基本信息:每间宿舍都有唯一的宿舍号2.2用户对系统的要求一、宿舍楼管理员:a.信息要求:宿舍楼管理员能查询上面提到的宿舍楼的所有相关信息,包括某一学号的学生在宿舍楼中住宿的详细信息,夜归的详细信息和学生离返校的信息。以利于对整个宿舍楼的全面管理。b.处理要求:当学生基本信息发生变化时,宿舍楼管理员能对其进行修改。比如,某些同学搬到其他的宿舍中去,他们在本宿舍楼中相应的记录就应该删去;或者学生转换专业,他们记录中院系的信息也要作相应的修改等等。c.安全性与完整性要求:安全性要求:1.系统应设置访问用户的标识以鉴别是否是合法用户,并要求合法用户设置其密码,保证用户身份不被盗用;2.系统应对不同的数据设置不同的访问级别,限制访问用户可查询和处理数据的类别和内容;3.系统应对不同用户设置不同的权限,区分不同的用户,如区分普通用户(学生),管理员。二、本宿舍楼的学生:信息要求:本宿舍楼的学生能查询其所在的宿舍的所有信息。3.UML建模基础知识学生宿舍管理系统的主要的参与者是查询者,一般用户,系统管理员,财务人员,系统管理员,学生工作人员,以及时钟。通过分析参与者的活动,可以初步确定这样的一些用例:(1)查询信息(2)学生管理(3)宿舍分配(4)住宿管理(5)基本数据管理(6)财务管理(7)决策支持。UML采用9种视图来描述系统的结构和行为,具体下面将一一介绍:用例图:参与者,用例的集合,可能的接口以及这些元素之间关系的图形表示。类图:类与类之间的相互关系。构件图:构建以其相互依赖关系。部署图:构建在各节点上的部署。顺序图:强调时间顺序的交互图。协作图:强调对象协作的交互图。4.UML建模根据前面的需求分析,分别建立系统的用例图,包图,类图,顺序图,协作图,活动图。4.1整体宿舍管理系统用例的组织——用例包图学生宿舍管理子系统学生基本信息管理子系统财务管理子系统决策支持查询子系统公用部分基本数据库管理子系统学生宿舍管理系统的包图4.2子系统的用例图用例图分析首先确定参与者,参与者是系统以外的一个实体(可以是任何的事物或者人),它以某种方式参与了用例的执行过程。参与者通过向系统或请求系统输入某些事件来触发系统的执行。我们看到宿舍管理系统的参与者是查询者,一般用户,学生工作人员,信息管理员,住宿管理,系统管理员,财务人员,时钟。在分析用例,从需求捕获看用例有以下这些:查询信息,学生信息管理,基础数据库管理,财务管理,登陆,宿舍分配,住宿管理,时钟支持。画出上图的“学生宿舍管理子系统”的用例图。参与者与用例的关系是通信关系。用例与用例的关系是包含,扩展,泛化三种。登陆一般用户基础数据库管理系统管理员财务管理财务人员时钟支持时钟查询信息查询者学生信息管理学生工作人员宿舍分配住宿管理信息管理员includeincludeincludeincludeincludeincludeincludeinclude学生宿舍管理子系统的用例图添加学生学生工作人员删除学生更新学生查询学生includeinclude学生信息管理子用例图用例的详细描述——以“登录用例”为例用户名登录用例目标登录。描述了用户登录到《学生宿舍管理系统.的过程,设置了各种用户的的访问权限主参与者用户触发条件用户企图进入各个系统模块的时出发前置条件:系统必须能正常启动典型实践过程参与者系统响应①当用户启动这个应用系统时,用力开始。③用户数如用户名和密码②系统显示登录界面④系统验证信息⑤系统设置访问权限⑥系统显示主菜单(子用例:显示主界面)⑦用例结束替代实践过程如果用户输入错误的用户名或密码时,给出提示信息,并跳转到⑦后置条件用户正常登录到界面上4.3系统类图分析用例,从用例中寻找对象和类。例如,通过分析宿舍分配管理子系统,可以发现已下实体类:学生,宿舍管理员,班级,楼栋,床位等。类是对象的抽象的描述,它包括属性的描述和行为的描述两个方面。类中的关系是关联,泛化,实现,依赖四种关系。其中类与类主要的关系是关联,泛化。静态分析阶段——学生宿舍分配类图4.4为对象分配操作——通过协作图:学生基本信息表:宿舍管理员:宿舍分配界面:学生:床位:宿舍住宿情况表1::打开3:显示学生具体信息7:修改住宿信息4:确认学生信息2:输入学号查询学生信息5:查询空床位6:显示空床位具体信息为对象分配操作:查询者登录界面住宿管理1:进入登陆界面2:密码与用户名相配3:确定住宿管理4:进入登陆界面5:密码与用户名不匹配登陆交互图4.5系统的动态分析——用顺序图表示用例的实现:学生基本信息表:宿舍管理员:宿舍分配界面:学生:床位:宿舍住宿情况表:打开输入学号查询学生信息显示学生具体信息确认学生信息查询空床位显示空床位具体信息修改住宿信息学生宿舍分配顺序图:查询者登录界面住宿管理进入登陆界面密码与用户名相配确定住宿管理进入登陆界面密码与用户名不匹配学生宿舍管理系统部分顺序图动态分析阶段——登陆顺序图4.6活动图活动图显示了系统从一个活动到另一个活动的流程。利用UML的活动图工具进行工作流程建模。在这个学生宿舍管理系统在中的其中的学生入住业务流程中,活动应该涉及到申请入住,交费认可,取消住宿,学生身份认证,住宿分配。交费认可申请入住取消住宿学生身份认可住宿分配失败失败认可认可学生入住业务流程——活动图5.案例总结本案例以学生宿舍管理系统UML建模为例,列举了我们几个认为重要的且会做的图形建模,旨在为大家分析此类问题提供参考性的方法和思路。每类图中更细节的问题有待进一步深入分析和细化。UML,不是一种方法学,它不需要任何正式的工作产品,而且它还提供了多种类型的模型描述图(diagram).当在某种给定的方法学中使用这些图时,它使得开发中的应用程序的更易理解。UML的内涵不只是这些模型描述图,但是对于入门来说,这些图对这门语言及其用法背后的基本原理提供了很好的介绍。通过把标准的UML图放进工作产品中,精通UML的人员就更加容易加入你的项目并迅速进入角色。最常用的UML图包括:用例图,类图,序列图,状态图,活动图,组件图和部署图》