最新数据库课程设计心得体会(通用8篇)
心得体会是指一种读书、实践后所写的感受性文字。好的心得体会对于我们的帮助很大,所以我们要好好写一篇心得体会下面小编给大家带来关于学习心得体会范文,希望会对大家的工作与学习有所帮助。
数据库课程设计心得体会篇一
今天进行了一次完整的数据库设计的过程,其实一直来说我都是非常害怕数据库的设计的,因为在刚刚接触的时候,我就知道,数据库设计其实是一个项目的开端,因为数据库设计实际上就是业务的设计,在需求清晰的时候,完成清晰流畅的业务设计又是一大难点。
一下为我自己的心得经验希望大家批评指正!
数据库设计应该遵循以下几个原则:
对需求的认知完全没有歧义;
有时更加困难的是一个实体会发生多个维度的分类,那么就把他的拆分维度一一分开;
“频道”概念在消息分发时是一个非常灵活的概念;
总结,其实我在今天的数据库设计中就学习到这些,学习是一个逐渐进步的过程,也是一个自我折磨的过程,希望我可以在这条路上走的再远一点。
数据库课程设计心得体会篇二
一周的课程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情的.方法和技巧。在设计过程中,和同学们相互探讨,相互学习,相互监督。我学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世,这次课程设计对我来说受益良多。
课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程。“千里之行始于足下”,通过这次课程设计,我深深体会到这句千古名言的真正含义。我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础。我这次设计的科目是数据结。
数据结构,是一门研究非数值计算的程序设计问题中计算机的操作对象(数据元素)以及它们之间的关系和运算等的学科,而且确保经过这些运算后所得到的新结构仍然是原来的结构类型。“数据结构”在计算机科学中是一门综合性的专业基础课。数据结构是介于数学、计算机硬件和计算机软件三者之间的一门核心课程。数据结构这一门课的内容不仅是一般程序设计(特别是非数值性程序设计)的基础,而且是设计和实现编译程序、操作系统、数据库系统及其他系统程序的重要基础。通过这次模具设计,我在多方面都有所提高。
在界面设置中使用函数调用while。其中文本显示颜色和背景颜色都可以任意按照自己的喜好,任意改变,但改变的时候必须采用标准英文大写,同时在制作显示菜单的窗口,大小根据菜单条数设计。最后采用printf输出程序设计界面。
这次的程序软件基本上运行成功,可以简单的建立链式循环链表,并进行输出,及循环语句的运用和选择语句的控制。由于时间和知识上的限制,使得程序规模相对较小,即功能还不很全面,应用也不很普遍。原来c语言可是涉及很多知识,而不是枯燥无聊的简单的代码部分而已,利用c语言方面的知识,我们可以设计出更完善的软件。
通过这次的课程设计,更是让我深刻认识到自己在学习中的不足,同时也找到了克服这些不足的方法,这也是一笔很大的资源。在以后的时间中,我们应该利用更多的时间去上机实验,加强自学的能力,多编写程序,相信不久后我们的编程能力都会有很大的提高能设计出更多的更有创新的作品。
数据库课程设计心得体会篇三
一周的课程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情的方法和技巧。在设计过程中,和同学们相互探讨,相互学习,相互监督。我学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世,这次课程设计对我来说受益良多。
课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程。“千里之行始于足下”,通过这次课程设计,我深深体会到这句千古名言的真正含义。我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础。我这次设计的科目是数据结。
数据结构,是一门研究非数值计算的程序设计问题中计算机的操作对象(数据元素)以及它们之间的关系和运算等的学科,而且确保经过这些运算后所得到的新结构仍然是原来的结构类型。“数据结构”在计算机科学中是一门综合性的专业基础课。数据结构是介于数学、计算机硬件和计算机软件三者之间的一门核心课程。数据结构这一门课的内容不仅是一般程序设计(特别是非数值性程序设计)的基础,而且是设计和实现编译程序、操作系统、数据库系统及其他系统程序的重要基础。通过这次模具设计,我在多方面都有所提高。
在界面设置中使用函数调用while。其中文本显示颜色和背景颜色都可以任意按照自己的喜好,任意改变,但改变的时候必须采用标准英文大写,同时在制作显示菜单的窗口,大小根据菜单条数设计。最后采用printf输出程序设计界面。
这次的程序软件基本上运行成功,可以简单的建立链式循环链表,并进行输出,及循环语句的运用和选择语句的控制。由于时间和知识上的限制,使得程序规模相对较小,即功能还不很全面,应用也不很普遍。原来c语言可是涉及很多知识,而不是枯燥无聊的简单的代码部分而已,利用c语言方面的知识,我们可以设计出更完善的软件。
通过这次的课程设计,更是让我深刻认识到自己在学习中的不足,同时也找到了克服这些不足的方法,这也是一笔很大的资源。在以后的时间中,我们应该利用更多的时间去上机实验,加强自学的能力,多编写程序,相信不久后我们的编程能力都会有很大的提高能设计出更多的更有创新的作品。
数据库课程设计心得体会篇四
本次课程设计,使我对《数据结构》这门课程有了更深入理解。《数据结构》是一门实践性较强课程,为了学好这门课程,必须在掌握理论知识同时,加强上机实践。
我课程设计题目是线索二叉树运算。刚开始做这个程序时候,感到完全无从下手,甚至让我觉得完成这次程序设计根本就是不可能,于是开始查阅各种资料以及参考文献,之后便开始着手写程序,写完运行时有很多问题。特别是实现线索二叉树删除运算时很多情况没有考虑周全,经常运行出现错误,但通过同学间帮助最终基本解决问题。
在本课程设计中,我明白了理论与实际应用相结合重要性,并提高了自己组织数据及编写大型程序能力。培养了基本、良好程序设计技能以及合作能力。这次课程设计同样提高了我综合运用所学知识能力。并对vc有了更深入了解。《数据结构》是一门实践性很强课程,上机实习是对学生全面综合素质进行训练一种最基本方法,是与课堂听讲、自学和练习相辅相成、必不可少一个教学环节。
上机实习一方面能使书本上知识变“活”,起到深化理解和灵活掌握教学内容目;另一方面,上机实习是对学生软件设计综合能力训练,包括问题分析,总体结构设计,程序设计基本技能和技巧训练。此外,还有更重要一点是:机器是比任何教师更严厉检查者。因此,在“数据结构”学习过程中,必须严格按照老师要求,主动地、积极地、认真地做好每一个实验,以不断提高自己编程能力与专业素质。
通过这段时间课程设计,我认识到数据结构是一门比较难课程。需要多花时间上机练习。这次程序训练培养了我实际分析问题、编程和动手能力,使我掌握了程序设计基本技能,提高了我适应实际,实践编程能力。总来说,这次课程设计让我获益匪浅,对数据结构也有了进一步理解和认识。
一周的课程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情的方法和技巧。在设计过程中,和同学们相互探讨,相互学习,相互监督。我学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世,这次课程设计对我来说受益良多。
课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程。“千里之行始于足下”,通过这次课程设计,我深深体会到这句千古名言的真正含义。我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础。我这次设计的科目是数据结。
数据结构,是一门研究非数值计算的程序设计问题中计算机的操作对象(数据元素)以及它们之间的关系和运算等的学科,而且确保经过这些运算后所得到的新结构仍然是原来的结构类型。“数据结构”在计算机科学中是一门综合性的专业基础课。数据结构是介于数学、计算机硬件和计算机软件三者之间的一门核心课程。数据结构这一门课的内容不仅是一般程序设计(特别是非数值性程序设计)的基础,而且是设计和实现编译程序、操作系统、数据库系统及其他系统程序的重要基础。通过这次模具设计,我在多方面都有所提高。
在界面设置中使用函数调用while。其中文本显示颜色和背景颜色都可以任意按照自己的喜好,任意改变,但改变的时候必须采用标准英文大写,同时在制作显示菜单的窗口,大小根据菜单条数设计。最后采用printf输出程序设计界面。
这次的程序软件基本上运行成功,可以简单的建立链式循环链表,并进行输出,及循环语句的运用和选择语句的控制。由于时间和知识上的限制,使得程序规模相对较小,即功能还不很全面,应用也不很普遍。原来c语言可是涉及很多知识,而不是枯燥无聊的简单的代码部分而已,利用c语言方面的知识,我们可以设计出更完善的软件。
通过这次的课程设计,更是让我深刻认识到自己在学习中的不足,同时也找到了克服这些不足的方法,这也是一笔很大的资源。在以后的时间中,我们应该利用更多的时间去上机实验,加强自学的能力,多编写程序,相信不久后我们的编程能力都会有很大的提高能设计出更多的更有创新的作品。
数据库课程设计心得体会篇五
一、课程设计的目的本课程设计通过实际设计一个小型数据库管理系统,或者设计与实现一个颇具规模的数据库应用系统,使学生进一步理解所学到的原理性知识,培养学生开发大型系统软件的能力。
二、课程设计教学的基本内容和要求
可由指导教师给定参考题目,允许学生自行设计题目,但必须经指导教师批准才可用。下面给出课程设计的几个参考题目:
本项目对dbms的实现技术进行研究,通过建立和维护动态数据结构,实现数据的动态存储,研究实现dbms核心功能的算法及数据结构,设计sql语言处理程序,在此基础上,设计开发dbms原型系统,同时,也对系统软件的研制方法进行有益的探索。
1.设计一个小型数据库管理系统
背景资料:
1)图书室有各种图书一万多册。
2)每种图书都有书名、书号(isbn)、一名或多名作者(译者)、出版社、定价、内容简介:
3)借书证记录有借阅者的姓名、所在单位、职业等。
4)凭借书证借书,每次最多能借8本书。借书期限最长为30天。
设计要求:
1)进行需求分析,编写数据字典。
2)设计e-r图。
3)实现新进图书的数据录入。
4)实现对所有购进图书的分类查询和分类统计。
5)能够按书名、作者等分类查询现有图书的数量。
6)记录借阅者的个人资料和所借图书的书名、书号数据等。
3.员工薪资管理
背景资料:
1)某单位现有1000名员工,其中有管理人员、财务人员、技术人员和销售人员。
2)该单位下设4个科室,即经理室、财务科、技术科和销售科。
3)工资由基本工资、福利补贴和奖励工资构成,失业保险和住房公积金在工资中
扣除。
4)每个员工的基本资料有姓名、性别、年龄、单位和职业(如经理、工程师、销
售员等)。
5)每月个人的最高工资不超过3000元。工资按月发放,实际发放的工资金额为
工资减去扣除。
设计要求:
1)进行需求分析,编写数据字典。
2)设计e-r图。
3)实现按照科室录入个人的基本资料、工资和扣除金额的数据。
4)计算个人的实际发放工资。
5)按科室、职业分类统计人数和工资金额。
6)实现分类查询。
7)能够删除辞职人员的数据。
4.库存物资管理
背景资料:
1)有一个存放商品的仓库,每天都有商品出库和入库。
2)每种商品都有名称、生产厂家、型号、规格等。
3)出入库时必须填写出入库单据,单据包括商品名称、生产厂家、型号、规格、数量、日期、时间、入库单位(或出库单位)名称、送货(或提货)人姓名。
设计要求:
1)进行需求分析,编写数据字典。
2)设计e-r图。
3)设计出入库单据的录入。
4)实现按商品名称、出入库日期的查询。
5)实现分别按日、月和年对出入库商品数量的统计。
5、学生学籍管理系统
设计内容:主要的数据表, 学生基本情况数据表,学生成绩数据表,课程表,代码表等。
主要功能模块:
1)实现学生基本情况的录入、修改、删除等基本操作。
2)对学生基本信息提供灵活的查询方式。
3)完成一个班级的学期选课功能。
4)实现学生成绩的录入、修改、删除等基本操作。
5)能方便的对学生的个学期成绩进行查询。
6)具有成绩统计、排名等功能。
7)具有留级、休学等特殊情况的处理功能。
8)能输出常用的各种报表。
9)具有数据备份和数据恢复功能。
设计要求:进行需求分析,编写数据字典。设计e-r图。
学生成绩表的设计,要考虑到不同年级的教学计划的变化情况。
对于新生班级,应该首先进行基本情况录入、选课、然后才能进行成绩录入。
6、银行储蓄系统
设计内容:定期存款单,活期存款帐,存款类别代码表等。
功能模块
1)实现储户开户登记。
2)办理定期存款帐。
3)办理定期取款手续。
4)办理活期存款帐
5)办理活期取款手续。
6)实现利息计算。
7)输出明细表。
8)具有数据备份和数据恢复功能。
设计要求:要进行实际调研,系统功能在实现时参照实际的储蓄系统的功能。同时要考虑银行系统数据的安全与保密工作。数据要有加密功能。进行需求分析,编写数据字典。设计e-r图。
7、设备管理系统
设计内容:设备明细帐表,设备使用单位代码表,国家标准设备分类表等。
功能模块:
1)实现设备的录入、删除、修改等基本操作。
2)实现国家标准设备代码的维护。
3)能够对设备进行方便的检索。
4)实现设备折旧计算。
5)能够输出设备分类明细表。
6)具有数据备份和数据恢复功能。
设计要求:进行需求分析,编写数据字典。设计e-r图,具体设备编码参考国家统一编码方法,功能实现也要考虑通用性。
8、医院药品进销存系统
设计内容:药品分类代码表,药品库存表,供货商信息表,采购信息表等。
功能模块:
1)新药品的入库。
2)过期药品的出库登记、处理记录。
3)药品库存检索。
4)供货商信息检索。
5)药品采购记录管理。
6)药品用药说明信息管理。
7)输出相应的数据报表。
8)具有数据备份和数据恢复功能。
设计要求:具体项目内容去医院进行调研,药品编码也应参考国家统一编码方法。
三、课程设计的进度安排
1.课程设计应按教学计划的安排统一进行。
2.指导老师提前与学生见面,介绍课程设计的目的、意义、要求等。
3.每位学生自行选择题目,在教师指导下独立完成程序的设计、开发和调试等工作。
4.在指导老师的监督下学生分组完成课程设计答辩,答辩过程由学生主导,轮流担任答辨委员。以此来加强和督促学生重视课程设计,达到课程设计效果。
5.课程设计结束,学生应递交课程设计报告书和源代码。
6.指导老师在课程设计结束后1周内给出课程设计评语与成绩,并报送有关单位。
四、评分标准
课程设计成绩采用五级(优、良、中、及格、不及格)评分制,指导教师依据课程设计报告、实际调试结果和答辩情况评定成绩。注意:选择第一个题目的,成绩至少为良好。
五、其他
1.对先修课程的要求:要求学生修过计算机导论、高级语言程序设计、数据库原理及应用等课程。
2.注意事项:除了一人一题,学生还可以自行组团完成一个功能较完整的实用系统,每组人数限制在5人以内,每组一名负责人,并分工明确。
3.第11周周日举行答辩
附件:
课程设计报告
一、可行性研究报告、项目开发计划
二、需求分析、数据要求说明
三、概要设计、数据库设计说明书
四、详细设计说明书
六、总结
提交报告的格式:
1.正文宋体小四号字
2.文中英文用新罗马(time new roman),四号
3.源程序清单用英文新罗马五号
数据库课程设计心得体会篇六
由于平时接触的都是一些私人项目,这些项目大都是一些类库,其他人的交流相对可以忽略不计,因此也就不考虑规范化的文档。实际上从学习的经历来看,我们接触的知识体系都是属于比较老或比较传统的,与现在发展迅速的it行业相比很多情况已不再适用,尤其是当开源模式逐渐走近开发者后更是如此。
虽然这次是一个数据库课程设计,由于本人在选择项目的时候是本着对自己有实际应用价值的角度考虑的,所以其中也涉及到一些数据库以外的设计。对于ooa/ood的开发模式有时不免要提出一些疑问,uml是设计阶段的工具,而它基本涵盖了软件设计的方方面面,也就是说按照这一软件工程的正常流程,在动手写第一句代码之前,开发人员已经非常熟悉软件产品了,这对于相当有经验的架构师一类人说可能会很容易,但是我们作为学生,连足够的编码经验都没有,却首先被教授并要求先ooa再oop,这样直接导致的。问题就是文档与编码对不上号,在修改代码的时候基本不会再去审查文档和先前的分析。甚至根本就是现有代码再有文档,即便是这种情况,代码与文档还是不对应。不可否认,在传统软件工程的详细设计之前的项目过程中还是有很多利于项目开发的部分的。所以我就一直在寻找适合我针对探究型项目的开发模式,这次的项目也算是一次尝试,当然这个过程并不会太短。
回到数据库设计上了,这次的数据库设计我是严格按照数据库建模的步骤来进行的,老实说我并没有感觉这样的流程对开发带来多大的帮助,反倒是觉得将思维转化为图表很浪费时间。总体上来说这次的项目也不是很大,而且在数据库的设计上比较保守,也就是说实际上数据库设计还可以再完善完善的。随着我对计算机领域的拓宽和加深,我也会静下心来思考在接触计算机之前的行为,很多次我能深切感觉到,其实我的大脑(未于别人比较)本身就是在使用一种更接近关系数据库的方式来记忆,所以我很可恨自然的设计出符合三范式的表结构来,即便我不知道这些范式的确切含义。可能就像范式不太容易用通俗易懂的方式解释一样,在让工具用图标表述我的思维时费了一番力气。
从我作为项目的提出人和实现者来看,这是个失败的项目,结合几次教学项目的的实践,发现这也已经不是第一次了。主观原因占多数,比如,尝试新的开发方式,根据设计花了太多的时间来抽象出公用的库而忽略业务逻辑。就这次项目而言,失败的原因有以下几点:
使用了新的开发环境(vim),这是首次在脱离高级ide的情况下编码。
使用了新的开发语言(python,actionscript3),因为我一直比较喜欢学以致用,而且这样的数据驱动型软件的整套自实现的库都已经完成了,但是由于语言本身的差异,迁移时问题很多,当发现这一点是,已没有多少有效剩余时间了。编码流程的不妥,我比较喜欢从底层的库开始开发,因为一旦库测试通过,将很容易将它放到不同的表示层下。但如果库没有测试成功,将导致整个项目没有任何可视化模型,所以这次的项目无法提交可运行的代码。
实践目的的不同,我轻易不放弃锻炼的机会,事实上,有机会就一定要比以前有所突破,总是照搬以前的做法还不如就不做呢。这个前提是因为现在能完全用来的学习的时间比较多,等到工作时再这样做的可能性就很小了,因此当然要抓紧机会了。不过还有一个隐藏原因,总以为自己很了不起,其实遇到的问题数跟人的能力是成正比的。
数据库课程设计心得体会篇七
由于平时接触的都是一些私人项目,这些项目大都是一些类库,其他人的交流相对可以忽略不计,因此也就不考虑规范化的文档。实际上从学习的经历来看,我们接触的知识体系都是属于比较老或比较传统的,与现在发展迅速的it行业相比很多情况已不再适用,尤其是当开源模式逐渐走近开发者后更是如此。
虽然这次是一个数据库课程设计,由于本人在选择项目的时候是本着对自己有实际应用价值的角度考虑的,所以其中也涉及到一些数据库以外的设计。对于ooa/ood的开发模式有时不免要提出一些疑问,uml是设计阶段的工具,而它基本涵盖了软件设计的方方面面,也就是说按照这一软件工程的正常流程,在动手写第一句代码之前,开发人员已经非常熟悉软件产品了,这对于相当有经验的架构师一类人说可能会很容易,但是我们作为学生,连足够的编码经验都没有,却首先被教授并要求先ooa再oop,这样直接导致的问题就是文档与编码对不上号,在修改代码的时候基本不会再去审查文档和先前的分析。甚至根本就是现有代码再有文档,即便是这种情况,代码与文档还是不对应。不可否认,在传统软件工程的详细设计之前的项目过程中还是有很多利于项目开发的部分的。所以我就一直在寻找适合我——针对探究型项目——的开发模式,这次的项目也算是一次尝试,当然这个过程并不会太短。
回到数据库设计上了,这次的数据库设计我是严格按照数据库建模的步骤来进行的,老实说我并没有感觉这样的流程对开发带来多大的帮助,反倒是觉得将思维转化为图表很浪费时间。总体上来说这次的项目也不是很大,而且在数据库的设计上比较保守,也就是说实际上数据库设计还可以再完善完善的。随着我对计算机领域的拓宽和加深,我也会静下心来思考在接触计算机之前的行为,很多次我能深切感觉到,其实我的大脑(未于别人比较)本身就是在使用一种更接近关系数据库的方式来记忆,所以我很可恨自然的设计出符合三范式的表结构来,即便我不知道这些范式的确切含义。可能就像"范式不太容易用通俗易懂的方式解释"一样,在"让工具用图标表述我的思维"时费了一番力气。
从我作为项目的提出人和实现者来看,这是个失败的项目,结合几次教学项目的的实践,发现这也已经不是第一次了。主观原因占多数,比如,尝试新的开发方式,根据设计花了太多的时间来抽象出公用的库而忽略业务逻辑。就这次项目而言,失败的原因有以下几点:
使用了新的开发环境(vim),这是首次在脱离高级ide的情况下编码。
使用了新的开发语言(python,actionscript3),因为我一直比较喜欢"学以致用",而且这样的"数据驱动型"软件的整套自实现的库都已经完成了,但是由于语言本身的差异,迁移时问题很多,当发现这一点是,已没有多少有效剩余时间了。
编码流程的不妥,我比较喜欢从底层的库开始开发,因为一旦库测试通过,将很容易将它放到不同的表示层下。但如果库没有测试成功,将导致整个项目没有任何可视化模型,所以这次的项目无法提交"可运行的代码"。
实践目的的不同,我轻易不放弃锻炼的机会,事实上,有机会就一定要比以前有所突破,总是照搬以前的做法还不如就不做呢。这个前提是因为现在能完全用来的学习的时间比较多,等到工作时再这样做的可能性就很小了,因此当然要抓紧机会了。不过还有一个隐藏原因,总以为自己很了不起,其实"遇到的问题数跟人的能力是成正比的"。
数据库课程设计心得体会篇八
姓名:学号:班级:指导教师:
目录
1.概述。4
1.1问题的提出。4
1.1.1选题背景与意义。4
1.1.2开发工具简介。5
2.可行性分析。5
2.1社会可行性。5
2.2技术可行性。5
2.3经济可行性。6
3.需求分析。6
3.1系统业务流程图。7
3.4.2员工信息维护功能。8
3.4.3工资信息维护功能。8
3.5系统的数据需求。10
3.5.1总结出数据信息。10
3.5.3数据流图的数据字典。12
4.总体设计。13
4.1系统结构的总体设计。14
4.2.1员工基本信息维护模块。14
4.2.2工资信息维护模块。15
4.2.3查询信息模块。15
4.2.4计算工资模块。15
4.2.5打印模块。15
4.2.6登陆模块。15
5.详细设计。16
6.测试。18
7.调试。19
8.结论。19
9.参考文献。21
1.概述
1.1问题的提出
工资管理系统是一个数据库管理系统,是针对企业的工资管理业务进行计算机处理而开发的应用软件。它提供关于公司老员工及新员工信息和工资有效管理等事务的信息,由于需要添加和修改员工的信息和工资信息、删除离职员工信息和在职员工信息修改以及修改其他一些数据,工资管理系统由系统维护、输入、查询、修改、输出、统计等子模块组成,功能基本涵盖普通企业的工资管理业务范围。企业应用本系统后,可以有效的提高工资管理水平。
1.1.1选题背景与意义
现代科学的发展,使计算机进入了几乎一切领域,计算机已经是家喻户晓、无人不知了。从科学研究到工农业生产,从企业生产管理到家庭生活,各行各业都广泛地使用着计算机,可以说没有计算机,就没有现代化,计算机知识已经成为当代知识分子结构中不可缺少的一个重要组成部分。随着经济的发展,企业正面向着大型化、规模化发展,而对于大中型企业,员工、职称等跟工资管理有关的信息随之急剧增加。在这种情况下单靠人工来处理员工的工资不但显得力不从心,而且极容易出错。
在这种情况下,我们建立一个工资管理系统是必要的,该整个系统操作简便、界面友好、灵活、实用、安全的要求出发,完成人事、工资管理的全过程,包括新进员工加入时人事档案的建立、老员工的转出、职位等的变动引起职工信息的修改、员工信息查询、统计等人事管理工作以及新进员工工资的新增、老员工工资修改等工资管理工作。经过实际使用证明,本文所设计的人事工资管理系统可以满足本单位人事、工资管理方面的需要。
该设计主要介绍了本课题的开发背景,需求分析和功能设计等过程。
1.1.2开发工具简介
1)pd:powerdesigner,就是一个容易画出数据流图和生成数据库的逻辑模型和物理模型。该软件很容易实现把数据流图转化成相应的数据库的逻辑模型和物理模型。
2)solserver:它是一种关系数据库管理系统,能处理大量的数据和管理众多的并发用户,保证了数据的完整性,并提供许多高级管理和数据分布能力。
3)visualstudio.net:向开发人员提供了用于在操作系统之间和语言之间集成解决方案的工具。开发人员可将现有的业务逻辑方便地转换为可重复使用的xmlweb服务、封装进程并使它们能够用于任何平台上的应用程序。
2.可行性分析
2.1社会可行性
c/s模式系统以服务器作为数据处理和存储平台,在终端设计有专门的应用程序进行数据的采集和初次处理,再将数据传递到服务器端,用户必须使用客户端应用程序才能对数据进行操作。c/s模式具有专业化程度高、开发手段灵活、运行速度快等特点,但受到维护成本大、适应性弱等问题的影响。本系统利用了c/s模式,符合企事业单位的管理要求,为其实现较为先进的工资管理提供了有利的支持。
2.2技术可行性
使用powerbuilder开发传统意义上的c/s模式结构的数据库系统,可以利用其提供的许多对于数据库访问与控制的有效机制,开发过程并不是很长且难度适中。我们曾学习了《数据库原理及应用》,掌握了数据库的基本原理及数据库的设计方法,在此基础上我们又深入学习了powerbuilder的数据库系统开发。
2.3经济可行性
成本:本系统要求的计算机配置不是很高,需要设备购置费用较低,其他设备的购置成本也在承担能力之中。本系统运行费用较低,系统使用方便简洁。
收益:应用本系统能在一定时期内产生明显的收益,此外应用本系统提高了工作效率从而提高了管理水平;节省了人力,减轻了有关人员手工处理的工作负担;即使给管理者提供相应的辅助决策信息。
3.需求分析
需求分析的过程可以说是一个对具体问题的反复理解和抽象的过程。理解就是对现实问题的。理解,要弄清楚究竟需要解决什么问题。抽象就是除去问题的表面,提取问题的本质,建立问题的逻辑模型,以便于以后阶段的系统的设计实现。需求分析阶段是软件产品生存命期中的一个重要阶段,其根本任务是确定用户对软件系统的需求。所谓需求是指用户对软件的功能和性能的要求,就是用户希望软件能什么事情,完成什么样的功能,达到什么性能。通常需求分为两种类型:一种是功能性需求,一种是非功能性需求,这一点也需要有一种清楚的认识。功能性需求是指需要计算机系统解决的问题,也就是对数据的处理要求,这是一类最主要的需求。非功能性需求是指实际使用环境所要求的需求,往往是一些限制要求,例如:性能要求,可靠性要求,安全保密要求,等等。软件需求一般包含三个层次―业务需求、用户需求和功能需求,还包括非功能需求。业务需求:反映了组织机构或客户对系统、产品高层次的目标要求,它们在项目视图与范围文档中予以说明。用户需求:描述了用户使用产品必须要完成的任务和具备的功能,这在使用实例文档或方案脚本说明中予以说明。功能需求:定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足其业务需求。系统目的是能够用计算机实现对各种工资进行日常管理,如添加、删除、修改员工信息,能够根据员工的等级、职位以及出勤情况、奖金、津贴情况等进行工资的计算,能够使员工、部门方便地查询和统计各种信息,最后能生成报表反馈给员工等。
3.1系统业务流程图
通过对企业原先手工进行员工工资管理业务的情况,可以设计出它的业务流程图,如图4-1所示。
用户登录数据输入工资计算存储数据
工资查询报表汇总
图3-1
3.2系统的功能划分
1.工资信息设置部分:包括设置员工的基本工资和其他项目的金额,如奖金等。
并且负责设置员工工资的计算公式。
2.工资信息管理部分:包括统计出勤、计算工资、查询工资和导出工资表。
3.系统部分:包括添加用户和修改密码。
3.3系统的功能要求
1.整体结构合理,风格一致,模块化结构,界面清晰,接口灵活,操作简便。
2.开发方法,文档规范化,便于管理,可扩充。
3.完善的数据输入,维护,输出。
4.自检性能高,用户误输、错输均有提示。
5.容错性能高,某个用户的操作错误不会引起整个系统的瘫痪,每一功能的操
作都有信息提示以免重复操作,错误操作有警告,以便用户及时改正。
3.4用户的功能需求:
3.4.1登陆功能
该系统要有登陆功能。管理员要进行员工信息维护或者进行计算员工工资
时,必须首先进行登陆。同理,员工也要先进行登陆才能进行各种查询等操作。
1.用户权限设置,修改密码。
2.综合初始系统设置。
3.4.2员工信息维护功能
该系统要能够添加员工信息、删除员工信息和修改员工信息等功能。一个单位的员工不是一成不变的,总是在不断地变化,如有的员工被招聘进入公司,这时就要添加员工的基本信息;当员工辞职或者由于其它原因离开公司,这时就要删除员工的基本信息;当员工进行调动时,就要修改员工的基本信息了。
1.追加员工信息。
2.删除员工信息。
3.修改员工信息。
4.自动更新数据库。
3.4.3工资信息维护功能
1.该系统要能够输入员工基本工资:为了方便系统的计算员工的工资,系统应
该能够输入员工基本工资、奖金、津贴等一些工资数据,以计算员工的月工资或者年工资等。
2.该系统要能够修改员工基本工资:员工的工资不是一成不变的,它会发生变
化,这时就要求能够修改员工的工资等。
3.该系统要能够删除员工基本工资:当员工由于某种原因离开公司后,由于员
工的基本信息已经删除了,所以也要删除员工的基本工资等信息。
3.4.4查询功能
一个员工或者部门要更好了解自己工资、出勤情况、奖金、津贴等情况,可以进行相关的查询,为了有更好地适应性,查询应该可以根据各种情况进行查询,能够进行单项查询或者按一定的条件范围进行查询,如能够查询单个员工的工资情况,能够查询每个部门的工资情况和月工资的统计情况。
1.根据员工姓名查询员工的工资情况。
2.根据员工编号等查询员工的工资情况。
3.根据员工学历等各种条件组合查询员工的工资情况。
3.4.5计算功能
1.系统应该能够根据员工的基本工资、员工的出勤情况、资金和津贴情况进行
工资的计算。
2.系统应该根据能够根据加班的时间、加班的类别等计算出员工所得的津贴工
资。
3.系统应该能够根据各种员工在公司的工作表现、,计算出给员工的奖金。
4.系统应该能够计算各个部门的工资情况。
5.统计功能:为了更好地了解员工的人数情况、员工的工资情况、部门的工资
情况或者发放工资,系统应该能够对各个部门的总工资进行统计。
3.4.6打印功能
每月发放工资时,要求能够打印本月的工资表、随工资发给每个员工的工资条以及一些统计表等,如工资统计表。
1.打印工资信息。
2.打印工资条。
3.打印各种图表。
3.4.7退出功能
员工或管理员可利用退出功能退出系统。
3.5系统的数据需求
3.5.1总结出数据信息
对上述系统功能需求,可心分析、归纳出其相应必须管理的信息包括员工基本信息、员工的等级信息、员工出勤情况信息、员工津贴信息等,其数据及其属性需求分析如下:
1.员工基本信息:员工号、员工姓名、性别、工资等级、职称、所在部门、住
址、电话等;
2.部门信息:部门号,部门名称;
3.员工考勤信息:员工号、日期、上午、下午、迟到、早退等。
4.工资等级信息:等级号、等级名称、职位、基本工资;
5.员工津贴信息:员工号、加班时间、加班类别等。
3.5.2数据流程图如下
0层图如下所示:
3.5.3数据流图的数据字典
下面介绍一下一些主要的数据流的数据词典。一、
系统管理数据流数据词典
1.数据流名称:管理员登陆信息
说明:它的作用是将管理员的id、密码等让工资管理系统检查,看是否允
许登陆。
数据流来源:管理员数据流去向:工资管理系统2.数据流名称:非法登陆信息
说明:它的作用是把用户要查询的信息提交给工资管理系统,让其显示查询
的信息。
数据流来源:管理员数据流去向:工资管理系统4.数据流名称:添加员工信息
说明:它的作用是把要添加的员工信息提交给工资管理系统,让其处理该信
息。
数据流来源:管理员数据流去向:工资管理系统5.数据流名称:更新员工信息
说明:它的作用是把要更新的员工信息提交给工资管理系统,让其处理该信
息。
数据流来源:管理员数据流去向:工资管理系统6.数据流名称:打印信息
说明:它的作用是让工资管理系统反馈一些打印信息,如工资条、报表等,
以便用户更好地了解相关信息。
数据流来源:工资管理系统数据流去向:管理员二、
在用户数据流数据词典
1.数据流名称:业绩记录表
说明:每月执行一次,由各部门主管填写本部门员工的业绩;部门主管和
公司高级管理人员则由总经理指定。
数据流来源:工资管理系统数据流去向:管理员2.数据流名称:工资标准表
包含结构:员工编号、姓名、基本工资、生活补贴、岗位补贴,还有一些其它的数据词典,在此不一一列出。
3.6系统的性能需求
1.硬件要求。设备名称说明:处理器奔腾iii以上,256mb。内存256mb,内存越大,速度越快。硬盘40gb以上。
2.软件要求。(1)windows以上操作系统,iis服务,配置。net框架。
(2)需要有一个数据库服务器,提供数据库的连接,这里选用
microsoftsqlserver2000来为数据库提供连接,当然要一台计算机来运行程序。这样就可以了。
4.总体设计
要设计和详细设计。首先做概要设计,它是将软件的需求转化为数据结构和软件的系统结构。然后是详细设计,即过程设计,通过对结构表示进行细化,得到软件的详细的数据结构和算法。
4.1系统结构的总体设计
根据上面对需求的分析,我们可以得到系统的模块层次结构,层次结构如下所示:
4.2各个模块的功能描述如下4.2.1员工基本信息维护模块
信息子模块。
4.2.2工资信息维护模块
本模块的功能是能够完成工资信息的输入、修改和删除等操作。它也包括两个子模块,输入工资信息子模块、修改工资信息子模块和删除工资信息子模块。
4.2.3查询信息模块
本模块的功能是能够对单个员工工资信息、员工基本信息情况、部门工资情况、总工资情况等进行单项查询或者一定范围查询、多项查询等。
4.2.4计算工资模块
本模块的功能是能够计算员工工资的奖金情况、计算员工的津贴情况、计算员工月工资、年工资及进行一些相应的统计计算等。它包括一些子模块,如计算津贴子模块、计算奖金子模块、统计工资子模块等。
4.2.5打印模块
本模块的功能是能够打印工资条以及一些部门报表、工资报表等,以反馈一些信息给员工。
4.2.6登陆模块
本模块的功能是:根据员工的登陆时的输入信息,看是否要让该员工登陆系统。
主要是用户登录的一个界面,判断登录的用户是管理员还是普通用户,进入后将面对的是主界面,从而进行相关的操作。
登录的界面主要由用户名和密码的信息,还有一些标题设置,确定和取消的按钮组成。通过标题可以知道此系统的大概内容,由此,登录界面的设计完成。
4.2.7退出模块
本模块的功能是可以让员工或管理员随时利用该模块退出系统。
5.详细设计
概要设计完成了软件系统的总体设计,规定了各个模块的功能及模块之间的联系,进一步就要考虑实现各个模块规定的功能,这就是要进行详细设计。在详细设计阶段,要决定名个模块的实现算法,并精确地表达这些算法。下面主要实现一些重点模块的算法。
5.1生成报表
用jackson系统设计方法设计报表,如下所示:
5.2查询模块的详细设计
在该模块中,要查询信息,首先要进行登陆,然后输入要查询的信息,如员工号,接着系统连接数据库,在数据库中查找是否有和输入信息相应的信息,如果有,则显示相应的查找结果;如果没有,则提示找不到相应的信息或者提示出错。流程图如下所示:
在完成了详细设计、编码之后,就要进入软件测试阶段了。软件测试是指根据软件开发各阶段的规格说明各程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用途去运行程序,以发现程序错误的过程。软件测试分为黑盒测试和白盒测试。黑盒测试主要看模块的功能是否实现;白盒测试主要对模块内部的检查。
6.1黑盒测试
黑盒测试主要是为了发现以下几类错误:1)是否有不正确或遗漏了的功能。
6.2白盒测试
白盒测试是对软件的过程性细节做细致的检查。白盒测试主要想对模块进行如下的检查:
1)对程序的模块的所有独立的执行路径至少测试一次
2)对所有的逻辑判定,取”真”与取”假”的两种情况都能至少测试一次;3)在循环的边界和运行界限内执行循环体;4)测试内部数据结构的有效性,等等。
因此在对程序进行白盒测试测试时,测试用例要有:条件组合覆盖测试用例和路径测试用例。
在测试完成之后,还要对程序进行调试。可用下面的几种方法进行调试。
1)强行排错:可以通过内存全部来排错,也可在程序特定部位设置打印语句来排错。
2)回溯法排错。这是在小程序中常用的一种有效的排错方法。3)归纳法排错。它是一种从特殊推断一般的系统化思考方法。4)演绎法排错软件工程课程设计报告等。
8.结论
员工工资管理系统是一个典型的信息管理系统,通过软件工程方面的选择课题、需求分析、概要设计、详细设计、程序模块、系统测试等几个步骤来实现。开发本系统的过程中,首先熟悉员工工资发放管理的流程、步骤;其次在系统需求分析过程中,要透过现象看本质,敏锐观察到员工工资管理中存在的各种问题,并在总体设计把握好对问题的分析、理解,进而解决问题。
在我们的共同努力下,我们基本完成了这个系统。由于时间、条件和个人水平的限制,软件相对较简单,如果要将该软件用于具体单位,还需针对单位的实际情况对软件进行进一步的完善。
本软件的特点和优点:
1.本软件可以工资核算正确无误、快速输出,提高企业的管理水平和管理效率。2.可以对工资的各个项目随时作增加和删除。
3.可以分别查询单个工人每个月的工资,包括工资的各个细节项目。4.可以查询各部门以及全公司的员工的工资报表。
本软件需要改进的地方有:
1.基本工资的设定太笼统,不能满足有些单位的需要。2.员工管理部分比较少需要结合人事管理软件使用。
4.软件的界面美观性方面需要很大的改进。5.帮助文档比较简单。
课程设计对一个学生来说是一个非常的重要的学习过程。从对powerdesigner,软件开发过程的一知半解,到完成这个系统的基本设计,虽然这个系统还存在这样那样的缺点,但是我在专业知识方面学到的东西是非常多的。而设计过程中也遇到了很多的困难,在老师和同学的帮助之下最终我还是克服了困难完成了设计。这个过程更使我学到了面对困难应该持有的积极态度。
总的来说,这次的课程设计是非常有意义的,在我的人生学习的路上起到了一个里程碑的作用,让我有一个质的飞跃!
衷心感谢何老师给予我们这次机会,让我们对软件的开发过程还是对程序的编写步骤都有了更加深刻的认识。
9.参考文献
[1]杨文龙《软件工程》,电子工业出版社,
[2]张国藩,《软件工程》。北京:清华大学出版社,
[3]郑人杰殷人昆陶永雷,《实用软件件工程》.清华大学出版社,2001
[4]萨师煊王珊,《数据库系统概论》,高等教育出版社2003
[5]丁宝康,《数据库原理》,经济科学出版社,2000
[6]林福泉,《sqlserver中小企业实务应用》,中国铁道出版社,2002
[8]周红芳,《powerdesigner基础应用与系统开发》,电子工业出版社,
[10]薛华成,《管理信息系统》,清华大学出版社,2002
[11]汤庸叶小平汤娜,《数据库理论及应用基础》,清华大学出版社,2004
microstft编著
[13]谭桂华魏亮,《visualc#高级编程范例》,清华大学出版社
[14]章立民,《用实例学,电子工业出版社