《面向对象分析与设计UML课程设计告.docx》由会员分享,可在线阅读,更多相关《面向对象分析与设计UML课程设计告.docx(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、面对对象分析与设计UML课 程 设 计 报 告设计题目:饮料自动售货机系统设计院系:计算机学院专业:计算机科学与技术班级:计科 111学号: 090511131、090511133、090511137、090511140姓名:指导教师:刘永俊开课时间:至学年第学期常熟理工学院计算机科学与工程学院 制-3学生姓名手写签名成绩评语:指导教师签名年月日名目1.设计目的和任务 .1.1主要目的 .1.2主要任务 .2.开发环境 .2.1硬件环境 .2.2软件环境 .3.设计题目 .3.1题目名称 .3.2题目具体描述 .3.3功能要求 .4.相关技术及学问点 .4.1 XXX.4.2 XXXXXXXX
2、XX.5.设计.5.1 系统用例图设计 .5.1.1顾客用例图 .5.1.2送货员用例图 .5.1.3系统用例图 .5.2 系统类图设计 .5.3系统时序图和协作图设计 .5.3.1 送货员登陆时序图设计.5.3.2 送货员添加饮料时序图设计.5.3.3 顾客购置饮料时序图设计.5.3.4 送货员登陆协作图设计 .5.3.5 送货员添加饮料协作图设计 .5.3.6 顾客购置饮料协作图设计 .5.4 饮料的状态图设计 .5.5 系统活动图设计.5.5.1 顾客活动图设计.5.5.2 送货员活动图设计.5.6 系统组件图设计.5.7 系统配置图设计.6.总结.7.参考资料 .1. 设计目的和任务1
3、.1 主要目的本课程设计目的是使学生把握面对对象系统的分析和设计的建模过程。能对学生以后的实际软件开发工作有所指导,也能为日后深入争论本学科奠定肯定的根底。课程总目标是帮助学生树立科学的面对对象分析和设计的概念和思想。通过对饮料自动售货机系统治理分析、设计进展建模的实践训练,培育综合的建模设计力量, 提高分析和解决问题的力量。1.2 主要任务在对所选系统进展深入调查争论的根底上,对系统进展分析和设计,然后通过UML 建立模型表达分析和设计结果。具体任务:1. 对系统进展需求建模,确定系统的参与者及其用例,设计出用例图。2. 对系统进展静态视图建模,确定系统中涉及到哪些类,这些类各有什么属性和方
4、法,以及这些类之间的关系,设计出类图。3. 对系统进展动态视图建模,包括:(1) 时序图:选取适宜的对象,并设置交互的场景,从而设计出时序图;(2) 协作图:可以由对应的时序图转换而来;(3) 状态图:找出适合用模型描述其行为的类,然后确定该类的对象可能存在的状态,以及引起状态转换的大事,从而设计出状态图;(4) 活动图:找出要对其工作流描述的类或对象,然后确定它有哪些活动,以及这些活动之间的联系,从而设计出活动图。4. 对系统进展组件图建模,确定系统中的组件,组件供给的接口,以及组件之间的以来关系, 从而设计出组件图。5. 对系统进展配置图建模,确定系统中的节点、节点之间的关联关系,驻留在节
5、点上的组件及它们之间的依靠关系,从而设计出配置图。2. 开发环境2.1 硬件环境一般个人PC 机2.2 软件环境Rational Rose 20233. 设计题目3.1 题目名称饮料自动售货机系统3.2 题目具体描述自动售货机像ATM 机一样,以便利、敏捷、高档、颖、文明、昼夜效劳等特点,成为当今社会不行缺少的便民配套设施,同时也深受宽阔市民朋友的青睐。如今的自动售货机可以为顾客供给 多种效劳,顾客可以依据自己的需要选择商品并投入钱币,售货机接收钱币,售出商品。3.3 功能要求系统顾客送货员修改密码3.3.1 功能模块划分选查付取择看款消饮价交料格易查添查取放设看加看走置置饮饮钱钱钱价料料币币
6、币格3.3.2 功能模块描述该设计模拟自动售货机的工作原理和方式,完成出售商品、承受钱币、找零钱等功能。与系统交涉的人有两类:送货员和顾客。送货员的功能:送货员可以在每周固定时间查看售货机中的饮料数量和钱币数量状况,并依据打算适当添加饮料、钱币或取走适当的钱币。同时,送货员也可以依据需要添加饮料的种类,修改饮料的价格。顾客的功能:顾客可以依据需要饮料,投入钱币,并等待售货机的响应。售货机所设计的系统所做的响应:假设售货机中没有该种饮料,则退回忆客所投钱币,交易失败。否则,假设售货机中有该中饮料,则推断顾客所投钱币是否足够,假设不够,则提示顾客交易失败,并退回钱币。假设顾客所投的钱币刚好够不需要
7、找零钱,则售出饮料,交易完毕。假设需要找零钱,则推断是否有适当的零钱可以找,假设有,则售出饮料,找出零钱,交易完毕。否则,退回钱币,交易失败。固然,实际生活中的售货机可能有更加强大的功能和更完善的处理,这里只模拟一个售货机系统,所以只实现其核心功能。4. 相关技术及学问点4.1 UML 建模相关技术UML 建模技术就是用模型元素来组建整个系统的模型,模型元素包括系统中的类、类和类之间的关联、类的实例相互协作实现系统的动态行为等。UML 供给了多种图形可视化描述模型元素,同一个模型元素可能会消灭在多个图中对应多个图形元素,可以从多个视图来考察模型。UML 建模技术主要分为构造建模、动态建模和模型
8、治理建模3 个方面:第 1 个方面是从系统的内部构造和静态角度来描述系统的,在静态视图、用例视图、实施视图和配置视图中适用,承受了类图、用例图、组件图和配置图等图形。例如类图用于描述系统中各类的内部构造类的属性和操作及相互间的关联、聚合和依靠等关系,包图用于描述系统的分层构造等;第 2 个方面是从系统中对象的动态行为和组成对象间的相互作用、消息传递来描述系统的,在状态机视图、活动视图和交互视图中适用,承受了状态机图、活动图、挨次图和合作图等图形,例如状态机图用于一个系统或对象从产生到完毕或从构造到去除所处的一系列不同的状态;第 3 个方面描述如何将模型自身组织到高层单元,在模型治理视图中适用,
9、承受的图形是类图。建模的工作集中在前两方面,而且并非全部图形元素都适用或需要承受。4.2 视图设计相关学问点用例图用例图显示谁将是相关的用户、用户期望系统供给什么效劳以及用户需要为系统供给的效劳。用例图最常用来描述系统以及子系统。用例图包含 6 个元素:参与者Actor、用例Use Case、关联关系Association、包含关系Include、扩展关系Extend、泛化关系Generalization对需求建模 :(1) 识别系统的外部参与者来建立系统的语境;(2) 考虑每一个参与者期望的行为或需要系统供给的行为;(3) 把这些公共的行为命名为用例;(4) 确定供给者用例和扩展用例;(5)
10、 对这些用例、参与者和它们之间的关系建模;(6) 用注释修饰用例。类图类图描述类、接口、协作及它们之间关系的图;类图显示系统中各个类的静态构造。类图的元素:类Class、接口Interface、协作Collaboration、依靠关系Dependency、泛化关系Generalization、关联关系Association、实现关系Realization。时序图与协作图时序图是强调消息时间挨次的交互图。时序图描述了对象之间传送消息的时间挨次,用来表示 用例中的行为挨次。时序图将交互关系表示为一个二维图。其中,纵轴是时间轴,时间沿竖线向下延长。横轴代表了在协作中各独立的对象。时序图包含了 4 个
11、元素:对象Object、生命线Lifeline、消息Message、激活Activation。时序图建模技术:(1) 设置交互的语境;(2) 通过识别对象在交互中扮演的角色,设置交互的场景;(3) 为每个对象设置生命线;(4) 从引发某个消息的信息开头,在生命线之间画出从顶到底依次开放的消息,显示每个消息的特性如参数;(5) 假设需要可视化消息的嵌套或实际计算发生时的时间点,可以用激活修饰每个对象的生命期;(6) 假设需要说明时间或空间的约束,可以用时间标记修饰每个消息,并附上适宜的时间和空间约束;(7) 假设需要更形式化的说明某掌握流,可以为每个消息附上前置和后置条件。协作图描述的是和对象构
12、造相关的信息,用途是表示一个类操作的实现。协作图是对交互中有意义的对象和对象之间的链建模。协作图包含了 3 个元素:对象Object、链Link、消息Message协作图建模技术:(1) 设置交互的语境;(2) 通过识别对象在交互中扮演的角色,设置交互的场景;(3) 对每个对象设置初始特性;(4) 描述对象之间可能有信息沿着它传递的链;(5) 从引起交互的消息开头,适当地设置其挨次号,然后将随后的每个消息附到适当的链上;(6) 假设需要说明时间或空间约束,可以用时间标记修饰这个消息,并附上适宜的时间和空间约束;(7) 假设需要更形式化地说明这个掌握流,可以为每个消息附上前置和后置条件。协作图和
13、时序图可以互换而不损失任何消息。状态图与活动图状态机包含了一个类的对象在其生命期间全部状态的序列以及对象对承受到的大事所产生的反响。利用状态机可以准确地描述对象的行为。活动图与状态图都是状态机的表现形式。状态图建模技术:(1) 找出适合用模型描述其行为的类;(2) 确定对象可能存在的状态;(3) 确定引起状态转换的大事;(4) 确定转换进展时对象执行的相应动作;(5) 对建模的结果进展相应的精化和细化。活动图建模技术:(1) 识别要对其工作流描述的类或对象;(2) 确定工作流的初始状态和终止状态,明确工作流的边界;(3) 对动作状态或活动状态建模;(4) 对动作流建模;(5) 对对象流建模;(
14、6) 对建立的模型进展精化和细化。活动图与状态图的区分:活动图着重表现从一个活动到另一个活动的掌握流,是内部处理驱动的流程;状态图着重描述从一个状态到另一个状态的流程,主要有外部大事的参与。组件图组件图描述了软件的各种组件和它们之间的依靠关系。组件图中通常包含 3 个元素:组件Component、接口Interface、依靠关系Dependency。组件图建模技术:(1) 对系统中的组件建模;(2) 对相应组件供给的接口建模;(3) 对组件之间的依靠关系建模;(4) 将规律设计映射成物理实现;(5) 对建模的结果进展精化和细化。配置图配置图描述了运行软件的系统中硬件和软件的物理构造。配置图建模
15、技术:(1) 对系统中的节点建模;(2) 对节点之间的关联关系建模;(3) 对驻留在节点上的组件建模;(4) 对驻留在节点上的组件之间的依靠关系建模;(5) 对建模的结果进展精化和细化。5. 设计5.1 系统用例图设计5.1.1 顾客用例图设计顾客用例图如图 5-1 所示图 5-1顾客用例图顾客参与者可以执行选择饮料、付款、取消交易三种操作。5.1.2 送货员用例图设计送货员用例图如图 5-2 所示图 5-2送货员用例图送货员参与者执行登录系统、设置价格、查看饮料、添加饮料、查看钱币、放置钱币、取走钱币、修改密码等操作。5.1.3 系统用例图设计系统用例图如图 5-3 所示图 5-3系统用例图
16、整个系统共有用户、顾客和送货员三个参与者,其中顾客和送货员均属于用户这个参与者,共同有查看价格这个操作;同时这两个参与者有各自的不同操作。5.2 系统的类图设计系统的类图如图 5-4 所示图 5-4系统的类图整个系统中由用户这个父类派生出送货员和顾客两个子类,且均继承父类的查看价格方法,同时各自有不同的属性和方法。送货员类依靠身份认证类,送货员需通过身份验证才能进入送货员界面,实现其他的功能。送货员类还依靠钱币类,才能实现查看钱币、取走钱币等功能。顾客类依靠饮料类,才能实现选择饮料的功能。销售类依靠自钱币类和饮料类,这样才能实现销售饮料、找零等功能。另外,送货员类、销售类都依靠数据库类,由于这
17、些信息都是存放在数据库中的。5.3 系统时序图和协作图设计5.3.1 送货员登陆时序图设计送货员登陆时序图如图 5-5 所示图 5-5 送货员登陆时序图送货员在送货员界面输入用户名和密码信息,系统接收信息进展身份认证,在数据库中查找相应的用户名和密码信息,进展比较;假设错误则返回登录失败的信息,反之登陆成功则返回登陆成功的信息。5.3.2 送货员添加饮料时序图设计送货员添加饮料时序图如图5-6 所示图 5-6送货员添加饮料时序图送货员界面承受送货员发送的关于饮料种类和数量的输入信息,并将信息传送给销售,数据库依据信息准时修改饮料数量,同时销售返回现有饮料数量的信息。5.3.3 顾客购置饮料的时
18、序图设计顾客购置饮料的时序图如图 5-7 所示图 5-7顾客购置饮料的时序图顾客在顾客界面选择饮料并投币,销售系统猎取顾客付款。销售系统访问数据库查看该种饮料 是否有余量,假设已经卖完,则提示售空并退回钱币。否则,在数据库中查询该种饮料的价格,并推断顾客所投钱币是否够买该饮料。假设不够,则提示付款不够,并退回钱币。假设足够,则计算需要找的零钱,并在数据库中查询是否有足够的零钱。假设没有适合的零钱,则提示并退回忆客所投钱币。假设有适合的零钱,则通知数据库更饮料和钱币信息,并且售出饮料,找零。5.3.4 送货员登陆协作图送货员登陆协作图如图 5-8 所示图 5-8送货员登陆协作图实现功能与对应时序
19、图图 5-5一样。5.3.5 送货员添加饮料协作图送货员添加饮料协作图如图 5-9 所示图 5-9送货员添加饮料协作图实现功能与对应时序图图 5-6一样。5.3.6 顾客购置饮料协作图顾客购置饮料协作图如图 5-10 所示、图 5-10顾客购置饮料协作图实现功能与对应时序图图 5-7一样。5.4 饮料的状态图设计饮料的状态图如图 5-11 所示图 5-11饮料的状态图的饮料在售货机中为可售出的饮料,顾客选择后为被选中的饮料,一旦顾客付款则为被售出 的饮料,假设取消选择则还是可售出的饮料;假设售货机中的饮料为售空状态,送货员可以添加饮料, 则为该种饮料又变为可售出饮料的状态,最终为过期的饮料的状
20、态。5.5 系统活动图设计5.5.1 顾客活动图设计顾客和送货员活动图如图 5-12 所示图 5-12顾客和送货员活动图顾客进入顾客界面后,可以查看饮料的价格,然后投入钱币或选择饮料,在这两个动作都完成后,饮料时机检查顾客选中的该种饮料是否售空,假设已售空,则在界面显示售空, 并退款给顾客,同时交易完毕;假设没有售空,则检查饮料的价格,假设投入的金额小于饮料的价格,则显示金额缺乏,并且退款,同时交易完毕;否则,检查找零,假设没有足够的 零钱,则显示零钱不够,并且退款,同时交易完毕;假设有足够的零钱,则找零并售出饮料, 然后交易完毕。5.5.2 送货员活动图设计送货员活动图如图 5-12 所示图
21、 5-12 送货员活动图送货员对售货机操作的活动图,通过与数据库的交互,完成了一系列活动,包括查看售货机的钱币和饮料信息,并适时地修改这些信息。5.6 系统组件图设计系统组件图如图 5-12 所示图 5-12系统组件图5.7 系统配置图设计系统配置图如图 5-12 所示图 5-12系统配置图6. 总结实际生活中的售货机可能有更加强大的功能和更完善的处理机制,我们在这里只模拟了一个售货机系统,所以只实现了其核心原理,着重在于稳固已学的UML 建模思想内容、提高对相关问题的分析与解决力量。通过对饮料自动售货机系统的设计,从最开头考虑需求、系统分析再到具体设计,对软件开发的整个过程有了更清楚的生疏和
22、了解。通过运用Rational Rose 来对系统整体和模块局部进展设计,对 UML 统一建模语言有了更深的理解。当用例图在用户前消灭时,它捕获到系统、子系统或类的行为。它将系统功能划分成对参与者有用的需求。而交互功能局部被称作用例。用例使用系统与一个或多个参与者之间的一系列消息来描述系统中的交互作用。参与者可以是人,也可以是外部计算机系统和外部进程。类具有三个分栏:名称、属性和操作。类图列出了具体的操作,显示了系统中各个类的静态构造。而对象图则只定义了属性的当前值,以用于测试用例或例子中。交互视图描述了执行系统功能的各个角色之间相互传递消息的挨次关系。类是对在系统内交互关系中起特定作用的一个
23、对象的描述,这使它区分于同类的其他对象。交互视图 显示了跨越多个对象的系统掌握流程。交互视图可用两种图来表示:挨次图和协作图,它 们各有不同的侧重点。协作图也展现对象之间的交互关系,强调交互的语境和参与交互的 对象的整体组织。协作图依据空间组织布图,而挨次图依据时间挨次布图。状态视图是一个类对象所可能经受的全部历程的模型图。状态图由对象的各个状态和连接这些状态的转换组成。状态图是对单个对象的“放大”,它说明对象所经受的状态变 化。强调单个对象内状态的变化。活动图是状态图的一个变体,用来描述执行算法的工作流程中涉及的活动。活动状态 代表了一个活动:一个工作流步骤或一个操作的执行。活动图描述了一组挨次的或并发的 活动。活动视图用活动图来表达。活动图很像流程图,它显示出工作步骤,判定点和分支。可用于表达一个对象的操作和一个业务过程。部署图描述的是系统运行时的构造,展现了硬件的配置及其软件如何部署到网络构造中。一个系统模型只有一个UML 部署图, UML 部署图通常用来帮助理解分布式系统。UML部署图在描述较简单系统的物理拓扑构造时很有用。在整个试验过程中,还有同学对我的帮助,这使得我更快更好的完成了这次的系统设计与实现。固然,还有在程序验收阶段,教师给我们的指导和建议,也对我们有很大的帮助。
限制150内