《xx机械有限公司人事管理系统的设计..doc》由会员分享,可在线阅读,更多相关《xx机械有限公司人事管理系统的设计..doc(42页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、摘 要华北理工大学轻工学院Qing Gong College North China University of Science and Technology毕业设计说明书设计题目:XX机械有限公司人事管理系统的设计 学生姓名:胡海齐学 号:201524201024专 业:机械设计制造及其自动化班 级:2015q机械10班所属学院:工程学院指导教师:薛杰2019 年6月5日-I-摘 要摘 要摘 要计算机程序正在很快的发展,互联网也影响了人们的生活,智能化的技术我们在生活中随处可见。机械制造相关企业也正在走向这一领域,在企业中人事管理是必不可少的一部分,这也是设计本系统的主要因素。“人事管理系统
2、网站”是应用python语言做为基本开发语言,设计出这个有利于办公的系统,其开发内容包括对后台数据进行建立设计和前台业务的处理并对界面数据进行现实和交互。本着实用和简单易懂的原则设计了本系统,为企业带来更加简单实用的人事管理体系,节省人员工作量和工作时间,增加企业办公效率减少不必要的时间浪费。系统用到的是mysql数据库作为这个系统的数据库,使用redis作为缓存数据库,使用pycharm开发软件,后端框架是django这些基本的框架,配bootstarp的基础的界面,以及css、h5等前端语言,并用到ajax、jQuery等前端技术,使得系统更加适应企业。而且据用可拓展性,可以继续改善并发挥
3、更大作用。关键词 :人事管理;python;可拓展性;办公-I-AbstractAbstractComputer programs are developing rapidly, and the Internet has also affected peoples lives. Intelligent technology can be seen everywhere in our lives. Machinery manufacturing related enterprises are also moving towards this field. Personnel management
4、 is an indispensable part of the enterprise, which is also the main factor in the design of the system. The Personnel Management System Website is a system which uses Python language as the basic development language to design an Office-friendly system. Its development content includes the establish
5、ment of background data, the design of front-end business and the processing of interface data, and the reality and interaction of interface data.Based on the principle of practicality and simplicity, this system is designed to bring more simple and practical personnel management system to enterpris
6、es, save workload and working time, increase office efficiency and reduce unnecessary waste of time. The system uses MySQL database as the database of the system, redis as the cache database, pycharm as the development software. The back-end framework is the basic framework of django, with the basic
7、 interface of bootstarp, as well as the front-end languages such as CSS and h5, and uses ajax, jQuery and other front-end technologies to make the system more suitable for enterprises. And according to the expandability, it can continue to improve and play a greater role.Keywords:office;Personnel ma
8、nagement;python;Can expand sex-IV-目 录目 录摘 要IABSTRACTII第1章 绪论11.1 研究背景11.2 课题研究的目标21.2.1 人事管理系统主要分为两个模块21.2.2 关于人事系统还有其他说明2第2章 技术理论相关研究32.1 Python基本介绍32.1.1优点与缺点32.2 数据库42.2.1 MYSQL数据库42.2.2 Redis数据库52.3 Django框架5第3章 系统详细分析73.1 系统的需求73.1.1人事系统管理权限信息管理73.1.2人员基本信息管理83.1.3人事变动信息管理83.1.4员工培训计划模块83.1.5出差
9、请假管理模块83.1.6考核管理模块93.1.7文件管理模块93.1.8会议管理模块103.1.9招聘模块103.2可行性分析103.2.1技术可行性103.2.2经济可行性103.2.3操作可行性113.2.4时间可行性11第4章 系统总体设计124.1开发设计思想124.1.1抽象124.1.2信息隐蔽和局部化134.1.3模块独立性134.2系统功能结构144.2.1登录和注册144.2.2系统主页面184.2.3用户基本信息模块244.2.4员工培训信息管理模块254.2.5考核模块274.2.6文件管理模块284.3数据库设计304.3.1数据库概念设计304.3.2数据库逻辑结构设
10、计31第5章 系统测试335.1测试的重要性335.2测试的目的335.3测试的方法33结 论35参考文献36谢 辞37 第1章 绪 论第1章 绪论1.1 研究背景根据这几个月的调查了解到,机械制造公司以前对人事管理的方式主要是手工记录等纸介质的手工处理,对于人事变动、出勤、请假、出差等的统计和查实等往往是采用工人人工实际统计,或是派遣专人进行记录并使用excel进行存储。工人的工作时间和工作量都比较大,比较容易出现错误和丢失;综上所述,以前的人工统计做肯定没有计算机的管理系统规范和效果。机械企业大部分配备计算机,但是很多没有实现智能化的管理,大量的时间被浪费在记录人事变动上面,这就是人事管理
11、系统开发的基本环境。使用计算机的管理系统的人现在已经很多了,计算机科学的技术和成果也成熟了,计算机的功能已经让人们认识到了这样的系统有多强大,它已经在每个领域里都发挥了很厉害的作用。从80年代开始所使用特别简单的管理系统中,到现在的开发经验和技术都很成熟了,制造业也大部分走向了信息管理的方向,但是所开发的系统都特别简单。随着电脑价格的下降,制造企业管理也进入了较为高级的系统的开发的阶段。现在我们都知道中国制造业机械行业正在很快的发展,对人事信息的管理和处理及方法需要也越来越高科技,人事管理的水平也提高了特别多,以前的人事管理模式已经太落伍了。为了能够加快这样的进度和提高效率,及时统计或者是调查
12、人员变动等情况,减少人力资源部门的工作压力,为企业的经营者、管理者提供科学的有效的决策,迫切需要一套科学化现代化的人事管理系统。人事管理系统就是一个公司内部人人都可以使用的系统。主要是人事信息的处理系统。一个好的机械公司人事管理系统可以实现从员工自己签到,查看自己的工作信息或是进行与其他工作人员进行交流的过程,减少因为专职人事的员工因工作强度大造成疲惫而产生的错误。计算机行业在这些年发展的很快,使用的人也特别多了。据不完全统计,欧美国家的人事管理80%以上的信息是由计算机完成的,而我国的信息化建设水平远远落后于美国,改革开放30多年来,我国的机械制造业飞速发展,但由于公司动辄几千人的工人等,人
13、事管理水平却处于相对落后的水平。近年来,我国的信息产业得到了飞速发展,建立完善的人事管理系统已经势在必行,通过人事管理系统帮助提高我国机械制造公司物人事管理水平,使企业的运转更加科学化、规范化,提高其工作效率。1.2 课题研究的目标该系统其实就是计算机应用程序的一种,使用自己编写的计算机程序对人员相关信息进行管理,有着手工管理不可能有的优点。查看了很多的像是这种管理系统的资料,了解了生产企业里边人事管理现在的一些情况,比较了好多的这样的系统使用方面的优缺点,而且还比较了很多这样的企业的管理方式,知道了人事管理的一些东西,全都了解需求然后进行设计的话工作量就又大了,这样就要处理一下,总结需求完成
14、后的会精简一点,因此,应该开发这样的系统到正常的工作当中。1.2.1人事管理系统主要分为两个模块1、管理者模块。主要是管理员工信息的,还要发布一些通知的东西。管理基本人员变动,就是管理员工入职的时候一些简单信息的操作;而其中的工作信息管理,就是员工工作的时候一些基本信息的记录或者操作;出差信息管理,就是可以显示出来的关于某某员工出差相关情况;以及人员培训、绩效考核等功能,并且直接对接了常用招聘网站如拉勾、智联招聘网以便进行人员招聘。2、用户使用模块。主要就是面向全体的员工的一些实用的东西了,有签到、查看自己信息或是进行视频上传下载等功能,可以使基层员工进行岗位技能评比。但是毕竟是普通的员工,不
15、会有管理者的那么全面,因为权限不够,所以只是一些简单的操作。1.2.2关于人事管理系统还有其他说明1、人事全部资料:主要是对企业里边所有的员工都适用,从入职到离职,期间工作时长,是否接受培训,请假等等功能很全面;2、办公人员信息管理:主要是对于企业非基层员工的信息进行管理,由于工作性质相差较大所以单独说明,入职确认岗位后将由管理者给定工种标记,方便不同部门之间有活动或者筛选;3、上传和下载:主要是对基层员工,可以上传一些工作视频等,方便学习交流;37第2章 技术理论相关研究第2章 技术理论相关研究这个系统是基于python语言进行编写的。然后数据库用的是mysql。系统要完成的业务需要包括用户
16、基本信息、管理员管理、考勤登记、出差、假期、会议 等作为整个系统的基础数据,在业务、管理过程中产生领导、员工等业务数据。在数据管理的方向看能把这两个东西分开,简单的东西可以设计成大家都可以用的模块,那些关于业务方面的东西就可以设计成相对来说比较私有的模块。在设计数据库的时候要用他们的相关关系相连接,系统的业务在数据库层面就开始相关联,根据关系做出特别简单的模型,再生产出模型,就完成了数据库的建造设计。2.1 Python基本介绍python是一种计算机编程语言,又或者被人称为蟒蛇。您可能已经听说过许多流行的编程语言,如C语言、Java语言、初学者的基本语言、用于Web编程的JavaScript
17、语言等。Python为我们提供了一个非常完整的基础代码库,覆盖了大量的内容,如网络、文件、GUI、数据库、文本等,被生动地称为“电池内嵌”。“UDE”。随着Python的开发,许多函数不需要从头开始编写,而是可以直接在现成的基础上使用。除了内置库之外,python还拥有大量第三方库,这些库是由其他人开发的,供您直接使用。当然,如果代码被很好地封装,那么它也可以用作第三方库。许多大型网站都是用python开发的,比如youtube、instagram和国内的douban。许多大公司,包括谷歌、雅虎甚至美国宇航局,都广泛使用python。乌龟叔叔把蟒蛇定位为“优雅”、“清晰”、“简单”。所以pyt
18、hon程序看起来总是简单易懂。初学者学习python,不仅容易入门,而且将来还可以编写非常复杂的程序。一般来说,python的哲学是简单而优雅的,试图编写易于阅读和理解的代码,并且尽可能少地编写代码。如果一个高级程序员向你展示他那晦涩的、数万行代码,你可以随意嘲笑他。在当今大数据时代的背景之下,相比与传统的一些语言,python越发的开始突出,成为当今最热门的编程语言之一。2.1.1优点与缺点1、优点作为刚刚接触python的小白,python非常简单,非常适合人类学习阅读。阅读一个优秀的python程序就好像是在读英语一样,python的这种伪代码本质是它最大的优点之一。它让你能够致力于解决
19、问题而不是去费尽心思搞明白语言本身。python虽然是用c语言写的,但是它剔除了c语言中非常复杂的指针,大大简化了python的语法,使得python非常容易学习。而且python既是面向过程的语言也是面向对象的语言,并且具有非常优秀的可扩展性和可嵌入性。2、缺点 运行速度不如传统比如C语言快,国内市场小,当下应用python的公司相对来说还是很少,中文资料匮乏,大多资料需要借阅国外资源。2.2 数据库在开发平台时,针对某一个特定的应用环境,为了满足项目开发者或者用户的各色需求,需要对不同的方法提供数据支持,这就需要设计一个高效的数据库模式,不仅使其能够有效的存储数据,而且还能高效的进行资源管
20、理,对不同的数据需求进行有效的处理,以满足客户的多样化需求。数据库设计其实要对数据库基本功进行需求分析,梳理不同用户对数据库的需求,从中抽象出共同的数据元素,将这些数据元素之间的关系用模型图的形式表现出来,也就是所说的ER模型。通过ER模型,数据库表的关系一目了然,当采用ER模型分析法时,将所要用到的数据库元素之间的逻辑关系用ER图描述出来,之后根据ER模型图的形式,将其转换成关系模型,之后再建立数据库表,完成对数据库基本逻辑的确认。需求分析阶段也属于概念设计阶段,是独立于DBMS以及所属计算机特点的,在设计中保证数据库的数据安全。当给定计算机硬件与软件环境、给定计算机安装的操作系统,以及相应
21、的DBMS系统之后,在设计数据库的时候首要任务就是在相应的应用环境下,设计一个安全可靠、性能稳定数据库,能够对相应的数据进行有效的管理,例如增加、删除、修改、查找等等,以期望满足客户各种需求。所以要针对现有的DBMS系统进行设计,考虑到客户各种需求以及ER模型的表现形式,首先在数据库中建立数据表,可以使用SQL语句,注意主键的选取以及数据字段的组织,或者是预留一些字段以防之后功能的拓展导致数据不支持,所以在数据库设计时要考虑方方面面,以实现数据库最大的可拓展性。2.2.1 MYSQL数据库这个数据库和其他比较大型的数据库相比较,是有很多不足的地方的,比如说在功能上就相差了一些,但是正是这个原因
22、人么更加喜欢使用这个数据库。因为一些使用者只是个人自己使用或者是企业规模比较小,所以这种小数据库就很合适,完全可以完成想要的效果,而且这个数据库的源码是开放的,使用起来成本还相对很低,可以说没有成本。现在来说网上有很多流行的东西能够直接使用,就算是系统用的Linux,服务器使用Apache的服务器,使用这个作为数据库,在使用简单的编程语言。这样就会相当划算,因为这些都是可以免费使用的,还能开发出不错的系统来,当然前提是不要是太大的系统。这个数据库使用的C和C+这些语言编写出来的,测试的时候也用到了很多东西,保证了代码的一些特性,支持现在几乎所有的操作系统,这样的强大数据库还免费为什么不用呢,还
23、能支持多种开发语言,使用人群相当广泛现在就不一一列举这些语言了,它还可以多线程进行操作,将虚拟机的功能充分发挥出来,对其进行优化可以更加完美的完成一些功能,他可以自己作为一个应用程序来让工人们使用还可以在其他软件上面充当相当重要的角色。2.2.2 Redis数据库Redis是一个基于内存的高性能key-value数据库,redis的基本使用方式是建立在redis提供的数据结构上的,并且具有狠多优点:Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,zset,hash等数据结构的存储。 Redis支持数据的备份,即master-slave模式的数据备份。 Redis支持数据
24、的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。2.3 Django框架Django是基于Python的Web开发框架。Django使用的软件设计模式是mvc,模型M(就是看数据访问层),V(即商业逻辑层控制)和C(即数据控制层).它最开始发展管理是劳伦斯出版集团旗下的下一个数字新闻内容的网站为主的消息,就是cms(内容管理系统)。它是在2005年7月在BSD出版许可证发布。它是以吉普赛爵士吉他手Django Reinhardt来命名。在编写程序的时候,只需要使用相应的方法,非常的方便。它比mvc框架考虑的问题要深一步,只需要写一些代码的工作,提高效率。使用它可以在开
25、发过程中,我们的工作提高效率也非常大。这是一个开发需要用到的软件,他在原本的eclipse软件上又加入了好多的技术,使得在用python语言进行开发时又方便了很多,它的功能在现在来说很强大,支持的东西也很多,尤其支持大部分开源产品。这个企业所使用的工作平台是对原来的软件进行拓展过的,使用它可以在我们的开发过程中做到更加完整并对工作效率增加也很大。第3章 系统详细分析第3章 系统详细分析3.1 系统的需求本人事管理系统主要是供给企业办公使用,所以在需求分析过程中主要是搜集企业不同职位的不同需求,然后直到数据库设计,功能设计,页面外感设计等,对于没有项目经验或少量经验的员工来说,必须使其充分理解需
26、求分析的重要性,只有充分的表达出需求并且理解需求,才可以设计编写出双方都满意的系统,不至于去重新设计数据和开发,因此进行设计的时候就需要将数据表设计的更易扩充,争取做到如果需求改变,则只需修改部分程序即可。经过对于系统的分析,参与者有:1、系统管理权限人员;2、系统普通用户;而系统网站分别对用户权限进行详细的调研和分析,总结出如下的需求信息:3.1.1人事系统管理权限信息管理权限信息管理其实就是企业用来对企业人事管理系统里边人事管理权限的管理服务的,可以在之前所有的权限上操作,也就是具有最高权限,如增删改差等基本的操作,还有就是对这个表格的体现和查看,需要可以显示出表格里的信息让员工来查看,对
27、这个表格进行添加新的信息操作时,这个系统能够自动查询相关信息,以便进行操作,还可以自动对新加入的信息进行完善,同时加一些重要的信息,通过系统自身的功能添加到权限信息表里边,而在删除的操作进行时,要先选中一条其中的信息才可以进行接下来的操作,这样就会减少错删的发生,而且为了更加减少错删还对这样的操作加入了确认的功能以及在数据库中设置逻辑删除字段,这样就会在点击完删除后弹出确认的窗口或者误操作后可以通过数据库恢复数据,避免了由于失误弄得数据丢失,在对表格信息进行修改操作的时候,也要先选中数据才能进行修改,同样可以减少因为失误让数据变化的问题,查看的时候就比较简单了,因为不会让数据产生增加或删除的变
28、动,所以就没有了验证的一步,选中之后系统就会按照相关的信息在数据库里边找到使用者所需要的信息。但是管理者的权限也会设置等级,普通管理者只具备操作普通表格增加的权限,进行修改或者删除需要向上级申请权限或者报告给上级进行审核后在进行操作。3.1.2人员基本信息管理这个管理的模块其实就是员工入职以后相关信息的登记,企业里边这个模块是很重要的。如增删改差等基本的操作,还有就是对这个表格的体现和查看,由于员工信息具有隐私性,所以对该信息设置权限,只有本人和管理者可以查看,这个系统能够自动查询自己的相关信息,以便进行查看或者修改自己的基本信息。3.1.3人事变动信息管理这个模块主要是记录员工入职,离职或者
29、岗位调动等相关信息,记录了某一个员工从入职起到离职全部的本公司工作经历,还包括社保缴纳等情况。这个模块的作用也很大,因为它记录了一个员工的所有经历,方便在公司办理人事相关信息时进行查看,避免造成一些误会,既方便公司使用,也可以供给员工维护利益使用。他能完成好多的企业对人员管理的事情,这个系统上操作这个模块也和方便其实类似于之前的操作。如增删改差等基本的操作,还有就是对这个表格的体现和查看,需要可以显示出表格里的信息让员工来查看,对这个表格进行添加新的信息操作时,这个系统能够自动查询相关信息,以便进行操作,还可以自动对新加入的信息进行完善,同时加一些重要的信息,通过系统自身的功能添加到权限信息表
30、里边,而在删除的操作进行时,由于涉及到员工重要信息,普通权限者将不能删除,只有申请权限或者提交给更高权限人员进行删除或者修改。查看的时候就比较简单了,因为不会让数据变动,选中之后系统就会按照相关的信息在数据库里边找到使用者所需要的信息。3.1.4员工培训计划模块这个管理模块其实也特别重要,因为员工培训有利于公司发展,也有利于提高员工工作积极性,该模块设计主要信息有工号、姓名、部门、岗位、培训时长、开始时间和结束时间以及培训导师,不过操作起来还是很简单,这个模块主要是给管理者使用。具有增加和查找等基本的操作,还有就是对这个表格的体现和查看,需要可以显示出表格里的信息让员工来查看。3.1.5出差请
31、假管理模块这个管理模块主要涉员工出差情况和请假信息,员工的出差涉及到一些补助以及花费及报销情况等,而请假涉及到每个月的工资结算以及全勤奖金等,这两个功能类似所以放在一起进行说明,实际上在网页上会分开来做出差以及请假信息管理的功能。出差模块设计主要信息有工号、姓名、开始时间、结束时间、出差城市、出差出行方式、交通工具时长、费用报销以及出差详细内容。请假信息管理模块涉及信息相对来说要少一些,主要有姓名、工号、开始时间、结束时间、请假时长以及请假原因,这个模块操作起来还是很简单的,具有增加和查找等基本的操作,还有就是对这个表格的体现和查看,需要可以显示出表格里的信息让员工来查看。3.1.6考核管理模
32、块这个模块是至关重要的,在实际开发中我同样会分开来完成三个模块的功能,分别是财务部考核、绩效考核、教务部考核,但是这三个模块的涉及信息基本一致,所以同时进行介绍一下。不论在哪一个公司,工资发放还有人员考核都是至关重要的,因为这涉及到了公司的利益以及对员工的整体工作情况的体现。所以这三个模块涉及的信息非常全面,主要包括工号、姓名、出勤天数、休息天数、迟到、早退、缺卡、旷工、外勤、加班、任务完成度、综合评分以及所属部门。这个模块主要提供给财务部以及教务部使用。具有基本的增加和查找功能,因为涉及到员工的薪资以及在公司的工作情况甚至是发展前景,所以一旦出错不可轻易修改删除,必要时可以向最高权限者提出申
33、请,对数据库信息进行修改。还有就是对这个表格的体现和查看,需要可以显示出表格里的信息让员工来查看。3.1.7文件管理模块这个模块主要分文两部分,普通文件模块和视频文件模块。这个模块对于公司的通知发送或者文件管理以及员工交流有着非常重要的作用。比如说可以上传通知,或者上传一些工作用的表格,并提供下载功能,可以让员工使用手机下载然后使用手机完善一些公司需要的信息。既环保又方便。同时视频模块可以供给员工闲余时间娱乐交流,可以上传一些自己工作的视频,或者自己有哪些工作技巧都可以进行分享,公司也可以上传一些关于公司的宣传片,畅想片等视频给员工观看,还可以利用这个功能开展一些有意义的活动,这个功能主要针对
34、基层员工使用。具有上传和下载功能,对于互联网时代的人来说,这两个功能一定不会陌生,不在进行过多阐述。3.1.8会议管理模块这个模块主要用于会议记录,具有基本的增加查询功能,并且可以将信息显示出来,用到的技术以及功能详细信息和上面模块基本一致,不过多赘述。3.1.9招聘模块这个模块主要是为了企业方便招聘员工,在系统中我直接对接了智联招聘以及拉钩网,方便人力部门进行操作,由于是对接其他网站,只是减轻工作麻烦,提高工作效率,所以不过多进行介绍。3.2可行性分析3.2.1技术可行性目前,科学技术的发展已经到了一个飞速时期,各种成熟的计算机框架和技术层出不穷,足以满足我们的需要,甚至不同的语言也能实现相
35、同的功能,所以,该人事信息管理平台在技术上是可行的。本次设计的系统使用的开发语言是一门近年火热的语言-python,数据库大家应该是比较熟悉的,而且还很简单并且使用率很高的mysql数据库,这个系统在大家使用的时候可能会感觉很简单而且界面非常简洁干净,可以说没有那些无用的东西,但是在开发的时候还是有些困难的。开发了这个人事管理系统当然是希望它能够成功投入使用,所以就要一些比较复杂的开发方法,或者借助一些编程工具,还要有和复杂的方法能够一起使用的方法,这些都是一次一次的借阅各种资料和亲自实践才能总结出来的。这些方法虽然有些复杂,但是在开发的时候,对我的帮助也是特别大的,不但可以让开发的时间减少好
36、多,还能保证想要的东西可以正常的使用,所以这些技术确实可以支持本次设计完成。3.2.2经济可行性经过数年的科学技术发展和各种大型赛事的磨炼,我国在近些年已经有了较为完备的OA(Office Automation)系统,同时又给我们提供了大量宝贵的管理经验,之前已经提到过了一次,本次开发这个系统的时候用的一些工具,都是可以免费使用的,这样开发成本就变得很低了,只是需要一些时间就可完成,还有就是,这个系统是很方便的,特别适合普通工人使用,还灵活,开发的时候我自己就可以做完了,当然一个人做的话会有一些地方想的不是很全面,没有团队工作的成果那么好而已,就算是用到的技术也挺简单的,做的时候一共就这么长时
37、间,就能完成,所以说成本是特别低的。在经济上对本次设计做分析的话,就要先估算一下需要的开发成本了,虽然只是有一点时间成本,但是也是要算进去的,因为本来项目就不大嘛,这个就可以算是开发费用了,以后如果真的有什么企业要使用这个项目的话,还是要有使用成本的,这个也要估算一下,这样的话系统得到的利益就很容易可以算出来了,我们就能判断一下这次的设计到底能不能达到开始的时候我们想要的结果了。毕竟再好的东西也是要获利才可以的,要不的话也会被淘汰掉的。而且这个系统是能提高好多生产效率的,企业应该会很喜欢,因为效率高了企业才能发展下去。3.2.3操作可行性随着市场经济的高速发展,近些年来互联网的传播速度突飞猛进
38、,我们早已经身处互联网时代,计算机的发展是当今社会信息化传递的必要条件,计算机应用技术的普及以及电脑知识的普及,人事管理系统网站的运行操作是可行的。3.2.4时间可行性时间这个东西大家都很在意,在企业里边肯定就会更加在意,所以时间也是要计算一下的,这要大家心里边都是有谱的,比如说这个项目到底能不能及时完成上线就很重要,企业也可以做出一些调整。还有一点是很重要的,那就是到底能不能正常用,如果不能用或者需要一些时间才能用那就很尴尬了,毕竟,人家不是做这个为生的,不可能花费大把的时间在这个上。但是这些我在做之前就考虑了,所以时间不是问题,因为我在开始的时候就把一些情况算进去了,所以时间是可行的。第4
39、章 系统总体设计第4章 系统总体设计4.1开发设计思想这个系统的思路是很有层次的,所以我做出来的界面也是比较有层次的,也是因为这样做可以更好记住怎么使用,而且原理也很简单。这个系统主要思想是模块化思想,因为好多的管理系统都是这么做的,模块的话可以很好的体现出上级和下级的关系,在人员使用的时候也会很方便,然后把他们都放在一起就可以完成本次设计的系统了,是不是会感觉很简单呢,而且功能也都可以完成了,这样的话结构就会很简单的看出来,而且也很好学习怎么使用,不光是我做的时候简单,最重要的是员工用的时候简单,然而本次设计的系统就做到了这点。程序有时候是会出错的,这样会影响到整个系统的运行,为了减小这样的
40、影响,就选择了这样的开发方式,本次设计选择的模块形式价值就高了,它可以避免不同模块的影响,这样软件就可靠了,模块能做好这个系统的关键就做好了,他是很重要的。把他独立出来就可以解决两个很难的问题:内聚和耦合。耦合说的就像是不同的人之间关系太复杂一样必须一个人的存在另一个才能工作,这样就降低工作效率了,内聚说的就是合作了,就像是篮球场上的运动员一样,大家合作才能更有成效,在软件设计中力求做到高内聚、低耦合。做一个这样的东西主要是要能够达成使用的需要,也就是业务的完成,虽然这只是基础,但是其他的一切都是在这基础上才能完成比如说效率提高或者是使用起来比较简单,这些都要在系统可以正常使用的前提下才能完成
41、。这个模块化的方法前提就是把大的化成小的,这样就像是拆分一样,大问题解决起来困难也会很大,化成小的在解决这些问题就简单了,虽然问题的数量会变多,但是中国有句古话叫做“磨刀不误砍柴工”,就是这个意思,问题再多解决比较简单也可以很快。拆分的时候也不是可以随便拆的,要按照一些特定的规则才能完成。不同的东西管的事也不一样,要把每个事都弄完,还要整合起来,完成最开始的也就是那个大的功能,要求也是最大的那个的要求,所以就要在拆分和整合的时候有一定的规律了。所以就要用到这个模块化的方法了,以为这个东西规律很清晰很容易完成上面说的那些功能,再试用的时候也就方便了。软件出错的时候由于之前是拆分的,解决起来也方便
42、:4.1.1抽象抽象就是和我们经常说的抽象一样就是把不存在的东西想象的存在,在这个方法里就是把不存在的一些特性想象出来,这个方法可以把想象出来的特性当作是真的来让我们使用,就方便了太多了。在解决系统里边的一些特别复杂的问题的时候最好的办法就是把这个问题拆分开来,但是拆分完的问题是不存在的,所以这个抽象的概念就很重要了,解决起问题来就会很方便。4.1.2信息隐蔽和局部化这个指的是在设计的时候或者是确定某些东西的时候,要有保护性,比如不属于这个房子的人,来这个房子的时候是要有东西不能给看的,在系统里就是不能访问。局部化就是把差不多的东西放在一起,使用的时候也方便,对于一些影响的时候也可以一起抵抗。
43、信息隐蔽原理和局部化在本次设计完成系统的时候是方便测试的,在一些我们现在可能还没想到但是以后会碰见的问题的时候也很方便。因为软件的东西不可能每个人都能看见这样的话就算做得再好,也会被人发现不足的地方来破坏它。4.1.3模块独立性这个概念的话就是有些大了,简单地说就是把上边的那些东西都放到一起去。就在我们弄一些独立的东西的时候或者是大家合作的时候,就可以体现这个特性了,换句话说,就是这个东西,自己会做自己的事,是很独立的,但是还能够和其他有关系的同级别模块好好的配合。再把那些模块划分的时候要尽可能地使他们都独立起来,因为这样使用者也很方便,维护的时候就更加的方便了,那么到底什么样的才算独立呢?我
44、们其实是有两个标准的:就是之前提到的哪两个特性:内聚和低耦。后者是对一个系统能力的判断,也和其中的接口复杂程度有关系。除以上设计思想外还需要遵循一些设计原则,它的主要设计原则包括:安全可靠性:首先做的程序必须是安全的,是对人类有益的。在用户的使用过程中,要尽量的去保障用户的信息安全和使用权益。可以通过相关的软件技术和控制监管来提高整个系统的安全稳定性。简单性:其次系统要是容易上手,操作简单易懂的。这样才能吸引更多的用户,试想,一个操作繁杂的系统怎么会有人愿意去使用呢。针对性:要根据用户的实际需求为用户设计出相应的系统,尽可能的节省用户的时间,为用户提供便捷的服务。实用性:保护已有资源,急用先行
45、,在满足应用需求的前提下,尽量降低建设成本,并且极大的提高了志愿者的管理效率。一致性:页面的大体的设计理念要相同:大体页面布局和图形颜色样式和变量的使用、类名和命名约定的其他元素是一致的。元素风格一致性:界面元素的美化、在一个界面里所有位置应该相同。4.2系统功能结构根据模块化的设计思想,将本系统划为9个模块,这些模块组合起来可以满足系统的正常使用,并且能够提高企业对人事相关信息管理,那我们就先来简单了解了解部分模块功能。4.2.1登录和注册在这个模块我在上面并没有进行过多说明,因为我觉得这是作为一个系统必备的功能,算不上人事系统的主要功能模块,所以在这里来进行简单说明;图4.1 登录预览图#
46、 登录代码def login(r,*args, *kwargs): if r.method = GET: data = common() return render(r, user/denglu.html, data) else: ret = retretCode = 1003 retretMsg = 您的网络开小差了 try: phoneNo = r.POST.get(phoneNo) password = r.POSTpassword passwordmw = rsautil.decrypt_data(password) password = util.getMd5(passwordmw) # TODO 判断电话号码和密码是不是正确 rs = models.Users.objects.filter(phoneNo=phoneNo, password=password) if len(rs) = 0: retretCode = 1001 retretMsg = 用户名和密码不匹配 return JsonResponse(ret) user = rs0 j