信阳上大学-信阳上大学
题
目
大连交通大学信息工程学院
毕业设计
(
论文
)
任务书
企业工资福利社会保障系统
1
任务及要求:
1.
设计(研究)内容和要求
任务:
1
、 调查企业工资、福利、社会保障系统方面当前技术的发展近况,完成实习报告,
字数不少
于
3000
,第三周交给指导老师。
2
、结合自己实习情况安排进度,填写进度计划表,第二周完成后交给指导老师签
< br>字,并严格执行。
3
、按照软件工程思想, p>
独立完成系统的设计和程序开发,
完成代码估计
2500
行左
右。
4
、用
< p>JAVA技术实现企业工资、福利、社会保障系统功能。
5
、程序简洁,算法可行,运行情况良好。
要求:
1
、
每周和指导老师至少见面沟通一次,回报课题进展情况,接受老师询问。
2
、
接到任务书后,
查 阅与题目及专业相关的外文资料进行翻译,
要求不少于
10000
个外文字符,译出汉字不得少于
3000
,于第四周交给指导老师审阅。
3
、
毕业设计第 p>
13
周完成毕业论文的装订,并由指导老师评阅。论文要求
12000
字以上,包括综述、系统总体设计、系统实现、性能分析、结论等。
4
、
教学第
13
周通过中软及教研室组织进行软件验收,验收时要提供软件使用说
明书。
5
、
于第
13
周提出毕业答辩申请并签字。
6
、
第
14
周答辩,要求制作
PPT
2.
原始依据
通过大学几年的
学习,已经学习了诸如软件工程、数据库原理及应用、数据结
构、
C p>
++
、
Visual
Basic
、< /p>
JA
V
A
等多门程序设计语言和网络等基础知识和专 业知识,学
生有能力而且可以独立完成小中型项目的设计与开发。学校现有设备和环境可
以提供
给学生实习和上机,而且具有专业老师可以指导学生。
2
3.
参考文献
[1]
张桂珠
.
刘丽
.
陈爱国
. Java
面向对象程序设计
[M].
北京邮电大学出版社
.2007
[2]
Brian
Lea.
Java programming and
training.
北京邮电大学出版社
.2012
[3]
编程思想
(
第
3
版
).
机械工业出版社
.2005
[4]
印旻
.
王行言
. Java
语言与面向对象程序设计
(
第
2
版
).
清华大学出版社
.2007
[5]
成富
.
深入理解
Java7
:核心技术与最佳实践
.
机械工业出版社
.2012
[6]
王立新
.
石艳捷
.
霍泉宇
.
维权百事通< /p>
6
:工资、工龄与社保、福利待遇
.
中国法制出 p>
版社
.2006
[7]
仇雨临
.
员工福利概论
/21
世纪 劳动与社会保障系列教材
.
中国人民大学出版
社
.2007
[8]
福塔
.MYSQL
必知必会
.
人民邮电出版社
.2009
[9]
贝尔
.
欣达尔
.
达勒马纳
.
高可用性
MySQL.
东南大学出版社
.2011
[10]
龚永罡
.Java
程序设计基础教程
.
清华大学出版社
< p>.2009
[11]
昊斯特曼
.Java
核心技术:卷Ⅰ基础知识
.
机械工业出版社
.2008
指导教师签字:
教研室主任签字:
年
月
日
大连交通大学信息工程学院
3
毕业
设计
(
论文
)
进度计划与考核表
学生姓名
题
目
日
期
罗旭
专业班级
计算机科学与
指导
< p>技术
08-2
班
教师
王影
魏琦
本课题其
他人员
企业工资福利社会保障系统
计划完成内容
完成情况
指导老师
检查签字
第
1
周
实习调研,查阅课题相关外文资料
了解行业状
况、查阅文献资料,阅读资料
撰写调研报告
完
成
10000
字符或
3000
汉字以上的外文 p>
第
3
周
翻
译,准备资料,学习
java
相关技术
第
2
周
第
4
周
进行需求分析和概要设计
第
5
周
进行概要设计
,
基本框架完成,
提交毕 业
论文提纲
第
6
周
详细设计各部分功能
第
7
周
编码
第
8
周
编码
第
9
周
系统联调
第
10
周
进行程序测试,继续编写毕业设计论文
第
11
周
整理资料、文档、图表等,修改毕业设计
论文
第
12
周
完成毕业设计论文,打印,按要求装订
第
13
周
软件验收和准备毕业设计答辩
第
14
周
毕业设计答辩及成绩评定
指导教师签字:
年
月
日
注:
“计 划完成内容”由学生本人认真填写,其它由指导教师考核时填写。
4
大连交通大学信息工程学院
毕业设计
(
论文
)
外文翻译
学生姓名
罗旭
专业班级
计算机
08-2
班
指导教师
王影
魏琦
职
称
高工
讲师
所在单位
信息科学系计算机教研室
教研室主任
宋丽芳
完成日期
2012
年
4
月
13
日
MySQL
5
MySQL's original developer
intent is to use the mSQL and their rapid low-
level routines
( ISAM ) to connect to
form. After some tests, the developers concluded:
mSQL and there is
no need for them so
fast and flexible. This led to a use almost like
mSQL API interface for
their database
of the new SQL interface, so, the API is designed
to allow for use on the mSQL
to write
the third party code easier to transfer to MySQL.
The name MySQL is how come is not
clear. Basic guide and a large number of libraries
and tools with the prefix
co-founder of
MySQL AB Monty
Widenius The daughter also named My. The two which
one it was given
the name MySQL remains
a mystery, including developers, also do not know.
MySQL Dolphins Logo name
is
from the users in the
name
is
made
from
Africa
and
Swaziland's
open
source
software
developer
Ambrose
Twebaze.
According
to
Ambrose,
Sakila
from
a
SiSwati
Swaziland
dialect,
but
also
in
the
Ambrose 's home town of Uganda, near
Tanzania's Arusha is one of the town's name.
And other large databases such as
Oracle, DB2, SQL Server compared to MySQL, has
its own disadvantages, such as small
size, limited functionality ( MySQL Cluster
function and
efficiency are relatively
poor ), but it did not reduce its popularity. For
the average individual
users and small
and medium enterprises, the functionality provided
by MySQL is more than
sufficient, and
because MySQL is open source software, thus can
greatly reduce the total cost
of
ownership.
LAMP:
The
current Internet popular website architecture is
LAMP ( Linux + Apache + MySQL
+ PHP /
Perl / Python ) and LNMP ( Linux + Nginx + MySQL +
php / Perl / Python ), which
uses the
Linux as the operating system, Apache and Nginx as
the Web server, MySQL as the
database,
PHP
/
Perl
/
Python
as
a
server- side
script
interpreter.
As
a
result
of
the
four
software are free or open
source software ( FLOSS ), so use this way without
spending a dime
( except artificial
cost ) to establish a stable, free website system.
MyISAMMysql
default
database,
the
most
commonly
used.
Have
a
high
insertion,
search
speed,
but
does
not
support
transactions
InnoDB
transactional
database
preferred
engine,
support
for
ACID
affairs,
support
row-level
locking
BDB
from
Berkeley
DB,
transactional database for another
option, support for COMMIT and ROLLBACK and other
transaction characteristics of Memory
all of the data in memory storage engine, with a
high
insertion, update and query
efficiency. But it will take and data is
proportional to the amount
of
memory
space.
And
its
content
in
the
Mysql
restart
lost
when
Merge
will
be
a
certain
amount of MyISAM
combined into a whole, in the large scale data storage is useful
when
6
Archive is very suitable for storing a
large number of independent, as history data.
Because
they
don't
often
been
read.
Archive
has
efficient
insertion
speed,
but
its
effect
on
query
support
relatively
poor
Federated
different
Mysql
server
logic
together,
form
a
complete
database. Very suitable
for distributed application of Cluster / NDB high
redundancy storage
engine,
using
multiple
data
machine
combined
to
provide
services
to
improve
overall
performance
and
safety.
Suitable
for
large
amount
of
data,
safety
and
performance
requirements of high CSV application
logic
comma separated data storage engine Cluster /
NDB.
BlackHole
black engine, written in any data will disappear,
generally used for recording
binlog
replication of the relay EXAMPLE storage engine is
a don't do anything stub engine. It
is
designed
as
MySQL
one
example
in
the
source
code,
used
to
demonstrate
how
to
start
writing
a
new
storage
engine.
Similarly,
it
is
of
major
interest
to
developers.
EXAMPLE
storage
engine
does
not
support
indexing.
In
addition,
Mysql
storage
engine
interface
definition
of
good.
Interested
developers
can
by
reading
the
document
prepared
its
own
storage engine.
The index is a special file ( InnoDB
data index is a table space is an integral part of
),
they
contain
the
data
inside
and
outside
all
recorded
reference
pointer.
The
index
is
not
a
panacea, the index can speed up data
retrieval operation, but can make the data
modification
operation slow. Each
modified data recording, index must refresh time.
In order to in certain
procedures to
remedy this one flaw, many SQL command has a
DELAY_KEY_WRITE. This
option is the
role of temporary suppression of MySQL in the
order of each insert a new record
and
each modified an existing immediately after the
index on the index to refresh, refresh will
wait until all record insert / modified
after. The need to bring many new record is
inserted into
a data table of the
occasion, the DELAY_KEY_WRITE option effects will
be very obvious.
In addition, the index
will be in hard disk takes up considerable space.
Therefore should only
for the most
frequent
queries
and most often sorted data column is
indexed. Note that, if a
data column contains many
duplicate content, as it establishes index is not
much actual effect.
From
theoretic
tell,
can
provide
data
and
each
of
the
fields
were
built
an
index,
but
MySQL the same data and index number is
limited to 16.
data table index
With InnoDB data table, in the InnoDB
table, index on the InnoDB table importance is
much
greater.
In
InnoDB
data
table,
the
index
will
not
only
play
a
role
in
the
search
data
records,
or
data
row
level
locking
mechanism,
acenaphthene
based.
The
data
row
level
locking
an individual record,
do not allow other users to access. The lock will
be affected ( but not
7
limited
to
)
SELECT,
LOCKINSHAREMODE,
SELECT,
INSERT,
UPDATE
and
FORUPDATE commands and DELETE command.
For efficiency reasons, InnoDB data row
level locking actually occur in their
index, rather than the data itself. Obviously, the
data row
level locking mechanism only
in relation to the data table having a suitable
index for locking
time to work.
2 limit
If the WHERE clause
in the query terms are not equal ( WHERE coloum!=
)MySQL ,
will not be able to use the
index. Similarly, if the WHERE clause in the query
terms used in
function ( WHEREDAY (
column ) = MySQL ), will be unable to use the
index. In the JOIN
operation ( from
multiple data extraction data ), MySQL only in the
primary and foreign keys
to the same
data type to use index.
If
the
WHERE
clause
in
the
query
conditions
using
comparison
operators
LIKE
and
REGEXP, MySQL only in search
of template first character is not a wildcard
conditions can
use the index. For
example, if the query is ' LIKE 'abc%, MySQL will
use the index; if the
query is ' LIKE
%abc, ' MySQL will not use index.
In
the
operation
of
ORDERBY,
MySQL
only
in
the
sorting
condition
is
not
a
query
condition expression condition that use
index. ( even so, in a plurality of data query,
even if
the index is available, the
index in accelerating ORDERBY has no effect). If a
data column
contains many duplicate
values, even if it establishes index will not have
a good effect. For
example, if a data
column contains the net is something such
as
there is no need for it to create an
index.
Only when the database has
enough test data, its performance test results
have practical
reference
value.
If
the
test
database
only
hundreds
of
data
recording,
they
are
often
in
executing
the
first
query
command
after
being
loaded
into
memory,
it
will
make
the
subsequent
inquiry
command
to
perform
very
fast
--
with
or
without
using
an
index.
Only
when the
records in a database of more than 1000, the
amount of data is more than the amount
of memory on the MySQL server, database
performance testing results are meaningful. On
the uncertainty in which data should
create index on a column of the time, people from
the
EXPLAINSELECT command there can
often get some help. This is simply to give a
common
SELECT command plus a EXPLAIN
keyword as a prefix. With this key, MySQL will not
to
follow
the
SELECT
command,
but
to
analyze
it.
MySQL
will
be
in
the
form
of
the
query
execution
process
and
uses
the
index
information
list.
In
the
output
of
the
EXPLAIN
command results, the
first column is the data read from the database
table name, they are to
be read in
the order.
The type
column specifies
the data table
and other
table relationships
( JOIN ). In
various types of relationships, efficiency is
highest in system, followed by const,
8
eq_ref, ref, range, index and All ( All
means: a data table corresponding to each record,
this
table
all
records
must
be
read
again
--
this
can
often
be
used
to
an
index
to
avoid
).
Possible_keys data column gives the
MySQL in search of the data record can be chosen
each
index. Key data column is MySQL
practical selection index, this index in bytes of
the key_len
length
in
the
columns
of
the
data
given
in
the.
For
example,
for
a
INTEGER
data
column
index, the
byte length will be 4. If used in the composite
index, the key_len data column can
also
see MySQL specific use of it which part. As a
general rule, key_len data column value in
the smaller is better. Ref data column
gives the relationship of another data data select
column
name. Row data column is MySQL
in executing this query is expected from this data
and the
read data line number. Row data
column in all digital product can generally
understand the
need to deal with the
number of combination query. Finally, the extra
data column is provided
with JOIN
operation for more information about, for example,
if the MySQL in executing this
query
must create a temporary table, will be listed in
the extra see usingtemporary.
In the
CHAR and VARCHAR data type column definition
index, the index can be the
length
limit
for
a
given
number
of
characters
(
this
number
must
be
less
than
the
field
the
maximum
allowed
number
of
characters
).
The
benefit
of
this
is
can
be
generated
in
a
relatively
small
size,
the
retrieval
speed
is
fast
compared
to
the
index
file.
In
most
applications, the database string data
mostly a variety of names, the index length is set
to 10 ~
15
characters
were
enough
to
narrow
your
search
to
a
few
data
records.
In
the
BLOB
and
TEXT
data types to create index, to index length limits
allowed by the MySQL; the maximum
index
full text index text field on the general index
can only accelerate to appear in the field
contents first string (i.e. field
content retrieval operation initial characters ).
If a field store is
composed of
several, or even more words constituting the
larger text, general index of little
use. This retrieval tends to form, the
MySQL is very complex, if need to handle large
volumes
of data, response time will be
very long.
Most of today's
application in the heart is the underlying
database. In this case, brook no
delay
in the design and implementation of the key
business application data structure is very
important.
All had good
modeling tools, such as MySQL workbench support
forward engineering,
means that all use
SQL code to create the database, and also can
automatically write related
objects
and
correct
operation.
This
eliminates
the
developer
or
DBA
error-prone
and
time-
consuming process.
Data design and its
response database version control and management
of life cycle, such
as the application,
therefore, the most important is the data
architect, database administrators,
developers.
9
To
understand
their
database
and
metadata
design
implementation
of
the
appropriate
change management
needs. Link to certain information model driven
method is optimal, but
access to data
modeling and metadata object manual method can be
run.
In the change management,
may face data management professionals are facing
the most
serious
challenge
is
one
of
the
existing
physical
database
design
in
the
successful
implementation of
these complex changes.
Fortunately,
most
good
modeling
tools,
such
as
MySQL
workbench
can
alleviate
this
problem,
because
they
contain
the
synchronization
efficiency,
to
allow
the
database
administrator
or
developer
to
change
physical
data
modeling,
and
then
use
the
existing
physical database to
synchronize these changes. The tool is all about
execution effect analysis
or
generation
of
the
appropriate
database
code
all
the
work,
in
the
target
database
prior
to
implementation,
easy to preview all changes.
In most of
the tools, reverse engineering is also can be made
very good - can modify a
data
modeling,
to
reflect
on
the
existing
physical
database
changes.
This
aspect
is
very
important, because it is often required
to perform an emergency change database, but if
the
change
management
or
reverse
engineering
modeling,
they
need
to
perform
the
update
to
reflect the current IT infrastructure.
Application
packaging
/
purchase
for
data
transfer
or
application
developers
know
in
what
form
to
use
the
underlying
database
often
very
difficult
black
box,
in
addition,
the
application
package should be made to strengthen or other
modifications, it is more important
to
understand the effect of these changes, and to
ensure that they are right.
On
the
application
management
packs
model
driven
method
can
greatly
simplify
the
process.
Modeling is the visualization of data and complex
database structure definition of a
perfect method. Through reverse
engineering tool, very fast can be found in almost
all good
modeling
tools,
database
management
and
developer
or
they
can
quickly
visualize
their
application
package
database
's
inner
workings,
and
understand
how
to
use
the
database.
Should
a
need
to
modify
the
database
or
add
operation,
modeling
tools
can
generate
the
analysis or generation code change.
Today's
enterprises
have
very
much
for
gripping
or
maintenance
of
data
consumers.
Some of them may be
technical users, but may be many of them not,
therefore, how to better
education and
communication ways to access data is a great
challenge.
In addition, in the large-
scale development team they used data structures
are the same.
They
often
need
to
understand
how
they
in
their
own
applications
to
coding,
so
that
it
is
suitable to access the target database.
10
Again,
the
model
for
technical
or
non- technical
personnel,
it
is
a
perfect
way
to
understand how the data is to be
defined? Or how to access? Like the MySQL
workbench so
good modeling tools can
help them create modeling and export modeling
pictures. Can also
create web based or
based on text report to convert large modeling
into readable form report
format.
MySQL
MySQL
mSQL
和他们自己的快速低级例程
(ISAM)
去连接
11
表格。经过一些测试后,开发
者得出结论:
mSQL
并没有他们需要的那么快和灵活。这
导致了一个使用几乎和
mSQL
一样的
API
接 口的用于他们的数据库的新的
SQL
接口的
产生,这样,
这个
API
被设计成允许为用于
mSQL
而写的第 三方代码更容易移植到
MySQL
。
< br>MySQL
这个名字是怎么来的已经不清楚了。基本指南和大量的库和工具带有前缀
“
my
”已经有
10
年以上,而 且不管怎样,
MySQL AB
创始人之一
Monty Wide nius
的女
儿也叫
My
。这两个到底是 哪一个给出了
MySQL
这个名字至今依然是个迷,包括开发
者在内也不知道。
MySQL
的海豚标志的名字叫 “
sakila
”
,它是由
MySQL AB p>
的创始人从用户在“海
豚命名”的竞赛中建议的大量的名字表中选出的。获胜
的名字是由来自非洲斯威士兰的
开源软件开发者
Ambrose Twe baze
提供。
根据
Ambrose
所说,
Sakila
来自一种叫
SiSwati
的斯威
士兰方言,也是在
Ambrose
的家乡乌干达附近的坦桑尼亚的
Arusha
的一个小镇
的名字。
与其他的大型数据库例如
Oracle
、
DB2
、
SQL
Server
等相比,
MySQL< /p>
自有它的不
足之处,如规模小、功能有限(
MySQL < /p>
Cluster
的功能和效率都相对比较差)等,但是
这丝
毫也没有减少它受欢迎的程度。
对于一般的个人使用者和中小型企业来说,
MyS QL
提供的功能已经绰绰有余,而且由于
MySQL
是开 放源码软件,因此可以大大降低总体
拥有成本。
LAMP
:
目前
Internet
上流行的网站构架方式是
LAMP
(
Linux + Apache + MySQL + PHP /
Perl /
Python
)和
LNMP
(
Linux + Nginx + MySQL + php / perl / Python
)
,即使用
Linux
作为操作系统,<
/p>
Apache
和
Nginx
作为
We b
服务器,
MySQL
作为数据库,
PHP/Pe rl/Python
作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件
(
FLOSS)
,因此
使用这种方式不用花一分钱
(除开人工成本)
就可以建立起一个稳定、
免费的网站系统。
< p>
MyISAMMysql
的默认数据库,最为常用。拥有较高的插 入,查询速度,但不支持
事务
InnoDB
< p>事务型数据库的首选引擎,支持ACID
事务,支持行级锁定。
BDB
源自
Berkeley DB
,事务型数据库的 另一种选择,支持
COMMIT
和
ROLLBACK
等其他事务
特性
Memory
所有数 据置于内存的存储引擎,
拥有极高的插入,
更新和查询效率。
但是
会占用和数据量成正比的内存空间。并且其内容会在
Mysql
重新启动时丢失。
Merge
将
一定数量的
MyISAM
表联合而成一个整体,在超大规模数据存储时很有用。
Ar chive
非
常适合存储大量的独立的,作为历史记录的数据。因为它们
不经常被读取。
Archive
拥
有高效的插入速度,<
/p>
但其对查询的支持相对较差。
Federated
将不同的
Mysql
服务器联合
起来,逻辑上组成一个完整的数据库。非常
适合分布式应用。
Cluster / NDB
高冗余的存
储引擎,用多台数据机器联合提供服务以提高整体性能和安全性。适合数据量大,安全
和性能要求高的应用。
CSV
逻辑上由逗号分割数据的存储引擎
C luster / NDB
。
12
B
lackHole
黑洞引擎,写入的任何数据都会消失,一般用于记录
binlo g
做复制的中
继
EXAMPLE
存储引擎是一个不做任何事情的存根引擎。
它的目的是作为
MySQL< /p>
源代
码中的一个例子,用来演示如何开始编写一个新存储引擎。同样,它的
主要兴趣是对开
发者。
EXAMPLE
存储引擎不支持编 索引。另外,
Mysql
的存储引擎接口定义良好。有
兴
趣的开发者可以通过阅读文档编写自己的存储引擎。
索引是一种特殊的
文件(
InnoDB
数据表上的索引是表空间的一个组成部分)
, 它们
包含着对数据表里所有记录的引用指针。
索引不是万能的,
索引可以加快数据检索操作,
但会使数据修改操作变慢。每修改数据记录,索引就
必须刷新一次。为了在某种程序上
弥补这一缺陷,许多
SQL
< p>命令都有一个DELAY_KEY_WRITE
项。这个选项的作用是
暂时制止
MySQL
在该命令每插入一条新记录和每修改一条现 有之后立刻对索引进行刷
新,
对索引的刷新将等到全部记录插入
/
修改完毕之后再进行。
在需要把许多新记录插入
某个数据表的场合,
DELAY_KEY_WRITE
选项的作用将非常明显。另 外,索引还会在
硬盘上占用相当大的空间。因此应该只为最经常查询和最经常排序的数据
列建立索引。
注意,如果某个数据列包含许多重复的内容,为它建立索引就没有太大的实
际效果。
从理论上讲,完全可以为数据表里的每个字段分别建一个索引
,但
MySQL
把同一
个数据表里的索引总数限制为
p>
16
个。
1
.
InnoDB
数据表的索引
与
Inn oDB
数据表相比,
在
InnoDB
数据表上,< /p>
索引对
InnoDB
数据表的重要性要大
得
多。在
InnoDB
数据表上,索引不仅会在搜索数据记录时发挥作用,还是数据 行级锁
定机制的苊、基础。
“数据行级锁定”的意思是指在事务操作的执 行过程中锁定正在被
处理的个别记录,不让其他用户进行访问。这种锁定将影响到(但不
限于)
SELECT
、
LOCKINSHAREMODE
、
SELECT
、
FORUPDATE
< p>命令以及INSERT
、
UPDATE
和 p>
DELETE
命令。出于效率方面的考虑,
InnoDB p>
数据表的数据行级锁定实际发生在它们的索引上,
而不是数据表自身上。显然
,数据行级锁定机制只有在有关的数据表有一个合适的索引
可供锁定的时候才能发挥效力
。
2
.限制
如果
WHERE
子句的查询条件里有不等号
( WHERE co loum!=)
,
MySQL
将无法使用
索引。
类似地,
如果
WHERE
子句的查询条件里 使用了函数
(
WHEREDAY
(
column< /p>
)
=
)
,
MySQL
也将无法使用索引。在
JOIN
操作中(需要从多个数据表提取数据时)
,
MySQL
只有在主键和外键的数据类型相同时才能使
用索引。
如果
WHERE
子句的查询条 件里使用比较操作符
LIKE
和
REGEXP
,< /p>
MySQL
只有
在搜索模板的第一个字符不是通配符的情况
下才能使用索引。比如说,如果查询条件是
LIKE'abc%'
, p>
MySQL
将使用索引;
如果查询条件是
LIKE'% abc'
,
MySQL
将不使用索引。
在
ORDERBY
操作中,
MySQL
< p>只有在排序条件不是一个查询条件表达式的情况下
才使用索引。
(虽 然如此,在涉及多个数据表查询里,即使有索引可用,那些索引在加
13
快
ORDERBY
方面也没什么作用)
。如果某个数据列里包含许多 重复的值,就算为它建
立了索引也不会有很好的效果。
比如说,
如果某个数据列里包含的净是些诸如“
0/1
”或
“
Y/N
”等值,就没有必要为它创建一个索引。
只有当数据库里已经有了足够多的测试数据时,
它的性能测试结果才有实际参考价 p>
值。如果在测试数据库里只有几百条数据记录,它们往往在执行完第一条查询命令之后
就被全部加载到内存里,
这将使后续的查询命令都执行得非常快
--
不管有没有使用索引。
只有当数据库里的记录超过了
1000
条数据总量也超过了
MySQL
服务器上的内存总量 p>
时,数据库的性能测试结果才有意义。在不确定应该在哪些数据列上创建索引的时候,
人们从
EXPLAINSELECT
命令那里往往可以获得一些 帮助。这其实只是简单地给一条
普通的
SELECT
命令 加一个
EXPLAIN
关键字作为前缀而已。
有了这个关键字,< /p>
MySQL
将不是去执行那条
SELECT
命令,而是去对它进行分析。
MySQL
将以表格的形式把查
询的执行过程和用到的索引等信息列出来。在
EXPLAIN
命令的输出结果 里,第
1
列是
从数据库读取的数据表的名字,它们按被读
取的先后顺序排列。
type
列指定了本数据表
与其它数
据表之间的关联关系(
JOIN
)
。在各种类型的关联关系当中, 效率最高的是
system
,然后依次是
const p>
、
eq_ref
、
ref
、
< p>range、
index
和
All
< p>(All
的意思是:对应于上
一级数据表里的每一条
记录,
这个数据表里的所有记录都必须被读取一遍——这种情况
往往可以
用一索引来避免)
。
possible_keys
数据列给出了
MySQL
在搜索数据记录时可
选用的各个索引。
key
数据列是
MySQL
实际选用的索引,这个索引按 字节计算的长度
在
key_len
数据列里给出。比如说 ,对于一个
INTEGER
数据列的索引,这个字节长度
将是
4
。
如果用到了复合索引,
在
key_len
数据列里还可以看到
MySQL
具体使用了它的< /p>
哪些部分。作为一般规律,
key_len
数据列里的值越 小越好。
Ref
数据列给出了关联关
系中另一个数据表
里的数据列的名字。
row
数据列是
MySQL
在 执行这个查询时预计会
从这个数据表里读出的数据行的个数。
row p>
数据列里的所有数字的乘积可以大致了解这
个查询需要处理多少组合。最后,
extra
数据列提供了与
JOIN
操作有关的更 多信息,比
如说,如果
MySQL
在执行这个查询时必须 创建一个临时数据表,就会在
extra
列看到
usin
gtemporary
字样。
在为
CH AR
和
V
ARCHAR
类型的数据列定义索引时, 可以把索引的长度限制为一
个给定的字符个数(这个数字必须小于这个字段所允许的最大
字符个数)
。这么做的好
处是可以生成一个尺寸比较小、检索速度却比较
快的索引文件。在绝大多数应用里,数
据库中的字符串数据大都以各种各样的名字为主,
把索引的长度设置为
10~15
个字符已
经足以把搜索范围缩小到很少的几条数据记录了。
在为
BLOB
和
TEXT
类型的数据列创
建索引时,必须对索引的长度做
出限制;
MySQL
所允许的最大索引全文索引文本字段
上的普通索引只能加快对出现在字段内容最前面的字符串(也就是字段内容开头的字
符)
进行检索操作。如果字段里存放的是由几个、甚至是多个单词构成的较大段文字,
普通索
引就没什么作用了。这种检索往往以的形式出现,这对
MySQL
来说很复杂,如
14
果需要处理的数据量很大,响应时间就会很长。
大部分当今应用的心脏就是底层数据库。在这种情况下,刻不容缓的设计和执行关
键业
务应用的数据结构是非常重要。
所有具有良好建模的工具,比如像
MySQL
work bench
都支持正向工程,意味着所
有使用的
SQL< /p>
代码能创建数据库,并也能自动书写相关的对象及正确运行。这个消除
了开
发人员或数据库管理员容易出错或耗时的过程。
数据设计及其响应的数
据库有版本控制和生命周期管理,像应用程序一样,所以,
最重要的就是数据架构师、数
据库管理员、开发人员。
要了解为他们的数据库和元数据设计执行合适
的变更管理需求。
链接到某些信息库
形式的模型驱动方法是最佳的,
p>
但获取数据建模和元数据对象的手动方法也是可以运行
的。
在变更管理中,
也许面对数据管理专业人员所面临最严峻挑战之一就是在 已有的物
理数据库设计中成功执行那些复杂的变化。
幸运的是,大部分良好建模工具,如
MySQL
wor kbench
能缓解这类问题,因为它
们包含同步效率,以允许数据库管
理员或开发人员对物理数据建模进行更改,然后用已
有的物理数据库来同步这些变化。<
/p>
该工具目前是对所有执行影响分析或生成合适的数据
库代码的一切工作,在
对目标数据库执行之前,容易预览所有的变更。
在大多数的工具中,逆
向工程也是可以做得非常好的
--
可以修改一个数据建模,以
反映对已有物理数据库做的变更。
这一方面是非常重要的,因为往往需要对 数据库执
行紧急变更,但是如果对变更管理或逆向工程使用建模,他们需要执行更新以反
映目前
的
IT
基础设施。
应用程序包装
/
购买对于数据转移人员或应用开发人员了解以何种形式 来使用底层
数据库往往时非常困难的黑匣子,此外,对应用程序包应作出加强或其他修改
,更重要
的是要了解这些变化影响,并确保他们是正确的。
对应用程序管理包的模型驱动方法可以大大简化这一过程。
关系和复杂数据库结构定义的一种非常完美的方法。通过逆向
工程工具,很快可以发现
几乎所有良好的建模工具,
数据库管理与或开发 者他们能快速地可视化他们应用程序包
数据库的内部运作,并理解数据库是如何使用的。
应需要作出对数据库进行修改或添加
操作,建模工具能生成分析变更影响或生成代码。<
/p>
当今企业有非常多的用于抓取或维护数据的消费者。其中一些人可能是技
术型用
户,但可能其中许多不是,因此,如何更好的教育与沟通方式来存取数据是一个巨
大挑
战。
此外,在大型开发团队中他们使用的
数据结构都是一样的。他们经常需要了解他们
如何在自己的应用中进行编码,以便它是合
适的去访问目标数据库。
再次,模型对于技术或非技术人员而言,它是
一种完美的方法来了解数据是如何进
15
行定义的,或如何进行访问的。像
MySQL
work bench
如此良好的建模工具能帮助他们
提供创建建模和导出建模图片
。
也能创建基于网络或基于文本形式的报告来转换大型建
模成易读的表格
形式的报告格式。
大连交通大学信息工程学院
毕业设计
(
论文
)
调研报告
学生姓名
罗旭
专业班级
计算机
08-2
班
指导教师
王影
魏琦
职
称
高工
讲师
所在单位
信息科学系计算机教研室
教研室主任
宋丽芳
16
完成日期
2012
年
4
月
6
日
实习报告
1
课题来源及意义
人力资源竞争不仅仅在于吸引人才,更
重要的是对人力资源开发、激励、保留能力
的竞争。在这些竞争中,不能不提到薪资福利
管理。
薪资福利管理是一个复杂的社会问题,自从人类出现雇佣劳动关
系以来,人们就一直在
研究它。从最早的古典经济学派创立的薪资理论,到现在的赫茨伯
格等心理学家对薪资
福利的研究,人们一直在对薪资福利进行种种探索。
薪资福利作为企业薪酬的一个新代名词,在企业界一直得不到较好的规范,以“薪酬”<
/p>
二宇来说,有些企业仅把它当作工资来称谓,实际上,薪与酬是有本质区别的:所谓
“薪”,意即“薪水、工资”;而“酬”则有“奖励、酬劳”之意。如是,薪酬可以是
薪资福利的统称,但不宜与薪资相混淆。
可喜的是,薪
资福利作为企业发展的原动力,已得到企业经营者的认同和关注。他们知
道:
企业要提倡做“第一”,
事先就得对员工进 行“一
流的投入”。
2
国内外的研究情况
自从
20
< p>世纪末以来,悄然兴起的新经济逐渐对现代工资管理提出了更高的要求。
经济全球化
在增加适应性、创新能力和竞争力方面,对人才管理也带来了可怕的压力。
智力资本作为
独特的生产要素取代人力资本并排在产业资本、金融资本之首。所有这些
都给工资管理带
来根本的变革,这主要体现在以下几个方面:
(
1 p>
)人力成本将逐步上升。在全球经济一体化、知识经济的趋势下,人力资源已
成为组织取得和维持竞争优势的关键要素。
因此人才的竞争将在全球范围内更为激烈的
< p>展开,人力资源领域内所带来的最直接的竞争后果就是薪金,导致人力资源的价格滚动
攀升。
组织必须对人力资源采取更严肃而慷慨的态度,
对人力资本付出 更大的投资力度。
(
2
)工资制定的依 据将更多的反映市场而不是工作本身的价值。传统的工作价值
论将逐渐向市场价值论过渡
,工资将更贴切反映知识市场化的需求,工资管理将形成动
态的分析机制,以适应市场变
化的需求。
(
3
)工资福利设计更富弹 性并走向多元化。工资福利设计方面,弹性设计和多轨
制度将更加流行,其中蕴含的规则
将更加复杂,
“分化”现象将更加普遍。在工资管理
17
中
,人文化设计色彩将更加浓重,心理学原理而不是经济学原理将起更重要的作用。工
资的
定义将更加注重人的价值而不是工作的经济价值。
3
研究目的
随着我国成功加入
WTO p>
及信息化浪潮的日益临近,
企业经营管理机制正在发生着根
本
性的变化,企业要想在激烈的市场竞争环境下求得生的存
,
就必须有效地利用人才 、
时间、信息结合的优势,就必须有效地进行企业内部改革和加强企业管理。借助现代信
息技术和管理理论,建立企业管理信息系统势在必行。
企业工资社会福利保障管理是公司管理的一个重要内容。
企业工资社会福利保障管
理系统是实现管理信息系统化的不可缺少的部分,
它的内容对于用户以及决策者 和管理
者来说都至关重要,
所以企业工资社会福利保障管理系统应该能够 为用户提供充足的信
息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件
档案,这种管理方
式存在着许多缺点,如:效率低、保密性差;另外时间一长,将产生大
量文件和数据,
这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高
,计算机科学
日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域
并发挥着越
来越重要的作用。作为计算机应用的一部分,使用计算机对工资信息进行管理
,具有手
工管理所无法比拟的优点,例如:检索迅速、查找方便、可靠性高、存储量大、
保密性
好、寿命长、成本低等。这些优点能够极大地提高企业工资社会福利保障管理的效
率,
使办公人员可以轻松快捷地完成企业工资社会福利保障管理的任务。
随着当今企业人员
数量增加,企业的工资管理工作也变得越来越复杂。如果能实现企业工
资社会福利保障
管理的自动化,无疑将给企业部门带来企业管理部门带来很大的方便。<
/p>
目前市面上流行的企业工资社会福利保障管理系统不少。但是,对于企、
事业单位
的企业工资社会福利保障管理系统来说,不需要太大型的数据库系统。只需要一
个操作
方便,功能实用,能同时满足本单位数据的管理及需求的系统。我的目标就是在于
开发
一个功能实用、操作方便,简单明了的企业工资社会福利保障管理系统。
4
企业工资福利社会保障的需求分析
4.1
可行性分析
树的生长
原理告诉我们这样一个道理:树是由树根、树干、树枝、树叶组成的,若
把企业领导层、
决策层比作是树根,树干则是企业内的核心人员,树枝则好比一般管理
干部、辅助人员,
树叶则是操作层员工。我们知道,维系树的生命虽然有树枝和树叶的
功劳,但树的成长却
是从树干的大小来判断的。因此,企业要善待树干性人员。
从企业对员
工的投入到树的原理,再分析目前一些公司的现状,我们不难发现,有
些企业因为忽略对
核心人才的重视,他们也就忽略了一个做“第一”的大好机会。而要
18
想
改变目前的情形,
企业的薪资福利就要与市场接轨,
哪怕是坐上第一班车的后节车 厢,
也要比坐在第二班车的车头更具有竞争优势,这就是企业的薪资福利观念。
4.2
技术可行性分析
< p>
本系统的开发利用
MySql5.0
作为后台的数据库,它是一个支 持多用户的数据库,
适用于大中规模的数据量需求。
使用
MyEclipse
作为系统开发的开发环境,
Java
Str ing
作为
MyEclipse
的一种开发语言,提供完 善的指令控制语句、类与对象的支持及丰富的
数据类型,以上的论述在技术上是可行的。
4.3
经济可行性
方便结算工资,统一管理,代替了传统上的人工操作,大大解决了时间,人力物力
并且精确,
排除了人工造成的疏忽,
对员工体贴,
透明,
所以对系统来说是非常可行的,
该系统成本低廉,操作简单,分管理员与普通员
工操作。为了确定待开发的系统的经济
效益能否超过开发成本。
企业工资 社会福利保障系统是一个不会直接产生经济效益的投
资,但是能够节省人员资源的消耗和
浪费,从而节约成本,提高效率。从成本效益角度
来观察,这个系统的开发成本不是很高
,在使用后,能够起到的作用也是十分可观的。
对工资管理系统的开发从人力、
财力、
物力三方面,
估算新系统的开发费用和今后运行、
< br>维护费用,估计新系统获得的效益,并将费用与效益进行比较,看是否有利。所以,以
上论述在经济上是可行的。
5
研究方法及系统环境
5.1
Java
语言
Java
是一种可以撰写 跨平台应用软件的面向对象的程序设计语言,是由
Sun
Micros
ystems
公司于
1995
年
5
月推出的
Java
程序设计语言和
Java
平台( 即
JavaSE,
JavaEE
,
Ja vaME
)的总称。
Java
技术具有卓越的通用性、高效性、平 台移植性和安全
性,广泛应用于个人
PC
、数据中心、游 戏控制台、科学超级计算机、移动电话和互联
网,同时拥有全球最大的开发者专业社群。
Java
是一种简单的,跨平台的,面向对象的,分布 式的,解释的,健壮的安全的,
结构的中立的,可移植的,性能很优异的多线程的,动态
的语言。当
1995
年
SUN
推出
Java
语言之后,全世界的目光都被这个神奇的语言所吸引。
Java
编程语言的风格十分接近
C
、
C++
语言。
Java
是一个纯的面向对象的程序设计 p>
语言,它继承了
C++
语言面向对象技术的核心,
< p>Java舍弃了
C
++
语言中容易引起错误
的指针(以引用取代)
、运算符重载(
operator
overloading
)
、多重继承(以接口取代)
< p>等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程
序员不用再为内存管理而担忧。
Java
编 程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可
移植、高性能
、多线程和动态的语言。
19
Java
的特点
1
、平台无关性
平台无关性是
指
Java
能运行于不同的平台。
Java
引进虚 拟机
原理,并运行于虚拟
机,实现不同平台的
Java
接口之间。使用
Java
编写的程序能在世界范围 内共享。
Java
的数据类型与
机器无关,
Java
虚拟机(
Java Virtual Machine
)是建立在硬件和操作系统
之上,实现
Java
二进制代码的解释执行功能,
提供于不同平台的接口的。
2
、安全性
Java
的编程类似
C++
,
学习过
C++
的读者将很快掌握
Java
的精髓。
Java
舍弃了
C++
的指针对存储器地址的直接操作,程序运行时,内存由操
作系统分配,这样可以避免病
毒通过指针侵入系统。
Java
< p>对程序提供了安全管理器,防止程序的非法访问。
3
、面向对象
Java
吸取了
C++
面向对象的概念,将数据封装于类中,利用类的优点,实现 了程序
的简洁性和便于维护性。类的封装性、继承性等有关对象的特性,使程序代码只需
一次
编译,然后通过上述特性反复利用。程序员只需把主要精力用在类和接口的设计和应
用
上。
Java
提供了众多的一般对象的类,通过继承即 可使用父类的方法。在
Java
中,类
的继承关系是单一
的非多重的,
一个子类只有一个父类,
子类的父类又有一个父类。
Java
提供的
Object
类及其子类的继承关系如同 一棵倒立的树形,根类为
Object
类,
Object
类功能强大,经常会使用到它及其它派生的子类。
4
、分布式
Java
建立在扩展
TCP/IP
网络平台上。库函数提供了用
HT TP
和
FTP
协议传送和接
受信息的方法
。这使得程序员使用网络上的文件和使用本机文件一样容易。
5
、健壮性
Java
致力于检查程序在编译和运行时的错误。
类型检查帮助检查出许多开发早期出
现的错误。
Java
自己操纵内存减少了内存出错的可能性。
Java
还实现了真数组,避免了
覆盖数据的可能,这些功能特征
大大提高了开发
Java
应用程序的周期。并且
Java
还提
供了
Null
指针检测、数组边界检测、异常 出口、
Byte code
校验等功能。
6
、解释型
我们知道
C
,
C++
等语言,都是针对
CPU
芯片进行编译,生成机器代码,该代码的
运行就和特定的
CPU
有关。
Java
不像
C
或
C++
,它不针对
CPU
芯片进行编译,而是把
< p>程序编译成称为自字节码的一种“中间代码”
。字节码是很接近机器码的文件,可以 在
提供了
java
虚拟机(
JVM
)的任何系统上被解释执行。
7
、动态
java
而类又
是运行时动态装载的,这就使得
Java
可以在分部环境中动态的维护程序及分类 ,
20
而不像
C++
那样,没档期类库升级以后,如果想让程序 具有新类库提供的功能,就需要
修改程序,重新编译。
5.2 Swing
Swing
是一个用于开 发
Java
应用程序用户界面的开发工具包。
它以抽象窗口工具包
(
AWT
)为基础使跨平台应用程序可以使用任何可插拔 的外观风格。
Swing
开发人员只
用很少的代码就可以
利用
Swing
丰富、灵活的功能和模块化组件来创建优雅的用户界
面。
Swing
是一个为
J ava
设计的
GUI
工具包。
Swing
是
JA
V
A
基础类的一部分。
Swing
包括了图形用户界面
(GUI)
器件如:文本框,按钮,分隔窗格和表。
SWING<
/p>
提供许多比
AWT
更好的屏幕显示元素。它们用纯
J ava
写成,所以同
Java
本身一样可以跨平台运行,
这一点不像
AWT
。它们是
JFC
的一部分。它们 支持可更换
的面板和主题(各种操作系统默认的特有主题)
,然而不是真 的使用原生平台提供的设
备,而是仅仅在表面上模仿它们。这意味着你可以在任意平台上
使用
JA
V
A
支持的任意
面板。轻量级元件的缺点则是执行速度较慢,优点就是可以在所有平台上采用统一的行
为
。
同
AWT
的关系:
Java
的早期版本以来,抽象视窗工具包为用户界面组件提供了平台独 立的
API
。在
AWT
中,每个组件都由 一个原生的等同组件生成和控制,这个原生组件是由当前的图
形视窗系统决定的。
与此相对,
Swing
组件经常被描述为轻 量级的,
因为它们不需要操作系统本身所带
视窗工具包的原生资源来生成
。
Swing API
的大部分是
AW T
的补充扩展而不是直接的代替。
Swing
用来绘制轻量级 p>
组件的核心渲染功能是由
Java2D
提供的,
这是
AWT
的一部分。
然而,
轻量级和重量级< /p>
组件在同一个应用中使用会导致
Z-order
不兼容 p>
同
SWT
的关系:
标准器件工具包是一个最初由
IBM
开发的工具包,现在由 p>
Eclipse
基金会维护。
SWT
的实现同重量级的组件
AWT
有更多的共同之处。
这样的 好处是运行开销同所在平
台的原生视窗工具包更为接近。
SWT
的到来使得
Java
桌面的开发者们分离为 p>
SWT
的支持者和
Swing
的支持者。
在
6.0
版
Java
中,
Swing
的新修补专注于同原生视窗平台的逼真度,这可能会直接解决这< /p>
个问题。
5.3
Mysql
数据库
MySQL
最初的开 发者的意图是用
mSQL
和他们自己的快速低级例程
(ISAM)
去连接
表格。经过一些测试后,开发者得出结论:
mSQ L
并没有他们需要的那么快和灵活。这
导致了一个使用几乎和
一样的
API
接口的用于他们的数据库的新的
SQL
接口的
21
产生,这样,这个
被设计成允许为用于
mSQL
而写的第三方代码更容易 移植到
MySQL
。
与其他的
大型数据库例如
Oracle
、
DB2
、
SQL
Server
等相比,
MySQL
自有它的不
足之处,如规模小、功能有限(
MySQL
Cluster
的功能和效率都相对比较差)等,但是
这丝毫也没有减少
它受欢迎的程度。
对于一般的个人使用者和中小型企业来说,
MySQL
提供的功能已经绰绰有余,而且由于
MySQL
是开放源码软件, 因此可以大大降低总体
拥有成本。
MySQL
是一种的关系型系统
(
RDBMS
)
,
MySQL
数据库系统使用最常用的数据库
管理语言
--
结构化查询语言(
SQL
)进行数据库管理。
由于
MySQL
是开放源代码的,因此 任何人都可以在
General Public License
的许可
下下载并根据个性化的需要对其进行修改。
MySQL
因为其速度 、可靠性和适应性而备
受关注。大多数人都认为在不需要事务化处理的情况下,
MySQL
是管理内容最好的选
择。
< p>
MySQL
是最受欢迎的开源
SQL
数据库管理系统 ,
它由
MySQL AB
开发、
发布和支
持。
MySQL A B
是一家基于
MySQL
开发人员的商业公司,它是一家使用了一 种成功的
商业模式来结合开源价值和方法论的第二代开源公司。
MySQ L
是
MySQL AB
的注册商
标。
5.4
开发工具
MyEclipse
,
是一个十分优秀的用于开发
Java
,
J2EE
的
Eclipse
插件集合,
MyEclipse
的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。
< /p>
MyEclipse
企业级工作平台(
MyEclipse Enterprise Workbench
,简称
MyEclipse
)是
对
EclipseIDE
的扩展,利用它我们 可以在数据库和
JavaEE
的开发、发布以及应用程序
服务器的整合方面极大的提高工作效率。它是功能丰富的
JavaEE
集成开发环 境,包括
编码、调试、测试和发布功能,完整支持。
MyEclipse 8.5
的主要改进是在团队写作和集中工作环境的 集中配置管理方面。
同时
MyEclipse
8.5< /p>
还包含了上百个功能的改进和新特性,这些新功能和特性将让
MyEclipse
8.5
用户在开发代码,测试,以及部署应用方面都得到极大的便利。< /p>
MyEclipse
8.5
M1
新增了
大量的应用程序服务器联接器,让
MyEclipse 8.5
支持更多的应用程序服务器。
在结构上,
MyEclipse
的特征可以被分为
7
类:
< p>
1
.
JavaEE
模型
2
.
WEB
开发工具
3
.
EJB
开发工具
4
.应用程序服务器的连接器
5
.
JavaEE
项目 部署服务
6
.数据库服务
22
7
.
MyEclipse
整合帮助
对于以上每一种功能上的类别,在
Ecli pse
中都有相应的功能部件,并通过一
系列的插件来实现它们。
MyEclipse
结构上的这种模块化,可以让我们在不影响其
他模块的情况下,对任一模块进行单独的扩展和升级。
简单而言,
MyEclipse
是
Eclipse
< p>的插件,也是一款功能强的JavaEE
集成开发
环
境,
支持代码编写、
配置、
测试以及除错,
MyE clipse6.0
以前版本需先安装
Eclipse
。
MyEclipse6.0
以后版本安装时不需安装
Eclips e
。
6
进度计划
第
1
周
第
2
周
第
3
周
第
4
周
第
5
周
第
6
周
第
7
周
第
8
周
第
9
周
第
10
周
第
11
周
第
12
周
第
13
周
第
14
周
实习调研,查阅课题相关外文资料
了解行业状况、查阅文献资料,阅读资料撰写调研报告
完成
10000
字符或
3000
汉字以上 的外文翻译,准备资料,学习
java
相关技
术
进行需求分析和概要设计
进行概要设计
,
基本框架完成,提交毕业论文提纲
详细设计各部分功能
编码
编码
系统联调
进行程序测试,继续编写毕业设计论文
整理资料、文档、图表等,修改毕业设计论文
完成毕业设计论文,打印,按要求装订
软件验收和准备毕业设计答辩
毕业设计答辩及成绩评定
7
参考文献
23
[1]
张桂 珠
.
刘丽
.
陈爱国
.Java p>
面向对象程序设计
[M].
北京邮电大学出版社
.20 07
[2]
Brian
Lea.
Java programming and
training.
北京邮电大学出版社
.2012
[3]
编程思想
(
第
3
版
).
机械工业出版社
.2005
[4]
印旻
.
王行言
. Java
语言与面向对象程序设计
(
第
2
版
).
清华大学出版社
.2007
[5]
成富
.
深入理解
Java7
:核心技术与最佳实践
.
机械工业出版社
.2012
[6]
王立新
.
石艳捷
.
霍泉宇
.
维权百事通< /p>
6
:工资、工龄与社保、福利待遇
.
中国法制出 p>
版社
.2006
[7]
仇雨临
.
员工福利概论
/21
世纪 劳动与社会保障系列教材
.
中国人民大学出版
社
.2007
[8]
福塔
.MYSQL
必知必会
.
人民邮电出版社
.2009
[9]
贝尔
.
欣达尔
.
达勒马纳
.
高可用性
MySQL.
东南大学出版社
.2011
[10]
龚永罡
.Java
程序设计基础教程
.
清华大学出版社
< p>.2009
[11]
昊斯特曼
.Java
核心技术:卷Ⅰ基础知识
.
机械工业出版社
.2008
大连交通大学信息工程学院
毕
业
设
计
(
论
文
)
题
目
企业工资福利社会保障系统
学生姓名
罗旭
专业班级
计算机
08-2
班
24
指导教师
王影
魏琦
职
称
高工
讲师
所在单位
信息科学系计算机教研室
教研室主任
宋丽芳
完成日期
2012
年
6
月
29
日
摘
要
信息化
时代的到来成为不可抗拒的潮流,
人类文明正在进入一个崭新的时代。
因此, p>
企业工资福利社会保障管理系统也以方便、快捷、费用低、绿色环保的优点正慢慢地进
入各个行业和领域,将传统的工资管理方式彻底的解脱出来,提高效率,减轻工人人员
以往繁忙的工作,加速信息的更新速度,使企业管理层第一时间了解到员工的信息,从
而进一步的进行对员工的工资的调配。
利用本系统对小型
企业的工资福利社会保障进行管理,不仅可以节省开支,而且还
可以节省时间,充分发挥
了其小却精的特点,实现工资的集中管理。可供财务人员对本
单位的人员以及工资进行增
加、删除、修改、查询,对人事的管理及工资发放中的应发
工资合计等项目由系统自动进
行计算;
同时系统还可对人事及工资管理情况进行多角度
查询。
开发本系统的过程中,首先要对企业工资社会福利保障系统进行分析,熟悉工资
发
放管理的流程;其次在系统需求分析过程中,要透过现象看本质,敏锐观察到工资管理
系统中存在的各种问题,并在总体设计中把握好对问题的分析、理解,进而解决问题。<
/p>
关键词:
工资
福利
社会保障
工资管理
25
26
ABSTRACT
The era
of information technology to become an
irresistible trend of human civilization
is entering a new ore, wages and
benefits of social security management system is
also convenient, fast, low cost, the
advantages of green is slowly into the various
industries
and
fields,
traditional
wage
is
completely
freed,
improve
efficiency,
reduce
workers
in
the
pastbusy
working
to
accelerate
the
speed
of
information
updates,
corporate
management
to
understand the information of
employees, to further the deployment of staff
wages.
Management, use of the system of
wages and social welfare of small businesses can
not
only
save
money,
but
also
can
save
time,
give
full
play
to
the
small
but
fine
features,
centralized management of the wage.
Available financial officers of the unit as well
as wage
increases,
delete,
modify,
query,
and
in
personnel
management
and
payroll
totals,
and
the
project should wages be
calculated automatically by the system; system is
also the personnel
and salary
management multi angle inquiries.
In
the process of development of this system, we must
first
analyze the social welfare
and security of the enterprise wage
system, familiar with the process of payroll
management;
system requirements
analysis, through the phenomenon of nature and
keen observation to the
salary
management system various problems, and in the
overall design of a good grasp of the
problem analysis, understanding, and
thus solve the problem.
Key
words
:
wage
welfare
social security
mechanisms
目
录
1
前
言
....................... .................................................. .................................................. ...................
3
1.1
开发背景
...........................
..................................................
..................................................
......
3
1.2
国内外研究现状
.
......... .................................................. .................................................. ..........
3
1.3
系统设计目标
.........................
..................................................
.................................................
4
1.4
系统研究的意义
.
......... .................................................. .................................................. ..........
4
2
系统开发所采用的技术
.....................
..................................................
.........................
6
2.1 Java
语言
..........
..................................................
..................................................
......................
6
2.2 Swing
..................
..................................................
..................................................
....................
21
2.3 Mysql
数据库
........
..................................................
..................................................
...............
21
2.4
开发工具
...........................
..................................................
..................................................
....
22
3
企业工资福利社会保障的需求分析
......... .................................................. ............
10
3.1
可行性分析
.
........... .................................................. .................................................. ...............
10
3.1.1
技术可行性分析
................. .................................................. ....................................
1
0
3.1.2
经济可行性
..........................
..................................................
....................................
1
0
3.2
企业工资福利社会保障管理系统的需求概述
.
............................................... ...............
10
3.2.1
系统目标
.
............ .................................................. .................................................. ....
1
0
3.2.2
用户类和用户特性
.......................
..................................................
.........................
1
1
3.3
企业工资福利社会保障管理系统需求模型
.............
..................................................
....
11
3.3.1
功能描述
.
............ .................................................. .................................................. ....
1
1
3.3.2
管理员详细功能描述
............... .................................................. .............................
1
3
3.3.3
登陆界面流程图
................. .................................................. ....................................
1
3
4
系统总体设计
.........................
..................................................
......................................
14
4.1
总体设计
...........................
..................................................
..................................................
....
1
4
4.1.1
系统分析的任务
.................................................. .................................................. ...
1
4
4.1.2
系统分析的步骤
................. .................................................. ....................................
1
4
4.2
数据库设计
.
........... .................................................. .................................................. ...............
1
4
4.3
功能需求
............
..................................................
..................................................
...................
1
6
4.3.1
系统管理
.
............ .................................................. .................................................. ....
1
6
4.3.2
信息管理
.
............ .................................................. .................................................. ....
1
7
4.3.3
信息查询
.
............ .................................................. .................................................. ....
1
7
5
系统详细设计与实现
......................
..................................................
...........................
19
5.1
系统首页程序设计
. .................................................. .................................................. ............
1
9
5.2
系统登录后程序设计
.......
..................................................
..................................................
.
2
0
5.3
系统管理
...........................
..................................................
..................................................
....
2
1
5.3.1
添加、删除用户界面
......... .................................................. .......................
21
5.4
信息管理
............
..................................................
..................................................
...................
2
2
5.4.1
员工信息管理程序设计
......................... .................................................. ...
23
5.5
信息查询
...........................
..................................................
..................................................
....
2
4
5.5.1
薪资信息查询程序设计
........ .................................................. ....................
24
5.6
帮助跟关于界面
.< /p>
............................................ .................................................. .......................
2
5
6
系统测试
...........................
..................................................
.............................................
28
6.1
测试概述
...........................
..................................................
..................................................
....
2
8
6.2
软件测试目的
..........
..................................................
..................................................
............
2
8
6.3
软件测试范围
..........
..................................................
..................................................
............
2
8
6.4
登录功能测试
..........
..................................................
..................................................
............
2
8
结
论
..
..................................................
..................................................
.........................
31
谢
辞
.......
..................................................
..................................................
....................
32
参考文献
.......................
..................................................
..................................................
....
33
附
录
..............................
..................................................
...............................................
34
1
前
言
1.1
开发背景
传统的工资
发放,
多采用手工的形式,
既繁琐又易于出差错,
随着电子技术的 发展,
工资发放多采用电算化的方式进行管理,避免进行简单的重复计算,从而做到准确
、快
捷。为了适应这个要求,我经过详细的市场调查
,
发 现市面上企业工资社会福利保障系
统的软件繁多
,
竞争激 烈
,
为了避免重复生产类似的软件产品
,
做出自己 的特色
,
我决定
做一个切合单位工资发放实际要求的工资
发放系统软件。
传统的工资又叫薪资,
它的的定义是指 员工的工资﹑福利﹑奖金﹑补助﹑社会保障
这几项构成。社会保障也就是我们所说的五险
一金,通常都直接包含在我们的工资里,
在这里就不另外提出了。
p>
人力资源竞争不仅仅在于吸引人才,更重要的是对人力资源开发、激励、保留能力
的竞争。在这些竞争中,不能不提到薪资福利管理。
薪资
福利管理是一个复杂的社会问题,自从人类出现雇佣劳动关系以来,人们就一
直在研究它
。从最早的古典经济学派创立的薪资理论,到现在的赫茨伯格等心理学家对
薪资福利的研
究,人们一直在对薪资福利进行种种探索。
薪资福利作为企业薪酬的一
个新代名词,在企业界一直得不到较好的规范,以“薪
酬”二字来说,有些企业仅把它当
作工资来称谓,实际上,薪与酬是有本质区别的:所
谓“薪”,意即“薪水、工资”;而
“酬”则有“奖励、酬劳”之意。如是,薪酬可以
是薪资福利的统称,但不宜与薪资相混
淆。
可喜的是,薪资福利作为企业发展的原动力,已得到企业经营者的
认同和关注。他
们知道:“一流的产品需要一流的人才”。企业要提倡做“第一”,事先
就得对员工进
行“一流的投入”。财务是每一个单位都会涉及的问题,管理软件如雨后春
笋般崛起的
今天,企业不仅需要通过软件有效地对其实施管理,还想操作能够尽可能简单
,软件易
于上手。
通过查阅相关资料,对市场
需求进行分析,对既成企业工资社会福利保障系统软件
的研究和测试,我认为本课题是一
个适应现今工资管理需求的计算机信息管理系统,具
有一定的现实意义和开发使用价值。
1.2
国内外研究现状
< p>
自从
20
世纪末以来,悄然兴起的新经济逐渐对现代工资管理提出了 更高的要求。
经济全球化在增加适应性、创新能力和竞争力方面,对人才管理也带来了可
怕的压力。
智力资本作为独特的生产要素取代人力资本并排在产业资本、金融资本之首。
所有这些
都给工资管理带来根本的变革,这主要体现在以下几个方面:
1
.人力成本将逐 步上升。在全球经济一体化、知识经济的趋势下,人力资源已成
为组织取得和维持竞争优
势的关键要素。
因此人才的竞争将在全球范围内更为激烈的展
开,人力资
源领域内所带来的最直接的竞争后果就是薪资,导致人力资源的价格滚动攀
升。组织必须
对人力资源采取更严肃而慷慨的态度,对人力资本付出更大的投资力度。
2
.工资制定的依据将更多的反映市场而不是工作本身的价值。传统的工作价值论
将逐渐向市场价值论过渡,工资将更贴切反映知识市场化的需求,工资管理将形成动态
的分析机制,以适应市场变化的需求。
3
.工 资福利设计更富弹性并走向多元化。工资福利设计方面,弹性设计和多轨制
度将更加流行
,其中蕴含的规则将更加复杂,
“分化”现象将更加普遍。在工资管理中,
人文化设计色彩将更加浓重,心理学原理而不是经济学原理将起更重要的作用。工资的
定义将更加注重人的价值而不是工作的经济价值。
1.3
系统设计目标
本系统开发的研究目的就是要使企事业单
位工资管理实现计算机管理,
使管理员能
够有序的管理每一位职工的各项
工资条款的发放,
使企业运用现代化技术创造更多更高
的经济效益。克服
以往的人工管理、统计与查询单一、管理效率低下等问题;能科学有
效的管理工资数据,
方便地查询和统计人员信息、历史数据等情况,对所需要的数据以
表格形式显示,并为将
来进一步扩充和发展工资管理系统奠定基础。通过使用企业工资
管理系统,使企业的工资
管理工作系统化、规范化、自动化,从而达到提高企业管理效
率的目的。系统开发的总体
任务是使办公人员可以轻松快捷地完成工资管理的任务。本
系统的最终目的是为了能够对
工资发放进行有效的管理。
财务部门人员能够高效快捷地
对工资数据进行
编辑,避免进行简单的重复计算,而单位其他相关部门人员可多角度查
询本单位的工资发
放情况,从而使工资发放数据既得到安全控制又得到宏观管理。
1.4
系统研究的意义
随着我国成功加入
WT O
及信息化浪潮的日益临近,
企业经营管理机制正在发生着根
本性的变化,企业要想在激烈的市场竞争环境下求得生的存
,
就必须有效地利 用人才、
时间、信息结合的优势,就必须有效地进行企业内部改革和加强企业管理。借助
现代信
息技术和管理理论,建立企业管理信息系统势在必行。
企业工资社会福利保障管理是公司管理的一个重要内容。
企业工资社会福利保障管
理系统是实现管理信息系统化的不可缺少的部分,
它的内容对于用户以及 决策者和管理
者来说都至关重要,
所以企业工资社会福利保障管理系统应 该能够为用户提供充足的信
息和快捷的查询手段。但一直以来人们使用传统人工的方式管
理文件档案,这种管理方
式存在着许多缺点,如:效率低、保密性差;另外时间一长,将
产生大量文件和数据,
这对于查找、更新和维护都带来了不少的困难。随着科学技术的不
断提高,计算机科学
日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各
个领域并发挥着越
来越重要的作用。作为计算机应用的一部分,使用计算机对工资信息进
行管理,具有手
工管理所无法比拟
的优点,例如:检索迅速、查找方便、可靠性高、存储量大、保密性
好、寿命长、成本低
等。这些优点能够极大地提高企业工资社会福利保障管理的效率,
使办公人员可以轻松快
捷地完成企业工资社会福利保障管理的任务。
随着当今企业人员
数量增加
,企业的工资管理工作也变得越来越复杂。如果能实现企业工资社会福利保障
管理的自动
化,无疑将给企业部门带来企业管理部门带来很大的方便。
目前市面上
流行的企业工资社会福利保障管理系统不少。但是,对于企、事业单位
的企业工资社会福
利保障管理系统来说,不需要太大型的数据库系统。只需要一个操作
方便,功能实用,能
同时满足本单位数据的管理及需求的系统。我的目标就是在于开发
一个功能实用、操作方
便,简单明了的企业工资福利社会保障管理系统。
2
系统开发所采用的技术
2.1
Java
语言
Java
是一种可以撰写 跨平台应用软件的面向对象的程序设计语言,是由
Sun
Micros
ystems
公司于
1995
年
5
月推出的
Java
程序设计语言和
Java
平台( 即
JavaSE,
JavaEE
,
Ja vaME
)的总称。
Java
技术具有卓越的通用性、高效性、平 台移植性和安全
性,广泛应用于个人
PC
、数据中心、游 戏控制台、科学超级计算机、移动电话和互联
网,同时拥有全球最大的开发者专业社群。
Java
是一种简单的,跨平台的,面向对象的,分布 式的,解释的,健壮的安全的,
结构的中立的,可移植的,性能很优异的多线程的,动态
的语言。当
1995
年
SUN
推出
Java
语言之后,全世界的目光都被这个神奇的语言所吸引。
Java
编程语言的风格十分接近
C
、
C++
语言。
Java
是一个纯的面向对象的程序设计 p>
语言,它继承了
C++
语言面向对象技术的核心,
< p>Java舍弃了
C
++
语言中容易引起错误
的指针(以引用取代)
、运算符重载(
operator
overloading
)
、多重继承(以接口取代)
< p>等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程
序员不用再为内存管理而担忧。
Java
编 程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可
移植、高性能
、多线程和动态的语言。
Java
的特点
1
、平台无关性
平台无关性是
指
Java
能运行于不同的平台。
Java
引进虚 拟机
原理,并运行于虚拟
机,实现不同平台的
Java
接口之间。使用
Java
编写的程序能在世界范围 内共享。
Java
的数据类型与
机器无关,
Java
虚拟机(
Java Virtual Machine
)是建立在硬件和操作系统
之上,实现
Java
二进制代码的解释执行功能,
提供于不同平台的接口的。
2
、安全性
Java
的编程类似
C++
,
学习过
C++
的读者将很快掌握
Java
的精髓。
Java
舍弃了
C++
的指针对存储器地址的直接操作,程序运行时,内存由操
作系统分配,这样可以避免病
毒通过指针侵入系统。
Java
< p>对程序提供了安全管理器,防止程序的非法访问。
3
、面向对象
Java
吸取了
C++
面向对象的概念,将数据封装于类中,利用类的优点,实现 了程序
的简洁性和便于维护性。类的封装性、继承性等有关对象的特性,使程序代码只需
一次
编译,然后通过上述特性反复利用。程序员只需把主要精力用在类和接口的设计和应
用
上。
Java
提供了众多的一般对象的类,通过继承即 可使用父类的方法。在
Java
中,类
的继承关系是单一
的非多重的,
一个子类只有一个父类,
子类的父类又有一个父类。
Java
提供的
O bject
类及其子类的继承关系如同一棵倒立的树形,根类为
Object p>
类,
Object
类功能强大,经常会使用到它及其它派生的
子类。
4
、分布式
< br>Java
建立在扩展
TCP/IP
网络平台上。库函数提供 了用
HTTP
和
FTP
协议传送和接
受信息的方法。这使得程序员使用网络上的文件和使用本机文件一样容易。
5
、健壮性
Java
致力于检查程序在编译和运行时的错误。
类型检查帮助检查出许多开发早期出
现的错误。
Java
自己操纵内存减少了内存出错的可能性。
Java
还实现了真数组,避免了
覆盖数据的可能,这些功能特征
大大提高了开发
Java
应用程序的周期。并且
Java
还提
供了
Null
指针检测、数组边界检测、异常 出口、
Byte code
校验等功能。
6
、解释型
我们知道
C
,
C++
等语言,都是针对
CPU
芯片进行编译,生成机器代码,该代码的
运行就和特定的
CPU
有关。
Java
不像
C
或
C++
,它不针对
CPU
芯片进行编译,而是把
< p>程序编译成称为自字节码的一种“中间代码”
。字节码是很接近机器码的文件,可以 在
提供了
java
虚拟机(
JVM
)的任何系统上被解释执行。
7
、动态
java
而类又
是运行时动态装载的,这就使得
Java
可以在分部环境中动态的维护程序及分类 ,
而不像
C++
那样,没档期类库升级以后,如果想让程 序具有新类库提供的功能,就需要
修改程序,重新编译。
2.2 Swing
Swing
是一个用于开 发
Java
应用程序用户界面的开发工具包。
它以抽象窗口工具包
(
AWT
)为基础使跨平台应用程序可以使用任何可插拔 的外观风格。
Swing
开发人员只
用很少的代码就可以
利用
Swing
丰富、灵活的功能和模块化组件来创建优雅的用户界
面。
Swing
是一个为
J ava
设计的
GUI
工具包。
Swing
是
JA
V
A
基础类的一部分。
Swing
包括了图形用户界面
(GUI)
器件如:文本框,按钮,分隔窗格和表。
SWING<
/p>
提供许多比
AWT
更好的屏幕显示元素。它们用纯
J ava
写成,所以同
Java
本身一样可以跨平台运行,
这一点不像
AWT
。它们是
JFC
的一部分。它们 支持可更换
的面板和主题(各种操作系统默认的特有主题)
,然而不是真 的使用原生平台提供的设
备,而是仅仅在表面上模仿它们。这意味着你可以在任意平台上
使用
JA
V
A
支持的任意
面板。轻量级元件的缺点则是执行速度较慢,优点就是可以在所有平台上采用统一的行
为
。
同
AWT
的关系:
Java
的早期版本以来,抽象视窗工具包为用户界面组件提供了平台独 立的
API
。在
AWT
中,每个组件都由一个原生的等同组件生成和控制,这个原生组件是由当前的 图
形视窗系统决定的。
与此相对,
Swing
组件经常被描述为轻量级的,< /p>
因为它们不需要操作系统本身所带
视窗工具包的原生资源来生成。
Swing API
的大部分是
AWT
的补充扩展而不是直接的代替。
Swing
用来绘制轻量级
组件的核心渲染功能是由
Java2D
提供的,
这是 p>
AWT
的一部分。
然而,
轻量级和重量级
组件在同一个应用中使用会导致
Z-order
不兼容
同
SWT
的关系:
标准器件工具包是一个最初由
IBM
开发的工具包,现在由
E clipse
基金会维护。
SWT
的实 现同重量级的组件
AWT
有更多的共同之处。
这样的好处是运行开 销同所在平
台的原生视窗工具包更为接近。
S
WT
的到来使得
Java
桌面的开发者们分离为
S WT
的支持者和
Swing
的支持者。
在
6.0
版
Java
中,
Swing
的新修补专注于同原生视窗平台的逼真度,这可能会直接解决这
个问题。
2.3
Mysql
数据库
MySQL
最初的开 发者的意图是用
mSQL
和他们自己的快速低级例程
(ISAM)
去连接
表格。经过一些测试后,开发者得出结论:
mSQ L
并没有他们需要的那么快和灵活。这
导致了一个使用几乎和
一样的
API
接口的用于他们的数据库的新的
SQL
接口的
产生,这样,这个
API
被设计成允许为用于
mSQL
而写的第三方代码更容易移植到
MySQL
。
与其他的大型数据库例如
p>
Oracle
、
DB2
、
SQL p>
Server
等相比,
MySQL
自有它的不
足之处,如规模小、功能有限(
MySQL
Cluster p>
的功能和效率都相对比较差)等,但是
这丝毫也没有减少它受欢迎的程度。<
/p>
对于一般的个人使用者和中小型企业来说,
MySQL
提供
的功能已经绰绰有余,而且由于
MySQL
是开放源码软件,因此可以大大降低总 体
拥有成本。
MySQL
是一 种的关系型系统
(
RDBMS
)
,
MySQL
数据库系统使用最常用的数据库
管理语言
--
结构化查询语言(
SQL
)进行数据库管理。
< /p>
由于
MySQL
是开放源代码的,因此任何人都可以在 p>
General Public License
的许可
下下
载并根据个性化的需要对其进行修改。
MySQL
因为其速度、可靠性和适应性而 备
受关注。大多数人都认为在不需要事务化处理的情况下,
MySQL< /p>
是管理内容最好的选
择。
MyS
QL
是最受欢迎的开源
SQL
数据库管理系统,
它 由
MySQL AB
开发、
发布和支
持。
MySQL A B
是一家基于
MySQL
开发人员的商业公司,它是一家使用了一 种成功的
商业模式来结合开源价值和方法论的第二代开源公司。
MySQ L
是
MySQL AB
的注册商
标。
2.4
开发工具
MyEclipse
,
是一个十分优秀的用于开发
Java
,
J2EE
的
Eclipse
< p>插件集合,MyEclipse
的功能非常强大,
支持也十分 广泛,
尤其是对各种开源产品的支持十分不错。
MyEclipse
企业级工作平台(
MyEclipse
Enterprise
Workbench
,简称
MyEclipse
)是对
EclipseIDE
的扩展,利用 它我们
可以在数据库和
JavaEE
的开发、发布以及应 用程序服务器的整合方面极大的提高工作效率。它是功能丰富的
JavaEE
集成
开发环境,包括编码、调试、测试和发布功能,完整支持。
MyEclipse 8.5
的主要改进是在团队写作和集中工作环境的 集中配置管理方面。同时
MyEclipse 8.5
还包含了上百个功能
的改进和新特性,这些新功能和特性将让
MyEclipse
8.5
用户在开发代码,测试,以及部署应用方面都得到极大的便利。
M
yEclipse 8.5
M1
新增了大量的应用程序服务器联接器,让
MyEclipse 8.5
支持更多的应用程序服务器。
在结构上,
MyEclipse
的特征可以被分为
7
类:
< p>
1
.
JavaEE
模型
2
.
WEB
开发工具
3
.
EJB
开发工具
4
.应用程序服务器的连接器
5
.
JavaEE
项目 部署服务
6
.数据库服务
7
.
MyEclipse
整合帮助
对于以上每一种功能上的类别,在
Eclipse p>
中都有相应的功能部件,并通过一
系列的插件来实现它们。
M yEclipse
结构上的这种模块化,可以让我们在不影响其
他模块的
情况下,对任一模块进行单独的扩展和升级。
简单而
言,
MyEclipse
是
Eclipse
的插件 ,也是一款功能强的
JavaEE
集成开发
环境,
支持代码编写、
配置、
测试以及除错,
MyEclips e6.0
以前版本需先安装
Eclipse
。
MyEclipse6.0
以后版本安装时不需安装
Eclipse
。