软件工程大作业:自动售货机系统

实验题目

自动售货机系统

一、实验目的
分析自动售货机系统的整个开发过程,包括需求分析、数据流图、数据字典、结构图和详细设计,通过分析,明白整个过程需要实现哪些功能,对数据有哪些要求,明确本系统的功能需求和性能需求,对系统的任务进行概述,从而开发出一个比较完善的自动售货机系统。
二、设备与环境
Windows
10 操作系统
三、实验要求
得到自动售货机系统的需求分析,根据需求分析画出数据流图和结构图,列出数据字典,做必要的详细设计。
第一章
引言
第一节 概述
自动售货机系统是一个线下交易平台,买方无需进行账号登陆,它可以根据投入的钱币自动识别金额大小并付货,并且自动售货机不受时间、地点的限制,能节省人力、方便交易,是一种全新的商业零售形式,又被称为24小时营业的微型超市。并且自动售货机销售和管理简单化,使用自动售货机系统取代销售人员的工作,并且高效快速。自动售货机能完成这样的方便操作,其中自动售货机系统尤为重要,相当于大脑,操控着整个机器的运作。
第二节 系统分析
自动售货机系统是一种无人售货系统。售货时,顾客把硬币投入机器的投币口中,机器检查硬币的数量、金额。有效的硬币是一元币、五角币。当机器接收了有效的硬币之后,将之送入硬币储藏器。顾客支付的货币根据硬币的面值进行累加。
自动售货机装有货物分配器,每个分配器中包含0 个或多个价格相同的货物。顾客通过选择货物分配器来选择货物。如果有货,且顾客支付的货币值不小于该货物的价格,货物将被分配到货物传送孔送给顾客,并将找零返回到退币孔。如果无货,则和顾客支付的货币值相等的硬币将被送到退币孔。如果顾客支付的货币值小于所选货物的价格,机器将等待顾客投进更多的货币。如果顾客决定不买所选择的货物,他投放进的硬币将从退币孔中退出。
第二章
需求分析
第一节 功能要求

  1. 商品管理:包括自动售卖机商品库存管理、上货、编辑管理和商品分类管理、商品品牌管理等,管理商品的价格。商品包括饮料、零食、一些小商品等 。管理员还可以将自动售卖机中的硬币取走。
  2. 管理员登陆:通过管理员登陆界面,进行管理员的身份验证,如果验证成功,则以界面的方式模拟自动售卖机仓门打开。
  3. 商品显示:再程序界面中显示商品种类和商品剩余数量,并显示相应的商品价格,并以界面的方式模拟自动售卖机的界面或商品展示窗。
  4. 支付方式:购买人通过投币的方式进行购买商品,通过硬币的种类和数量计算购买者所投硬币的总数量,并将总金额与购买商品总价值进行对比,若小于总价值,则进行退币,如果想重新购买,则重新进行购买步骤。
    第二节 性能要求
    自动售货机系统作为一个线下交易平台为用户提供简单方便的服务,务必保证其能稳定、可靠、准确、高效的运行,因此平台应满足以下相应的性能:
    a. 自动饮料机是一种现代化辅助机器,它通过现代化的芯片技术,将饮料销售和采购管理简化,使用IT集成系统完成销售人员的所有工作,并根据用户的喜好调整自身的运作机制,最大化的满足人们对于饮料的需求。
    b. 能熟练使用电脑的社会各阶段人群。
    c. 只能向自动售货机投入硬币,不接纳纸币,且硬币的大小面额为,0.5元,1元,饮料品种不宜繁杂,不能挤得太满。
    d. 输入:提供所有与本功能有关的输入描述,包括:输入数据类型、媒体、格式、数值范围、精度、单位等。
    e. 业务操作流程
    f. 约束条件/特殊考虑
    g.
    容错性
    h.
    可扩充性
    第三节 安全保密
    安全问题是系统最担心的问题。作为一个安全的购物系统,首先必须具有一个安全、可靠的通信网络,以保证交易信息安全、迅速地传递;其次必须保证数据库服务器绝对安全,防止黑客闯入网络盗取信息。下面介绍系统涉及的安全要素。

1、身份认证
管理员只有登录成功后才可以浏览全面信息以及修改商品信息。

2、对订单记录
根据机密性和完整性的要求,应对购买商品的订单进行记录。并记录订单生成的时间,以便当不安全因素出现时方便查看和跟踪不安全因素的去向。
第三章 数据流图
第一节 顶层图
软件工程大作业:自动售货机系统_第1张图片
顶层图

第二节 0层图
软件工程大作业:自动售货机系统_第2张图片
0层图

第三节 1层图
软件工程大作业:自动售货机系统_第3张图片
1层图
软件工程大作业:自动售货机系统_第4张图片
1层图
软件工程大作业:自动售货机系统_第5张图片
1层图
第五节 功能结构图
软件工程大作业:自动售货机系统_第6张图片
第四章
数据字典
第一节 数据条目
管理员表=管理员账号+管理员密码
商品信息表=商品ID+商品名+价格+库存量
售卖机表=售卖机内总钱数+五毛钱总数+一元钱总数
订单表=购买次数+商品名+投入金额+找回金额+购买时间
软件工程大作业:自动售货机系统_第7张图片

注解:管理员不能自己添加新的管理员,不能更改密码。

