Java语言程序设计 教学课件 于红 第13章_编程实例.pdf
文本预览下载声明
第13章 编程实例
• 本章的目标是通过适当的实例,阐述用前述各
章知识解决问题的方法和技术。为便于读者将主要精
力放到Java知识的运用上,选择相对简单的问题,精
简需求,避开复杂的业务逻辑分析。同时,为了让读
者能深入理解各个知识点应用上的差别,在设计和实
现方面,给出不同的版本,分别针对不同的物理约束
条件进行,以求对应教材中不同阶段的知识点。在每
个版本的设计方案中,仅给出对应知识层次的一种合
理的解决方案,不求利用对应章节的全部技术。
• 本章的很多内容,给出的不是最终的实现,而
是分析思路、设计方案、API文档,实现要点会在这
些内容中体现出来,最终的实现留给读者。
• 阅读本章内容的过程,建议与自主完成分析设
计实现的过程交替进行。除第1、2、8节略有特殊外
,每节基本上包括需求描述、分析与设计要点、部分
实现技术示例三部分。读者可以先看需求,然后自己
分析形成设计方案,在完成或无法完成的情况下阅读
参考书中的内容,实现的环节最好也采用类似方式。
13.1 基本需求描述与分析设计方案
1.基本需求
(1) 功能概述
针对一个管理多种材料的库存问题,设计
一个示意性的库存管理系统。
库存管理的基本工作就是记录每一笔材料的入库、
出库信息,以及保持一个实时更新的材料库存
量清单。因此,系统管理的数据主要包括库存
清单和入库、出库流水账。库存清单记录每种
材料的最新库存量,流水账中记录每一笔入库、
出库数据。
在库存清单中,假设材料名称不重复,需
要记录每种材料的名称及其目前库存的数量,
为方便查找,按照材料名称升序排列;在流水
账中记录入库时间、出库时间、材料名称、数
量,入库、出库类型。
入库时在记录流水账的同时,在库存清单
中更新该材料的最新库存量,如果是新材料就
要建立该材料的库存记录;出库时在记录流水
账的同时,在库存清单中更新该材料的最新库
存量,如果材料出库完毕(库存量为0 )则删
除其库存记录。
系统还要根据使用者的请求输出各种明细
清单,详见下面的界面设计需求。
(2) 界面设计要求
1)系统与用户的交互采用控制台输入输出的方式,采用如下
的提示符:
www:
2)系统能够响应如下含义的命令:
help
列出系统支持的全部命令。
help 命令
显示特定命令的帮助信息。
list
列出现有的库存清单,每行显示一种库存材料,格式为
材料名称\t数量。
increase 材料名称数量
入库材料命令。
decrease 材料名称数量
出库材料命令。
history
列出本月每日库存入出量统计。每行数据为一天内某种
材料的入库总量和出库总量,格式为 日期\t材料名称\t入库总
量\t出库总量。要求每天有入库和出库的材料,都会有且只有
一条信息,输出信息首先按照日期顺序输出,每天的信息输出按
照材料名称顺序。
detail_history
列出24小时内详细的出、入库操作清单,每行数据的格
式为 日期时间\t材料名称\t出入库数量,其中入库数量显示为
正值、出库数量显示为负值。
quit
退出控制台交互方式结束程序。
3)输入无法识别的命令,按输入help命令处理;输入的命令
参数格式有错,显示该命令的帮助。
4 )对于没有要求输出结果的命令,这里有increase和
decrease,需要有成功或失败的提示,保证使用者获得良好的
用户体验。
• 2.需求分析
• 这里按照简单的分析模式——基于事物/事务分析的方式
、层次化的认知梳理,整理出对系统的认识。
• (1)功能需求分析
• 1)基于功能概述发现系统中的事物层次如下:
• 库存管理系统是最顶级的事物,即系统本身,因而针对一个库存
管理项目系统仅有一个实例;
• 库存清单事物是系统构成的一个部分,实际上是库存管理系统的
管理对象,一个库存管理系统中仅有一个实例;
• 流水账事物是系统构成的另一个部
显示全部