可视化建模与UML餐饮管理系统建模.doc
《可视化建模与UML餐饮管理系统建模.doc》由会员分享,可在线阅读,更多相关《可视化建模与UML餐饮管理系统建模.doc(29页珍藏版)》请在咨信网上搜索。
《软件工程实践》课程结业报告 《可视化建模与UML》课程结业报告 课题名称: 餐饮管理系统建模 姓 名: 吴 在 兴 学 号: 9 0 9 1 4 0 2 6 班 级: 09 软件本(2)班 学 院: 电子与信息工程学院 指导老师: 夏 洁 武 完成日期:2012年5月28日 目录 第一章 引言 3 1.1 系统目的 3 1.2 用户特征 3 1.3 运行环境和资源 4 1.4 软件的体系结构 4 第二章 用例模型 5 2.1用例图描述 5 2.2构建用例图 5 2.3结账用例图 6 2.4经理用例图 8 2.5人事管理和登录管理用例图 9 第三章 类模型 10 3.1类图的描述 10 3.2构建类图 11 3.3庐陵楼系统登录类图 11 第四章 交互模型 14 4.1顺序图概述 14 4.2构建顺序图 15 4.3员工(经理)登录顺序图 15 4.4删除员工顺序图 17 第五章 行为模型 18 5.1活动图概述 18 5.2构建活动图 19 5.3状态图和活动图 19 5.4用户登入活动图 22 5.5餐桌预定活动图 23 5.6菜单生成活动图 24 5.7点菜状态图 25 5.8人事管理状态图 25 第6章 课程学习小结 26 6.1学习小结 26 6.2解决的问题 27 6.3待解决的问题 27 第一章 引言 1.1 系统目的 学生成绩管理系统是一个管理学生信息、成绩和教师信息的小型系统。统目标是学生方便直观的查询个人信息和成绩,教师能管理学生的成绩,管理员管理所有用户的信息和本系统。 1.2 用户特征 1.2.1 用户分类 本系统可将用户分为以下三类: ◆ 经理 经理拥有登录后台管理的功能,可以进行人事管理、登录管理、菜谱管理、报表统计、成本管理和系统设置等功能的使用权 ◆ 收银员 收银员具有登录收款系统的权限,可以进行餐桌管理、点菜服务、会员服务、结账服务等功能的使用权 ◆ 管理员 其权限功能和经理是一样的 1.3 运行环境和资源 本系统是基于windows平台上的应用程序,java语言编写开发。其软硬件条件必须满足windows和java的正常运转要求。 软件环境:需要安装有eclipse、jdk。 数据库系统:Microsoft sql Server 2005。 1.4 软件的体系结构 软件体系结构如图1-1所示 图1-1 软件体系结构图 ‘ 第二章 用例模型 用例模型是所有用例、参与者以及相互关系的集合,是关于系统功能和环境的模型。一个用例就是系统要实现的一项功能,即用例描述系统要做什么。用例模型是软件需求分析结果的可视化表示。 2.1用例图描述 用来描述用户的需求,它从用户的角度描述系统的功能,并指出功 能的执行者,强调谁在使用系统,系统为执行者完成哪些功能。是基于系统要实现的功能的一个可视化描述。 用例图是用例模型的重要组成部分,是对系统从宏观角度的确定描述。 用例图是系统建模的起点,通过用例图搜集用户的需求,明确和系统相关 的用户和其他系统,同时确定系统将会提供什么功能,已经各个功能之间的关系。 2.2构建用例图 1.确定系统的执行者 执行者是系统外部的一个实体,是与系统进行交互的任何事物或人,以某种方式参与用例的执行过程,参与者通过向系统输入或向系统发出某种请求来触发系统的执行。执行者通常是以他们在系统中所扮演的角色来命名,而不是以他们要执行的功能来确定的,否则会产生命名歧义。 在定义用例之前要先确定系统的执行者。通过对需求进行逐条分析,最终确定了3个相关执行者:经理、收银员、管理员。 如图2-1所示。 图2-1 用例执行者 2. 确定系统用例 用例是描述执行者使用系统以打到某个目的涉及的一系列场景的集合。通过从各个执行者的角度进行分析,根据用户需求,将系统功能划分为三个功能模块。 (1)收银员模块 ◆ 餐桌管理 ◆ 点菜服务 ◆ 会员服务 ◆ 结账服务 (2)经理和管理员模块 ◆ 人事管理 ◆ 登录管理 ◆ 菜谱管理 ◆ 报表统计 ◆ 成本管理和系统设置 2.3结账用例图 图2-2 结账用例图 l 简要说明 本用例描述收银员和顾客结账的过程 l 事件流 (1)基本流 ①顾客选择预订餐桌 ②系统根据顾客的需求生成相应的预定餐桌 ③顾客选择点菜服务 ④系统根据顾客的点菜生成相应的餐桌订单 ⑤顾客选择结账服务 ⑥系统显示顾客的订单,顾客确定后并保存 ⑦系统显示结账的方式 ⑧顾客选择付款方式进行结账 ⑨系统判断顾客是否会员计算出订单的总额 ⑩顾客确认订单结算成功信息,结束结账服务 (2)备选流 ①顾客取消结账服务,系统给出提示,结束 ②若顾客没有付款,给出提示.保留该订单,等待顾客付款 l 特殊条件 需要系统能和现有的银行系统连接,获得顾客付款信息 l 前置条件 结账服务打折必须顾客是系统会员,否则不能进行优惠打折结算 l 后置条件 无 l 扩展点 无 l 相关数据 顾客所选的餐桌类型,以及顾客点菜的菜式和数量 2.4经理用例图 图2-3 经理用例图 l 简要说明 本用例描述餐厅经理能使用的系统功能 (1)基本流 ①系统以闪屏的形式加载 ②加载完后,弹出登录框.输入正确的用户名和密码 ③系统通过判断用户职位为经理,从而切换到经理登录界面 ④显示出系统的主界面,经理可选择相应的功能模块进行操作 ⑤人事管理可以对餐厅员工信息的管理 ⑥登录管理可以对登录该系统的权限进行设置 ⑦菜谱管理可以对餐厅的菜式进行增删改查 ⑧报表统计实现对餐厅销售额的实时图形观察 ⑨成本管理能控制餐厅的成本 ⑩系统设置可以更改系统的基本外观和背景音乐 (2)备选流 ①若输入的用户名为收银员,且密码正确.则系统进入收款界面 ②若用户的密码输入错误,则不能进入系统.需重新输入 l 特殊条件 用户名和密码均输入正确,且有相应的权限 l 前置条件 无 l 后置条件 无 l 扩展点 无 l 相关数据 餐厅员工信息、菜式信息、餐厅各时间段的营业额信息 2.5人事管理和登录管理用例图 图2-4 人事管理和登录管理用例图 l 简要说明 本用例描述系统的人事管理和登录管理功能部分 (1)基本流 ①用户输入自己的用户名和密码 ②系统通过判断用户为经理或管理员,切换到相应的系统界面 ③用户选择人事管理 ④系统根据用户选择的人事管理,将员工的主要信息以表格的形式显示出来 ⑤用户有查看员工详细信息、修改员工信息、添加员工的功能权限 ⑥用户选择删除员工信息 ⑦系统根据用户选择的员工,将该员工的信息从数据库中删除 ⑧用户选择查看员工详细信息 ⑨系统根据用户选择的员工,将该员工的详细信息从数据库中调取出.并以对话框的形式显示出来 ⑩用户选择修改员工信息 系统对用户修改的员工信息进行更新,并重新显示给用户查看 用户选择退出系统,系统保存信息并退出 (2)备选流 ①若用户的密码输入错误,则提示用户重新输入 ②若用户没有选择相应的员工进行删除操作,则弹出对话框提示用户选择需要删除的员工 ③若用户选择登录管理功能,则切换到登录管理功能界面 l 特殊条件 用户名和密码均输入正确,且有相应的权限 l 前置条件 无 l 后置条件 无 l 扩展点 无 l 相关数据 员工的详细信息(包括姓名、年龄、薪水等)、系统用户的登录权限信息 l 问题说明 无 第三章 类模型 3.1类图的描述 述类和类之间的关系,是UML中最基本和最重要的一类图。主要用于一些概念类的描述,描述类的外部特性和描述类的内部实现。 类图是面向对象系统的核心。类图的直观性不论在分析阶段、设计阶段还是编码阶段都有十分重要的作用,软件开发人员在清楚地看到系统的设计之后,很容易提高编码的效率。 类图的元素包括: ◆ 类名称:唯一标识一个类的名称。 ◆ 属 性:描述类的对象所具有的特征。 ◆ 方 法:对属性数据的处理过程。 类间关系包括:关联、泛化、依赖、聚合、组合、实现、接口。 给定一个类图,可以判断一个对象是否表示了系统的一个可能状态。对象之间的关系是由类图上对应的关联关系来定义的。两个类之间的关联关系表明了他们的对象在运行时存在的连接关系。 3.2构建类图 类是对显示世界中具有相同性质和行为的一类对象的抽象,它封装了这些 类对象所共有的属性和操作。 3.3庐陵楼系统登录类图 图3-1 庐陵搂系统登录类图 l MhlMain类 (1)作用:该类为系统的主调方法,是系统运行的主函数类 (2)具有的属性 p: DownLoad(为类DownLoad的一个对象) (3)具有的方法 ①void run():控制闪屏存在的时间,即一个线程方法 ②void main():系统的主函数 l DownLoad类 (1)作用:该类的主要作用为实现系统的闪屏加载 (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(Swing 文本组件) ④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,jp3: JPanel(Swing 面板组件) (3)具有的方法 ①actionPerformed(actionEvent e):对用户完成输入后点击确定时间的监听 ②UserLogin():构造函数,对该类中使用到的组件、变量进行初始化 ③mouseEntered(MouseEvent):对鼠标的进入事件进行监听 ④mouseExited(MouseEvent):对鼠标退出事件进行监听 ⑤mousePressed(MouseEvent):对鼠标按下事件进行监听 ⑥mouseReleased(MouseEvent):鼠标按下松开事件进行监听 ⑦initMenuBar():对主界面的菜单条进行初始化 ⑧initToolBar():对主界面的工具条进行初始化 ⑨initCenter():对主界面的中间面板切换部分进行初始化 l UserModel类 (1)作用:用户数据模型,实现用户操作的业务操作 (2)具有的属性 无 (3)具有的方法 ①CheckUser(String userID,String userPD):对用户输入的用户名和密码进行验证 l SqlHelper类 (1)作用:对数据库进行加载驱动并返回查询的数据结果集 (2)具有的属性: ①ct: Connection(数据库连接类) ②ps:PrepareStateement(数据库操作类) ③rs:ResultSet(数据结果集) ④url:String(数据库驱动路径) (3)具有的方法 ①SqlHelper():构造函数 ②query(String sql,String []paras):结果集方法 ③exeUpdate(String,String):对数据库的更新操作 ④void close():关闭数据资源方法 l MyTool类 (1)作用:系统工具类 (2)具有的属性 ①f1,f2,f3:Font(字体类) (3)具有的方法 无 3.4添加员工类图 图3-2 删除员工类图 l AddClerkDialog类 (1)作用:人事管理添加员工时的对话框,用于录入员工信息 (2)具有的属性 ①jname,jsex,jnum,jpost,jage: JLael(Swing 标签组件) ②jnameText,jnumText,jsexText,jpostText,jageText: JTextField(Swing 文本组件) ③jsexRadio:JRadioButton(Swing 单选组件) ④b1,jb2:JButton(Swing 按钮组件) (3)具有的方法 ①void actionPerformed(ActionEvent e):对用户录入信息后的点击确定事件进行监听,并将添加员工的信息传递给ClerkModel层 ②AddClerkDialog(ClerkInfo clerkInfo,String title,boolean model):构造函数 l ClerkModel类 (1)作用:实现对人事管理的数据逻辑操作 (2)具有的属性 ①columns: Vector<String> (存放返回数据表的列头信息) ②rows: Vector<String>(存放返回数据表的行信息) (3)具有的方法 ①void query(String sql,String []paras) ②boolean delClerk(String clerkNo): 提供一个通过获得员工号来删除员工的方法 ③Object getValueAt(int rowIndex, int columnIndex):获得当前列的每行数据 ④String getColumnName(int column):返回数据表的列名 ⑤int getColumnCount():获得数据表的列数 ⑥int getRowCount():获得数据表的行数 第四章 交互模型 顺序图和协作图统称交互模型,用来描述系统中多个对象之间的相互关系及对象间消息传递,用于系统中多个对象的相互作用的过程进行建模。 4.1顺序图概述 又叫时序图,它是强调消息时间顺序的交互图,描述类以及类间相互交换以完成期望行为的消息。顺序图向UML用户提供事件流畅时间推移的、清晰的、可视化的轨迹。 使用顺序图来描述一个完整的用例过程,用途是把用例图表达的需求,转化为进一步、更加正式的精细表达。表示用例中的行为顺序。 4.2构建顺序图 1. 确定用例的需求 根据用户需求可以很容易确定用例的需求。 2. 找出需求中涉及的对象 4.3员工(经理)登录顺序图 图4-1 经理登录顺序图 l 登录系统的过程如下 (1)用户登入前,系统先以闪屏的形式加载.并动态的呈现出欢迎用户的话语 (2)闪屏加载完, 弹出用户登入界面.用户输入自己的用户名和密码 (3)当用户点击确定登录时,通过actionPerformed(Action e)将用户的信息提交给mvc中的userModel模型层 (4)用户模型层(userModel)以sql语句和用户信息的形式传递给数据控制层sqlHelper, 该过程是由CheckUser(String sql,String userPD)来实现的 (5)数据控制层sqlHelper从userModel获得信息的同时,加载数据库驱动.从数据库中获取该用户的职位信息,并以ResultSet()的形式返还给userModel层 (6)userModel从ResultSet结果中提取出用户职位,并返回给UserLogin登录界面层 (7)UserLogin将获得的用户职位信息进行判断为经理,同时发送显示系统消息给window1系统界面 (8)用户登录成功,并显示出系统的主界面 l 根据登录系统的过程,找出参加交互的对象.这个过程中参加交互的对象主要包括:用户(经理)、DownLoad、UserLogin、UserModel、SqlHelper、windows1 (1)经理:登录系统并使用系统各个功能的用户 (2)DownLoad:登录前,实现系统的闪屏加载 (3)UserModel:负责对登录系统的用户进行业务操作 (4)SqlHelper:对数据库进行加载驱动,并获得对数据库操作的结果集 (5)windows1:用于显示系统的主界面,即用户登入成功后的界面 l 经理登录过程的消息表 消息 发送对象 接收对象 new DownLoad() 经理 UserLogin new UserLogin() DownLoad UserLogin actionPerformed(Action e) UserLogin UserModel checkUser(String sql,String PD) UserModel SqlHelper ResultSet SqlHelper UserModel return celZW() UserModel UserLogin getName() UserLogin UserLogin new Windows1() UserLogin Windows1 表4-1 用户(经理)登录过程消息的发送和接收表 4.4删除员工顺序图 图4-2 删除员工顺序图 l 登录系统的过程如下 (1)用户登入后,选择人事管理功能模块 (2)进入人事管理模块后,选择一待删除员工并进行删除操作 (3)ClerkInfo员工信息显示层,将接收到的删除员工命令通过以员工号为行参将删除员 工方法delClerk(clerkNo)传递给UserModel层 (4)UserModel层接收到删除员工方法后,又以sql语句和paras为形参发送更新操作 exeUpdate(sql,paras),并传递给SqlHelper数据控制层 (5)数据控制层SqlHelper接收到更新数据操作的同时,加载数据库驱动.并将得到的新的结果集Result返还给UserModel层 (6)userModel从ResultSet结果中提取出删除员工后新的员工信息,并返回给ClerkInfo (7)ClerkInfo员工信息得到更新 (8)将重新更新的员工信息显示在windows1中 l 根据登录系统的过程,找出参加交互的对象.这个过程中参加交互的对象主要包括:经理(或管理员)、ClerkInfo、UserModel、SqlHelper、windows1 (1)经理(或管理员): 对职工进行相关的crud操作 (2)ClerkInfo:显示员工的详细信息,并在这里进行增删改查操作 (3)UserModel:负责对登录系统的用户进行业务操作 (4)SqlHelper:对数据库进行加载驱动,并获得对数据库操作的结果集 (5)windows1:用于显示系统的主界面,即用户登入成功后的界面 l 经理登录过程的消息表 消息 发送对象 接收对象 删除员工 经理 ClerkInfo delClerk(clerkNo) ClerkInfo UserModel exeupdate(sql,paras) UserModel SqlHelper Result() SqlHelper UserModel ClerkInfo() UserModel UserInfo refresh() UserInfo Windows1 表4-2 经理(或管理员)删除员工操作的消息的发送和接收表 第五章 行为模型 行为模型分为状态图和活动图,是用来描述系统的动态行为特征的,是状态机的变现形式,主要用于描述事物的状态变化和处理过程。 5.1活动图概述 活动图是一种描述系统行为的图,它用于展现参与行为的类所进行的各种活动的顺序关系。活动图是特殊的状态图,其中所有状态均为动作状态,并且源状态中的动作一经完成即会触发控制流。 活动图是用来描述一个目标所实施一系列活动的过程,描述系统的动态特征。使用活动图来描述用户的业务流程可以帮助设计者理清用户业务过程,业务中的主要活动,参加活动的对象,以及这些对象之间的关系。 活动图的用途广泛。可用于描绘用例的事务流;为复杂的商务行为或过程建模。描绘用例的事务流标准的用例图往往使用简单的图形和大量的文字体现用户需求和系统功能,文字的出现增加了用例图的阅读者理解图形的难度,进而影响了他们下一步的分析和设计工作。用活动图描绘用例的事务流,能使复杂的用例事务流更容易被理解。 5.2构建活动图 1. 过程分析 找到用例业务过程中的活动,可以通过一下问题来帮助寻找业务过程中的活动。 ◆ 该业务过程需要完成哪些工作步骤。 ◆ 每个参与者都要执行哪些操作。 ◆ 有没有哪些事件启动了哪些工作步骤。 根据上面的问题,分析在系统执行的过程中,主要有哪些活动。 2. 活动连接 得到业务过程中的主要活动后,就需要进一步考虑这些活动的执行顺序。分析出各个活动、活动的控制流、活动的执行顺序、活动执行的条件、活动的分支、活动的并发执行。 按执行的顺序、分支和汇合等连接活动图。 3. 画出活动图 根据以上分析得出的结果进行汇总,设计各个用例的活动图,最后画出活动图。 5.3状态图和活动图 l 概述 以下状态图和活动图是用于描述该系统的动态行为特征的,主要描述系统事物状态的变化和处理过程 l 活动图和状态图包含的元素 (1)状态图包含的元素 ①起点 ②终点 ③状态 ④事件 ⑤转换 ⑥符合状态和子状态 (2)活动图包含的元素 ①起点和终点 ②活动 ③转移 ④接收信号和发送信号 ⑤决策点和汇合点 ⑥分叉和回合 ⑦控制流终点 ⑧泳道 l 状态图和活动图的分析过程 (1)状态图 ①状态分析 ②状态描述 (2)活动图 ①过程分析、 ②活动连接 ③活动图描述 l 图中使用到的图符的含义 (1)状态图图符含义 (2)活动图图符含义 5.4用户登入活动图 图5-1 用户登入活动图 l 过程分析 在用户登入这一过程中,系统先需以闪屏的形式加载.之后弹出登入界面,用户输入用户名和密码,点击确定提交信息.系统会根据用户名来判断密码是否正确.正确则进入系统主界面,否者不能进入系统.直至用户输入的密码正确.根据这个过程可以得到如下一些主要活动: ①闪屏登录 ②输入用户名和密码 ③提交 ④检查用户密码 ⑤进入系统 l 活动描述 根据前面分析出的活动以及各活动的控制流,可以设计出如图7-8的过程活动图. 当用户输入的信息被提交时,系统会先从数据库中得到数据来判断用户输入的密码是否正确,当密码正确时.再根据用户的职位来相应的进入到系统主界面(如经理和主管一样,但收银员则进入结账系统界面). 5.5餐桌预定活动图 图5-2 餐桌预定活动图 l 过程分析 餐桌预定过程,顾客选择预定餐桌时,系统先判断有无可预定的餐桌.当还有剩余餐桌可预定时,系统会提示用户选择相应的餐桌类型:普通或高级.最后系统根据用户选择的餐桌类型进行顾客登记.综上,可以得出这一过程的主要活动 ①预定餐桌 ②离开 ③餐桌类型 ④普通餐桌 ⑤高级餐桌 ⑥客户登记 l 活动连接 通过分析所有活动的执行顺序和条件,可以发现在判断是否有剩余可预定餐桌出现一个决策点,而在顾客选择完餐桌类型后会出现一个汇合点 l 活动图描述 图7-9的活动图描述餐桌预定的全过程. 5.6菜单生成活动图 图5-3 菜单生成活动图 l 过程分析 当顾客预定餐桌后,有一分岔和汇合的过程.即顾客可选择评价立即结束这一过程,亦可选择退菜或者点菜.当用户选择点菜后,系统根据用户选择的菜式生成相应的菜单.最后等待用户的结账,过程结束.具有的状态: ①预定餐桌 ②评价 ③点菜 ④退菜 ⑤提示失败原因 ⑥生成菜单 ⑦结账 l 活动连接 通过分析所有活动的执行顺序和条件,可以发现在顾客预定完餐桌后出现一决策点,随后在顾客选择完菜式又形成一个汇合点 l 活动图描述 图7-10的活动图描述餐桌预定的全过程. 5.7点菜状态图 图5-4 点菜状态图 5.8人事管理状态图 图5-5 人事管理状态图 l 状态分析 在构建人事管理状态图时,首先需要找到该过程中对象的转换事件,即有哪些启动了活动或者导致状态转换,以及其他针对对象的转换事件.对着这过程分析后,找到以下一组事件,这些事件都属于状态图中的转换事件 ①登录成功 ②登录失败 ③点击进入人事管理 ④添加员工 ⑤修改员工信息 ⑥删除员工 ⑦查询员工详细信息 ⑧刷新员工信息列表 ⑨显示 接下来对这些事件做进一步分析,可得到以下这些状态: ①登录界面 ②系统主界面 ③人事管理功能模块界面 ④员工信息、员工详细信息 ⑤增删改之后新的员工信息列表 l 状态描述 该过程的状态图如图7-12 所示 第6章 课程学习小结 6.1内容小结 第一章讲的是面向对象技术开发,提到面向对象这个词,它有两个层次的意思,第一层就是面向对象思想,第二层次是面向对象程序设计语言,同时也讲到了面向对象程序设计方法,以及它与结构化程序设计的区别,然后介绍了面向对象程序设计方法的基本特征:封装,继承,多态和消息传递;接下来讨论了面向对象的最基本的概念:类和对象,最后介绍了集中有代表性的面向对象程序设计语言,例如:Simula67,Smalltalk,Eiffel,C++,Java等。 第二章讲到的是RUP软件开发过程,RUP又称为统一软件过程,能够有效地管理工作进度,控制和改善工作效率。它是目前的软件过程中与UML结合最好的过程,支持面向对象的软件开发。软件开发过程是指开发软件产品的一整套活动,主要包括软件描述,软件开发,软件有效性验证和软件不断改进。不同的软件开发商,针对不同的开发项目可能会采用不同的方式组织上述4项活动的实施。软件开发模型则是对软件开发的全过程,活动和任务的抽象描述,选择合适的软件开发过程将有利于提高软件开发的效率,软件产品的质量,以及日后的软件维护能力。 第三章是UML概述。UML最早是由世界著名的面向对象技术专家Grady Booch,James Rumbaugh和Ivar Jacobson在1996年提出的。UML是一种定义良好,易于表达,功能强大且普遍适用的建模语言。它支持面向对象系统的分析,设计,实现,交付等各个环节,可以用于系统的理解,设计,浏览,维护和信息控制。UML主要用于为软件系统建立可视化模型,为软件系统建立构件,为软件系统建立文档,它主要由用例图,类图,对象图,包图,状态图,活动图,顺序图,协作图,构件图以及部署图共计10种模型图组成。 第四章讲解的是UML工具,UML工具最重要的用途是能够绘制UML图,几种应用较为广泛的UML工具有:Rational Rose,Microsoft Viso,Enterprise Architect,PowerDesigner。本章着重讲解的是Rational Rose这个工具,后面的例子都是利用这个工具来进行模型构建的。 第五章讲解的是用例模型。用例模型主要包括用例图和用例描述,用例图用来描述用户的需求,它从用户的角度描述系统功能,并指出各功能的执行者,强调谁在使用系统,系统为执行者完成哪些功能。用例图用于对系统,子系统或系统的行为进行可视化的表示,以方便系统的执行者更清晰地理解这些元素的用途,也便于系统的开发人员最终实现这些元素。用例图由以下几种元素组成:执行者,用例,系统,关系以及用例描述。再用力模型中,不仅执行者与用例之间存在关系,用例与用例图之间也存在关系。用例图中常见的关系主要包括:关联,包含,拓展以及泛化。 第六章是交互模型的一个概述,建立交互模型主要是建立顺序图和协作图。顺序图和协作图统称为交互图。它主要用来描述系统中多个对象之间的相互关系及对象间消息传递,用于对系统中多个对象的相互作用的过程进行建模。在面向对象分析过程中,可以使用顺序图来描述一个完整用例过程,使用协作图来分析系统中的对象和对象之间传递的消息。顺序图的主要用途之一是用来为某个用例的泛化功能提供其所缺乏的解释,即把用例表达的需求,转化为进一步,更加正式的精细表达。在顺序图中主要包括下面4中元素:对象,生命线,激活以及消息。协作图着重于描述协作对象间的交互和连接。它可以理解为按照空间来布图。协作图中的主要建模元素包括:对象,消息和链。 第七章讲的是类图和对象图,类图用来描述系统中类之间的静态关系,它对系统的静态结构进行描述。在程序设计的不同阶段,类图的作用也不相同。在分析阶段,类图主要用于一些概念类的描述;在设计阶段,类图主要用于描述类的外部特性;在实现阶段,类图主要用于描述类的内部实现。类图包括类的名字,属性,方法和类的可见性。类图描述包括两个部分:类和类间关系。主要的类间关系包括:关联,泛化,依赖以及其他关系。其他关系中经常用到的包括:聚合,组合以及实现。对象图描述了一组对象以及对象之间的关系。对象图是类图的实例,几乎使用与类图完全相同的标识。它们的不同点在于对象图显示类的多个对象实例,而不是实际的类。 第八章是包的讲解,包是用来对模型元素进行分组的,且为分组好的元素提供一个命名空间(namespace)。包是UML中的一种结构,用来将各种建模元素(如用例或者类)分组组织起来。包的符号是文件夹的样子,包的主要作用是对模型元素进行分组管理,并为这些分组好的元素提供一个同一的命名空间,包除了是一个命名空间外,其本身也是一个可打包的元素,也就是说一个包可以作为另外一个包的内部元素,即包是具有可嵌套性的。每个包都必须有一个类名,包的名称应该为一个字符串,用来唯一标识这个包,并且报名应该能够反映整个包的内容,使人能够直观地了解该包。包拥有的元素通常存在可见性,用于指示这个元素是不是可以被包外的其它元素访问,对于包所拥有的公共元素,总是可以被外部采用限定姓名的方式进行访问的。创建包图的主要作用是:描述需求的高阶概述,描述设计的高阶概述,在逻辑上把一个复杂的图模块化,组织源代码,对框架进行建模。包之间的关系主要包括:依赖关系,泛化关系,还有包引入以及包合并的关系。包的设计原则主要包括:重用发布等价原则,无环依赖原则,稳定抽象等价原则,稳定依赖原则,共同封闭原则。 第九章是行为模型的建立,行为模型的建立主要包括状态图以及活动图的建立。状态图和活动图是用来描述系统的动态行为特征的,主要用于描述事物的状态变化和处理过程。状态图(Statechart Diagram)是附加到类和用例的状态机图,描述对象响应外部激励时所经历的各种状态和转换。通过展示时间和转换,状态图显示了对象在其生命周期中依次经历的各种状态。活动图(Activity Diagram)是一种描述系统行为的图,它用于展现参与行为的类所进行的各种活动的顺序关系。活动图是特殊的状态图,其中所有状态均为动作状态,并且源状态中的动作一经完成即会触发控制流。状态图中的元素主要包括以下几种:起点,终点,状态,事件,转换以及符合状态和子状态。活动图中的元素主要包括以下几种:起点和终点,活动,转移,接收信号和发送信号,决策点和汇合点,分叉河汇合,控制流终点以及泳道。 第十章是构件图的建立,构件图描述了软件的各种构件和它们之间的结构关系,在进行系统开发时,构件图是各小组键有用的交流工具。构件图从软件架构 的角度来描述一个系统的主要功能,如系统分成几个子系统,每个子系统包括哪些类,包和构件,它们之间的关系以及它们分配到哪些节点上等等。使用构件图可以清楚地看出系统的结构和功能。在构件图中通常包含三种元素:构件,接口以及依赖。 第十一章描述的是部署图,部署图是UML用来描述系统的硬件配置,硬件部署以及软件构件和模块在不同节点上分布的模型图。部署图主要用来对系统的静态部署进行建模,部署图中常见的元素主要包括:节点以及关联关系。在使用部署图时不一定要使用UML中的图符,也可以根据自己的习惯来绘制部署图,只要保证绘制的部署图能够被所有的开发人员认可和理解即可。另外在绘制部署图时,绘制的目标并不是描述所有的软件构件,只需要描述那些对系统的实现至关重要的构建即可。 第十二章描述的是面向对象实现技术。本章首先介绍面向对象实现阶段,如何选择面向对象的语言,如何对类和接口进行详细描述,并使用选择的程序设计语言实现。在实现阶段需要把UML设计的各种模型图最终转化成具体程序,这也是使用UML进行面向对象分析和设计的最终目的。这个阶段和选用的程序设计语言与开发环境关系密切,不同的语言和开发环境转换的方法和过程有一些差异,需要建模人员对具体选用的开发语言比较熟练,这样可以方便实现转换。 6.2学习小结 通过这学期的《可视化建模与UML》课程,让我对各个建模有了一定的了解. 如在软件开发时,无论采用面向对象的方法还是传统的方法,首先要做的就是了需求.而用例图是从用户的角度来描述系统功能的,所以在进行需求分析时,使用用例图可以更好的描述系统的功能. 在描述系统各对象之间的动态行为我们可以使用顺序图或者协作图,它们只是侧重点不同而已,顺序图主要强调消息的时间顺序即对象之间的通信模式,而协作图强调参加交互对象的组织即对象间的协作,它们之间是可以相互变换的.当我们要描述系统中类之间的静态关系就要使用类图来说明,而对象图是用于描述给定时刻实际存在的诸对象以及它们之间的关系.通过一个类图,就可以判断一个对象图是否表示了系统的一个- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 可视化 建模 UML 餐饮 管理 系统
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【丰****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【丰****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【丰****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【丰****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文