课程设计
题目人事管理系统
专业班级计0902
学号20__9
指导老师杨XX
完成时间20-11
为了加深对课堂理论学习的理解,提高应用水平,增强动手能力,为毕业设计做准备。我们进行了此次数据库原理与应用的课程设计。我们组本次课程设计的主要任务是开发设计一个人事管理系统。该人事管理系统主要完成员工资料和薪酬的管理,包括工资料和薪酬记录的添加、修改、查询和删除,以及一些辅助项目的管理,如工作部门管理、基本工资信息管理和技能工资信息。该设计主要涉及数据库的建立、连接和释放操作、数据库表中记录的读取和写入操作的功能,以及数据环境的设置使用和数据控件的绑定及填充技术。
这次课程设计要求我们掌握使用现在比较流行的数据库管理系统或数据库开发工具进行数据库管理操作(如建库、建立完整性约束,对数据库中数据进行查询,更改等操作)的方法;同时,要学会使用一种开发工具开发出有相当完善功能并有一定规模的数据库应用系统。通过设计对SQL语言要有较深入的了解和掌握,对数据库的管理(主要是安全性、完整性方面)要有一定程度的了解,会对表、视图(存储过程、触发器这两个可选)等的使用。该设计主要包括人事管理系统的概述和预览,系统的设计和分析,数据库的设计和创建,系统所含模块的设计和实现。
刚开始拿到这个题目感觉有点茫然不知从何下手,最后经过老师的指点我们有了一个大体的设计理念,在加上查看相关数据库设计的书籍、上网查找相关资料我们的头脑中有了较为清晰的设计思路。然后我们就顺着自己的思路一步步地开始了我们的设计。
首先是进行需求分析,其中包括功能需求,性能需求,数据需求,运行需求。因为我们对于人事管理都没有太多的了解,这其中有什么需求我们也不是很清除,最后我们又通过调查,再加上参考类似系统的设计思想我们终于完成了需求分析这项首要任务。
再下来是根据需求分析我们更进一步地确定了该系统的功能,进而划分模块,确定各模块的功能。在此基础上确定该系统中所涉及的各个实体,以及与各实体相关的属性。画,得出其关系模式。然后就可进一步进行详细的设计。
其实说的简单点这次设计主要就是分为两大块:数据库的建立和人事管理整个系统的设计开发。先说说我们对于人事管理这个系统的设计。
刚开始我们打算是用C语言进行系统的开发,因为我们在图书馆找到了相关的资料,后来想到我们对于C也不是了解,怕其中出现问题不好解决,所以我们最后就听取了老师及同学的建议用VisualBasic语言来做。至于VB,我觉得很多和我们以前涉及的MFC很相像。在设计窗口界面时,VB自身就提供了很多控件,我们可以任意选择自己需要的组件,也可以任意将其拖到我们需要或是认为合理的位置。这就使得我们在设计窗口界面时格外方便。但是在完成了窗口界面的设计之后我们遇到了难题。究竟如何将这些窗口链接起来我们真的是无从下手。没办法我们只好再去泡图书馆,找到与VisualBasic相关的书籍潜心研究,不过还好我们还是解决了不少问题。但是因为是初次接触这门语言,其中很多地方我们还是理解不到位,我们又去请教了老师,经过老师的耐心指导,我们的作品也更加完善了。
下来说说数据库的建立。我觉得与系统的设计相比数据库的建立简单许多。我们就根据老师交给我们的方法,对照着课本上数据库建立的步骤一步步地进行。先是进行需求分析,然后根据分析结果进行概念结构设计,把所有的信息要求统一到一个整体逻辑中。然后是逻辑结构设计,将概念设计阶段型转换为特定机器上的、DBMS所支持的数据模型并进行优化,再就是使用主语言和数据库管理系统的DDL语言进行结构式的程序设计。接下来就是数据库的实施阶段,就是利用DBMS提供的数据语言及其宿主语言将逻辑设计和物理设计的结果严格地描述出来,编制和调试原程序,组织数据入库,并进行试运行。在完成了数据库的建立之后还应记得为数据库添加各种约束,我们通过触发器使得数据库实现了级联删除,并且避免了用户向数据库中插入重复数据。
在这次课程设计中我的主要任务是完成数据库的建立。总的来说进行的还是比较顺利,毕竟经过一学期的学期对于数据库的应用掌握的还是比较熟练的。当然其中还是遇到了许多
困难。比如在数据库设计初始,在划分模块确定各实体及关系时,也许是因为自己对于人事管理不太了解,也许是因为自己对于数据库整体概念还是理解的不是很到位,所以迟迟不能确定该系统所设计相关的实体以及它们之间的关系,最后还是查阅相关资料才确定了下来。再就是在为数据库创建约束时,只记得大体语句格式,其中出现了很多语法错误,最后还是对照课本改正了过来,这就教育了我对于任何重要的知识不能只知其大概,应清楚每一个小点。值得一提的是,在这其中我还学到了不少知识。以前在进行级联删除的约束时,我们总是通过SQL语句实现,但在这次设计中我从指导老师那还学到了另一种更为简单方便的方法,不需要记SQL语言,只需简单几步就搞定。
另外我的任务就是整理实验报告,为了我们的报告更加清晰易懂,我严格按照规定,然后参考我们设计的步骤详细地对我们这次设计进行了表述。其中涉及了我们具体的设计内容、设计目的、设计步骤以及我们所遇到的问题及解决方案。
在完成了我的主要任务之余我还参与了窗口界面的设计,因为当时分工的原因,我对于VisualBasic语言没有太多的研究,只是简单地看了看。我主要就是协助队友,对于窗口整体效果方面给点建议,然后就是帮助她们理解一些书本上不太容易理解的地方。
从浅的层次来说,通过这次设计我将所学知识与实际结合了起来,将课本知识系统化,使得我对课本知识有了更加深刻的理解。对于我更深层的意义是让我体会到了团队与合作的力量,这次我们小组共三个人,在这期间我们为选择开发语言等许多问题有过争执与分歧,但就是在这其中我们才得以成长,最终我们算是地完成了任务。我希望今后有更多类似的机会使自己得到更多锻炼。