# 引言
## 1.1课题研究主要内容
本课程设计使用 Java 语言进行应用系统界面的开发,使用 SqlServer2017 进行后台数据库管理,编写出一个小型公司的人员信息管理系统。
# 需求分析
## 2.1信息要求分析
某简单的创业公司,目前处于初步发展阶段,主要有四类人员:董事长、经理、会计员、销售员,而经理有分为管理会计员的经理和管理销售员的经理,这整个公司的结构层级图如下:
![](https://www.writebug.com/myres/static/uploads/2022/4/8/ee1133c18b7b52ee3f13b2139db67d78.writebug)
从董事长到员工,形成了一个层级结构,董事长管理经理,而经理管理各自的员工,这个公司想要设计一个人员信息管理系统,主要负责功能有:
- 员工的信息的登记、修改、删除、查询;
- 员工的工资结算;
- 生成员工信息报表。
## 2.2处理要求分析
员工到了月底的时候就要进行登记员工信息,从而根据各个员工的信息计算出每个员工的这个月的工资,员工的信息登记后被保存到数据库,可以通过查询公司的数据库得到所有员工的信息显示到屏幕上,除此之外,还可以对员工信息进行增删改, 员工也可以通过 ID 自己查询自己的信息,这整个过程的数据流图如下:
![](https://www.writebug.com/myres/static/uploads/2022/4/8/77229a78eb1a2007dc2ec4a5c0fa5e7d.writebug)
公司员工进行个人信息登记,保存到数据库,在登记时还会根据员工的不同职位做出不同的处理,登记到不同的表中,相关部门根据员工信息结算工资给员工,可以从数据库中查询员工信息显示到电脑上。
## 2.3数据字典分析
数据从程序内部分离出来,形成独立的外部数据文件,外部数据文件存放方式转为数据库存放方式,将以前程序中静态数据对动态数据加工的某些控制关系抽象为关系表的形式,对于不同关系表的数据字典描述如下:
> 名字:个人信息
>
> 别名:员工信息
>
> 描述:描述一个员工的基本信息
>
> 定义:个人信息 = ID + 姓名 + 年龄 + 职位 + [管理方向|出勤天数|销售额]
>
> 位置:数据库
> 名字:职位
>
> 别名:pos
>
> 描述:描述一个员工的在公司中的身份
>
> 定义:职位 = [经理|销售员|会计员]
>
> 位置:个人信息
> 名字:经理信息
>
> 别名:
>
> 描述:描述一个经理的基本信息
>
> 定义:经理信息 = ID + 管理方向
>
> 位置:数据库
>名字:会计员信息
>
>别名:
>
>描述:描述一个会计员的基本信息
>
>定义:会计员信息 = ID + 出勤天数
>
>位置:数据库
> 名字:销售员信息
>
> 别名:
>
> 描述:描述一个销售员的基本信息
>
> 定义:会计员信息 = ID + 销售额
>
> 位置:数据库
# 概念结构设计
## 3.1UML 图
所以为了代表公司的四类人物:董事长、经理、会计员、销售员,我设计了 5 个类,分别为 Employee.java、CEO.java、Manager.java、Accountant.java、Seller.java, 其中 Employee.java 是 CEO、Manager、Accountant、Seller 的共同父类,代表了它们的共同属性,它们之间的关系即 UML 图如下:
![](https://www.writebug.com/myres/static/uploads/2022/4/8/102501ea3229c553a9a218f7b99dc569.writebug)
## 3.2数据实体描述
- Employee类:从UML图可以看出,公司中四类人的共同的父类是Employee类,它的属性有: id(员工ID)、 name(姓名)、age(年龄)、pos(职位),其中id是每个员工的唯一编号,我使用了系统的时间的16进制作为员工的唯一编号,这样保证每一个员工之间的id是不重复的,Employee类中有一个getSalary方法,它用来计算每个员工的工资,每个员工的基本工资是3000人民币,经理的工资是固定工资18000,会计的工资 = 基本工资 + 这个月的出勤天数 * 100,销售人员的工资 = 基本工资 + 它销售额的30%;
- Manager 类:代表着公司的经理,拥有一个 manage 属性,代表经理的管理方向,有两个取值,分别为销售和会计方向;
- Accountant 类:代表着公司的会计员,拥有一个 workDays 属性,代表这个会计员的这个月的出勤天数;
- Seller 类:代表着公司的销售员,拥有一个 saleNums 属性,代表这个销售员的这个月的销售额;
- CEO 类:代表着公司的老板,管理这间公司。
# 系统概要设计
## 4.1数据库逻辑结构设计
所以根据 UML 图,我建立了一个数据库名为 company,里面保存着四个表,分别名为:dbo.employee、dbo.accountant、dbo.manager、dbo.seller, 其中 dbo.employee 代表着所有的员工信息,dbo.accountant 代表着 Accountant 类,dbo.manager 代表着 Manager 类,dbo.seller 代表着 Seller 类,它们表与表之间的联系如下:
![](https://www.writebug.com/myres/static/uploads/2022/4/8/57c3b7520762519eab75de5aceff37e6.writebug)
employee 表,accountant 表、manager 表,seller 表的主码都是 id,而 accountant 表、manager 表和 seller 表的主码都参照 employee 表的主码,即 accountant 表、manager 表和 seller 表的 id 既是主码也是外码。
## 4.2系统总体框架
整个程序的总体框架如下:
![](https://www.writebug.com/myres/static/uploads/2022/4/8/ef5a6cbf438e010e8472f532fc32c6d6.writebug)
大概分为四个模块:登记员工信息模块、删除员工信息模块、修改员工信息模块和查询员工信息模块,下面分别介绍.
- 登记员工信息模块: 当你打开程序,会有一个面板让你输入员工的姓名、年龄、选择的职位,如果选择的职位是经理,你还需要选择你管理的方向,如果选择的职位是会计员,你还需要输入你这个月的出勤天数,如果选择的职位是销售员,你还需要输入你这个月的销售额,然后点击登记按钮,程序内部会把这个员工的信息保存到数据库,然后提示你是否登记成功,最后更新显示区域;
- 删除员工信息模块: 当你打开程序,会有一个面板让你输入员工的 ID,点击删除按钮,程序内部会把这个员工的信息从数据库删除,还有一个删除所有按钮,单击删除所有按钮,程序内部会把所有员工的信息从数据库删除,然后提示你是否删除成功,最后更新显示区域;
- 修改员工信息模块: 当你打开程序,会有一个面板让你输入员工的 ID,选择要修改的员工信息,然后输入修改值,点击修改按钮,程序内部把这个员工信息更新到数据库,然后提示你是否修改成功,最后更新显示区域;
- 查询员工信息模块: 当你打开程序,会有一个面板让你输入员工的姓名、相应职位,然后点击查询按钮,程序内部会从数据库查询这个员工的信息,并自动计算员工的工资,和员工的信息一并显示出来,还有一个查询所有按钮,单击查询所有按钮,程序内部会把所有员工的信息从数据库查询出来,然后更新显示区域;
# 系统详细设计
## 5.1数据库实施
本次课程设计我使用 SqlServer 数据库,通过 Java 代码进行连接,下面是数据库建表过程:
DDL 语句编写 employee 表:
```c++
create table employee(
id varchar(30) primary key,
name varchar(10),
age int check(age > 0),
pos varchar(10)
)
```
DDL 语句编写 accountant 表:
```c++
create table accountant(
id varchar(30) primary key,
workDays int check(workDays > 0)
)
```
DDL 语句编写 manager 表:
```c++
create table manager(
id varchar(30) primary key,
没有合适的资源?快使用搜索试试~ 我知道了~
基于Java+SqlServer2017实现(界面)公司人员信息管理系统【100012035】
共17个文件
java:9个
xml:4个
md:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 1 下载量 161 浏览量
2023-04-25
09:34:03
上传
评论 2
收藏 403KB ZIP 举报
温馨提示
本项目设计使用java语言进行应用系统界面的开发,使用SqlServer2017进行后台数据库管理,编写出一个小型公司的人员信息管理系统,具有增、删、改、查功能,能够快速查询到员工所需的信息。 大概分为四个模块:登记员工信息模块、删除员工信息模块、修改员工信息模块和查询员工信息模块,下面分别介绍. 登记员工信息模块: 当你打开程序,会有一个面板让你输入员工的姓名、年龄、选择的职位,如果选择的职位是经理,你还需要选择你管理的方向,如果选择的职位是会计员,你还需要输入你这个月的出勤天数,如果选择的职位是销售员,你还需要输入你这个月的销售额,然后点击登记按钮,程序内部会把这个员工的信息保存到数据库,然后提示你是否登记成功,最后更新显示区域; 删除员工信息模块: 当你打开程序,会有一个面板让你输入员工的 ID,点击删除按钮,程序内部会把这个员工的信息从数据库删除,还有一个删除所有按钮,单击删除所有按钮,程序内部会把所有员工的信息从数据库删除,然后提示你是否删除成功,最后更新显示区域; 修改员工信息模块: 当你打开程序,会有一个面板让你输入员工的 ID,选择要修改的员工信息,然后输入修改值,点击修改按钮,程序内部把这个员工信息更新到数据库,然后提示你是否修改成功,最后更新显示区域; 查询员工信息模块: 当你打开程序,会有一个面板让你输入员工的姓名、相应职位,然后点击查询按钮,程序内部会从数据库查询这个员工的信息,并自动计算员工的工资,和员工的信息一并显示出来,还有一个查询所有按钮,单击查询所有按钮,程序内部会把所有员工的信息从数据库查询出来,然后更新显示区域;
资源推荐
资源详情
资源评论
收起资源包目录
100012035-基于Java+SqlServer2017实现(界面)公司人员信息管理系统.zip (17个子文件)
managementsystem
src
com
example
rain9155
Main.java 109B
CompanyManagePanel.java 14KB
bean
Manager.java 214B
CEO.java 216B
Accountant.java 224B
Employee.java 1KB
Seller.java 225B
Constant.java 319B
db
DbHelper.java 6KB
LICENSE 1KB
.idea
vcs.xml 180B
misc.xml 275B
modules.xml 272B
encodings.xml 986B
report
数据库课程设计报告.doc 595KB
.gitignore 2KB
README.md 15KB
共 17 条
- 1
资源评论
- cb14531852472023-12-10资源很赞,希望多一些这类资源。
神仙别闹
- 粉丝: 3739
- 资源: 7464
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于Spring Boot和Vue的直播数据可视化系统.zip
- (源码)基于Spring Boot和Vue的CRM客户管理系统.zip
- (源码)基于C#的影院票务管理系统.zip
- (源码)基于JSP和Java的校园论坛管理系统.zip
- (源码)基于Spring Boot和MyBatisPlus的在线茶叶销售系统.zip
- (源码)基于Avalonia框架的ECS管理系统.zip
- (源码)基于C#和STM32的WiFi无线门禁考勤系统.zip
- (源码)基于SSM框架的客户管理系统.zip
- (源码)基于Arduino的齿轮状态指示系统.zip
- (源码)基于Android的影院管理系统.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功