《可视化建模与UML_餐饮管理系统建模》由会员分享,可在线阅读,更多相关《可视化建模与UML_餐饮管理系统建模(19页珍藏版)》请在金锄头文库上搜索。
1、软件工程实践课程结业报告可视化建模与UML课程结业报告课题名称: 餐饮管理系统建模姓 名: 吴 在 兴 学 号: 9 0 9 1 4 0 2 6 班 级: 09 软件本(2)班 学 院: 电子与信息工程学院 指导老师: 夏 洁 武 完成日期:2012年5月28日目录第一章 引言31.1 系统目的31.2 用户特征31。3 运行环境和资源41.4 软件的体系结构4第二章 用例模型52。1用例图描述52。2构建用例图52。3结账用例图62.4经理用例图82。5人事管理和登录管理用例图9第三章 类模型103.1类图的描述103.2构建类图113。3庐陵楼系统登录类图11第四章 交互模型144.1顺序
2、图概述144。2构建顺序图154。3员工(经理)登录顺序图154.4删除员工顺序图17第五章 行为模型185.1活动图概述185.2构建活动图195。3状态图和活动图195.4用户登入活动图225.5餐桌预定活动图235。6菜单生成活动图245.7点菜状态图255.8人事管理状态图25第6章 课程学习小结266.1学习小结266。2解决的问题276。3待解决的问题27第一章 引言1。1 系统目的学生成绩管理系统是一个管理学生信息、成绩和教师信息的小型系统。统目标是学生方便直观的查询个人信息和成绩,教师能管理学生的成绩,管理员管理所有用户的信息和本系统.1。2 用户特征1。2。1 用户分类本系统
3、可将用户分为以下三类: 经理 经理拥有登录后台管理的功能,可以进行人事管理、登录管理、菜谱管理、报表统计、成本管理和系统设置等功能的使用权 收银员收银员具有登录收款系统的权限,可以进行餐桌管理、点菜服务、会员服务、结账服务等功能的使用权 管理员其权限功能和经理是一样的1.3 运行环境和资源本系统是基于windows平台上的应用程序,java语言编写开发。其软硬件条件必须满足windows和java的正常运转要求。软件环境:需要安装有eclipse、jdk。数据库系统:Microsoft sql Server 2005。1.4 软件的体系结构软件体系结构如图11所示图1-1 软件体系结构图 第二
4、章 用例模型用例模型是所有用例、参与者以及相互关系的集合,是关于系统功能和环境的模型。一个用例就是系统要实现的一项功能,即用例描述系统要做什么。用例模型是软件需求分析结果的可视化表示。2。1用例图描述用来描述用户的需求,它从用户的角度描述系统的功能,并指出功能的执行者,强调谁在使用系统,系统为执行者完成哪些功能.是基于系统要实现的功能的一个可视化描述。用例图是用例模型的重要组成部分,是对系统从宏观角度的确定描述.用例图是系统建模的起点,通过用例图搜集用户的需求,明确和系统相关的用户和其他系统,同时确定系统将会提供什么功能,已经各个功能之间的关系。2.2构建用例图1.确定系统的执行者执行者是系统
5、外部的一个实体,是与系统进行交互的任何事物或人,以某种方式参与用例的执行过程,参与者通过向系统输入或向系统发出某种请求来触发系统的执行。执行者通常是以他们在系统中所扮演的角色来命名,而不是以他们要执行的功能来确定的,否则会产生命名歧义。在定义用例之前要先确定系统的执行者。通过对需求进行逐条分析,最终确定了3个相关执行者:经理、收银员、管理员.如图2-1所示。图2-1 用例执行者2。 确定系统用例用例是描述执行者使用系统以打到某个目的涉及的一系列场景的集合。通过从各个执行者的角度进行分析,根据用户需求,将系统功能划分为三个功能模块。(1)收银员模块 餐桌管理 点菜服务 会员服务 结账服务(2)经
6、理和管理员模块 人事管理 登录管理 菜谱管理 报表统计 成本管理和系统设置2.3结账用例图图2-2 结账用例图l 简要说明本用例描述收银员和顾客结账的过程l 事件流(1)基本流 顾客选择预订餐桌 系统根据顾客的需求生成相应的预定餐桌 顾客选择点菜服务系统根据顾客的点菜生成相应的餐桌订单顾客选择结账服务系统显示顾客的订单,顾客确定后并保存系统显示结账的方式顾客选择付款方式进行结账系统判断顾客是否会员计算出订单的总额顾客确认订单结算成功信息,结束结账服务(2)备选流 顾客取消结账服务,系统给出提示,结束 若顾客没有付款,给出提示.保留该订单,等待顾客付款l 特殊条件需要系统能和现有的银行系统连接,
7、获得顾客付款信息l 前置条件结账服务打折必须顾客是系统会员,否则不能进行优惠打折结算l 后置条件无l 扩展点无l 相关数据顾客所选的餐桌类型,以及顾客点菜的菜式和数量2.4经理用例图图2-3 经理用例图l 简要说明本用例描述餐厅经理能使用的系统功能(1)基本流 系统以闪屏的形式加载 加载完后,弹出登录框。输入正确的用户名和密码 系统通过判断用户职位为经理,从而切换到经理登录界面显示出系统的主界面,经理可选择相应的功能模块进行操作人事管理可以对餐厅员工信息的管理登录管理可以对登录该系统的权限进行设置菜谱管理可以对餐厅的菜式进行增删改查报表统计实现对餐厅销售额的实时图形观察成本管理能控制餐厅的成本
8、系统设置可以更改系统的基本外观和背景音乐(2)备选流 若输入的用户名为收银员,且密码正确。则系统进入收款界面 若用户的密码输入错误,则不能进入系统.需重新输入l 特殊条件用户名和密码均输入正确,且有相应的权限l 前置条件无l 后置条件无l 扩展点无l 相关数据餐厅员工信息、菜式信息、餐厅各时间段的营业额信息2.5人事管理和登录管理用例图图2-4 人事管理和登录管理用例图l 简要说明本用例描述系统的人事管理和登录管理功能部分(1)基本流 用户输入自己的用户名和密码 系统通过判断用户为经理或管理员,切换到相应的系统界面 用户选择人事管理系统根据用户选择的人事管理,将员工的主要信息以表格的形式显示出
9、来用户有查看员工详细信息、修改员工信息、添加员工的功能权限用户选择删除员工信息系统根据用户选择的员工,将该员工的信息从数据库中删除用户选择查看员工详细信息系统根据用户选择的员工,将该员工的详细信息从数据库中调取出。并以对话框的形式显示出来用户选择修改员工信息系统对用户修改的员工信息进行更新,并重新显示给用户查看用户选择退出系统,系统保存信息并退出(2)备选流 若用户的密码输入错误,则提示用户重新输入 若用户没有选择相应的员工进行删除操作,则弹出对话框提示用户选择需要删除的员工 若用户选择登录管理功能,则切换到登录管理功能界面l 特殊条件用户名和密码均输入正确,且有相应的权限l 前置条件无l 后
10、置条件无l 扩展点无l 相关数据员工的详细信息(包括姓名、年龄、薪水等)、系统用户的登录权限信息l 问题说明无第三章 类模型3。1类图的描述述类和类之间的关系,是UML中最基本和最重要的一类图。主要用于一些概念类的描述,描述类的外部特性和描述类的内部实现。类图是面向对象系统的核心。类图的直观性不论在分析阶段、设计阶段还是编码阶段都有十分重要的作用,软件开发人员在清楚地看到系统的设计之后,很容易提高编码的效率.类图的元素包括: 类名称:唯一标识一个类的名称。 属 性:描述类的对象所具有的特征。 方 法:对属性数据的处理过程。类间关系包括:关联、泛化、依赖、聚合、组合、实现、接口。给定一个类图,可
11、以判断一个对象是否表示了系统的一个可能状态。对象之间的关系是由类图上对应的关联关系来定义的。两个类之间的关联关系表明了他们的对象在运行时存在的连接关系。3.2构建类图 类是对显示世界中具有相同性质和行为的一类对象的抽象,它封装了这些类对象所共有的属性和操作。3.3庐陵楼系统登录类图图31 庐陵搂系统登录类图l MhlMain类(1)作用:该类为系统的主调方法,是系统运行的主函数类(2)具有的属性 p: DownLoad(为类DownLoad的一个对象)(3)具有的方法 void run():控制闪屏存在的时间,即一个线程方法 void main():系统的主函数l DownLoad类(1)作用
12、:该类的主要作用为实现系统的闪屏加载(2)具有的属性 t: Thead(为线程对象) f: Font(MyTool类中的定义的静态字体类型) ss: String(闪屏加载出现的欢迎词,为字符串类型)(3)主要方法 paintComponent(Graphics g):充当面板的画笔作用,用于画出个组件 void run():实现进度条的线程控制l UserLogin类(继承JDialog)(1)作用:闪屏加载完后,用户的登录界面(2)具有的属性 jl1,jl2: JLabel(Swing标签组件) jb1,jb2: JButton(Swing按钮组件) jt1: JTextField(Swi
13、ng 文本组件) jp: JPasswordField(Swing 密码框组件)(3)具有的方法 actionPerformed(actionEvent e):对用户完成输入后点击确定时间的监听 UserLogin():构造函数,对该类中使用到的组件、变量进行初始化l Windows1类(继承JFrame)(1)作用:用于显示系统的主界面(2)具有的属性 jmb: JMenuBar(Swing菜单条组件) jm1,jm2,jm3: JMenu(Swing 菜单项组件) jmi1,jmi2,jmi3,jmi4,jmi5,jmi6: JMenuItem(Swing 子菜单组件) jp1,jp2,j
14、p3: JPanel(Swing 面板组件)(3)具有的方法 actionPerformed(actionEvent e):对用户完成输入后点击确定时间的监听 UserLogin():构造函数,对该类中使用到的组件、变量进行初始化 mouseEntered(MouseEvent):对鼠标的进入事件进行监听 mouseExited(MouseEvent):对鼠标退出事件进行监听 mousePressed(MouseEvent):对鼠标按下事件进行监听 mouseReleased(MouseEvent):鼠标按下松开事件进行监听 initMenuBar():对主界面的菜单条进行初始化 initToolBar():对主界面的工具