来帮助我开发java的图形化界面。用Netbeans做出来的界面需要我们自己来进行微调,还要进行代码的一些优化工作。不过可以大大地提高我们的开发效率,使得我们可以专心与程序自身的业务逻辑和数据库的设计。 在数据库方面,我选择了Mysql作为我的数据库工具。MySQL是一个小型关系型数据库管理系统,其特点是体积小、速度快且是开源的。所以对于我们做课程设计是搓搓有余的,而且速度很快,用起来很方便快捷。 2.4 系统开发流程 由于我们实际上做的是课程设计,所以我们不可能和实际项目的开发流程是一样的。但是我还是尽量按照实际的流程去做,尽量模拟实际的情况。首先我选定课题,然后进行需求分析,在需求分析中还包括了解业务逻辑,把握功能需求和相关权限设置等一系列的对于整个系统的规划。之后,我开始着手设计数据库。这一阶段是非常重要的,因为之后的系统开发就是在良好的数据库模型的基础上进行设计的。如果没有设计良好的数据库,那么在之后的系统开发中就会遇到数据冗余,查询困难,操作繁琐等一系列的难题,从而使系统开发进度缓慢。所以在这一阶段,我花费了很长时间来设计数据库,尽量做到冗余很少,至少符合3NF范式的要求。 之前的准备工作差不多花费了将近一周的时间。但是在开发过程中,我发现我的数据库设计还存在缺陷,所以我又一边小心修改数据库一边开发系统,这样就导致了系统开发效率低下的状况。 我的整个开发流程如下: 选定课题 需求分析 数据库设计 系统开发 6 / 32 系统测试 完成设计 3需求分析 3.1 需求分析的目的及意义 需求分析是一个非常重要的过程,它完成的好坏直接影响后续软件开发的质量。一般情况下,用户并不熟悉计算机的相关知识,而软件开发人员对相关的业务领域也不甚了解,用户与开发人员之间对同一问题理解的差异和习惯用语的不同往往会为需求分析带来很大的困难。所以,开发人员和用户之间充分和有效的沟通在需求分析的过程中至关重要。 有效的需求分析通常都具有一定的难度,一方面是因为交流存在障碍,另一方面是因为用户通常对需求的陈述不完备、不准确和不全面,并且还可能不断地变化。开发人员不仅需要在用户的帮助下抽象现有的需求,还需要挖掘隐藏的需求。此外,把各项需求抽象为目标系统的高层逻辑模型对日后的开发工作也至关重要。合理的高层逻辑模型是系统设计的前提。 在进行需求分析的过程中,首先要明确需求分析应该是一个迭代的过程。由于市场环境的易变性以及用户本身对于需求描述的模糊性,需求往往很难做到一步到位。需求分析不仅仅是属于软件开发生命周期早期的一项工作,而且还应该贯穿于整个生命周期中,它应该随着项目的深入而不断地变化。 此外,为了方便后续的评审和测试等工作,需求的描述应该尽量做到:具体、详细、可以测量和可以实现,并且基于时间。 3.2 系统需求分析 3.2.1系统权限分配 系统权限有以下两种:管理员 和 普通员工。权限定义如下表所示: 人员类型 普通员工 管理员 权限描述 查看员工资料、请假、考勤签到和签离、薪资等信息,填写业绩报告 除普通员工的权限外,还可审批请假和业绩报告的信息 修改员工资料,核实加班请假信息并计算月工资 除人事助理的权限外,还有指定员工起薪等权限 7 / 32 可以指定上下班时间,增加或是修改部门信息 可以修改或是增加职位信息 在员工进入公司时录入员工档案 指定出差人员,批准请假申请等 3.2.2 系统功能模块描述 由于时间仓促,没有精力去进行调研,所以本次开发的需求理解建立在本人的理解和通过谭台哲老师给的系统模型理解的等基础上,有点不正规化。最终本人认为人事/工资/考勤管理系统主要功能模块及子功能模块应该包括: 本系统必须具备的功能有: (1)系统登录(用户名与密码) (2)增加员工 (3)设置员工新权限(特定员工的权限) (4)员工信息(员工信息修改与添加、查询、删除) (5)员工的调动(包括升降职、离职等) (6)出勤信息(通过员工登陆签到,签离得到相应出勤信息) (7)员工工资(通过员工编号、月份、基本工资、奖金可直接得到员工实际工资情况) (8)相关查询(通过员工基本信息情况) (9)导出员工信息和批量导入员工信息 (10)对于部门,位置信息的修改或是增加 4、总体设计 4.1 系统功能分析 基于上面的分析,按照软件工程的思想,对考勤信息管理系统进行功能分析: ? 登陆模块 ? 登录功能,包括密码找回等功能 ? 人事管理模块 ? 员工资料录入,管理员在员工就职时给予初始化 ? 员工查询,全部可见 ? 员工信息管理,包括修改,删除。普通员工只能修改自己的信息,管理员则可以修改全部 ? 部门管理,管理员添加部门,普通员工查看 8 / 32 ? 考勤管理模块 ? 请假申请,普通员工申请,管理员给予审核 ? 请假审核,普通员工申请,管理员给予审核 ? 考勤管理,由员工登陆系统签到、签离 ? 请假查询,全部可查询 ? 工资管理模块 ? 薪资管理,包括了基本工资,奖惩,考勤等综合方面 ? 业绩评定,员工提出申请,管理员审核,并记录到奖惩管理模块。 ? 工资查询,员工查看自己的工资,管理员查看全部的信息 ? 奖惩管理模块 ? 奖惩管理,包括考勤和业绩等 ? 奖惩管理,查看所有奖惩,全部可见 ? 系统管理模块 密码的修改、安全退出系统等 ? 安全管理模块 ? 安全管理,为了信息的保留,所有操作都会被记录下来 ? 公告管理模块 ? 公告管理,管理员发布信息,普通员工可以查看 4.2 数据库设计 4.2.1概念结构的主要特点是: ? 能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求,是对现实世界的一个真实模型。 ? 易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库设计的成功关键。 ? 易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充。 ? 易于向关系、网状、层次等各种数据模型转换。 描述概念模型的有力工具是E-R模型。 4.2.2ER模型(非完整) 9 / 32 4.2.3关系表
4.2.4数据描述 表格 属性 属性类型,大小 是否主外键 备注 employee 员工 employeeId employeeName 10 / 32 int(11) 主键 varchar(30) 员工号 员工姓