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

更新时间:2023-11-13 16:59:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

面向对象分析实践大作业(40%

下面是自动售货机系统的需求陈述,请 你: 1. 编写分析和设计报告;

2. 报告分需求分析、 系统设计和对象设 计三部分编撰, 各部分应按相应的格式 编写,并包含用例图、顺序图、类图、 业务流程图、系统结构图等;

3. 大作业的结构为: A 项目需求说明 B 需求分析报告 C 系统设计报告 D 对象设计报告

E 分析设计过程说明:这部分介绍分析 和设计过程中使用了什么技术 需求陈述:

自动售货机系统是一种无人售货系统。 售货时,顾客把硬币投入机器的投币口 中,机器检查硬币的大小、重量、厚度 及边缘类型。有效的硬币是一元币、五 角币、五分币、二分币、一分币。其他 货币被认为是假币。 机器拒绝接受假币, 并将其从退币孔退出。当机器接受了有 效的硬币之后,就把硬币送入硬币储藏 器中。顾客支付的货币根据硬币的面值 进行累加。

自动售货机装有货物分配器。每个货物 分配器中包含零个或多个价格相同的货 物。顾客通过选择货物分配器来选择货 物。如果货物分配器中有货物,而且顾 客

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

配器是空的,则和顾客支付的货币值相 等的硬币将被送回到退币孔。如果顾客 支付的货币值少于所选择的分配器中货 物的价格,机器将等待顾客投进更多的 货币。 如果顾客决定不买所选择的货物, 他投放进的货币将从退币孔中退出。

参考资料:《软件工程》 张海藩 清华大 学出版社 2009年第一版

下面是自动售货机系统的需求陈述,试 建立它的对象模型、动态模型和功能模 型:

自动售货机系统是一种无人售货系统。 售货时,顾客把硬币投入机器的投币口 中,机器检查硬币的大小、重量、厚度 及边缘类型。有效的硬币是一元币、五 角币、五分币、二分币、一分币。其他 货币被认为是假币。 机器拒绝接受假币, 并将其从退币孔退出。当机器接受了有 效的硬币之后,就把硬币送入硬币储藏

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

自动售货机装有货物分配器。每个货物 分配器中包含零个或多个价格相同的货 物。顾客通过选择货物分配器来选择货 物。如果货物分配器中有货物,而且顾 客支付的货币值不小于该货物的价格, 货物将被分配到货物传送孔送给顾客, 并将适当的零钱返还到退币孔。如果分 配器是空的,则和顾客支付的货币值相 等的硬币将被送回到退币孔。如果顾客 支付的货币值少于所选择的分配器中货 物的价格,机器将等待顾客投进更多的 货币。 如果顾客决定不买所选择的货物, 他投放进的货币将从退币孔中退出。

参考资料:《软件工程》 张海藩 清华大 学出版社 2009年第一版 面向对象的分析

面向对象分析方法的核心思想是利用面 向对象概念和方法为软件需求构造一组 相关模型(对象模型,动态模型和功能 模型 ,来获得关于问题域的全面认识。

这三个模型从不同的角度对系统进行描 述, 其中:对象模型描述了系统静态的、 结构化的数据性质;动态模型描述了系 统顺势的、行为化的控制性质;功能模 型描述了变化的系统的功能性质。这三 个模型都涉及到数据。控制和操作等共 同的概念,但每种模型描述的侧重有所 不同。它们各自以不同侧面反应系统的 实质内容,综合起来则全面反映了目标 系统的需求。

对象模型是三个模型中最关键的。它的 作用是描述系统的静态结构,包括构成 系统的类和对象、它们的属性和操作以 及它们之间的联系。 UML 中类图适用于 建立对象模型,状态图适用于建立动态

模型。每个类的动态行为用一张状态图 来表示,各个类的状态图通过事件合并 起来,构成系统的动态模型。 也就是说, 动态模型是基于事件共享而相互关联的 一组状态图的集合。建立对象模型大体 上按照下列顺序进行 :寻找问题域内的 对象,识别出对象间的关系、定义属性 和服务。事实上,分析工作不可能严格 按照预定顺序进行,系统的模型往往需 要反复构造多遍才能建成。

5

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

建立动态模型

对于仅存数静态数据的系统来说,动态 模型并没有什么实际意义。然而在开发

6

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

建立动态模型的步骤: (1 编写典型的对话脚本;

(2 从脚本中提取出事件, 联系该事 件与其目标对象; (3 组织事件的顺序和状态 (采用状 态图描绘 ;

(4 比较各个不同对象的状态图, 检 查对象之间的一致性,确保事件之间的 匹配。

7

功能模型

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

功能模型指出发生了什么,动态模型确 定什么时候发生,而对象模型确定发生 的客体。功能模型表明一个计算如何从 输入值得到输出值,它不考虑计算的次 序。功能模型由多张数据流图组成。数 据流图用来表示从源对象到目标对象的 数据值的流向,它不包含控制信息,控 制信息在动态模型中表示,同时数据流 图也不表示对象中值的组织,值的组织 在对象模型中表示。

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

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

(6设置取消键,当交易过程中顾客输入错误时,按下取消键系统 自动终止交易,返回到初始状态并退出全部金额。

(7当顾客完成一次购买后系统自动恢复到初始状态。

(8顾客一次只能购买一种饮品的一个,若需要更多饮品,需要重 复操作。 3.2软件结构

系统流程图 3.3 程序模块划分

显示模块 外部接口

4 组员分工及时间安排 组员分工及时间安排 4.1 组员分工 内部商定,协调安排。 4.2 时间安排 第4周 第5周 第6周 第7周 第8周 第9周 第 10 周 系统需求分析与设计报告 界面设计,算法设计 键盘、鼠标接口设计,算法设计 编码实现 编码实现 编码实现、调试 调试、验收、提交报告 20

本文来源:https://www.bwwdw.com/article/a8ev.html

Top