资源描述
本科实验报告课程名称: 系统分析与设计 实验项目: 酒店管理系统实验 实验地点: 逸夫楼 专业班级:软件1406 学号: 2014005674 学生姓名: 张琳 指导教师: 孟东霞 2016年 9月 25 日一、实验目的 通过系统分析与设计实验,使学生在实际的案例中完成系统分析与系统设计中的主要步骤,并熟悉信息系统开发的有关应用软件,加深对信息系统分析与设计课程基础理论、基本知识的理解,提高分析和解决实际问题的能力,使学生在实践中熟悉信息系统分析与设计的规范,为后继的学习打下良好的基础。二、实验要求学生以个人为单位完成,自选题目,班内题目不重复,使用UML进行系统分析与设计,并完成实验报告。实验报告以纸质版(A4)在课程结束后二周上内提交(12周)。三、实验主要设备:台式或笔记本计算机四、实验内容1 选题及项目背景酒店管理系统是一个面向酒店用来进行酒店日常管理的系统。该系统能能够为酒店的管理者对酒店进行比较精确的管理,能够实现用户进行酒店的预定等操作,对酒店各部门提供管理功能。2 定义酒店管理系统是记录酒店客人的信息,提供查询,报表打印等一系列工作,他能让工作人员从繁琐的工作中解脱出来。本系统将结合中国酒店的实际特点,模仿中小型酒店的设计管理系统,将整个酒店管理系统细分成三个部分:房间管理、顾客管理和财务管理。实现客房管理、房态查询、系统管理、会员管理等基本功能。3 参考资料 系统分析与设计酒店管理方案4 系统分析与设计4.1需求分析 4.1.1识别参与者 在本系统中参与者有:酒店管理员,酒店经理,前台服务 4.1.2 对需求进行捕获与描述 1. 用例名称:用户信息管理 执行者:酒店管理员和前台服务员 目的:对酒店客房管理系统的使用者进行管理,包括对员工的基本信息进行检索、录入和修改2.用例名称:客房经营管理 执行者:酒店管理员、酒店经理、和前台服务员 目的: 实现对客房的订房,入住和退房管理,包括对客房的业务信息(如客房号、预定时间、入住时间、换房情况、退房情况、金额等)进行检索、录入和修改。3. 用例名称:预订登记 执行者:前台服务员、管理员或经理 目的:客户通过各种途径(电话、网络或亲自到达)预订房间4. 用例名称:入住登记 执行者:前台服务员、管理员或经理 目的:客户入住酒店,办理手续5. 用例名称:退房登记 执行者:前台服务员、管理员或经理 目的:客户退出酒店,办理手续6. 用例名称:客房信息管理 执行者:酒店管理员和酒店经理 目的:可自定义客房类型,并对其进行管理,包括对客房类型的基本信息(如客房号、客房类型、房间位置、面积、床位、价格等)进行检索、录入和修改。7. 用例名称:用户密码修改 执行者:酒店管理员、酒店经理和服务员 目的:用户可以对自己的登录密码进行修改8. 用例名称:用户注销 执行者:酒店管理员,酒店经理和服务员 目的:用户离开系统,注销,以防止别人通过自己的帐号登录系统9. 用例名称:删除用户 执行者:酒店管理员 目的:删除用户(前台服务员、系统管理员、经理)信息10.用例名称:添加用户 执行者:酒店管理员 目的:添加用户11.用例名称:查询用户信息 执行者:酒店管理员或服务员 目的:查询用户(前台服务员、系统管理员、经理)信息,包括姓名、员工号、部门、联系方式12.用例名称:删除用户 执行者:酒店管理员酒店管理员 目的:删除用户(前台服务员、系统管理员、经理)信息用例描述:100.1用例ID号及用例名D1用户信息管理100.2用例概述对酒店客房管理系统的使用者进行管理,包括对员工的基本信息进行检索、录入和修改100.3参与者酒店管理员和前台服务员(部分使用)101.4前置条件必须先登录(帐号、密码)100.5后置条件若有改动,必须确认保存100.6基本事件流(Basic Flow)1. 管理员(或服务员)登录2. 对员工信息进行查询或修改100.6.1扩展事件流(Alternative Flows)1. 添加员工2. 查询员工信息3. 修改员工信息4. 删除员工信息100.1用例ID号及用例名D2添加用户100.2用例概述添加用户100.3参与者酒店管理员101.4前置条件必须先登录100.5后置条件如果有改动必须保存100.6基本事件流(Basic Flow)1. 管理员登录2. 开始添加员工3. 输入员工信息4. 保存添加员工信息100.6.1扩展事件流(Alternative Flows)添加用户100.1用例ID号及用例名D3查询用户信息100.2用例概述查询用户(前台服务员、系统管理员、经理)信息,包括姓名、员工号、部门、联系方式100.3参与者酒店管理员或服务员(部分)101.4前置条件必须先登录100.5后置条件若有改动必须保存100.6基本事件流(Basic Flow)1. 管理员登录2. 输入所要查询员工姓名或员工号3. 检索查看信息4. 确认并退出100.6.1扩展事件流(Alternative Flows)查询用户信息100.1用例ID号及用例名D4删除用户100.2用例概述删除用户(前台服务员、系统管理员、经理)信息100.3参与者酒店管理员101.4前置条件必须先登录100.5后置条件必须确认保存100.6基本事件流(Basic Flow)1. 管理员登录2. 输入所要删除员工的姓名或员工号3. 确认删除4. 退出100.6.1扩展事件流(Alternative Flows)删除用户4.1.3 用例图 4.1.4 分析与讨论1) 建模用例图的步骤、方法? (1)确定出系统的参与者和用例。 (2)确定出系统的用例。 (3)按照优先次序细化每个用例。 (4)确定出每个用例中的泛化。 (5)确定每个用例中的包含关系、扩展关系。 (6)使用你已经确定的参与者,用例,泛化,包含关系和扩展关系为每个用例创建一个用例图。 2) 如何识别系统的参与者?应该如何划分用例,应注意哪些问题? 查找谁是系统的主要功能,谁改变系统的数据,谁从系统获取数据,谁支持维护系统谁需要借助系统的支持来完成日常的工作,系统需要操纵哪些硬件,系统需要和那些外部系统交互。划分用例可以将系统分解成若干子系统,子系统还可以划分下属子系统,形成一个系统层次结构。识别用例间的关系,扩展、包含等来划分子系统。3) 心得 对于大型软件系统,用例模型相对复杂为了清晰的描述这样的系统就有必要使用包等对用例进行分组。通过本次实验指导了用例图怎么画,及用例图描述系统的功能需求。4.2 建立对象模型 4.2.1 候选类的数据字典类名类型定义酒店管理系统结构体记录工作人员的信息餐饮管理界面结构体记录月销售额财务管理界面字符型、链表记录财务客房管理界面结构体住户记录用户管理界面结构体客户信息预订管理界面结构体客户的更新消息顾客信息管理界面结构体顾客的信息记录(客房记录等) 4.2.2定义类 客房管理界面类:属性 客房号码 客房标准 客房位置客房状态单价容纳人数用户管理界面类属性 用户名 密码 餐饮管理界面类属性 食品种类 食品价格操作 点菜() 结账()顾客信息管理界面类属性 客房房号 客人姓名 身份证号码 身份证地址 入住时间 操作员财务管理界面类属性 入账编号 入账金额 入账时间预订管理界面类 属性 客房房号 客人姓名 身份证号码 身份证地址 预定时间操作员酒店管理系统类属性 用户名密码操作登录() 4.2.3绘制类图 图4.2.3酒店管理系统类图该类图中包含类有: 客房管理界面类 用户管理界面类 餐饮管理界面类 财务管理界面类 预订管理界面类 顾客信息管理界面类 酒店管理系统类 说明:客房管理界面类,用户管理界面类,餐饮管理界面类,财务管理界面类,预订管理界面类 ,顾客信息管理界面类与酒店管理系统类为关联关系。 4.2.4包图 对于大型复杂系统,常需要把大量的模型元素用包组织起来,以方便处理。对所选系统的类进行分组,以便更清晰地了解系统的结构。图4.2.4系统包图该包图中含有: 系统管理 房间管理 客房管理 房态查询 顾客管理 会员管理 财务管理说明:系统管理与整个房间管理、顾客管理、财务管理相关联。 4.2.5分析与讨论 1)建模类图的步骤、方法? 使用名词识别法识别类;建模类与类之间的关系;为类图中的关联关系添加合适的角色名;为已被封装到类中的独立功能建模类。 1 研究分析问题领域,确定系统的需求。2 发现对象和对象类,明确他们的含义和责任,确定属性和操作。3 发现类之间的静态联系。着重分析找出对象类之间的一般和特殊关系,部分与整体关系,研究类的继承性和多态性,把类之间的静态联系用关联、泛化、聚合、组合、依赖等联系表达出来,虽然对象类图表达的是系统的静态结构特征,但是应当把对系统的静态分析与动态分析结合起来,更能准确地了解系统的静态结构特征。4 设计类与联系。调整和精化已得到的对象类和类之间的联系,解决诸如命名冲突、功能重复等问题。5 绘制对象类图并编制相应的说明2)识别类有哪些方法,你是如何识别类的 ?行为分析、名词分析法、根据边界类、控制类、实体类的划分识别、参考设计模式确定类以及通过对领域进行分析得到类。在此系统中,采用了名词分析法,然后找出候选类,在审查与筛选。3)解释关联的多重性?如何确定类的属性、操作、类之间的关联关系、组织类之间的继承? 关联的多重性表示:在建模过程中年,一个关联实例中有多少个相互连接的对象。通过分析系统结构与组成,确定类的关联关系、组织类之间的继承。4.3 建立动态模型系统的动态行为模型由交互图(顺序图和协同图)、状态机图和活动图表达。在系统的分析和设计中应当对主要的Use Case和对象类绘制这些图形,以便分析系统的行为,印证和修改系统的静态结构,满足用户的需求,达到系统的目标。4.3.1顺序图 图4.3.11用户登录系统顺序图说明:当用户输入了正确的用户名和密码时系统进入验证服务,通过数据库的查询认为用户存在时返回一个验证成功的消息给登录酒店管理系统,之后返回一个登录成功的消息给用户。该图将转成通信图: 图4.3.12客户订房顺序图客户订房序列图说明:1员工登录系统 2预订请求3打开查询界面 4有无空房5无空房 6 抱歉无空房7有空房 8打开预订房间界面9完成订单 10预订成功11添加订单说明:酒店经理打开员工登录系让前台服务员为顾客提供服务,前台服务员打开操作界面在酒店数据库进行查询有无空房若无则放回消息告诉顾客无空房间,若有则打开预定空房的界面完成订单,预定成功后添加订单到系统返回给经理。 4.3.2 通信图图4.3.2客户订房通信图该通信图中包含: 酒店数据库 预订房间 顾客 前台服务员 酒店经理 查询界面说明:酒店经理打开员工登录系让前台服务员为顾客提供服务,前台服务员打开操作界面在酒店数据库进行查询有无空房若无则放回消息告诉顾客无空房间,若有则打开预定空房的界面完成订单,预定成功后添加订单到系统返回给经理。 4.3.3活动图活动图的主要作用是表示系统的业务工作流和并发处理过程。针对自选系统主要的业务工作流绘制活动图。绘制活动图需要确定参与活动的对象、动作状态、动作流,以及对象流。图4.3.3预定房间活动图该活动图中包含: 预定房间 房间类型 普通房间 豪华房间 客户登记说明: 当顾客要求预定房间是先查询是否有空房间,若是有则看房间的类型,若是无则离开结束;在房间类型中可以并发进行选择是普通房间还是豪华房间,最终以客户登记结束并发流,结束。 酒店管理系统的活动图说明:用户可以进行登录若是成功则选择若是普通用户则并发进行管理自己的信息,或可以进行客房管理,预定管理,消费管理;若是管理员则并发进行客房管理预定管理和消费管理,还可以管理自己的和普通用户的信息,最终管理完成后结束;若是登录失败,则在三次登录失败后退出系统。参与活动的对象是用户,或是管理员。 4.3.4状态图状态机图表现一个对象(类)的生命史。对于一些实现重要行为动作的对象应当绘制状态机图。绘制状态机图需要确定一个对象的生命期可能出现的全部状态,哪些事件将引起状态的转移,将会发生哪些动作。该图中包含状态有: 客房 订房登记 删除房间 退房登记说明:在添加信息给客房,当进行订房登记后将订房的信息加入房间状态,若是发生删除房间操作是,将删除信息加入删除房间信息,若是发生退房事件将会触发退房登记,会将房间状态设置为空。房间状态图说明:如果占用过就看他是否登记过,如果登记过为在使用中需要清理房间,预定房间若取消预订就结束;房间如果有损坏则需要维修。4.3.5 分析与讨论问题:比较顺序图与通信图、 活动图与状态图的应用。在uml系统开发过程中,系统的动态模型主要包括对象交互模型和对象的状态模型。对象交互模型由顺序图和通信图进行描述,对象的状态模型择优活动图和状态图进行描述。相同点:描述图符基本一样;可以描述一个系统或对象在生存期间的状态或行为;可以用条件分支图描述一个系统或对象的行为控制流可以描述一个系统或对象在多进程操作中的并发行为不同点:触发一个系统或对象的状态发生转移的机制不同;描述多个对象共同完成一个操作的机制不同顺序图和通信图:都属于交互图,用于描述对象间的动态关系,并且两者之间可以相互转化。顺序图强调消息的时间顺序,通信图强调参与交互对象的组织 。4.4物理模型4.4.1 建立构件图系统实现的源代码、二进制码、执行码可以按照模块化的思想,用构件分别组织起来,明确系统各部分的功能职责和软件结构。该图中包含:客户 房间 前台员工 预定 管理员 老板等构件说明:客户构件依赖于前台员工构件与房间构件进行预订,客户构件也依赖于预定构件,本图中系统管理员和老板是独立的两个构件。4.4.2 建立部署图说明:数据库系统需要维护是用到系统管理员维护系统,同时他与4个前台相关联
展开阅读全文