- 实验目的:逐步深入学习面向对象编程中的封装、继承、多态,以及异常处理、输入输出流、GUI 设计、JDBC 数据库操作、网络编程和多线程等知识。
- 系统功能:构建一个档案管理系统,涵盖用户登录与权限管理、用户信息管理、文件管理、密码管理等功能,并通过不同模块和角色实现。
- 目的:掌握类、对象相关操作,熟悉继承、多态等机制。
- 模块设计
- 用户信息模块(User):定义基本用户属性和操作方法,不同角色继承该类。
- 数据处理模块(DataProcessing):管理用户数据,采用 HashTable 存储。
- 管理员、操作员、浏览员功能模块:分别定义各自功能,重写部分方法。
- 开发难点:哈希表操作困难,通过学习解决;存在异常处理和边界情况处理不足等问题。
- 总结:深入学习面向对象概念,了解分析和设计流程,体会到其好处。
- 目的:理解异常概念,掌握异常捕获处理方法。
- 模块设计
- 异常处理模块:包括 ExceptionHandler 类,处理异常注册和处理。
- 数据库异常处理模块:继承 ExceptionHandler,处理数据库异常。
- 开发难点:合理设计异常处理模块框架,在各模块中正确添加添加 try - catch,模拟运行时异常。
- 总结:深入学习 Java 异常机制,掌握 try - catch 使用,理解异常传播规则。
- 目的:了解 I/O 流概念和种类,掌握文件处理和对象串行化。
- 模块设计
- 文件 IO 操作模块:使用 File 类和缓冲流进行文件上传下载。
- Doc 信息管理模块:用 Doc 类和 Hashtable 管理文件信息。
- 开发难点:文件 IO 流操作、Doc 类设计、数据长久存储和测试调试。
- 总结:掌握 I/O 流机制,设计 Doc 类,实现基于内存的文件操作,理解模块协作。
- 目的:了解 Java 图形界面程序结构,掌握布局和事件处理机制。
- 模块设计
- 用户登录、文件操作等模块:实现相应功能,包括界面设计和交互逻辑。
- 开发难点:事件处理机制、布局管理和模块界面间相互调用。
- 总结:理解 GUI 程序结构和开发流程,掌握布局和事件处理机制。
- 目的:理解 JDBC,掌握访问数据库执行 SQL 语句的方法。
- 模块设计
- 查找、添加、获取列表模块:实现对文件和用户信息在数据库中的操作。
- 开发难点:数据库连接、版本兼容和系统化学习。
- 总结:掌握 JDBC 数据库访问思路和流程,理解其在数据管理中的应用。
- 目的:了解网络编程基础知识,掌握基于 Socket 的编程方法。
- 模块设计
- 服务器、客户端模块:包含多个子模块,实现网络连接和数据传输。
- 开发难点:Socket 网络编程运用、网络 IO 流读写和服务器端并发连接。
- 总结:学习网络编程概念和基于 Socket 的编程,为多线程实验奠定基础。
- 目的:了解线程概念,掌握多线程互斥和同步处理方法。
- 模块设计
- Server 线程模块:处理客户端请求和 Socket 通信。
- 同步控制模块:为关键方法添加同步机制。
- 开发难点:选择合适方法同步,未使用线程池改造,测试用例设计不全面。
- 总结:掌握线程概念和操作,理解线程安全问题,实现多客户端并发访问。