logo资料库

武汉理工大学面向对象与多线程综合实验报告(2020新版).doc

第1页 / 共21页
第2页 / 共21页
第3页 / 共21页
第4页 / 共21页
第5页 / 共21页
第6页 / 共21页
第7页 / 共21页
第8页 / 共21页
资料共21页,剩余部分请下载后查看
1 实验目的
2 系统功能与描述
2.1基本功能
2.1.1用户登录功能
2.1.2用户管理功能
2.1.3档案管理功能
2.1.4个人信息修改功能
2.1.5 GUI用户界面实现
2.1.6数据库的调用
2.1.7网络编程
2.1.8多线程实现
2.2改进,完善和拓展的功能
2.2.1档案删除功能
2.2.2查看密码功能
2.2.3按回车键换行或点击功能
2.2.4信息提示功能
2.2.5无法新增也存在用户功能
2.2.6系统管理员无法修改自己角色和删除自己的功能
2.2.7独立运行操作
3 模块设计
3.1控制台应用程序的模块设计
3.1.1各个功能小模块之间的关系
3.1.2各个小模块之间的功能实现
3.2GUI模块设计
3.2.1各个功能小模块之间的关系
3.2.2各个小模块之间的功能实现
3.3网络多线程模块设计
3.3.1各个功能小模块之间的关系
3.3.2各个小模块之间的功能实现
4 开发难点与体会
4.1开发难点
4.2体会
5 实验总结
学号 0121910870218 《面向对象与多线程综合实验》报告 学 院 计算机科学与技术学院 专 业 班 级 姓 名 指导教师 计算机卓越 计算机 zy1901 张居富 耿枫 日期 2020.12.29
1
目录 1 实验目的 ......................................................... 4 2 系统功能与描述 ................................................... 4 2.1 基本功能 ...................................................... 4 2.1.1 用户登录功能 .............................................. 4 2.1.2 用户管理功能 .............................................. 4 2.1.3 档案管理功能 .............................................. 4 2.1.4 个人信息修改功能 .......................................... 4 2.1.5 GUI 用户界面实现 .......................................... 4 2.1.6 数据库的调用 .............................................. 5 2.1.7 网络编程 .................................................. 5 2.1.8 多线程实现 ................................................ 5 2.2 改进,完善和拓展的功能 ........................................ 5 2.2.1 档案删除功能 .............................................. 5 2.2.2 查看密码功能 .............................................. 6 2.2.3 按回车键换行或点击功能 .................................... 6 2.2.4 信息提示功能 .............................................. 7 2.2.5 无法新增也存在用户功能 .................................... 7 2.2.6 系统管理员无法修改自己角色和删除自己的功能 ................ 8 2.2.7 独立运行操作 .............................................. 8 3 模块设计 ......................................................... 9 3.1 控制台应用程序的模块设计 ...................................... 9 3.1.1 各个功能小模块之间的关系 .................................. 9 3.1.2 各个小模块之间的功能实现 .................................. 9 3.2GUI 模块设计 .................................................. 14 3.2.1 各个功能小模块之间的关系 ................................. 14 3.2.2 各个小模块之间的功能实现 ................................. 14 3.3 网络多线程模块设计 ........................................... 17 3.3.1 各个功能小模块之间的关系 ................................. 17 3.3.2 各个小模块之间的功能实现 ................................. 17 4 开发难点与体会 .................................................. 18 4.1 开发难点 ..................................................... 18 4.2 体会 ......................................................... 19 5 实验总结 ........................................................ 19 2
3
1 实验目的 运用 Java 语言,以迭代方式逐步编程实现一个小型档案管理系统。由此了 解软件开发的一般过程,深入理解面向对象语言的基本概念和基本原理,理解和 掌握继承与多态、异常处理、输入输出流、GUI 设计、JDBC 数据库操作、网络编 程、多线程等技术;熟练掌握在 Java 语言环境下,上述技术的具体实现方法。 2 系统功能与描述 2.1 基本功能 2.1.1 用户登录功能 根据用户输入的登录名、密码进行验证登录,通过验证后方可登陆系统。 将用户的角色分为系统管理人员、档案录入人员,档案浏览人员类根据用户的 角色,为用户分配不同的可执行操作。 2.1.2 用户管理功能 如果用户为系统管理员,那么他就可以进行添加新用户、修改某个已存在 用户的和角色以及删除某个已存在的用户这些功能。 2.1.3 档案管理功能 如果用户为档案管理员,那么他就可进行任意位置的档案的上传、下载和 删除。 2.1.4 个人信息修改功能 进行个人密码信息的修改。 2.1.5 GUI 用户界面实现 将上述功能使用 GUI 实现,以达到人机交互的作用,使用户能够轻松使用, 轻松实现各项功能。 4
2.1.6 数据库的调用 将用户的信息以及上传的文件信息保存到数据库中,以便系统退出再次录 后,信息保持不变。 2.1.7 网络编程 使用 URL 类访问网络资源,基于 Socket 的客户和服务器编程,将已完成的单机版程 序修改为客户机/服务器模式,客户端程序展现用户界面,访问网络资源,服务端程序相 应用户请求,并返回结果。(这里只具体实现了用户登录,文件上传和下载的网络传输功 能) 2.1.8 多线程实现 能同时处理多个客户端的请求。 2.2 改进,完善和拓展的功能 2.2.1 档案删除功能 设计原因: 由于我们数据存储的容量是有限的,并且内容是不断发展的,所以我增加了一个档 案删除的功能,来更好的管理档案。 功能实现: 1 文件真正的删除:删除文件的原理十分简单,就调用文件对象的 delete()方法 2 数据库中文件信息的删除:原理和删除用户的原理找到,使用 String sql = "DELETE FROM doc_info where ID=?"; 这条 spl 语句来达到删除的目的 真实效果: 5
2.2.2 查看密码功能 设计原因: 有些时候我们为了达到保护隐私的目的,我们会选择把我们的用户密码给隐藏掉,但 是这样隐藏也会带带来我们无法查看我们密码的结果,所以好多软件就会在登录密码那 里设计一个小眼睛的图标来查看密码,所以我就模仿这个设置了查看密码的功能 功能实现: 在我们输入密码的地方的右面设置一个 checkBox,我们可以根据 checkBox 的状态来判 断用户是否需要查看密码,当状态为 true 是我们就显示明码,如果为 false 则为加密状 态。其关键性代码如下: 真实效果: 2.2.3 按回车键换行或点击功能 设计原因: 我们输入信息的时候不方便使用鼠标换行和点击确定按钮,所以如果能直接换行那 么将会大大提高我们的是生产力 功能实现: 在每一个需要换行输入的地方,我在那个 GUI 组件上设置一个键盘事件,当监听到 用户输入的值为“ENTER”时,他就对换行或点击的地方做出响应,来实现换行输入或 点击的功能。其关键性代码如下: 6
2.2.4 信息提示功能 设计原因: 当我们进行操作的时候我们会渴望得到一个操作的结果,因此设计了几个提示窗口, 他们分别为错误提示,操作提示,确定提示 功能实现: 其关键性代码分别如下: 错误提示弹窗: JOptionPane.showMessageDialog(component, msg, title, JOptionPane.YES_NO_OPTION); 操作提示弹窗: JOptionPane.showMessageDialog(component, msg, title, JOptionPane.INFORMATION_MESSAGE); 确定提示弹窗: JOptionPane.showConfirmDialog(component, msg, title, JOptionPane.OK_CANCEL_OPTION); 我们可以根据确定提示窗口的返回值来达到“确定”或取消的功能。 真实效果: 2.2.5 无法新增也存在用户功能 设计原因: 为了保证每个用户的唯一性,这里规定了系统管理员账户无法新增也存在的用户 功能实现: 在新增用户的时候获得用户的姓名,然后遍历数据库搜索这个姓名如果该用户存在则 返回 false,不能实现新增用户的操作 真实效果: 7
分享到:
收藏