当前位置:文档之家› 基于自动售货机的软件工程(精)

基于自动售货机的软件工程(精)

面向对象分析实践大作业(40%下面是自动售货机系统的需求陈述,请你:1. 编写分析和设计报告;2. 报告分需求分析、系统设计和对象设计三部分编撰, 各部分应按相应的格式编写,并包含用例图、顺序图、类图、业务流程图、系统结构图等;3. 大作业的结构为:A 项目需求说明B 需求分析报告C 系统设计报告D 对象设计报告E 分析设计过程说明:这部分介绍分析和设计过程中使用了什么技术需求陈述:自动售货机系统是一种无人售货系统。

售货时,顾客把硬币投入机器的投币口中,机器检查硬币的大小、重量、厚度及边缘类型。

有效的硬币是一元币、五角币、五分币、二分币、一分币。

其他货币被认为是假币。

机器拒绝接受假币, 并将其从退币孔退出。

当机器接受了有效的硬币之后,就把硬币送入硬币储藏器中。

顾客支付的货币根据硬币的面值进行累加。

自动售货机装有货物分配器。

每个货物分配器中包含零个或多个价格相同的货物。

顾客通过选择货物分配器来选择货物。

如果货物分配器中有货物,而且顾客支付的货币值不小于该货物的价格, 货物将被分配到货物传送孔送给顾客, 并将适当的零钱返还到退币孔。

如果分配器是空的,则和顾客支付的货币值相等的硬币将被送回到退币孔。

如果顾客支付的货币值少于所选择的分配器中货物的价格,机器将等待顾客投进更多的货币。

如果顾客决定不买所选择的货物, 他投放进的货币将从退币孔中退出。

参考资料:《软件工程》张海藩清华大学出版社 2009年第一版下面是自动售货机系统的需求陈述,试建立它的对象模型、动态模型和功能模型:自动售货机系统是一种无人售货系统。

售货时,顾客把硬币投入机器的投币口中,机器检查硬币的大小、重量、厚度及边缘类型。

有效的硬币是一元币、五角币、五分币、二分币、一分币。

其他货币被认为是假币。

机器拒绝接受假币, 并将其从退币孔退出。

当机器接受了有效的硬币之后,就把硬币送入硬币储藏器中。

顾客支付的货币根据硬币的面值进行累加。

自动售货机装有货物分配器。

每个货物分配器中包含零个或多个价格相同的货物。

顾客通过选择货物分配器来选择货物。

如果货物分配器中有货物,而且顾客支付的货币值不小于该货物的价格, 货物将被分配到货物传送孔送给顾客, 并将适当的零钱返还到退币孔。

如果分配器是空的,则和顾客支付的货币值相等的硬币将被送回到退币孔。

如果顾客支付的货币值少于所选择的分配器中货物的价格,机器将等待顾客投进更多的货币。

如果顾客决定不买所选择的货物, 他投放进的货币将从退币孔中退出。

参考资料:《软件工程》张海藩清华大学出版社 2009年第一版面向对象的分析面向对象分析方法的核心思想是利用面向对象概念和方法为软件需求构造一组相关模型(对象模型,动态模型和功能模型 ,来获得关于问题域的全面认识。

这三个模型从不同的角度对系统进行描述, 其中:对象模型描述了系统静态的、结构化的数据性质;动态模型描述了系统顺势的、行为化的控制性质;功能模型描述了变化的系统的功能性质。

这三个模型都涉及到数据。

控制和操作等共同的概念,但每种模型描述的侧重有所不同。

它们各自以不同侧面反应系统的实质内容,综合起来则全面反映了目标系统的需求。

对象模型是三个模型中最关键的。

它的作用是描述系统的静态结构,包括构成系统的类和对象、它们的属性和操作以及它们之间的联系。

UML 中类图适用于建立对象模型,状态图适用于建立动态模型。

每个类的动态行为用一张状态图来表示,各个类的状态图通过事件合并起来,构成系统的动态模型。

也就是说, 动态模型是基于事件共享而相互关联的一组状态图的集合。

建立对象模型大体上按照下列顺序进行 :寻找问题域内的对象,识别出对象间的关系、定义属性和服务。

事实上,分析工作不可能严格按照预定顺序进行,系统的模型往往需要反复构造多遍才能建成。

5注:对象硬币计算器和对象硬币检测器可以作为对象自动售货器的一部分,它们的属性作为自动售货器的属性。

建立动态模型对于仅存数静态数据的系统来说,动态模型并没有什么实际意义。

然而在开发6交互式系统时,动态模型却起着很重要的作用。

如果收集输入信息是目标系统的一项主要工作,则在开发这类应用系统时建立正确的动态模型是至关重要的。

建立动态模型的步骤:(1 编写典型的对话脚本;(2 从脚本中提取出事件, 联系该事件与其目标对象;(3 组织事件的顺序和状态 (采用状态图描绘 ;(4 比较各个不同对象的状态图, 检查对象之间的一致性,确保事件之间的匹配。

7功能模型功能模型描述了系统的所有计算。

8功能模型指出发生了什么,动态模型确定什么时候发生,而对象模型确定发生的客体。

功能模型表明一个计算如何从输入值得到输出值,它不考虑计算的次序。

功能模型由多张数据流图组成。

数据流图用来表示从源对象到目标对象的数据值的流向,它不包含控制信息,控制信息在动态模型中表示,同时数据流图也不表示对象中值的组织,值的组织在对象模型中表示。

数据流图中包含有处理、数据流、动作对象和数据存储对象。

1. 处理数据流图中的处理用来改变数据值。

最低层处理是纯粹的函数,一张完整的数据流图是一个高层处理。

2. 数据流数据流图中的数据流将对象的输出与处理、处理与对象的输入、处理与处9理联系起来。

在一个计算机中,用数据流来表示一中间数据值,数据流不能改变数据值。

3. 动作对象动作对象是一种主动对象,它通过生成或者使用数据值来驱动数据流图。

4. 数据存储对象数据流图中的数据存储是被动对象,它用来存储数据。

它与动作对象不一样,数据存储本身不产生任何操作, 它只响应存储和访问的要求。

C 语言课程设计需求分析与系统设计报告目录1 引言 . ...................................................................................................... 13 1.1背景 . .............................................................................................. 13 1.2定义 . (13)1.3参考资料 (13)2 需求分析 . .............................................................................................. 14 2.1需求分析 .. (14)2.2运行环境 (4)3 系统设计 . ................................................................................................ 5 3.1功能需求描述 ................................................................................ 5 3.2软件结构 (7)3.3 程序模块划分 (8)4 组员分工及时间安排 ............................................................................ 9 4.1 组员分工 ....................................................................................... 9 4.2 时间安排 (9)1 引言1.1背景自动售货机是能根据投入的钱币自动付货的机器。

自动售货机是商业自动化的常用设备,它不受时间、地点的限制,能节省人力、方便交易。

是一种全新的商业零售形式,又被称为 24小时营业的微型超市。

自动售货机能够充分补充人力资源的不足,适应消费环境和消费模式的变化, 可以更省力, 运营时需要的资本少、面积小, 有吸引人们购买好奇心的自身性能, 可以很好地解决人工费用上升的问题等各项优点。

1.2定义课程设计中用到的专门术语的定义(暂定。

1.3参考资料1. 王士元 . C高级实用程序设计 . 北京 : 清华大学出版社 . 19962. 潭浩强 . C语言程序设计 . 北京 : 清华大学出版社 , 20003. 百度2 需求分析2.1需求分析说明:本自动售货机图形模拟系统为模拟饮料自动售货机。

(1 包含实体1,顾客实体2,物品管理系统实体(饮料3,记币管理器实体4,管理员实体5,故障系统实体(2 关系模式1, 顾客:投币, 选择饮料, 购买数量, 取货, 取零钱; 2,物品管理系统:饮料名称,饮料价格,饮料数量,出货; 3,记币管理系统:顾客投钱数,总金额 ,饮料单价, 投币金额不足,找零金额;4, 管理员:补货,查询,统计;5, 故障系统:故障显示,报警;2.2运行环境本自动售货机图形模拟系统是对自动售货机工作行为及工作环境的模拟实现,因此,对此系统的运行环境将是在计算机上面进行, 即在电脑上模拟实现。

根据自动售货机图形模拟系统设计环境要求,即在 DOS 环境下,用 C 语言编译实现,使用 TC 或 BC 开发软件,因此,此模拟系统可在绝大多数现形计算机系统上运行,包括最常见的 windows xp 操作系统以及 windows 7 32位机上运行,但由于兼容性问题,此自动售货机图形模拟系统在含 windows 7 64位操作系统的计算机上运行可能出现意想不到的问题或根本不能运行,因而,不推荐在包含 64位操作系统的计算机上测试本自动售货机图形模拟系统。

3 系统设计3.1 功能需求描述(1 自动售货机能销售三种饮料:罐装可乐 (2元、果汁 (3.5元、牛奶(4元 ,设饮料数量无限。

(2自动售货机允许投入 5角、 1元硬币, 5元纸币,只找出 5角、 1元硬币。

(3ⅰ . 当总币值等于顾客需要的饮品单价时,机器显示交易金额并送出需要的商品;ⅱ . 当总币值大于顾客需要的饮品单价时,机器显示交易金额并除提供所需饮品外,还提供找零:A.若机内 5角硬币不足时,当投入 5元纸币购买 2元、 4元或 3.5元饮料时, 2元4元饮料卖,并正常找零, 3.5元饮料不卖并退回 5元;B.若机内 5角、 1元硬币都不足时,当投入 5元纸币购买 2元 4元或 3.5元的饮料时,均不卖,并退回 5元;ⅲ . 当总币值小于顾客需要的商品单价时,机器会退出顾客投入的硬币,并显示投币金额不足的提示。

(4 当投入的硬币总值达到或大于饮品的最低单价时, 物品管理系统自动接入, 并提供能够选择的饮品类型, 交易金额将输出到显示屏。

(5每次投币时间有限制,设定每次投币时间不超过 30秒,在时间到时, 总币值不足顾客购买的饮品单价时, 自动售货机按不足钱数处理,输出投币金额不足提示,并自动计时 10秒, 10秒内若金额还不足,系统则自动取消交易并退还全部硬币。

相关主题