# 基于Java Swing的小型社团成员管理系统
# 一、需求分析
## 1.1 个人信息
学号、姓名、性别、年级、系别、专业、出生日期、联系方式、个性签名、地址、照片。
![](http://www.writebug.com/myres/static/uploads/2021/10/19/1fd0f5658f3e5665baf179faacfb33c2.writebug)
## 1.2 基本功能要求
- 管理员信息管理
- 登录、注销功能
- 修改密码功能
- 部落成员信息管理
- 添加成员
- 删除成员
- 修改成员信息
- 按条件查找筛选成员
![](http://www.writebug.com/myres/static/uploads/2021/10/19/aad0eea2ed5a9f4277b6ca5b7c67af0d.writebug)
## 1.3 高级特性
- 管理员权限管理
- 成员信息包含照片
- 连接数据库性能的优化,比如:Connection
# 二、详细设计
## 2.1 数据库设计
| 字段名 | 字段描述 | 数据类型 | 备注 |
| ---------- | ---- | ------------- | ---- |
| psw | 密码 | nvarchar(30) | 不为空 |
| idNumber | 学号 | char(9) | 主键 |
| name | 姓名 | nvarchar(10) | 不为空 |
| sex | 性别 | char(2) | 不为空 |
| grade | 年级 | nvarchar(10) | 不为空 |
| dept | 性别 | nvarchar(30) | 不为空 |
| major | 专业 | nvarchar(30) | 不为空 |
| iden | 身份 | nvarchar(20) | 不为空 |
| born | 出生日期 | datetime | |
| phone | 联系方式 | char(11) | |
| pSignature | 个性签名 | nvarchar(50) | |
| pAddress | 地址 | nvarchar(50) | |
| picture | 照片 | nvarchar(150) | |
**sql建表语句**
```sql
create table PersonInfo(
psw nvarchar(30) not null,
idNumber char(9) not null primary key,
name nvarchar(10) not null,
sex char(2) not null,
grade nvarchar(10) not null,
dept nvarchar(30) not null,
major nvarchar(30) not null,
iden nvarchar(20) not null,
born datetime null,
phone char(11) null,
pSignature nvarchar(50) null,
pAddress nvarchar(50) null,
picture nvarchar(150) null
)
```
## 2.2 界面设计
**登陆界面**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/697fbbe728e356d7d06eb6397e23f39a.writebug)
**主界面**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/5d183f54225126ed032bee90f5b2fe27.writebug)
**修改密码**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/6162b176b3ca15d197e5ad19c033d5b5.writebug)
**查询信息**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/519b372433a674086f17762df3b6e4e4.writebug)
**修改信息**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/28e09d21343624f05256084fd367f1f5.writebug)
**删除信息**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/39a81c71b241d00cf49930301cb444cd.writebug)
## 2.3 分 包
### 2.3.1 视图层包View
![](http://www.writebug.com/myres/static/uploads/2021/10/19/b8f5274afc9e82b307089d898b2a494e.writebug)
### 2.3.2 控制层包Control
![](http://www.writebug.com/myres/static/uploads/2021/10/19/ca434cdcfed37b59c3034685997276fa.writebug)
### 2.3.3 模型层包Model
![](http://www.writebug.com/myres/static/uploads/2021/10/19/4d8551951c66403185c8502b766f8927.writebug)
## 2.4 分类
### 2.4.1 视图层类
```
LoginView.java 登录界面设计类
InfoManagerView.java 信息管理系统主界面设计类
InfoPanel.java 信息面板设计类
InfoSelectPanel.java 查询信息面板设计类
InfoInsertPanel.java 添加信息面板设计类
InfoUpdatePanel.java 修改信息面板设计类
InfoDelPanel.java 删除信息面板设计类
UpdatePasswordPanel.java 修改密码面板设计类
```
### 2.4.2 控制层类
```
InfoManager_01.java 信息管理系统主类
LoginActEvents.java 登录界面动作事件类
InfoManagerActEvents.java 信息管理系统主界面动作事件类
InfoSelActEvents.java 查询信息面板动作事件类
InfoInsActEvents.java 添加信息面板动作事件类
InfoUpdActEvents.java 修改信息面板动作事件类
InfoDelActEvents.java 删除信息面板动作事件类
UpdPswActEvents.java 修改密码面板动作事件类
ListSelEvents.java 列表框选项事件类
```
### 2.4.3 模型层类
```
Constants.java sql server数据库连接信息
DBUtil.java 连接数据库操作类
DaoPattern.java 操作数据库信息功能类(底层模型类)
InfoSelect.Java 查询数据库信息类(业务逻辑处理类)
InfoUpdate.java 更新数据库信息类(业务逻辑处理类)
```
# 三、开发实现
## 3.1 开发说明
- 开发环境:eclipse
- 数据库:sql server 2008
- 项目UI界面使用eclipse的windowBuilder插件来设计
- 使用JDBC方式连接数据库
信息管理系统所涉及到的照片信息的处理,在项目路径下开一个文件夹picture,用来存储成员的照片信息,而在数据库中存储的是对应照片的路径。
使用mvc模式,按照功能和类型分类分包,使结构清晰。
提高系统安全性,系统要登录成功才能操作,对数据的增删改只有指定管理员才可以操作,以防止其他使用者随意更改数据,保证数据的安全性。
**程序框架图**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/3c33a9771323e9e9a9e645c9313542bf.writebug)
## 3.2 功能实现
## 3.2.1 数据库操作方面(对数据库操作即是crud)
将JDBC技术所需使用的数据库连接信息(数据库驱动程序,URL,用户名,密码等)封装成一个类,方便项目在不同数据库下使用时进行数据库信息修改。
设计一个操作数据库的模型类DaoPattern.java,里面是操作数据库信息的底层模型,包含两个方法,更新(包含增删改)数据库中的信息,和查询数据库中的信息,其中查询数据库信息返回的是结果集。这两个方法不提供具体的增删改查的sql语句,反而是把这些功能交到数据库业务逻辑层去实现。
设计操作数据库的业务逻辑类(InfoUpdate.java;InfoSelect.Java),这些类根据对数据库信息的不同操作而提供不同的sql语句来操作数据库。
对数据库信息的查询,尽量避免使用\*查询所有信息而减慢查询的相应速度。
### 3.2.2 照片信息处理方面
在项目路径下开一个文件夹picture,用来存储成员的照片,而数据库中存储的是对应照片的路径。
**添加/修改照片的处理**:
- 点击选择照片按钮时,弹出打开文件选择对话框,此打开文件选择对话框设置文件过滤器,显示图片文件
- 对所选择的图片文件,还要做处理,处理所选择的文件是否存在
- 图片文件存在:还要做处理,处理项目路径下picture文件夹是否存在与当前图片文件同名的文件
- 不存在同名文件:将所选择的图片复制到picture文件夹下,并获取图片路径,将路径添加到数据库中,并在标签上显示该照片
- 存在同名文件:提示用户所选文件不可用,要么更改所选文件的名称,要么另选文件
**查询照片的处理**:
- 从数据库中取出照片的路径,根据此路径创建图标图像对象:public ImageIcon(String filename) 根据指定的文件创建一个 ImageIcon
- 设置此图标图像的缩放,照片以适当大小显示在相应位置
- 将照片显示在标签上
### 3.2.3 登录模块
- 输入学号和密码,选择登录的身份,点击“登录”按钮
- 初始学号是:111111111,初始密码:123456,初始身份:管理员
- 若学号为空,弹出提示对话框,提示“学号不能为空”
- 若学号不为空:
- 但输入的学号不存在,提示“信息不存在”
- 而若是输入的信息不正确,则提示“您的信息有误!请重新输入”
- 若信息无误,释放登录界面,同时对用户权限进行设置;进入主界面,并显示当前使用
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
500995779146549.zip (62个子文件)
community-member-management
src
lib
sqljdbc4.jar 571KB
picture
t13.jpg 200KB
t1.jpg 367KB
src
image
背景2.png 115KB
背景1_1_1.png 33KB
com
ya
view
panelView
infoHandlePanelView
InfoDelPanel.java 3KB
InfoUpdatePanel.java 3KB
InfoInsertPanel.java 1KB
InfoSelectPanel.java 13KB
InfoPanel.java 9KB
UpdatePasswordPanel.java 3KB
frameView
mainFrameView
InfoManagerView.java 6KB
loginFrameView
LoginView.java 4KB
model
daoModel
DaoPattern.java 3KB
InfoSelect.java 5KB
InfoUpdate.java 2KB
shareModel
DBUtil.java 677B
Constants.java 529B
control
mainControl
InfoManager_01.java 596B
itemControl
ListSelEvents.java 2KB
actionControl
loginActControl
LoginActEvents.java 3KB
mainFrmActControl
InfoManagerActEvents.java 8KB
infoHandleActControl
InfoDelActEvents.java 4KB
UpdPswActEvents.java 2KB
InfoSelActEvents.java 3KB
InfoUpdActEvents.java 9KB
InfoInsActEvents.java 8KB
信息管理系统思路分析.txt 13KB
数据库设计.docx 18KB
bin
image
背景2.png 115KB
背景1_1_1.png 33KB
com
ya
view
panelView
infoHandlePanelView
InfoSelectPanel.class 10KB
InfoPanel.class 8KB
InfoSelectPanel$1.class 941B
UpdatePasswordPanel.class 3KB
InfoInsertPanel.class 2KB
InfoUpdatePanel.class 3KB
InfoDelPanel.class 3KB
frameView
mainFrameView
InfoManagerView.class 6KB
loginFrameView
LoginView.class 5KB
LoginView$1.class 1KB
model
daoModel
DaoPattern.class 2KB
InfoUpdate.class 1KB
InfoSelect.class 4KB
shareModel
Constants.class 570B
DBUtil.class 1KB
control
mainControl
InfoManager_01.class 613B
InfoManager_01$1.class 882B
itemControl
ListSelEvents.class 3KB
actionControl
loginActControl
LoginActEvents.class 4KB
mainFrmActControl
InfoManagerActEvents.class 6KB
infoHandleActControl
InfoSelActEvents.class 4KB
UpdPswActEvents.class 3KB
InfoInsActEvents.class 8KB
InfoUpdActEvents.class 8KB
InfoDelActEvents.class 4KB
开发总结.docx 18KB
信息管理系统需求文档.docx 78KB
信息管理系统设计.ppt 2.27MB
信息管理系统使用说明文档.docx 18KB
LICENSE 1KB
README.md 13KB
共 62 条
- 1
资源评论
- m0_735513892023-11-16资源值得借鉴的内容很多,那就浅学一下吧,值得下载!
工具盒子
- 粉丝: 60
- 资源: 1313
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功