自动售货机系统对象模型,动态模型,功能模型
面向对象分析建模之自动售货机案例
后续的系统设计和开发提供基础。
PART 02
面向对象分析建模基础
对象与类的概念
对象
现实世界中事物的抽象,具有属性和 行为。
类
对象的抽象,定义了一组具有共同属 性和行为的对象。
封装与继承
封装:将对象的属性和行为封装在一起,通过 接口对外提供服务。
WENKU DESIGN
WENKU DESIGN
2023-2026
ONE
KEEP VIEW
面向对象分析建模之 自动售货机案例
WENKU DESIGN
WENKU DESIGN
WENKU
REPORTING
https://
CATALOGUE
目 录
• 引言 • 面向对象分析建模基础 • 自动售货机系统分析 • 自动售货机系统设计 • 自动售货机系统实现 • 总结与展望
定期备份系统数据,以防止数据丢失或损坏。
系统升级
根据需求对系统进行升级和维护,确保系统的稳定性和安全性。
PART 06
总结与展望
面向对象分析建模的优势
清晰地表示对象及其关系
通过使用面向对象的方法,我们可以清晰地定义和表示自动售货机中的各个对象及其之间的关系 ,如商品、货币、用户等。
提高可维护性和可扩展性
金融领域
面向对象分析建模可以应用于金融领 域中的账户管理、交易处理、风险管 理等模块,使得金融系统更加安全、 稳定和高效。
WENKU DESIGN
WENKU DESIGN
2023-2026
END
THANKS
感谢观看
KEEP VIEW
自动售货机系统用例图
9.8 小结
9.8 小结
对于大型软件产品来说,把该产品看作是由一 系列本质上相互独立的小产品组成,这就不仅降 低了开发工作的技术难度,而且也使得对开发工 作的管理变得比较容易了。面向对象范型明显优 于结构化范型。此外,使用面向对象范型能够开 发出稳定性好、可重用性好和可维护性好的软件, 这些都是面向对象方法学的突出优点。
9.6.2 用例建模
获取用例是需求分析阶段的主要工作之一,而 且是首先要做的工作。
大部分用例将在项目的需求分析阶段产生,并且随 着开发工作的深入还会发现更多用例,这些新发现的用例 都应及时补充进已有的用例集中。用例集中的每个用例
都是对系统的一个潜在的需求。
一个用例模型由若干幅用例图组成。
创建用例模型的工作步骤:
例如, 在自动售货机系统中,张三投入硬币购买矿泉水,
系统收到钱后把矿泉水送出来,上述过程就是一个 脚本;
李四投币买可乐,但是可乐已卖完了,于是系统 给出提示信息并把钱退还给李四,这个过程是另一 个脚本。
3. 行为者
3. 行为者(参与者(Actor))
•参与者(Actor)是系统外部的一个实体(可以是 任何的事物或人),它以某种方式参与了用例的执行过程。
其中,对象模型是最基本、最核心、最重要的。
-
本章所讲述的面向对象方法及定义的概念和表示 符号,可以适用于整个软件开发过程。软件开发人 员无须像用结构分析、设计技术那样,在开发过程 的不同阶段转换概念和表示符号。
•参与者通过向系统输入或请求系统输入某些事件来 触发系统的执行。参与者是系统之外,透过系统边界与系统进行 有意义交互的任何事物(人或事物)。
基于Petri网的自动售货机的建模分析
基于Petri网的自动售货机的建模分析摘要首先介绍自动售货机的工作原理和基本功能,并根据工作原理对其进行Petri网模型的构建。
而后Petri网模型的建立与化简技术的结合使用,使得复杂的Petri网模型能够得以简单化,系统的活性、有界性和合理性等都能直观地表现出来。
关键词Petri网;自动售货机;系统建模基于Petri网的自动售货机的建模就是根据系统功能抽象自动售货机的工作信息,得出系统的状态(库所)和操作(转换),并利用HPSIM软件对系统的Petri网模型进行测试,同时通过Petri网的化简规则验证模型的合理性。
1 自动售货机动态模型的建立自动售货机的功能要求是:首先,用户准备,系统服务器启动;其次,用户用按键选择商品,在数码管上显示商品的编号和单价;然后用户准备投币,投币时,按一次键模仿投入1元硬币。
投入硬币的数量够买入商品时,点亮一个指示灯,表示商品已经买出。
如果输入的硬币不够数,按退款键可以退出硬币,清除投币的显示数据。
如果在硬币数量足够的情况下,系统中的货物总量不足时,系统通过网络向远程服务器发送缺货信息。
根据自动售货机的功能如顺序Petri网模型、选择Petri网模型和并行Petri 网模型等对自动售货机进行动态模型的建立。
通过对自动售货机交易流程状态表的分析,利用HPSIM工具能够实现自动售货机交易流程的Petri网建模。
2 模型合理性验证Petri网模型的合理性是指:对应于起始库所的每一个标记,最终会有且仅有一个标记出现在终止库所中,当终止库所中出现标记时,其它所有库所都为空,对每个转换,从初始状态都能够到达该转换的就绪状态。
通常对于复杂的、大型的Petri网模型的合理性验证通过上述定义较难实现,为更好地分析模型的合理性在此引入Petri网模型化简技术。
Petri网的化简是指在某种性质不变的基础上,采用等效变换,以达到缩小状态空间、简化系统分析的目的。
2.1 Petri网的化简规则Petri网模型化简规则包括以下4条:(矩形表示Petri网模型中的转换,圆形表示Petri网模型中的库所)。
自动售货机用例图
自动售货机用例图 IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】自动售货机用例图一实验内容:一台饮料自动售货机能提供六种不同的饮料,售货机上有六个按钮,分别对应于这六种饮料,顾客可通过按钮来选择所要的饮料。
每个按钮旁边有一个指示灯,用来表明该售货机中是否还有这种饮料可售。
售货机有一个硬币槽和找零槽,用来收钱和找零。
假设现在有一位顾客投币购买矿泉水,不用找零。
问题:请给出描述上述场景的用例图。
二用例描述:1)该用例的目的是描述自动售货机的用例图,来更好的学习用例建模;2)该用例在当有人想买饮料并到自动售货机钱塞硬币买饮料的时候被参与者即:顾客启动执行3)在用例中指示灯来提示哪种饮料有得买,哪种饮料没有卖;每种饮料有各自的按钮来供顾客选择要买的饮料;行为者:顾客;用例:按钮,指示灯,投币槽,退币槽;按钮是用来供顾客选择要选择的饮料;指示灯是来显示对应的饮料是否可售;投币槽供顾客投币买饮料的;退币槽式用来退剩下的钱币;三自动售货机的对象图:四用例图:指示灯提示饮料是否可售吐饮料五实验小结:1)在本次实验中初次使用Rational Rose来画用例图,在画用例图之间要寻找并确定行为者,以及寻找并确定用例;2)一个用例表示系统中一个与特定行为者相关的完整功能。
用例通过关联与行为者链接,关联指出一个用例与哪些行为者交互,所以在确定了行为者和用例之后,要理清楚各个用例之间的关系,在画用例图时候才能够顺手,才能过完成自动售货机系统中的一系列动作,才能特定行为者一个可观擦到的结果值;。
软件工程-自动售货机
自动售货机信息1101 施敏宇18号下面是自动售货机系统的需求陈述,试建立它的对象模型、动态模型和功能模型:自动售货机系统是一种无人售货系统。
售货时,顾客把硬币投入机器的投币口中,机器检查硬币的大小、重量、厚度及边缘类型。
有效的硬币是一元币、五角币、五分币、二分币、一分币。
其他货币被认为是假币。
机器拒绝接受假币,并将其从退币孔退出。
当机器接受了有效的硬币之后,就把硬币送入硬币储藏器中。
顾客支付的货币根据硬币的面值进行累加。
自动售货机装有货物分配器。
每个货物分配器中包含零个或多个价格相同的货物。
顾客通过选择货物分配器来选择货物。
如果货物分配器中有货物,而且顾客支付的货币值不小于该货物的价格,货物将被分配到货物传送孔送给顾客,并将适当的零钱返还到退币孔。
如果分配器是空的,则和顾客支付的货币值相等的硬币将被送回到退币孔。
如果顾客支付的货币值少于所选择的分配器中货物的价格,机器将等待顾客投进更多的货币。
如果顾客决定不买所选择的货物,他投放进的货币将从退币孔中退出。
面向对象的分析面向对象分析方法的核心思想是利用面向对象概念和方法为软件需求构造一组相关模型(对象模型,动态模型和功能模型),来获得关于问题域的全面认识。
这三个模型从不同的角度对系统进行描述,其中:对象模型描述了系统静态的、结构化的数据性质;动态模型描述了系统顺势的、行为化的控制性质;功能模型描述了变化的系统的功能性质。
这三个模型都涉及到数据。
控制和操作等共同的概念,但每种模型描述的侧重有所不同。
它们各自以不同侧面反应系统的实质内容,综合起来则全面反映了目标系统的需求。
对象模型是三个模型中最关键的。
它的作用是描述系统的静态结构,包括构成系统的类和对象、它们的属性和操作以及它们之间的联系。
UML中类图适用于建立对象模型,状态图适用于建立动态模型。
每个类的动态行为用一张状态图来表示,各个类的状态图通过事件合并起来,构成系统的动态模型。
也就是说,动态模型是基于事件共享而相互关联的一组状态图的集合。
软件工程综合应用例题
综合应用例题第一部分传统软件开发方法1、某一8位计算机,其十六进制常数的定义为:以0x或0X开头的数是十六进制整数,其值的范围是-7f至7f(大小写字母不加区别),如0x13,0X6A,-0x3c 。
请用等价类划分法设计测试用例。
解:第一步:建立等价类表第三步:为无效等价类至少设计一个测试用例2、下面是一段求最大值的程序,其中datalist是数据表,n是datalist的长度。
???????int GetMax(int n, int datalist[ ])???????{???????????int k=0;???????????for ( int j=1; j<n; j++ )????????????????if ( datalist[j] > datalist[k] ) k=j;???????????return k;???????}画出该程序的程序流程图,并计算其McCabe复杂度。
解:程序流程图如下:McCabe复杂度为3。
3、有下列伪码程序:STARTINPUT (M,N)IF M>=10THEN X:=10ELSE X:=lENDIFIF N>=20THEN Y:=20ELSE Y:=2ENDIFPRINT(X,Y)STOP?设计该程序的语句覆盖和路径覆盖测试用例。
解:语句覆盖测试用例为①M=9(或<l0),N=l9(或<20);②M=l0(或>=10),N=20(或>=20)路径覆盖的测试用例为①M=9,N=19;②M=9、N=20;③M=l0,N=l9;④M=10,N=204、根据伪码程序画出程序流程图,盒图(N-S图)。
STARTaIF x1 THENREPEAT UNTIL x2bEND REPEATELSEBLOCKcdEND BLOCKEND IFSTOP解:(1) 程序流程图 (2) N-S (3)PAD图5、根据下列描述,画出教材征订系统的第一层数据流图。
软件工程导论试题集
1. 航空公司“机票预定系统”:航空公司为给旅客乘机提供方便,需要开发一个机票预定系统。
各个旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码(护照号码)、旅行时间、旅行始发地和目的地,航班舱位要求等)输入到系统中,系统根据旅客信息和航班信息为旅客安排航班。
当旅客交付了预订金后,系统打印出取票通知和帐单给旅客,旅客在飞机起飞前一天凭取票通知和帐单交款取票,系统核对无误即打印出机票给旅客。
请用结构化分析方法,给出系统的功能模型(DFD描述)。
参考答案:(02. 一个简化的机票销售系统需求描述如下:售票员根据旅客需要的航班,首先查询有无该航班机票。
若有,则负责录入旅客的基本信息,并将指定的机票标志设置为售出;售票部经理可随时查询每一个航班的售票情况,并在当日结算时能计算出日营业额。
请画出该系统的0层DFD图和1层DFD图(注:1层分解为查询和录入、统计和计算两个处理)。
3. 图书馆的预定图书子系统有如下功能:(1)由供书部门提供书目给订购组(2)订书组从各单位取得要订的书目(3)根据供书目录和订书书目产生订书文档留档(4)将订书信息(包括书目、数量)反馈给供书单位(5)将未订书目通知订书者(6)对于重复订购的书目有系统自动检查,并将结果反馈给订书者画出数据流图,并转换为软件结构图。
4.某单位要研制一个计算机培训管理系统,它的业务是将学员发来的信件收集分类后,按以下几种情况处理:1)处理报名如果是报名,则将报名数据送给负责报名事物的职员,他们将查阅课程文件,检查课程是否满额,然后在学生文件、课程文件上登记,并开出报告单较财务部们,财务人员开出发票给学生。
2)注销课程;如果是想要注销原来已选修的课程,则有注销人员在课程文件、学生文件和账目文件上做相应的修改,并给学生注销单。
3)处理付款如果是付款,则有财务人员在账目文件上登记,也给学生一张收费收据。
要求:给出该系统的数据流图和软件结构图。
一种自动售货机辅助智能装置系统模型研究
中图分 类 号 :H1 文献 标识 码 : T 6 A
1 引 言
自动售货机作为一种新型的自助服务装置,正逐渐走 人人们 的生活 , 其装置的e s性 、 J  ̄ 安装位置 的自由性以及售货行为的便利 ,
务模式被广泛应用l l 1 。尤其是 日本 、 欧美等 国家普及率特别高。 中国 , 9 从 0年代 引进到 自行研制和生产, 自动售货机在 国内市场 需求逐渐变大 , 逐步从 沿海发达地 区到各大中小城 市, 从高级宾 馆、 地铁 、 机场等高档场逐渐 向大街小巷延伸。以实地调研为基 础, 以提高 自助服务水平 、 完善人性化设计以及节能为 日的, 提出
Z A G L n h a一Y N e s eg, A ig y e,H G G o l n HO G F —e g,O G We - ig H N a — u , A G D —h n G O Q n — u Z AN u—i g, a Z N a tn N n pn T ( e at n f nomai n n ier g T i a dc l nvri , a’n2 1 1 , hn ) pr D me t fr t na dE gn ei , a h nMe i i sy T ia 7 0 6 C ia oI o n s aU e t ( ntue f e rifr t sD l nU lesyo eh ooy D l n1 2 , hn ) 2 stt o uonomai , ai rvri f c n lg , a a 0 3 C ia I i N c a i t T i 1 6
依据需要装纳所售货物以更好的满足人们的需求 ; 由于安装位置 的
动售货机的 自助服务能力。 通过建立小型数据库, 对售货信息进行 管理 、 统计和分析 , 使操作 员快速的获取售货信息 , 更好 的提供供 求信息 , 增加所售人财物的安全 胜, 提高人性化操作 , 减少浪费。 同 时借用太 阳能电路板的设计, 可以实现节能的目的。
作业四 面向对象需求建模解答(第9-11章)
作业四面向对象需求建模(第9-11章)4-1、根据以下描述,使用面向对象的分析方法,分析有那些主要对象和这些对象的主要属性、方法,画出对象图。
一个饮料自动售货机可以放置五种不同或部分相同的饮料,可由厂商根据销售状况自动调配,并可随时重新设置售价,但售货机最多仅能放置50罐饮料,其按钮设计在各种饮料样本的下方,若经金额计算器累计金额足够,则选择键灯会亮;若某一种饮料已销售完毕,则售完灯会亮。
顾客将硬币投入售货机,经累加金额足额的饮料选择键灯亮,等顾客按键选择。
顾客按键后饮料由出物口掉出,并自动结算及找钱。
顾客可在按下选择键前任何一个时刻,可以拉动退币杆取消交易收回硬币。
4-2、请画出一个用户使用银行ATM的状态转换图。
从用户将卡插入卡槽开始,到用户取卡结束(如果用户忘记,ATM应报警),用户可以完成以下几个步骤:登录(卡片进入ATM机后,如果不是可读卡,退卡;如是,等待用户输入密码,三次错,吞卡,正确后进入主菜单),取钱(进入取钱菜单,输入金额,如果帐户余额不足,提示余额,并要求用户重新输入,如果帐上钱够,吐钱币,并询问是否打印凭证,最后返回主菜单),主菜单提供退出取卡选择。
4-3、某公安报警系统在一些公安重要保护单位(银行、学校等)安装了报警装置,其工作过程如下:一旦发生意外事故,故事发生单位只需按报警按钮,系统立即向公安局发出警报信息、自动显示出报警单位的地址、电话号码等。
110警车立即出动前往出事地点。
值班人员可以接通事故单位的电话、问清情况,需要时再增派公安人员到现场处理。
根据以上情况进行分析,确定本系统有哪些用例、对象,画出用例图、类图及顺序图。
下面是某位同学做的用例:按报警按钮,向公安局发出警报信息,显示报警单位地址电话,110警车前往出事地点,值班人员接通事故单位的电话、问清情况,增派公安人员对象:事故单位、报警系统、公安局、值班人员、公安人员,警车类图:用例图:事故单位报警系统值班人员顺序图:4-4、小李新接了一个项目:设计一个简单的学生选课系统,系统能注册符合要求的同学,同学注册以后就能进行选课,选课过程如下:先选课名,然后根据课程的上课老师、时间、地点和人数限制来决定是否成功选课;老师也可以根据情况提供新的课程说明或修改过去课程的说明;教务处的老师统一管理注册的情况,可以有删除、修改学生、老师和课程的权限。
基于Petri网的自动售货机销售系统建模及验证
转变为 多元 的购物方式等等。
把 多媒体应用到 自动售货机上是 自动售 货机 多元 化之一 , 它的 出现使生活 更丰富多彩 , 人性 化。过 去 更 对系 统进行建 模采用状 态图 , 但该方 法缺少精确 的动
态语义 , 本文采用 P t 网进行 图形 化、 er i 数学化建 模 , 这
摘 要 :提 出了一种层 次 Pt 网建立 多媒体 自动售货 机销售 系统模型 。首先给 出了层 次 Pt 网在 该 系统 中的 er i ei r
形式化 定义及描述 , 用分层 设计、 运 逐步 细化 的思想降低 系统复 杂度 , 该 系统设计直观 、 使 清晰。然后 ,
利用 S O P 真工具和 P t 网可达 图分别从定性和定量 两个方面加 以分析 , 证 了该模 型的合理性 N O Y仿 er i 验
r
售 货机销售 运行流程 相结合来建 立系统模型 , 从分层
的角度构建 系统。 然后 , 用 S O P 利 N O Y仿 真 工具进 行
M( ) 1 P 一
ห้องสมุดไป่ตู้
若 P∈ — t t
仿真 , 且从定性 的方面分 析该模 型 ; 同时, 利 用可达 也
图从 定量的 方面分析 , 两个方面 的分析可 以准 确的 从
可 以遍历系统所有可能的状态 , 识别 出变迁 的 中突、 中
撞、 死锁和 陷阱等 , 便于对系统进行定性 、 定量的描述。
本论文提 出利 用层 次 Pt 网理 论与 多媒体 自动 er i
在标识 M 下 , 变迁 t 可以发生 , 从标识 M 发生变迁 t 得 到一个新的标 识 M ( 记为 M[ >M , VP , t )对 EP 有
为 了方便起见 , 常需要 定义库所 或 变迁的前 集 经
自动售货机系统用例图PPT课件
.
14
用面向对象观点建立系统的模型,能够促进和加深 对系统的理解,有助于开发出更容易理解、更容易 维护的软件。
通常,建立起3种不同的模型。它们分别是
描述系统静态结构的对象模型、使用UML的类图来 建立
描述系统控制结构的动态模型、使用UML的状态图 来建立
描述系统计算结构的功能模型。使用数据流图或 UML的用例图来建立功能模型。在UML中把用用例 图建立起来的系统模型称为用例模型。
对象模型是最基本最重要的它为其他两种模型奠定了基础我们依靠对象模型完成3种模型的集98小结12对于大型软件产品来说把该产品看作是由一系列本质上相互独立的小产品组成这就不仅降低了开发工作的技术难度而且也使得对开发工作的管理变得比较容易了
UML 图:用例图
• 用例图(Use Case Diagram)
- 用例图定义了系统的功能需求,它完全是从系统外 部观看系统功能,并不描述系统内部对功能的具体 实现。 - 用例图表示了用例、参与者及其它们之间的关系。
谁将使用系统的主要功能(主行为者)? 谁改变系统的数据?谁从系统获取信息?
谁需要系统的支持以完成日常工作任务?
谁负责维护、管理并保持系统正常运行(副行为者)?
系统控制哪些硬件设备?系统需要与哪些其他系统交互? 哪些人或系统对本系统产生的结果(值)感兴趣?
.
10
2. 寻找用例
2. 寻找用例
一旦找到了行为者,就可以通过请每个行为者回 答下述问题来获取用例:
.
16
习题
9-1 什么是面向对象方法学?它有哪些优点?
9-2 什么是“对象”?它与传统的数据有何异同?
9-3 什么是“类”?
9-4 什么是“继承”?
9-5 什么是模型?开发软件为何要建模?
简述功能模型,对象模型,动态模型之间的关系
简述功能模型,对象模型,动态模型之间的关系功能模型、对象模型和动态模型是软件开发中常见的三个模型,它们之间的关系非常密切,共同构成了软件系统的骨架。
下面将简要介绍这三种模型之间的关系。
1. 功能模型功能模型是指描述软件系统的功能及其相互关系的一种模型。
功能模型关注软件系统的功能和逻辑,通过对功能进行分解和组织,以模块化的方式来描述软件系统的功能和流程。
功能模型通常包括输入、输出、流程、步骤和条件等概念。
功能模型的核心思想是将软件系统的功能划分为若干个模块,每个模块都有一个明确的功能职责和接口,并通过一定的规则和约束来实现这些功能。
在软件开发过程中,功能模型通常用于设计和实现软件系统的功能和逻辑,并作为软件系统开发的基础。
2. 对象模型对象模型是一种描述软件系统中对象及其相互关系的一种模型。
对象模型关注软件系统中的对象和数据,通过对对象进行建模和描述,以可视化软件系统的结构和功能。
对象模型通常包括类、对象、继承、多态等概念。
在对象模型中,软件系统的对象通常表示为一个数据结构,包含了属性和方法两个部分。
属性表示对象的数据特征,方法表示对象的操作行为。
通过对象模型,开发人员可以更好地理解软件系统中的对象和数据,并设计出更加灵活和可扩展的软件系统。
3. 动态模型动态模型是一种描述软件系统中流程和交互的一种模型。
动态模型关注软件系统的动态行为和变化,通过对流程和交互进行建模和描述,以模拟和优化软件系统的流程和交互。
动态模型通常包括事件、消息、状态和消息传递等概念。
在动态模型中,流程和交互被描述为一系列事件和消息的传递和处理。
通过动态模型,开发人员可以更好地理解软件系统中的流程和交互,并设计出更加高效和可扩展的软件系统。
功能模型、对象模型和动态模型是软件开发中常见的三种模型,它们之间的关系非常密切。
功能模型主要关注软件系统的功能和逻辑,对象模型主要关注软件系统中的对象和数据,动态模型主要关注软件系统中流程和交互。
饮料自动售货机系统的分析与设计说明
饮料自动售货机系统的分析与设计1.系统的分析1.1 需求分析描述自动售货机像磁卡、银行柜员机一样,以方便、新颖、文明、昼夜服务等特点,成为便民配套设施。
如今的自动售货机可以为顾客提供多种服务。
顾客可以根据自己的需要选择商品并投入钱币,售货机接收钱币,售出商品。
自动售货机是一种无人售货系统。
售货时,顾客投入硬币,售货机进行真假币的检查,若是假币拒绝接收,若是有效硬币则进行累加。
售货机装有若干个含有相同价格货物的货物分配器。
顾客可以通过货物分配器选择货物,如果有被选货物,并且顾客支付的货币值不小于货物的价格,货物将被传送给顾客,同时余额返回到退币口。
如果货币值小于货物价格,则等待投币,此时如果顾客取消本次活动,那么之前所投的货币将从退币口中退出,返回给顾客。
1.2 系统功能结构图图1 体统功能结构图1.3 用例图图2 饮料自动售货系统用例图1.4 系统类图的建立系统的类图揭示了系统的整个结构。
分析时先产生问题域中的对象,再抽象出类。
在本系统中,类有:自动售货机、顾客、货币、货币累加器、货物、货物分配器、显示屏、取消按钮、选择按钮、事务、更新。
货币顾客图3 饮料自动售货系统类图1.5 动态模型的建立从系统模型的角度,静态模型定义了系统的结构和组成。
任何实际的系统都是活动的,都通过系统元素间的互动来实现系统。
面向对象的许多方法在建立动态模型时首先写各种情况时的交互行为脚本,通过对脚本的分析描绘动态模型。
脚本是用例的一次具体执行过程,一般包括正常情况脚本和异常情况脚本。
系统的卖货物用例中,顾客投入硬币,系统检查硬币的有效性,然后对有效硬币进行累加,顾客选择货物及其数量,系统送出货物;这系列步骤表示正常情况脚本。
异常脚本为:顾客投入有效硬币,然后选择货物,若货物量不够,系统将投入的硬币从退币口退出。
在UML中,可以利用序列图来表示脚本。
下面是卖货物用例的一次具体交互的序列图。
对象1图4 自动卖货物的顺序图由于本系统中,自动售货机本身的状态比较复杂,因此建立其状态图。
对象模型动态模型和功能模型
顾客投入硬币
自动售货机计算并显示金额 顾客持续投入硬币直到足够的金额 自动售货机选择按钮灯亮 顾客选择饮料种类并按下选择按钮
自动售货机送出相应饮料并结算、找零
自动售货机扣除该饮料的存量 如自动售货机该饮料有存货,回到初始状态
如自动售货机该饮料无存货,显示该饮料“售空”灯亮,
不再接受选择,回到初始状态
实例
设计支持银行网络的软件,银行网络包括出纳站和分行共享的自动出 纳机。每个分析通信,出纳站录入用户和事务数据;自动出纳机与 分行计算机通信,分行计算机与拨款分理处结帐,自动出纳机与用 户接口接受现金卡,与分行计算机通信完成事务,发放现金,打印 收据;系统需要记录保管和安全措施;系统必须正确处理同一账户 的并发访问;每个分理处为自已的计算机准备软件,银行网络费用 根据顾客和现金卡的数目分摊给各分理处。
2.面向对象建模 (1)建模与模型 建模是将问题域的解空间定义成一种模型,以帮助系统分析 人员更好地理解问题。 模型是为了理解问题而对问题所做出的一种抽象,而且是对 问题的一种无歧义的描述。模型由一组图示符号和组织这些 符号的规则组成。利用它们来定义和描述问题域中的术语和 概念。 建模的目的主要是为了减少复杂性。 (2)面向对象模型
3) 五个层次对应的五个活动
五个主要活动可以同时(并行)处理;可以从较高抽象层转移 到较低的具体层,然后再返回到较高抽象层继续处理;当系统 分析员在确定类-&-对象的同时,想到该类的服务,则可以先 确定服务后,再返回去继续寻找类-&-对象;没有必要遵循自 顶向下,逐步求精的原则。 4) 面向对象分析流程 一般情况下,面向对象分析过程可按照下列流程进行:确 定类—&—对象、识别结构、识别主题、定义属性、建立动态 模型、建立功能模型、定义服务(方法)。但是,对于大型的、 复杂的问题,不可能严格按照上面流程进行,需要反复多次进 行寻找、确定、识别、建立和定义来构造模型。
基于UML自动售货机系统分析与设计论文
基于UML的自动售货机系统的分析与设计【摘要】 uml 是一种面向对象的标准建模语言,它易于表达,功能强大且普遍使用,支持从需求分析开始的软件开发全过程,利用uml 的建模机制,可以对大型复杂系统的各部分进行可视化表示、构建系统模型。
以自动售货机系统的开发为背景,研究了基于uml 的应用软件系统的开发过程,给出了设计过程中的用例图、类图、时序图等。
【关键词】 uml 自动售货机系统模型目前中国的自动售货机拥有量约为3万多台,而相对于13 亿的人口大国,这个数字是微不足道的。
如今,在机场、地铁、商场、公园等客流量较大的场所,不难发现自动售货机的身影。
如果自动售货机的市场被充分开发起来,其前景是十分可观的,届时中国的自动售货机将发展成为一个巨大的产业。
本文通过uml 建模语言对自动售货机系统进行的需求分析和建模,使用uml 建模工具结合高效的模型,可以设计出便于更改、扩展性强、易于维护的自动售货机系统。
1 uml 简介uml 是一种可视化的建模语言,对其各种建模元素可进行详细说明,并能生成所建模型的文档[1]。
使用uml 时,要从不同的角色观察系统,为此定义了一个概念”视图”。
视图是对系统模型在某方面的投影,它注重于系统的某个方面,每个视图是图的协作,由视图可以定义模型,模型在语义上是闭合的,它从特定的角度、在一定抽象层次上描述目标系统。
可以把视图组织成模型,开发人员可从各视角观察并使用模型。
2 基于uml 的自动售货机系统的建模2.1 系统需求分析需求分析包括建立问题领域的业务模型和用户需求分析。
首先要获取需求,得到描述系统所需功能的用例、业务流程或清晰的正文,它从系统外部观察系统。
在uml 中,用一些简单的类图等来描述用户的功能需求。
自动售货机功能描述:为顾客提供所购买的商品;验证硬币的合法性;对异常(商品售完,零钱不合适等)情况进行提示;找零钱。
2.2 系统的用例图一个系统的用例模型由若干用例图组成,用例图的主要成分有用例、行为者和系统,它用简单的图标元素准确地描述了行为者与系统的交互情况和系统的功能。
自动售货机系统用例图PPT课件
谁需要系统的支持以完成日常工作任务?
谁负责维护、管理并保持系统正常运行(副行为者)?
系统控制哪些硬件设备?系统需要与哪些其他系统交互? 哪些人或系统对本系统产生的结果(值)感兴趣?
.
10
2. 寻找用例
2. 寻找用例
一旦找到了行为者,就可以通过请每个行为者回 答下述问题来获取用例:
•行为者需要系统提供哪些功能?
•行为者自身需要做什么?
•行为者是否需要读取、创建、删除、修改或存储系 统中的某类信息?
•系统中发生的事件需要通知行为者吗?行为者需要 通知系统某些事情吗?从功能观点看,这些事件能做 什么?
• 行为者的日常工作是否因为系统的新功能而被简化 或提高了效率?
.
11
9.7 3种模型之间的关系
9.7 3种模型之间的关系
•参与者通过向系统输入或请求系统输入某些事件来 触发系统的执行。参与者是系统之外,透过系统边界与系统进行 有意义交互的任何事物(人或事物)。
•在处理参与者时,应考虑其参与系统的身份,而不 是人名或工作名。
•在UML中,参与者用人形图符表示。
•但参与者未必是人,可以. 是一个外部系统。 6
4. 用例之间的关系
UML 图:用例图
• 用例图(Use Case Diagram)
- 用例图定义了系统的功能需求,它完全是从系统外 部观看系统功能,并不描述系统内部对功能的具体 实现。 - 用例图表示了用例、参与者及其它们之间的关系。
• UML 符号
用例 参与者
.
513
• 用例图显示一组用例,参与者以及它们之间的关系。 用于需求分析阶段,即确定“谁使用系统以及做什 么”。
用例具有下述特征:
(1) 用例代表某些用户可见的功能,实现一个具 体的用户目标;
自动售货机系统对象模型 动态模型 功能模型
对象模型
动态模型状态图如下
顺序图
客户使用界面
自动售货机系统正常情况脚本
欢迎用户使用;用户投入硬币
售货机接受硬币并判断硬币是否为真的
售货机提示用户可以选择饮料
用户选择其想要选择的饮料;售货机接受选择
售货机检查硬币是否够用
售货机检查内部是否有足够的饮料
售货机送出饮料和找回的零钱
用户取走零钱和饮料
自动售货机系统异常情况脚本
欢迎用户使用;用户投入硬币
售货机接受硬币并判断硬币是否为真的
硬币是假的,提示用户重新投币
用户投入真币之后,售货机提示用户可以选择饮料
用户选择想要选择的饮料;售货机接受选择
售货机检查硬币是否够用;硬币不足够
售货机提示用户补充投币
用户填足硬币
售货机检查内部是否有足够的饮料
售货机提示没有足够的饮料,退币
功能模型
功能级数据流图如下:。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
对象模型
动态模型状态图如下
顺序图
客户使用界面
自动售货机系统正常情况脚本
欢迎用户使用;用户投入硬币
售货机接受硬币并判断硬币是否为真的
售货机提示用户可以选择饮料
用户选择其想要选择的饮料;售货机接受选择
售货机检查硬币是否够用
售货机检查内部是否有足够的饮料
售货机送出饮料和找回的零钱
用户取走零钱和饮料
自动售货机系统异常情况脚本
欢迎用户使用;用户投入硬币
售货机接受硬币并判断硬币是否为真的
硬币是假的,提示用户重新投币
用户投入真币之后,售货机提示用户可以选择饮料
用户选择想要选择的饮料;售货机接受选择
售货机检查硬币是否够用;硬币不足够
售货机提示用户补充投币
用户填足硬币
售货机检查内部是否有足够的饮料
售货机提示没有足够的饮料,退币
功能模型
功能级数据流图如下:。