上一篇文章《笨方法学 Java -16-综合练习1-功能分析》中,我们已经对需求进行了详细的分析。这里我们讨论一些功能细节和设计实现上的处理。
1、功能设计如下:

(1)在数据文件的存储上,我们使用Excel文件来作为存储,不使用数据库软件。(主要是考虑到开发的简便性)。
(2)在数据文件的处理上,我们用一个分页存储电话记录,一个分页存储操作记录。


(3)在配置文件的存储上,我们使用Java语言的默认配置文件properties文件来作为存储。

(4)在数据的展示上,我们暂时不做分页处理,因为时间不是很充裕
(5)在系统信息的显示上,我们直接读取配置文件的内容
(6)在软件的退出功能上,直接退出即可。
2、功能处理流程分析图

(1) 功能流程-执行处理1-系统初始化

(2) 功能流程-执行处理2-读取数据

(3) 功能流程-执行处理3-写入数据

(4) 功能流程-执行处理4-信息查询

3、程序结构总体设计
3.1、配置文件 myconfig.properties
用于记录主目录位置、数据文件名、JDK信息、操作系统信息、开发者信息
3.2、数据文件 mydatabase.xlsx
一个Excel文件。用于存放电话本数据和操作日志数据
3.3、辅助工具类
MyIOUtil 用于判断文件是否存在,以及生成文件和文件夹,输入的菜单信息接收,等等。
MyExcelUtil 用于Excel文件读、写(新增、删除、修改)。
MyBeanUtil 用于处理数据和Java 对象映射的问题。
3.4、电话本对象 PhoneBook
一个Java对象。用于管理电话记录信息。提供电话记录的增、删、改、查功能。
3.5、电话本记录对象 PhoneRecord
一个Java 对象,界面交互时使用。界面交互使用Java对象处理比较方便,在读写的时候通过MyBeanUtil 工具类来进行数据转换。
3.6、日志对象 OptionLog
一个Java 对象,在记录操作日志时使用。基本与电话本记录对象类似。
3.7、主体程序 App
入口程序,主体是一个循环。只有输入退出操作时,才结束执行。
4、程序目录结构如图:

