Skip to content

myg321/file-management-system

Repository files navigation

面向对象与多线程综合实验

1. 实验概述

  • 实验目的:逐步深入学习面向对象编程中的封装、继承、多态,以及异常处理、输入输出流、GUI 设计、JDBC 数据库操作、网络编程和多线程等知识。
  • 系统功能:构建一个档案管理系统,涵盖用户登录与权限管理、用户信息管理、文件管理、密码管理等功能,并通过不同模块和角色实现。

2. 各次实验详情

第一次实验:封装、继承与多态

  • 目的:掌握类、对象相关操作,熟悉继承、多态等机制。
  • 模块设计
    • 用户信息模块(User):定义基本用户属性和操作方法,不同角色继承该类。
    • 数据处理模块(DataProcessing):管理用户数据,采用 HashTable 存储。
    • 管理员、操作员、浏览员功能模块:分别定义各自功能,重写部分方法。
  • 开发难点:哈希表操作困难,通过学习解决;存在异常处理和边界情况处理不足等问题。
  • 总结:深入学习面向对象概念,了解分析和设计流程,体会到其好处。

第二次实验:异常处理

  • 目的:理解异常概念,掌握异常捕获处理方法。
  • 模块设计
    • 异常处理模块:包括 ExceptionHandler 类,处理异常注册和处理。
    • 数据库异常处理模块:继承 ExceptionHandler,处理数据库异常。
  • 开发难点:合理设计异常处理模块框架,在各模块中正确添加添加 try - catch,模拟运行时异常。
  • 总结:深入学习 Java 异常机制,掌握 try - catch 使用,理解异常传播规则。

第三次实验:输入输出流

  • 目的:了解 I/O 流概念和种类,掌握文件处理和对象串行化。
  • 模块设计
    • 文件 IO 操作模块:使用 File 类和缓冲流进行文件上传下载。
    • Doc 信息管理模块:用 Doc 类和 Hashtable 管理文件信息。
  • 开发难点:文件 IO 流操作、Doc 类设计、数据长久存储和测试调试。
  • 总结:掌握 I/O 流机制,设计 Doc 类,实现基于内存的文件操作,理解模块协作。

第四次实验:GUI 设计

  • 目的:了解 Java 图形界面程序结构,掌握布局和事件处理机制。
  • 模块设计
    • 用户登录、文件操作等模块:实现相应功能,包括界面设计和交互逻辑。
  • 开发难点:事件处理机制、布局管理和模块界面间相互调用。
  • 总结:理解 GUI 程序结构和开发流程,掌握布局和事件处理机制。

第五次实验:JDBC 数据库操作

  • 目的:理解 JDBC,掌握访问数据库执行 SQL 语句的方法。
  • 模块设计
    • 查找、添加、获取列表模块:实现对文件和用户信息在数据库中的操作。
  • 开发难点:数据库连接、版本兼容和系统化学习。
  • 总结:掌握 JDBC 数据库访问思路和流程,理解其在数据管理中的应用。

第六次实验:网络编程

  • 目的:了解网络编程基础知识,掌握基于 Socket 的编程方法。
  • 模块设计
    • 服务器、客户端模块:包含多个子模块,实现网络连接和数据传输。
  • 开发难点:Socket 网络编程运用、网络 IO 流读写和服务器端并发连接。
  • 总结:学习网络编程概念和基于 Socket 的编程,为多线程实验奠定基础。

第七次实验:多线程

  • 目的:了解线程概念,掌握多线程互斥和同步处理方法。
  • 模块设计
    • Server 线程模块:处理客户端请求和 Socket 通信。
    • 同步控制模块:为关键方法添加同步机制。
  • 开发难点:选择合适方法同步,未使用线程池改造,测试用例设计不全面。
  • 总结:掌握线程概念和操作,理解线程安全问题,实现多客户端并发访问。

About

面向对象与多线程综合实验:文件管理系统

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages