资源描述
数据库课程实习公司人事管理系统的设计与实现电气与计算机学院2017年6月数据库课程实习公司人事管理系统的设计与实现小组成员:付紫钲、王子昂 袁嘉隆、周 正指导教师:袁一平、杜丽英 专 业:计算机科学与技术摘要随着科学技术的不断提高计算机科学日已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对物资信息进行管理,具有手工管理所无法比拟的优点。人事档案管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。本人事档案管理信息系统的一些基本功能和组成情况包括系统的需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行维护等步骤。本系统主要的模块有:用户登录、人事信息的、查询、删除、修改及统计、系统维护以及退出系统。本课题采用STS开发工具利用其提供的各种面向对象的开发工具是能方便而简洁操纵数据库的智能化对象短期内就可以开发出用户满意的可行系统,在开发方法上使用生命周期法。关键词:人事档案管理;管理信息系统;STS;SQLSERVER2005ABSTRACTWith the continuous improvement of science and technology, computer science has entered every field of human society and is playing a more and more important role. As a part of computer application, using computer to manage material information has the incomparable advantages of manual management. Personnel file management system is a typical information management system (MIS), its development mainly includes the establishment and maintenance of back-end database and front-end application development of two aspects. For the former, it is necessary to establish a library with strong data consistency and integrity and good data security.For the latter, it requires the application program to be fully functional and easy to use. Some of the basic functions of the personnel archives management information system and the composition including the system requirement analysis, concept structure design, logic structure design, physical structure design, database implementation, database operation and maintenance. The systems main modules are: user login, personnel information, query, delete, modify and statistics, system maintenance, and exit system.This paper uses STS development tools provided by the use of its various object-oriented development tools can be convenient and simple manipulation of the intelligent object database in the short term can develop a satisfactory system, in the development of methods of life cycle method.Key words: personnel file management; management information system; STS; SQL SERVER 2005第一章 概述1.1随着计算机应用的普及,推动企业计算机管理现代化的时机已经到来,采取信息化管理是企业在新经济时代的必然趋势,也是企业管理者的迫切需求。信息技术为企业的发展提供了机遇,也带来了挑战。如何改良你公司的内部经营机制,公正、客观、全面、快捷地记录和评估有关员工的信息,实现以人为本的经营战略,提高人事管理工作的效率,使人事管理员有更多的精力去做人力资源分析、研究和开发工作,开拓未来,领先同行业的关键。作为现代人事管理的重要手段之一,人事信息化建设在此过程中将起到不可代替的作用。只有通过人事管理信息系统,人事管理人员才能跨越时空、地域的障碍,在第一时间完成对信息的归集,并从浩如烟海的数据中找到有用信息,为管理决策者提供及时、准确的决策依据!我国的企业自身的基础薄弱,一是人事管理基础薄弱,主要表现为人事管理体制过于分散,多数企业很难实现人事资料信息管理制度;人事管理制度不健全、不规范。二是一些工业企业生产装备自动化、信息化水平低,不能准确提供完整的实物信息。三是几乎所有行业都没有统一、规范的产品编码,企业自己搞的产品编码不健全、不规范。目前有好多类似的人事管理系统,但一个信息系统的开发不但是一个高投入、高技术的项目,而且是一个牵涉问题面广、拖延时间长的项目,从信息管理的角度来看,一个信息系统开发项目决不仅仅是一个纯技术性的问题,还须用技术、管理和组织相结合的综合观点来指导此类项目的开发。与发达国家大企业相比,我国人事管理信息化建设工作的总体水平还很低,处在起步阶段。这个人事管理系统管理公司的人事信息,提供查询功能,方便用户的统计分析。第二章 数据库设计2.1 需求分析本系统主要是为了帮助企业的人事部门和财务主管部门提高工作效率,减少企业不必要的开销,从企业的根本利益出发,实现企业人事信息管理的系统化和自动化。根据我们日常生活中的经验,根据我们所做的其他询问和调查,得出用户的下列实际要求:(1)企业相关情况 与人事管理相关的情况有:管理员、员工、及领导者。人事管理的所有日常工作都是围绕这几大部分进行。一个公司有一个领导者每个公司可以分成财政部、人力部、市场部、生产部、信息部、证券部等部门,每个部门有一个管理者,并且只能在一个部门任职,每个部门有不同的员工,每个员工只能在一个部门工作,每个员工有姓名,性别,学历,工作岗位,参加工作时间,家庭住址,联系电话,籍贯,民族,出生日期,部门等信息。(2)用户对系统的要求a)信息要求:系统的使用主体是管理员还有公司领导人,因此对系统的信息要求可分为以下几个方面:管理员:编号,姓名,账号,权限,密码员工:姓名,性别,学历,婚姻状况,工作岗位,家庭住址,联系电话,籍贯,出生日期,部门,工资部门领导者:编号,账号,权限,密码企业领导人:编号,账号,密码,权限b)处理要求:该系统主要是针对简化公司人事管理工作,主要的使用对象是公司的人事部门和一些部门领导者。通过研究我们发现一些公司一直以来使用传统人工的方式管理人事档案,这种管理方式存在着许多问题,如:效率低、保密性差,另外时间一长,将会产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难,而且容易丢失。有些使用数据库管理的系统功能做的不是很好,不是不够智能就是操作复杂,一般的员工根本就不会使用,总之就是基本上都存在各方面的缺陷。c)安全性要求:1、系统应该设置访问用户的用户账号是否合法,并且要求合法账户使用自己的密码登陆该系统,保证自己的账户不被他人使用。2、系统应对每个用户设置一定的权限,如有些用户可以修改数据库中的数据而有些是不能修改的。权限的授予是更根据管理员来设置的,有一个专门的设置窗口。d)完整性要求:1、各种信息记录的完整性,信息记录不能为空;2、各种数据之间的相互依赖的正确性。3、相同的数据在不同的记录中的一致性。2.2表结构设计根据如上得到的用户需求,我们将本系统按照所完成的功能分成以下3个统:(1)管理员子系统输入自己的用户名和密码就可以进入人事管理系统的主界面,管理员基本上可以对系统用户、登录日志、部门信息、职位信息进行管理。(2)经理子系统输入自己的用户名和密码就可以进入人事管理系统的主界面,经理基本上可以对系统用户、雇员信息、公告信息、文档信息进行管理。(3)员工子系统输入自己的用户名和密码就可以进入人事管理系统的主界面,员工只可以对文档进行上传和下载。主要流程图如下图2-1所示:图2-1经上述分析,我们得到了对于该系统的基本要求和系统模块的划分,综上,我们对管理员子系统、经理子系统和员工子系统在需求分析中形成的数据流图如下:1.数据流图(1)管理员信息管理系统管理员信息管理子系统的数据流图如图2-2所示图2-2(2)经理信息管理系统经理信息管理子系统的数据流图如图2-3所示图2-3(3)用户信息管理系统用户信息管理子系统的数据流图如图2-4所示图2-42.3系统数据字典1) 数据流描述:人事信息管理系统包含的主要数据流包括:系统用户登录信息(用户名,密码),公告信息,文档信息,用户信息,雇员信息,部门信息,职位信息数据流名称:用户登录信息说明:用户登录时输入的用户名和密码数据流来源:用户输入数据流去向:登录处理组成:用户名、密码2) 数据流名称:公告信息说明:经理权限用户登录后添加、修改或删除公告,其他用户查看公告信息数据流来源:用户输入数据流去向:经理权限用户添加、修改或删除公告信息,非管理员用户查看公告组成:经理权限用户用名,密码3) 数据流名称:文档信息说明:经理权限用户登录后上传、下载或删除文档,其他用户只可上传和下载文档数据流来源:用户输入数据流去向:经理权限用户登录后上传、下载或删除文档,其他用户只可上传和下载文档组成:经理权限用名,密码4) 数据流名称:雇员信息说明:经理权限用户登录后新增、修改或删除雇员信息数据流来源:用户输入数据流去向:经理权限用户登录后新增、修改或删除雇员信息组成:经理权限用名,密码5) 数据流名称:部门信息说明:管理员权限用户登录后新增、修改或删除部门信息数据流来源:用户输入数据流去向:经理权限用户登录后新增、修改或删除部门信息组成:管理员权限用名,密码6) 数据流名称:职位信息说明:管理员权限用户登录后新增、修改或删除职位信息数据流来源:用户输入数据流去向:经理权限用户登录后新增、修改或删除职位信息组成:管理员权限用名,密码第三章 概念结构设计3.1局部E-R图对用户要求描述的现实世界(可能是一个工厂、一个商场或者一个学校等),通过对其中住处的分类、聚集和概括,建立抽象的概念数据模型。这个概念模型应反映现实世界各部门的信息结构、信息流动情况、信息间的互相制约关系以及各部门对信息储存、查询和加工的要求等。所建立的模型应避开数据库在计算机上的具体实现细节,用一种抽象的形式表示出来。以扩充的实体(E-R模型)联系模型方法为例,第一步先明确现实世界各部门所含的各种实体及其属性、实体间的联系以及对信息的制约条件等,从而给出各部门内所用信息的局部描述(在数据库中称为用户的局部视图)。第二步再将前面得到的多个用户的局部视图集成为一个全局视图,即用户要描述的现实世界的概念数据模型。数据流图:系统用户实体图 对象:用户 用户的属性如图3-1所示图3-1部门实体图 对象:部门 部门的属性如图3-2所示图3-2职位实体图 对象:职位 职位的属性如图3-3所示图3-3文档实体图 对象:文档 文档的属性如图3-4所示图3-4公告信息实体图 对象:公告信息 公告信息的属性如图9所示图3-5雇员信息实体图 对象:雇员信息 雇员信息的属性如图3-6所示图3-63.2 人事管理系统 E-R图各个局部视图即分E-R图建立好后,还需要对它们进行合并,集成为一个整体的数据概念结构,即总E-R图。视图集成后形成一个整体的数据库概念结构,对该整体概念结构还必须进一步验证,确保它能够满足下列条件:(1)整体概念结构内部必须具有一致性,即不能存在互相矛盾的表达。(2)整体概念结构能准确地反映原来的每个视图结构,包括属性、实体及实体间的联系。(3)整体概念结构能满足需要分析阶段所确定的所有要求。经过消除不必要的冗余数据和冗余联系得到总体E-R图如图3-7所示:图3-7第四章 逻辑结构设计4.1人事管理系统 E-R图图4-14.2 关系模式转换把概念结构设计转化为逻辑结构设计为:部门(部门ID,部门名称,部门信息,状态)职位(职位ID,职位名称,职位信息)用户(用户ID,用户昵称,账号,密码,权限,状态)公告(公告ID,公告标题,公告信息,发布时间,发布者)文档(文档ID,文档标题,文档名称,文档信息,上传者)雇员(雇员ID,职位ID,部门ID,姓名,身份证,家庭住址,QQ,电话号码,邮箱,性别,生日,学历,特长,政治背景,额外信息,入职时间)登录日志(日志ID,登录者ID,IP地址,登录时间)4.3 数据关系图根据以上分析,创建数据库,其中包括七个数据表:部门、职位、用户、公告、文档、雇员、登录日志。图4-2第五章 物理结构设计数据库物理设计是后半段。将一个给定逻辑结构实施到具体的环境中时,逻辑数据模型要选取一个具体的工作环境,这个工作环境提供了数据存储结构与存取方法,这个过程就是数据库的物理设计。 物理结构依赖于给定的DBMS和和硬件系统,因此设计人员必须充分了解所用RDBMS的内部特征、存储结构、存取方法。数据库的物理设计通常分为两步,第一,确定数据库的物理结构,第二,评价实施空间效率和时间效率。(1) 系统用户信息表系统用互信息表(oa_user)主要保存系统用户的基本信息。表oa_user的结构如表5-1。表oa_user 5-1 列名数据类型长度约束说明User_idInt11Not null用户IDAccountVarchar32账号User_nameVarchar32昵称PasswordVarchar128密码StatusInt1状态Role_namevarchar32权限(2) 职位表职位表(oa_job)主要保存职位信息。表oa_job的结构如表5-2。表oa_job 5-2列名数据类型长度约束说明Job_idInt11Not null职位IDJob_nameVarchar32职位名称remarkvarchar255职位信息(3) 部门表部门表(oa_department)主要保存部门信息。表oa_department的结构如表5-3。表oa_department 5-3列名数据类型长度约束说明Dept_idInt11Not null部门IDDept_nameVarchar16部门名称RemarkVarchar255部门信息Is_deleteint1状态(4) 文档表文档表(oa_document)主要保存文档信息。表oa_document的结构如表5-4。表oa_document 5-4列名数据类型长度约束说明Doc_idInt11Not null文档IDTitleVarchar62文档标题FilenameVarchar128文档名称RemarkVarchar255文档信息User_idInt11上传者ID(5) 公告表公告表(oa_notice)主要保存公告信息。表oa_notice的结构如表5-5。表oa_notice 5-5列名数据类型长度约束说明Notice_idInt255Not null公告IDTitleVarchar50公共标题ContentText0公告信息Create_timeDatetime0发布时间User_idInt11发布者ID(6) 登录日至表登录日志表(sys_login_log)主要保存登录日志信息。表sys_login_log的结构如表5-6。表sys_login_log 5-6列名数据类型长度约束说明IdVarchar255Not null登录IDUser_idInt11登录者IDIpVarchar255IP地址Login_timedatetime0登陆时间(7) 雇员表雇员表(oa_employee)主要保存雇员信息。表oa_employee的结构如表5-7。列名数据类型长度约束说明Emp_idIntNot null雇员IDDept_idInt部门IDJob_idInt职位IDEmp_nameVarchar32姓名Card_idVarchar20身份证AddressVarchar64家庭地址Qq_Varchar20QQPhoneVarchar20电话号码EmailVarchar63电子邮件SexChar2性别BirthdayVarchar0生日EducationVarchar10学历SpecialityVarchar20特长RaceVarchar20政治背景RemarkVarchar255额外信息Create_dateDatetime入职时间第六章 用户操作界面设计6.1 登录模块登录界面即为系统首页如图6-1,从首页根据输入的用户名、密码来进行登录操作,通过连接数据库在oa_user表中进行相应验证,如果表中有此用户名和密码,则验证通过而进入系统,如果表中没有此用户相应信息,则验证不能通过而继续留在登录首页。图6-1 登录界面图6.2.管理员模块登录时判断用户权限,当权限为管理员时,管理系统界面如图6-2.图 6-2 管理员模板6.2.1 系统用户管理信息(1)系统用户信息。列表显示所有该系统使用者的信息。如图6-3。图6-3 系统用户信息列表(2)添加用户信息管理员可以添加用户信息。姓名不能空,账号不能重复,两次输入密码必须一致。如图6-4。图6-4添加用户信息(3)更新用户信息管理员可以更改用户信息。如图6-5.图6-5更新用户信息(4)删除用户信息管理员可以删除用户信息,并且显示为注销。如图6-6.图6-6删除用户信息(5)条件查询可以根据用户权限就行条件查询。如图6-7图6-7 条件查询6.2.2 登录日志管理模块(1)显示信息列表记录每次使用该系统的用户登录信息。如图6-8图6-8显示信息列表(2)统计线性表将每次的登录次数汇总形成统计的线性表。如图6-9图6-9统计线性表6.2.3 部门信息管理模块(1)部门列表信息如图6-10.图6-10部门列表信息(2)添加部门信息如图6-11图6-11添加部门信息(3)更新部门如图6-12图6-12更新部门6.2.4 职位信息管理模块(1)职位列表信息如图6-13图6-13职位列表信息(2)添加职位信息如图6-14图6-14添加职位信息(3)更新职位信息如图6-15图6-15更新职位信息6.2.5 修改口令模块管理员、经理、员工可以修改密码。如图6-16图6-16 修改口令6.3 经理模块登录时若为经理权限,则管理系统界面为图6-17所示。图6-17 经理模块6.3.1 雇员信息模块(1)雇员信息列表如图6-18图6-18雇员信息列表(2)添加雇员信息如图6-19图6-19 添加雇员信息(3)更新雇员信息如图6-20图6-20 更新雇员信息(4)导出Excel如图6-21图6-21 导出Excel6.3.2 公告模块(1)公告列表信息如图6-22图6-22 公告列表信息(2)添加公告信息如图6-23图6-23 添加公告信息(3)更新公告信息如图6-24图6-24 更新公告信息(4)删除公告如图6-25图6-25 删除公告6.3.3 文档模块(1)文档列表信息如图6-25图6-25 文档列表信息(2)上传如图6-26图6-27 上传(3)下载如图6-27图6-276.4 员工模块当登录权限为员工时,管理界面如图6-28图6-28 员工界面6.4.1 文档模块操作方式如经理模块中的文档模块一样,不做赘述。图6-29 文档模块第七章 软件测试软件测试的目的,第一是确认软件的质量,其中一方面是确认软件做了你所期望的事情,另一方面是确认软件以正确的方式来做了这个事件。第二是提供信息,比如提供给开发人员或程序经理的反馈信息,为风险评估所准备的信息。第三软件测试不仅是在测试软件产品的本身,而且还包括软件开发的过程。如果一个软件产品开发完成之后发现了很多问题,这说明此软件开发过程很可能是有缺陷的。因此软件测试的第三个目的是保证整个软件开发过程是高质量的。7.1 关于效率的考虑7.1.1测试目的1.测试发现程序中因操作失误而出现的错误。2.测试发现程序中的隐藏错误。3.测试发现因算法出现的结果错误。7.1.2 测试方法程序执行的测试.该方法不适合大单元、大系统的测试,也不适合于评测中心,测试部门的测试。它只适合于很小的单元、可以枚举用例的测试。程序功能的测试,面向需求分析中的功能、性能,设计测试用例,搭建测试环境,输入测试用例,运行被测试的系统,获得测试数据计划相比较,取得测试结果,根据测试结果,形成测试报告。1.模块测试 分别对每个模块进行测试。然后根据数据流图中各模块之间的调用关系,进行模块接口、局部数据结构、重要的执行通路、出错处理通路进行测试。测试结果正常。2.系统调试对每个输出语句都加断点调试,确定输出无误。7.2容错处理7.2.1 控件操作控制1.采用禁止操作的方法 不相容的操作控制。如:添加时删除不允许。2.采用文字提示的方法 预先提示操作不可行。操作后提示不可行3,采用事后警告的方法 可以操作但可能出现一些问题。如在删除数据时7.2.2键盘操作控制1.根据输入的ASCII码值判断用户的输入操作2.根据输入的ASCII码值判断,禁止一些非法字符的输入 如登记号为数字,该文本框只能响应数字键3.对输入的字符进行判断,处理掉不允许的字符或字符串 如登记号文本框已输入字符,在保存时转换为数字。7.2.3数据库操作控制1.单机多用户使用管理员权限、经理权限、员工权限。2.多机多用户使用在数据库维护中,加入独占用户锁,保证数据增、删、改时的一致性。7.3 系统维护网站的维护主要包括以下内容管理员管理、经理管理。参考文献1 (美)埃克尔Java编程思想:机械工业出版社2 (美)Cay S.Horstmann Gary Cornell 译者: 叶乃文 邝劲筠 杜永萍Java核心技术,卷I:基础知识(原书第8版) :机械工业出版社3 陈湘.ASP.net与网站开发编程实战M.第一版.北京:清华大学出版社,2002.54 李明刚、肖建.ASP.Net web站点高级编程范例M.第一版.北京:清华大学出版社,2004.45 张跃廷、房大伟、梁水.ASP.Net范例完全自学手册M.北京:人民邮电出版社,2009.106 刘韬.Web数据库开发M.第一版.北京:化学工业出版社,200.37 王珊、萨师煊.数据库系统概述M.第四版.北京:高等教育出版社,2006.58 SQL范例完全自学手册M.第一版.北京:人民邮电出版社,2009.19 张海藩.软件工程导论M.第五版.北京:清华大学出版社,2008.2附录1数据库原理课程设计任务书一、 设计目的数据库课程设计是软件工程专业和计算机科学与技术专业的一个综合性的设计型实验,是培养学生数据库设计、开发、应用能力的重要实践性教学环节。开设数据库课程设计主要目的是:通过本实训,使学生进一步了解数据库的设计方法、掌握一种数据库系统开发工具(如PB、ASP、.NET)的使用。通过设计实际的数据库系统,进一步熟悉数据库管理系统的操作技术,提高动手能力,提高系统分析和解决问题的能力。二、 设计工作要求本课程设计要求学生采用项目小组的形式,结合具体软件开发项目,完成以下设计内容:1. 需求分析对系统的功能及性能要求进行分析,写出需求规格说明书,并制定需求跟踪矩阵,以便在设计后期创建测试用例以对应需求,若使用面向对象的开发方法,则应确定系统的对象模型,状态模型及处理模型。2. 数据库设计2.1 概念结构设计(1) 画出系统各部分(子系统)E-R模型图(2) 消除冲突和冗余,合并各部分E-R模型图,形成总体E-R模型图2.2 逻辑结构设计(1) 完成E-R模型向关系模型的转换。(2) 对关系模型进行优化。(3) 完整性约束设计(如主键约束、外键约束等)。(4) 完成实体之间的一对一、一对多、多对多策略,具体是以逻辑关联还是键关联。(5) 针对具体业务设计多表连接(基本连接、内连接、外连接、交叉连接、谓词连接、集合连接)及嵌套查询方案,并编写脚本样例。(6) 数据库设计应参照范式和相关规范(包括视图、索引等)。2.3 物理结构设计存储结构设计(如数据表的构成,字段名称,字段数据类型,字段长度等)2.4 建立数据库系统。将所设计表的结构在数据库管理系统上实现,要求生产备份文件(备份数据库或导出数据库表到文本文件)。3. 设计用户操作界面。在用户操作界面确定之后,根据系统功能要求设计出界面。明确各界面之间的调用关系及界面调用流程,并确定流程图。4. 软件设计与实现在确定系统总体设计方案基础上,首先建立系统架构设计,并设计连接数据库的基本方式,完成系统的模块结构图及模块的功能说明。根据系统功能要求,选择合适的软件开发平台完成程序设计、针对不同的业务逻辑及流程补充数据库设计时的存储过程、触发器、函数设计,并对视图等进行设计。在这里特别强调选用的开发平台和数据库的连接,在软件开发中,请写出在开发平台的编程环境下如何实现对数据库的操作(增、删、改、查)。要求必须包含级联操作、批量更新操作、游标操作、适当增加事务管理机制。5. 软件测试完成软件的测试,结合数据库知识,检测数据操作的正确性、完整性。要求应根据系统的需求设计相应的测试数据方案(特别是一些异常情况的处理),写出测试结果。三、 设计任务及要求1. 3-4人成立一个开发小组,选出小组项目负责人,并对小组成员按任务进行分工,写出项目开发计划;2. 按软件开发的方法,分阶段进行开发;小组可以自己选用相应的开发语言(ASP、C+、.NET不限)和数据库管理系统(Access、SQLServer、Oracle、MySQL不限)。3. 要求在雪球分析的基础上,做好数据库设计工作,完成系统的功能,并记录主要模块的数据库操作实现部分。4. 完成设计任务后,以小组为单位,总结全部设计工作,完成课程设计报告,并在规定的时间内提交给指导教师。课程设计报告要求有完整的格式,包括封面、正文等。正文主要包括需求分析、数据库设计、软件设计和实现主干代码及测试案例。注:附录中应包括数据库课程设计任务书和小组成员分工情况(由组长写明);此外,注明每人的数据库部分实现代码(每人一份,注上姓名);最后,总结设计和开发过程的经验和教训,写出设计总结(每人一份,要求手写,附在小组报告最后)。报告中请使用VISIO画图;设计报告参照数据库课程设计报告样例。5. 本课题涉及小组成员的集体协作,要求遵守设计时间的安排,有相应的团队精神。四、 参考题目序号题目1教室管理信息系统的设计与开发2求职招聘系统的设计与实现3校友信息管理系统设计与实现4高校学生公寓管理系统设计与开发5毕业设计选题系统的设计与实现6试题库管理系统的设计与实现7风雅颂诗坛网站设计与实现8健康信息咨询软件的设计与实现9教师科研成果管理系统10校园社会实践网络信息平台的设计与实现11超市进销存管理系统的设计与实现12高校学生信息管理系统设计与实现13公司人事管理系统的设计与实现14网络考试系统的设计与实现15网上书店的设计与开发16房屋出租平台的设计与实现17快捷酒店管理系统的设计与开发18列车车次信息查询系统的设计与实现19医院网上预约挂号系统的开发20毕业生就业信息管理系统的设计与开发21在线考试系统22中小学教师与家长交流平台的构建与实现23网上报名系统设计与实现24航空公司管理信息系统25运动会成绩管理系统26企业人事工资管理系统27花店销售系统设计与实现28网上调查问卷管理系统的设计与实现29毕业设计选题系统设计与实现30订餐配送平台的设计与实现31在线旅游产品系统的设计与实现32建大教职工评价系统的设计与实现33火车票预订系统34高校助学贷款管理系统35网上旅游系统的设计与实现36实验室仪器设备管理系统的设计与实现五、 时间地点及进度安排数据库课程设计为期2周,实训地点:实验楼五楼A504,计算机科学与技术和软件工程专业发生在15-16周,网络工程专业发生在18-19周。具体安排如下:六、 综合设计考核标准1. 考勤,占40%2. 理论设计方案,占30%3. 设计报告,占30%注:凡有抄袭现象一经发现,小组成员成绩均为不及格。七、 教师校内指导教师:张沛露、吕冬梅、袁一平附录2小组成员分工情况组长付紫钲:完成大部分代码设计组员周 正:负责数据库的搭建组员王子昂:负责流程图和表格组员袁嘉隆:负责说明文档实现代码(付紫钲)1.登录核心代码ControllerRequestMapping(/sys/loginlog)public class LoginLogController Autowiredprivate LoginLogService loginLogService;GetMapping(/find)public String find(Pager pager,ModelMap modelMap)/传递数据modelMap.addAttribute(pager, this.loginLogService.find(pager);return jsp/loginlog/find;GetMapping(/toStatistic)public String toChars()return jsp/loginlog/statistic;GetMapping(/statistic)ResponseBodypublic ListMap chars()return this.loginLogService.statistic();2.权限分配核心代码Overridepublic void contextInitialized( ServletContextEvent sce ) System.out.println(加载数据 开始);/固定的数据Map roleMap = new HashMap();roleMap.put(admin, 超级管理员);roleMap.put(manager, 经理);roleMap.put(employee, 普通员工);/WEB域保存在Application的范围ServletContext application = sce.getServletContext();application.setAttribute(roles, roleMap);Map map1 = new HashMap();map1.put(url, sys/user/index);map1.put(name, 系统用户管理);Map map2 = new HashMap();map2.put(url, sys/loginlog/find);map2.put(name, 登录日志管理);Map map3 = new HashMap();map3.put(url, sys/employee/find);map3.put(name, 雇员信息管理);Map map4 = new HashMap();map4.put(url, sys/department/list);map4.put(name, 部门信息管理);Map map5 = new HashMap();map5.put(url, sys/job/list);map5.put(name, 职位管理);Map map6 = new HashMap();map6.put(url, sys/notice/find);map6.put(name, 公告管理);Map map7 = new HashMap();map7.put(url, sys/document/list);map7.put(name, 文档管理);Map map8 = new HashMap();map8.put(url, sys/user/password);map8.put(name, 修改口令);ListMap adminList = new ArrayList();adminList.add(map1);adminList.add(map2);adminList.add(map4);adminList.add(map5);adminList.add(map8);ListMap managerList = new ArrayList();managerList.add(map1);managerList.add(map3);managerList.add(map6);managerList.add(map7);managerList.add(map8);ListMap employeeList = new ArrayList();employeeList.add(map7);employeeList.add(map8);Map menuMap = new HashMap();menuMap.put(admin, adminList);menuMap.put(manager, managerList);menuMap.put(employee, employeeList);application.setAttribute(menus, menuMap);System.out.println(加载数据 完毕);Overridepublic void contextDestroyed( ServletContextEvent arg0 ) / TODO Auto-generated method stub3.部门核心代码private DepartmentService departmentService;/* * 控制层 - 显示部门的列表信息 * param model * return */GetMapping(/list)public String list(Model model)model.addAttribute(departmentList, this.departmentService.list();return jsp/department/list;/* * 控制层 - 用于跳转到添加页面 * return */GetMapping(/add)public String toAdd()return jsp/department/add;PostMapping(/add)public String save(Department department,Model model)try this.departmentService.save(department);model.addAttribute(flag, success);model.addAttribute(message, 新增部门信息成功); catch (RuntimeException ex) / TODO: handle exceptionex.printStackTrace();model.addAttribute(flag, error);model.addAttribute(message, ex.getMessage();return jsp/message;GetMapping(/update/id)public String toUpdate(PathVariable(id) Integer dept_id,Model model)model.addAttribute(department, this.departmentService.load(dept_id);return jsp/department/update;PostMapping(/update)public String update(Department department,Model model)try this.departmentService.update(department);model.addAttribute(flag, success);model.addAttribute(message, 更新部门信息成功); catch (RuntimeException ex) / TODO: handle exceptionex.printStackTrace();model.addAttribute(flag, error);model.addAttribute(message, ex.getMessage();return jsp/message;PostMapping(/delete)ResponseBodypublic Map delete(Integer dept_id)Map map = new HashMap();try this.departmentService.delete(dept_id);map.put(flag, success);map.put(message, 删除部门信息成功); catch (RuntimeException ex) / TODO: handle exceptionex.printStackTrace();map.put(flag, error);map.put(message, ex.getMessage();return map;GetMapping(/validDepartmentName)ResponseBodypublic Map valid(String dept_name)Map map = new HashMap();try this.departmentService.validDepartmentName(dept_name);map.put(flag, success); catch (RuntimeException ex) / TODO: handle exceptionex.printStackTrace();map.put(flag, error);map.put(message, ex.getMessage();return map;4.部门数据库操作部分 !- 做主键映射 -
展开阅读全文