软件需求分析报告文档模板.doc
1.1编写目的课程设计作为一门实践性课程,通过课程设计,使学生掌握数据库系统的基本概念、原理和技术,将理论与实际相结合,应用现有的数据建模工具和数据库管理系统软件,规范、科学地完成一个小型数据库的设计与实现,把理论课与实验课所学内容进行综合,并在此基础上强化学生的实践意识、提高其实际动手能力和创新能力。课程设计,从数据库的需求分析开始,通过概念设计,逻辑设计物理设计,数据库实施,系统实现等完整地设计一个数据库系统,要求学生从数据库设计到开发,完成一个数据库实现全过程。设计要求学生独立完成,完成数据库系统的需求分析、数据库的创建、规范化、编码、测试等各阶段的任务,并编写课程设计报告。通过课程设计,使学生掌握数据库系统的基本概念、原理和技术,将理论与实际相结合,应用现有的数据建模工具和数据库管理系统软件,规范、科学地完成一个小型数据库的设计与实现,把理论课与实验课所学内容进行综合,并在此基础上强化学生的实践意识、提高其实际动手能力和创新能力。本次数据库课程设计的题目是职工考勤系统。设计过程中我们主要应用了MYSQL 的软件进行设计。本程序主要建立了七张表。他们是:员工信息表、权限表、考勤统计表、出差信息表、请假信息表、加班信息表、时间设置表。本程序的功能是配合人事管理系统和工资管理系统的使用,充分地记录员工的出勤情况,以便得出最准确的工资数目,可以开发考勤管理系统。进行出勤情况统计的过程中,要充分考虑到各种缺勤情况的类别。此系统其主要功能有出勤情况的输入、考勤情况的定期统计。1.2背景考勤作为一个企业的基础管理,是企业对员工工作管理的基本依据。实际管理和记录工作非常需要快速获知各个部门员工的每日出勤情况,以便于及时向高层管理者反映员工的出勤,缺勤情况(包括迟到、早退、病假、事假、出差等情况)。我们提出基于C/S结构的网络考勤系统,实现网上考勤任务,以减轻考勤人员的工作量。我们准备开发员工考勤管理系统,完成员工基本信息维护、企业的部门信息维护、企业基本考勤类型的维护、员工考勤的管理、员工考勤的查询与分析。实现人事考勤的需要,包括员工迟到、早退、请假、旷工的情况的记录,在每个月底计算工资对员工和对员工进行绩效评估的时候,对员工整个月的考勤记录进行查询和统计。企业考勤管理系统是为了解决员工考勤管理的而设计的,目的是建立一个能够初步实现企业考勤管理系统的智能化管理,提高考勤管理效率,工作人员能够在各个岗位上的工作状态得到及时的反馈,而系统所需的工作人员的数量少,率高。降低资源浪费,同时增强员工管理的透明度以及约束员自觉遵守出勤制度。1.3定义考勤管理系统是指一套管理公司的员工的上下班考勤记录等相关情况的管理系统。是考勤软件与考勤硬件结合的产品,一般为HR部门使用,掌握并管理企业的员工出勤动态。狭义上定义,考勤管理系统单指考勤软件管理系统。1. 2任务概述2. 2.1目标3. 1)规范企业管理,实现对全公司人员管理的实时监控。4. 2)实现较完善的考勤管理体系。3) 为企业领导决策提供依据。4) 系统符合实际生产需求,人机界面友好、操作简便。4.1 2.2用户的特点 该系统可以广泛应用于员工、考勤管理人员和系统维护人员,方便日常考勤的管理、故障处理与终端用户的控制。5. 3需求规定5.1 3.1对功能的规定输入处理输出用户名数据库处理用户名正确密码数据库处理密码正确文本判断是否为空为空出错;否则正确5.2 3.2对输入输出的要求1. 用户名:注册时不能重复且不能为空、登陆时不能为空2. 密码:注册时不能为空且必须两边输入的密码都要相等、登陆时不能为空6. 第二章、课程设计的内容7. 2.1需求分析7.1 2.1.1 系统目标以及功能为了配合人事管理系统和工资管理系统的使用,充分地记录员工的出勤情况,以便得出最准确的工资数目,可以开发考勤管理系统。进行出勤情况统计的过程中,要充分考虑到各种缺勤情况的类别。此系统其主要功能有出勤情况的输入(可以使用考勤机)、考勤情况的定期统计,数据库数据维护等功能。7.2 2.1.2 系统目标设计² 实现企业员工出勤情况的详细的、系统的管理。² 可以很好地与其他系统配合,例如人事管理系统、工资管理系统等。人事管理系统工资管理系统考勤管理系统与津贴有关与工资有关图1考勤系统的位置² 使得企业员工的管理更加现代化、科学化、自动化,并可以很好地督促企业员工更好地为企业谋福利。² 可以使用考勤机,使得企业的管理更加现代化。7.3 2.1.3 系统功能分析 员工考勤系统能够和考勤机相连,可以把数据导入数据库中,从而完成自动、高效、科学的考勤信息的输入。 可以完成员工信息的手工输入、修改、删除等操作。 可以设定缺勤的类型,如病假、事假等。 可以进行考勤情况统计,例如月终、年终统计,生成统计报表。 可以对数据库进行维护,例如数据备份。 要有相应的帮助文件。7.4 2.1.4 实现功能这个系统的主要功能有:数据入库、查询、修改和删除等。因此,本系统的主要功能由以下几个部分组成:1) 基本信息模块系统管理员完成对员工基本信息的录入,修改,删除等操作。2) 日考勤管理模块输入每日考勤情况,完成完成对员工的考勤以及对考勤情况的查询,统计和删除员工考勤等情况。3) 月考勤管理模块输入日考勤信息,出差信息和请假信息,完成员工一个月的考勤统计。4) 出差模块输入员工出差时间和回来的时间,完成对员工出差信息的详细记录,为了完善员工考勤信息。5) 加班模块输入员工加班时间,完成对员工加班信息的详细记录,是为了完善员工考勤信息。6) 请假模块输入请假时间,完成对员工请假信息的详细记录,也是为了完善员工的考勤信息。7) 权限设置模块设置员工或管理员权限。7.5 2.1.5数据字典数据字典是系统中各类数据描述的集合,是进行详细数据收集和数据分析所获得的主要成果,数据字典是对系统所用到的所有表结构的描述,具体表描述如下: 表1是员工信息表列名数据类型备注工号Char(10)主键姓名Varchar(20)不为空性别Char(10)不为空年龄Int(11)可以为空职务Varchar(10)可以为空部门Varchar(10)可以为空学历Varchar(10)可以为空入职日期Dt可以为空CREATE TABLE yuangong ( 工号 char(10) NOT NULL, 姓名 varchar(20) NOT NULL, 性别 char(10) NOT NULL, 年龄 int(11) DEFAULT NULL, 职务 varchar(10) DEFAULT NULL, 部门 varchar(10) DEFAULT NULL, 学历 varchar(10) DEFAULT NULL, 入职日期 datetime DEFAULT NULL, PRIMARY KEY (工号) ENGINE=InnoDB DEFAULT CHARSET=utf8 表2是请假信息表列名数据类型备注工号Char(10)主键日期Dt主键开始日期Dt不为空总时间Int(11)不为空类型Char(10)不为空状态Char(10)可以为空备注Varchar(10)可以为空CREATE TABLE qingjia ( 工号 char(10) NOT NULL, 日期 datetime NOT NULL, 开始日期 datetime NOT NULL, 总时间 int(11) NOT NULL, 类型 char(10) NOT NULL, 状态 char(10) DEFAULT NULL, 备注 varchar(45) DEFAULT NULL, PRIMARY KEY (工号,日期) ENGINE=InnoDB DEFAULT CHARSET=utf8 表3是出差信息表列名数据类型备注工号Char(10)主键日期Dt主键开始日期Dt不为空结束日期Dt不为空总时间Int(11)可以为空地点Varchar(45)不为空CREATE TABLE chucai ( 工号 char(10) NOT NULL, 日期 datetime NOT NULL, 开始日期 datetime NOT NULL, 结束日期 datetime NOT NULL, 总时间 int(11) DEFAULT NULL, 地点 varchar(45) NOT NULL, PRIMARY KEY (工号,日期) ENGINE=InnoDB DEFAULT CHARSET=utf8 表4是加班信息表列名数据类型备注工号Char(10)主键日期Dt主键开始时间Char(10)不为空结束时间Char(10)不为空总时间Int(11)可以为空CREATE TABLE jiaban ( 工号 char(10) NOT NULL, 日期 datetime NOT NULL, 开始时间 char(10) NOT NULL, 结束时间 char(10) NOT NULL, 总时间 int(11) DEFAULT NULL, PRIMARY KEY (工号,日期) ENGINE=InnoDB DEFAULT CHARSET=utf8 表5是出勤信息表列名数据类型备注工号Char(10)主键日期Dt主键上班时间Dt可以为空下班时间Dt可以为空迟到Char(3)可以为空早退Char(3)可以为空CREATE TABLE chuqin ( 工号 char(10) NOT NULL, 日期 datetime NOT NULL, 上班时间 datetime DEFAULT NULL, 下班时间 datetime DEFAULT NULL, 迟到 char(3) DEFAULT NULL, 早退 char(3) DEFAULT NULL, PRIMARY KEY (工号,日期) ENGINE=InnoDB DEFAULT CHARSET=utf8 表6是时间设置表列名数据类型备注上班时间Char(10)主键下班时间Char(10)不为空总时间Char(10)可以为空CREATE TABLE shezhishijian ( 上班时间 char(10) NOT NULL, 下班时间 char(10) NOT NULL, 总时间 char(10) DEFAULT NULL, PRIMARY KEY (上班时间) ENGINE=InnoDB DEFAULT CHARSET=utf8 表7是权限表列名数据类型备注工号Char(10)主键密码Char(10)不为空权限Varchar(45)不为空CREATE TABLE login ( 工号 char(10) NOT NULL, 密码 char(10) NOT NULL, 权限 varchar(45) NOT NULL, PRIMARY KEY (工号) ENGINE=InnoDB DEFAULT CHARSET=utf88. 2.2概念结构设计概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合,归纳和抽象,形成独立于具体的DBMS的概念模型。8.1 2.2.1数据流图 数据流图表达了数据和处理的关系,根据用户的需求分析和职工系统考勤的系统需求,得出如下的职共考勤系统的数据流图员工部门日考勤考勤统计出差加班请假 图2是职工考勤系统的数据流图8.2 2.2.2系统ER图下面是本次设计中的个实体之间的E-R图:学历职务 员 工姓 名性 别工号年龄号入职日期部门图3员工信息实体图备注状态请 假 工 号开始日期 日期 总时间类型 图4请假信息实体图 地点总时间 出差信息 工号日期开始时间结束时间 图5出差实体图日期 加班 工号总时间结束时间开始时间 图6加班实体图出勤迟到 日期工号下班时间上班时间早退 图7 出勤实体图出勤统计员工出勤加班请假出差填写登记记载记录管理总结管理员 图8 考勤管理系统E-R图9. 2.3物理结构设计 数据库物理设计阶段的任务是根据具体计算机系统(DBMS和硬件等)的特点,为给定的数据库模型确定合理的存储结构和存取方法。所谓的“合理”主要有两个含义:一个是要使设计出的物理数据库占用较少的存储空间,另一个对数据库的操作具有尽可能高的速度。为了设计数据库的物理结构,设计人员必须充分了解所用DBMS的内部特征;充分了解数据系统的实际应用环境,特别是数据应用处理的频率和响应时间的要求;充分了解外存储设备的特性。数据库的物理结构设计大致包括:确定数据的存取方法、确定数据的存储结构。物理结构设计阶段实现的是数据库系统的内模式,它的质量直接决定了整个系统的性能。因此在确定数据库的存储结构和存取方法之前,对数据库系统所支持的事务要进行仔细分析,获得优化数据库物理设计的参数。对于数据库查询事务,需要得到如下信息: 要查询的关系。查询条件(即选择条件)所涉及的属性。连接条件所涉及的属性。 查询的投影属性。对于数据更新事务,需要得到如下信息:要更新的关系。每个关系上的更新操作的类型。删除和修改操作所涉及的属性。修改操作要更改的属性值。上述这些信息是确定关系存取方法的依据。除此之外,还需要知道每个事务在各关系上运行的频率,某些事务可能具有严格的性能要求。10. 2.4数据库的实施首先根据自己设计的模块建立一些逻辑关系,建立一些基本表:员工信息表(工号,姓名,性别,年龄,职务,部门,学历,入职日期)出差信息表(员工号,日期,开始日期,总时间,地点)请假信息表(工号,日期,开始日期,总时间,类型,状态,备注)加班信息表(工号,日期,开始时间,结束时间,总时间)出勤信息表(工号,日期,上班时间,下班时间,迟到,早退)权限表(工号,密码,权限)时间设置表(上班时间,下班时间,总时间)出差信息表员工信息表请假信息表加班信息表出勤信息表权限表时间设置表11. 系统模块设计11.1 在这个系统中各个模块之间独立工作,但是相互补充,日考勤表,记录了员工们每一天的出勤信息,但是不包括出差和请假的员工信息,所以就需要出差和请假这两个模块来补充这一缺陷,然后由日考勤、出差、请假这几个表共同得到月考勤信息。12.产品功能 1)、员工:可以对自己的员工密码就行修改、申请请假、查看加班情况与出勤情况 2)、管理员经理:能够管理员工的基本信息、招聘员工、对员工的请假进行审核、对员工加班进行安排、做出员工出勤的统计 我做的是管理员经理模块 员工管理系统应提供如下主要功能需求 1)、员工请假:员工填写请假申请表,等待经理审核,查看自己工作情况,看自己请假、未出席情况。 2)、审核员工请假:经理对于员工递交的请假申请表进行处理,同意请假后要进行记录,添加到员工工作情况中。 3)、统计员工出勤:对于员工已有的出勤、请假、未出席等等情况进行统计,给员工查看自己的工作情况。