文件名:商品信息表
简述:对商品进行价格和库存量进行更改
写文件的加工:增加库存量和商品价格
读文件的加工:对商品所有信息进行查看
文件组织:,按商品类型划分,关键字为商品ID升序序列
文件组成:商品ID+商品名+价格+库存量
使用权限:管理员:读,写,修改;用户:读。
注解:管理员可管理商品信息,买家用户只能看到商品信息

文件名:售卖机表
简述:对售卖机内钱数进行查看,添加,修改。
写文件的加工:向售卖机内投放零钱,取钱
读文件的加工:查看售卖机内钱数
文件组织:只有总钱数
文件组成:总钱数
使用权限:管理员:读,写,修改;买家用户:写。
注解:买家用户是买东西时投钱将该文件修改的。

文件名:订单表
简述:对商品订单进行查询,添加
写文件的加工:商品交易成功的订单
读文件的加工:对订单进行查询
文件组织:按订单号进行划分,关键字为订单号升序排列
文件组成:订单号+商品名+投入金钱总数+找回金钱总数+购买时间
使用权限:管理员:读,修改。
注解:每次交易成功订单表内自动添加订单

第三节 数据项条目
名称:管理员编号
别名:userid
数据类型:字符型
取值范围:1…9999999999
与其他数据项的关系:一个userid只能对应一个密码
注释:唯一性

名称:密码
别名:password
数据类型:变长字符
取值范围:<=16
与其他数据项的关系:一个密码只能被一个管理员使用
注解:唯一性

名称:商品ID号
别名:goodsid
数据类型:字符型
与其他数据项的关系:一个ID号只能对应一种商品名、价格和库存量
注解:ID号为主键,唯一性

名称:商品名
别名:goodsname
数据类型:变长字符
取值范围:<=10
注解:一个商品名对应一个ID号
名称:价格
别名:price
数据类型:浮点型
与其他数据项的关系:一种商品有一种价格
计量单位:五毛,一元
注解:每个商品价格可以更改,多种商品可以有相同的价格
名称:库存量
别名:storage
数据类型:整型
与其他数据项的关系:一个商品对应一个库存量
注解:多个商品库存量可以相同

名称:售卖机总钱数
别名:money
数据类型:字符型
与其他数据项的关系:总钱数只与售卖机内总钱数相同
注解:售卖机内只有总钱数这一个属性

名称:订单号
别名:number
数据类型:int
与其他数据项的关系:每个商品可以有多个订单号
注解:订单号从1开始依次增1

名称:投入硬币总额
别名:inmoney
数据类型:浮点型
计量单位:元
与其他数据项的关系:与商品的价格有关

名称:找回硬币总额
别名:outmoney
数据类型:浮点型
计量单位:元
注解:找回硬币总额为投入的金币总额减去商品单价

名称:购买时间
别名:time
数据类型:date
注解:每个订单都有唯一的购买时间
第五章 结构图
第一节 结构图
软件工程大作业:自动售货机系统_第8张图片

第二节 管理员管理
软件工程大作业:自动售货机系统_第9张图片

第三节 购物处理
软件工程大作业:自动售货机系统_第10张图片
第四节 商品管理

软件工程大作业:自动售货机系统_第11张图片

第五节 售货机管理
软件工程大作业:自动售货机系统_第12张图片

第六节 结构总图
软件工程大作业:自动售货机系统_第13张图片
拼下图 软件工程大作业:自动售货机系统_第14张图片

第七章 数据库设计
建立4张表,一张订单表,存放每次交易生成的订单信息,第二张表为商品表,存放商品种类、商品库存量和商品价格等信息,第三张表为售货机内钱数表,存放售货机内剩余的总钱数,第四张表为管理员表,存放管理员的账户和密码,用于管理员登陆管理售货机,防止普通人员对售货机进行不必要的操作。
第八章 编码
程序的文档化:
1.标识符的命名需要遵循标识符的命名规范
(1)见其名知其意,标识符命名必须有意义,代表本标识符的功能
(2)标识符命名不能过长,显得臃肿,应言简意赅
(3)尽量避免标识符的相似情况,会引起名字的混淆,对编码造成不必要的影响
2.编码时必要的地方需要加注释
(1)注释可以帮助其他人理解程序,如果分模块进行编码,合成时有注释,方便理解,方便合成
(2)每个功能模块,重要的变量和参数加上注释,说明其功能,并且注释应加再每个模块的开头
3.编码时需要注意编码的格式
(1)程序中必要的地方加空格,进行分割,使整个程序看着更加有条理,不拥挤
(2)控制每行代码的缩进,使代码规整,更加清晰
(3)嵌套代码时,注意嵌套层次,例如大括号的开头结尾在一列上,这样使代码更规整,容易发现例如少个括号的错误。
4.标识符的命名规范
(1)组成:数字、字母、下划线、$
(2)开头不能是数字
(3)不能是编码的本语言的关键字和保留字
(4)严格区分大小写
(5)类名,接口名采用驼峰式命名法,每个单词首字母大写
(6)方法名,变量名采用小驼峰式,第一个单词首字母小写,其余每个单词首字母大写
(7)常量名,全部大写
(8)包名,全部小写
第九章 测试
测试方法:黑盒测试(划分等价类法)
“购买商品”等价划分表
软件工程大作业:自动售货机系统_第15张图片

软件工程大作业:自动售货机系统_第16张图片![在这里插入图片描述](https://img-blog.csdnimg.cn/20200404212328662.png?x-oss-软件工程大作业:自动售货机系统_第17张图片

你可能感兴趣的:(jdbc)