《课设报告模版实习.doc》由会员分享,可在线阅读,更多相关《课设报告模版实习.doc(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、目录第1章 引言11.1课题背景11.2研究现状11.3目的意义2第2章 相关技术简介42.1 JSP技术简介42.2 B/S架构介绍52.3 MySQL数据库介绍6第3章 需求分析83.1 系统用户角色分析83.1.1管理员用户83.1.2普通用户83.2 系统功能需求分析83.2.1用户对于系统的需求83.2.2管理员对于系统的需求83.3 操作流程分析93.4 可行性分析9第4章 系统总体设计114.1系统功能模块设计114.2数据库设计124.2.1数据概念模型的设计124.2.2数据物理模型的设计13第5章 详细设计175.1数据库的创建与连接185.2系统登录界面195.3管理员设
2、置195.4普通用户登陆20第6章 系统调试与测试226.1 程序调试226.2 程序的测试226.2.1测试的重要性及目的226.2.2测试的步骤236.2.3测试的主要内容24总结26参考文献27第1章 引言1.1课题背景就签到系统的设计与开发而言,在经济发达国家中发展的速度及需求远比经济不发达的国家要高很多。因为经济发达国家人们的时间观念很强,对工作的要求也比较高,更重要的是其公司企业能不断运用先进的管理方法和手段。特别是信息技术,充分地利用巨大的信息资源。在世界上经济发达的国家和地区,计算机技术应用于企业公司管理已经十分成熟。在国内,一些企业公司想知道一个员工诸如一个在外工作员工的具体
3、位置,却因技术无法有效的掌握在外工作人员在外的一个具体位置。在外工作人员给企业带来的问题和麻烦越来越多,一个好的外勤管理方法尤为重要。它仅能解决企业目前对在外工作人员管理上的盲点,还能给企业自身以及员工带来诸多的价值。目前企业对在外工作管理上面临的问题主要有以下几点:1.企业无法有效的掌握在外工作人员在外的一个工作情况。2.企业无法真实的了解在外工作人员的一个考勤准确性。3.企业无法快速的给在外工作人员发配工作任务和了解工作进展。4.企业无法准确的知道在外工作人员的报销准确性等。所以一个高效的外勤管理手段可以给企业带来巨大的商业价值。比如:1.实时掌握员工的一个位置,能增加工作的有效时间。2.
4、汇报工作方面更加的真实性。3.在外勤人员的考勤上更加准确和科学。4.报销的费用也更加真实了等缺陷做出优化方案。签到系统正好能解决公司企业的这一些的问题,签到系统管理可以基于手机终端,为公司企业,企事业单位及政府机构等用户提供外勤人员管理和远程移动办公位置服务的软、硬件结合的综合企业管理系统。并且还可以通过定位技术对企业外勤人员进行考勤,建设基于位置的企业信息化平台,提高企业管理效率,降低管理成本。通过移动定位技术,对在外工作人员进行定位,调度,远程考勤以及上传工作进度等。1.2研究现状随着社会的发展和科技的进步,考勤管理不能靠单一的纸质签到方式或电子设备进行,通过计算机对企业员工进行监督、考勤
5、已经成为当今企业管理的趋势,它将为企业的日常开销节约了大量的人力、物力和财力。目前市场上流行的考勤管理系统能够完成绝大多数的考勤任务,其硬件系统做的相当完善,但与之相对应的管理软件的功能还不够完全,少了一些必须的考勤项目,如加班管理、请假管理、出差管理等模块。在对考勤管理系统进行详细的需求分析的基础上,对目前的系统做了一些改进,添加了必要的考勤管理项目,并对已有的项目有针对性的进行了优化,使系统能有效的帮助企业进行人力资源管理。签到考勤可以说是现代公司企业移动办公软件必备的基础功能,虽说功能很不起眼,但俗话说“细节处方显真功夫”。签到系统考勤打卡,分为上班,下班,加班,出差和请假。让员工与公司
6、随时保持互动,方便员工的现场管理和离开报备。显示员工报备情况的同时,准确抓取员工所在位置。使企业对员工可以实现无固定办公场所的办公,节省费用。管理人员只要登录后台,动动手指就可以掌握员工的工作动态,比如:考勤管理、定位管理、请假管理、任务管理等一键操作完成。而员工只需要打开移动端软件,就可以随时随地的签到、请假、加班。真正做到了以科技为本,解决公司企业的运营问题。突破性的功能,可以满足不同公司企业的不同需求。本课题就是针对企业对在外工作员工:1.随时定位:企业管理者可以通过签到系统对在外工作人员进行管理,知道外出员工当前的位置信息。2.定时定位:签到管理系统可以根据企业的工作时间设置定位间隔时
7、间,自动对外出人员实施定位查询。3.考勤情况:企业管理者可以将外出员工过去每个月的轨迹进行查看,便于科学化管理。本课题在于针对如何对管理在外工作人员,怎么可以高效的随时获取公司在外员工的位置信息等,提高公司管理模式,加快公司日常运行。1.3目的意义本课题开发的目的在于帮助企业,公司更好的管理员工。另外,通过此次设计,了解B/S架构的原理,掌握基于B/S架构下的程序设计与实现;巩固对Java框架和MYSQL的了解以及对它们在使用方面知识的学习和掌握。掌握签到系统的开发过程;熟练掌握MYSQL数据库的运用;该系统中,应用MYSQL语言原理、JSP应用程序设计,JSP数据库技术,采用成熟的B/S(浏
8、览器/服务器端)结构,根据分析和讨论,实现签到系统管理,提供与用户交互的界面,完成签到管理系统的设计和开发。开发出来的签到系统能展示出它所具备的功能并且能应用到现实中。面对公司企业多元化的经营现状、经营的状况、规模等这些因素的不同,带给公司企业的则是不同的标准和工作流程以及方法,面对着这解决方法不一的情况,对人才的专业化程度的要求也相应地提高了,然而在国内,公司企业人员流动量大,管理起来相对不容易,在这样的环境情况下,人员管理就需要科技的介入。首先,签到系统不是单纯的用于签到的软件,它有着科学的、标准的管理体系,它是通过对目前公司企业市场的具体情况科学化的调研分析后设计而成的,它能够针对公司企
9、业实现标准化管理,使公司企业对公司人员流动实时情况做一个很好的了解,管理人员更加科学性。其次,签到系统能够给出具体的相应的符合企业自身要求的较科学的标准化管理流程,因公司企业文化不同,需求不同,管理方式不同,做出不同的管理方式,通过使用该系统就能完成公司监督公司员工上下班,加班,出差的情况。最后,签到系统可以针对企业的经营现状而做出一套关于企业的合理的系统,通过签到系统来实现强化公司企业管理等作用。更好的完善企业对员工的经营管理,提高企业的管理。第2章 相关技术简介2.1 JSP技术简介JSP是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态技术标准。在传统的网页HTM
10、L文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标签,就构成了JSP网页java程序片段可以操纵数据库、重新定向网页以及发送E-mail等。1999年6月,Sun微系统公司于推出一项新的技术即JSP技术,这是基于整个Java体系以及JavaServlet的设计开发Web的技术,我们利用这一技术可以建立的动态网站是安全、先进并能跨平台。在很多方面,JSP技术对动态Web页面的开发加速了。我们能从以下几个方面看到它的特点:使用JSP技术,开发人员可以使用XML或者HTML标识来设计Web页面和最终页面的格式化。页面上的动态内容可以使用JSP脚本或者标识来生成(
11、可以根据请求来变化内容,例如请求帐号信息或者一本书的价格)。生成内容的代码被封装在Servlet和JavaBean组件中,并且结合在脚本中,在服务器端运行所有的脚本,所请求的内容通过JSP引擎解释JSP标识和脚本程序来生成(例如,通过访问JavaBean组件,访问数据库使用JDBC技术,或者包含文件),并且结果将以HTML(或者XML)页面的形方法发送回到浏览器。这就有利于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。通常JSP页面很少进行数据处理,只是用来实现网页的静态化页面,只是用来提取数据,不会进行业务处理。JSP技术使用Java编程语言编写类XML的tags和
12、scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java S
13、ervlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。JSP主要优先如下:(1)一次编写,可到多处运行。就这点来说Java比PHP更出色,除了系统之外,不需要更改任何代码。(2)多平台支持系统。在所有平台上的任何环境之中基本上都可以开发,在任何环境中进行系统部署,在任意环境中扩展。相比JSP/PHP的局限性是显而易见的。(3)强大的可伸缩性。从只有一个小的war文件就可以运行Ser
14、vlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。(4)多样化和功能强大的开发工具支持。这一点与JSP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。2.2 B/S架构介绍C/S模式主要由客户应用程序(Client)、服务器管理程序(Server)和中间件(middleware)三个部件组成。客户应用程序是系统中用户与数据组件交互。服务器程序负责系统资源,如管理信息数据库的有效管理,其主要工作是当多个客户端同时请求同一
15、个服务器上的资源,以优化这些资源的管理。中间件是负责连接客户端应用程序和服务器管理器,一个合作作业完成,以满足用户的查询的管理数据的要求。 B/S模式是一种基于Web的技术平台的新MIS系统模式。传统的C / S模式,服务器部分被分成一个数据服务器和一个或多个应用服务器(Web服务器),从而构成一个三层客户机 - 服务器体系结构。用户与整个系统的接口是第一层客户机。客户应用的程序精简到一个通用的浏览器软件,如NetscapeNavigator,微软公司的IE等。浏览器将HTML代码转化成图文并茂的网页。网页还具备一定的交互功能,允许用户在网页提供的申请表上输入信息提交给后台,并提出处理请求。这
16、个后台就是第二层的Web服务器。第二层Web服务器将启动相应的进程来响应这一请求,并动态生成一串HTML代码,其中嵌入处理的结果,返回给客户机的浏览器。如果客户机提交的请求包括数据的存取,Web服务器还需与数据库服务器协同完成这一处理工作。第三层数据库服务器的任务类似于C/S模式,负责协调不同的Web服务器发出的SQL请求,管理数据库。B/S模式首先简化了客户端。它无需像C/S模式那样在不同的客户机上安装不同的客户应用程序,而只需安装通用的浏览器软件。这样不但可以节省客户机的硬盘空间与内存,而且使安装过程更加简便、网络结构更加灵活。假设一个企业的决策层要开一个讨论库存问题的财务,他们只需从财务
17、室的计算机上通过浏览器来直接查询数据,然后显示给大家看它的。与会者还可以把财务室,甚至一台笔记本电脑连接的网络插孔,自己去查询相关的数据。其次,它简化了系统的维护与开发。编程人员开发系统不再需要为不同级别的用户设计和不同的客户端应用程序的开发,而只是把所有的功能都在Web服务器上实现,不同的功能,为用户在其上设置权限为每个组。每个用户通过HTTP请求在权限范围内调用Web服务器上不同处理程序,从而完成对数据的查询或修改。现代企业面临着日新月异的竞争环境,对企业内部运作机制的更新与调整也变得逐渐频繁。相对于C/S,B/S的维护具有更大的灵活性。当形势变化时,它无须再为每一个现有的客户应用程序升级
18、,而只需对Web服务器上的服务处理程序进行修订。这样不但可以提高公司的运作效率,还省去了维护时协调工作的不少麻烦。如果一个公司有上千台客户机,并且分布在不同的地点,那么便于维护将会显得更加重要。再次,它使用户的操作变得更简单。对于C/S模式,客户应用程序有自己特定的规格,使用者需要接受专门培训。而采用B/S模式时,客户端只是一个简单易用的浏览器软件。无论是决策层还是操作层的人员都无需培训,就可以直接使用。B/S模式的这种特性,还使 MIS系统维护的限制因素更少。最后,B/S特别适用于网上信息发布,使得传统的MIS的功能有所扩展。这是C/S所无法实现的。而这种新增的网上信息发布功能恰是现代教学所
19、需的。这使得学校的电子文件可以取代大部分的纸质文件,从而使学校的教学工作的效率得以提高,简化教学工作的手续,节约了物力和人力。2.3 MySQL数据库介绍MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle公司。MySQL最流行的关系型数据库管理系统,在WEB应用方面MySQL 是最好的RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL
20、所使用的SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL 作为网站数据库。由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于 MySQL是开放源码软件,因此可以大大降低总体拥有成本。Lin
21、ux作为操作系统,Apache和Nginx作为Web服务器,MySQL作为数据库,PHP/Perl/Python作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统,被业界称为“LAMP”或“LNMP”组合,其特点:1.速度:MySQL 运行速度很快。2.容易使用:MySQL 是一个高性能且相对简单的数据库系统,与一些更大系统的设置和管理相比,其复杂程度较低。3.价格:MySQL 对多数个人用户来说是免费的。4.小巧:4.1.1的数据库发行版仅仅只有21M,安装完成也仅仅51M。5.支持查询
22、语言:MySQL 可以利用SQL(结构化查询语言),SQL 是一种所有现代数据库系统都选用的语言。也可以利用支持ODBC(开放式数据库连接)的应用程序,ODBC 是Microsoft 开发的一种数据库通信协议。6.性能:许多客户机可同时连接到服务器。MySQL数据库没有用户数的限制,多个客户机可同时使用同一个数据库。可利用几个输入查询并查看结果的界面来交互式地访问 MySQL。这些界面为:命令行客户机程序、Web 浏览器或X Window System客户机程序。此外,还有由各种语言(如C, C+, Eiffel, Java, Perl,PHP, Python, Ruby, and Tcl)编
23、写的界面。因此,可以选择使用已编好的客户机程序或编写自己的客户机应用程序。7.连接性和安全性:MySQL是完全网络化的,其数据库可在因特网上的任何地方访问,因此,可以和任何地方的任何人共享数据库。而且 MySQL还能进行访问控制,可以控制哪些人不能看到您的数据。8.可移植性:MySQL 可运行在各种版本的UNIX 以及其他非UNIX的系统(如 Windows和OS/2)上。MySQL可运行在从家用PC 到高级的服务器上。9.开放式的分发:MySQL 容易获得;只要使用Web 浏览器即可。如果不能理解某样东西是如何起作用的,或者对某个算法感到好奇,可以将其源代码取来,对源代码进行分析。如果不喜欢
24、某些东西,则可以更改它。第3章 需求分析3.1 系统用户角色分析3.1.1管理员用户本系统主要用于为实现公司、企业进行签到为基础,主要完成为公司、企业签到人员的信息进行管理,虽然我做的签到虽然我做的是有关出差,加班,请假等功能的签到系统的设计与开发-服务器,仅仅只为前台移动端提供数据传输及解析前台发回来的数据,但是为了离开前台移动端,为使服务器端的功能自身也可以成为一个独立的功能程序可以进行展示出来,由此我在后台上布上web网页端,并为此还添加了系统管理员用户,这样可以通过管理员对普通用户的出差,加班,请假等功能请求进行一个审批,同时也是对普通用户的基本信息进行的控制和管理。3.1.2普通用户
25、本系统主要是为公司、企业员工的签到管理进行设计与开发的,所以针对普通用户的设计是一个重点,首先,普通用户可以通过注册信息,然后登陆系统进行系统然后根据自身需求,比如:出差,加班,请假等功能的需求情况,进行填写信息,申请他们所需要去做的事情,实现普通用户的功能需求,实现员工的方便申请。3.2 系统功能需求分析3.2.1用户对于系统的需求此考勤管理系统是针对某公司、企业对该公司职工的考勤等功能的一个应用软件。首先,用户在生活中的签到最看重的是方便和快捷,其次,用户在工作中还会遇到突发状况,针对这一系列问题,本系统就用户操作应该简单、易用的方针、政策进行设计。3.2.2管理员对于系统的需求系统管理员
26、在系统中扮演着非常重要的角色,本系统设置管理员就是针对可以进行对用户有关出差,加班,请假等功能需求的审批进行一系列设计的,这样便于公司、企业的管理者对公司的志愿在外的信息得到很好的管理,便于增强公司、企业的管理方式,提高管理效率。3.3 操作流程分析网站浏览者必须先选择登录方式(管理员只要自身可以登录),才能够进行出差,加班,请假等功能的实现,流程如图3-1所示:图3-1 功能流程图3.4 可行性分析可行性分析是通过对项目的主要内容和配套条件,如市场需求、资源供应、建设规模、工艺路线、设备选型、环境影响、资金筹措、盈利能力等,从技术、经济、工程等方面进行调查研究和分析比较,并对项目建成以后可能
27、取得的财务、经济效益及社会环境影响进行预测,从而提出该项目是否值得投资和如何进行建设的咨询意见,为项目决策提供依据的一种综合性的系统分析方法。可行性分析应具有预见性、公正性、可靠性、科学性的特点。现就对签到系统的设计与开发的系统平台设计之初对系统进行的各种可行性的分析和研究,通过针对各个方面系统分析的开发和运行的可能性,我们所利用的什么样的技术手段能来实现我们想要开发的东西。主要通过投资、技术、组织、风险因素等方面。技术可行性:主要从项目实施的技术角度,合理设计技术方案,并进行比选和评价。各行业不同项目技术可行性的研究内容及深度差别很大。对于工业项目,可行性研究的技术论证应达到能够比较明确地提
28、出设备清单的深度;对于各种非工业项目,技术方案的论证也应达到工程方案初步设计的深度,以便与国际惯例接轨。签到系统的设计与开发系统是一个的网站系统平台。所以我们根据系统的这样的一种表现形式,拟采用B/S的程序开发架构来实现对系统的布局。该系统主要依靠Java语言中的Jsp的界面设计包及其JDBC连接MySQL数据库来实现,Java技术成熟稳定,技术上完全可行。组织可行性:制定合理的项目实施进度计划、设计合理的组织机构、选择经验丰富的管理人员、建立良好的协作关系、制定合适的培训计划等,保证项目顺利执行。该系统开发成本低,所需开发时间、人力均较少、使用常规设计软件、辅助工具即可实现,所需资料文档较易
29、获得,查阅相关资料方便。投资可行性:投资必要投资必要性的论证上,一是要做好投资环境的分析,对构成投资环境的各种要素进行全面的分析论证,二是要做好市场研究,包括市场供求预测、竞争力分析、价格分析、市场细分、定位及营销策略论证。这个是为公司或企业等签到系统进行的一个设计,是一个实时的签到平台,它可以给那些具有需要签到的公司提供极大的方便,改善方式,提高工作效率风险因素及对策:主要对项目的市场风险、技术风险、财务风险、组织风险、法律风险、经济及社会风险等风险因素进行评价,制定规避风险的对策,为项目全过程的风险管理提供依据。第4章 系统总体设计总体设计,即对全局问题的设计,也就是设计系统总的处理方案,
30、又称概要设计。经调查和分析,本系统将要实现的是能够满足中小型企业签到的需求功能,能够处理和解决企业基本的办公业务,因此设计了如下功能:管理员功能,用户功能。管理员功能模块包括:出差,加班,请假模块的审批。用户功能模块包括:出差,加班,请假模块的登记信息。本系统主要是为实现公司、企业针对在职员工的信息的管理,为实现公司人有效、便捷的形式进行签到,虽然我负责的是本系统的服务器端的设计,仅仅只是为前台提供数据,解析前台发送过来的数据这样的一个工作,但我的功能相对重要,因为前台需求的数据都是来源服务器,我有着为本系统做系统功能分析的任务,由此我就本系统主要针对的功能就是为实现使企业对员工的上班信息得到
31、很好的管理,快速准确的对公司员工的出差,加班,请假信息的快速掌握,同时,也是为使减少对公司、企业管理人力和物力的支出,让公司、企业能在对管理人员的情况的有关问题上信息管理的加强,及实现提高公司管理人员对在外职员的上班、工作情况进行一个更好的管理,做出了这样一个设计与开发。4.1系统功能模块设计本系统主要实现公司或企业的签到,该系统分为两个大模块,即管理员和用户。管理员模块包括出差审批模块、加班审批模块、请假审批模块。(1)出差审批模块:包括对用户出差姓名,开始时间,结束时间,出差内容,加班类型及批准那个用户的请求等。(2)加班审批模块:包括对用户加班姓名,开始时间,持续时间,加班内容及批准那个
32、用户的请求等。(3)请假审批模块:包括对用户请假姓名,开始时间,截止时间,申请时间,内容及批准那个用户的请求等。用户模块包括出差登记模块、加班登记模块、请假登记模块。(1)出差登记模块:包括用户姓名,开始时间,结束时间,出差内容,审批状态等。(2)加班登记模块:包括用户姓名,开始时间,持续时间,加班内容,加班类型,审批状态等。(3)请假登记模块:包括用户姓名,开始时间,截止时间,申请时间,内容,审批状态等。 根据以上画出功能模块图如图4-1所示:图4-1 签到系统设计与开发功能模块图4.2数据库设计4.2.1数据概念模型的设计管理员的实体图如图4-2所示:图4-2 管理员实体图出差审批实体图如
33、图4-3所示:图4-3 出差审批实体图加班审批实体图如图4-4所示:图4-4 加班审批实体图请假审批实体图如图4-5所示:图4-5 请假审批实体图4.2.2数据物理模型的设计本系统中用到的数据库表比较多也比较复杂我们选择几个表来说明表的设计和表的结构。本系统为实现签到系统的设计与开发,在数据库中一共建立了8个数据表来完成,这些表具体为用户信息表,考勤表,出差表,出差审批表,加班表,加班审批表,请假表,请假审批表等,不过考勤表只是提供前台坐标的一个显示,前台在显示已借助于了第三方百度插口进行显示,也就说实际上进行服务器跟客户端就来回进行数据的传输、解析就7个表就可以进行实现程序功能数据的传输了,
34、下面分别介绍每个表和其中的字段的含义。user(用户信息表)主要用于保存用户的基本信息,该表的结构如表4-1所示:表4-1 user(用户信息表)列名说明类型 ( 长度 )备注id用户idInt (20)不允许空,主键name注册账号varchar(50)允许空pwd密码varchar(50)允许空username用户姓名varchar(20)允许空sex性别varchar(2)允许空birthday出身年月varchar(20)允许空role登录身份varchar(20)允许空attendance (考勤表)主要用于用户签到地点信息的查询,该表的结构如表4-2所示:表4-2 attendan
35、ce (考勤表)字段说明类型(长度)备注id订单idint(50)不允许空,主键user_id用户idint(50)不允许空mo_time签到时间char(19)允许空xx签到坐标varchar(30)允许空yy签到坐标varchar(30)允许空abroad (出差表)主要用于用户出差信息的管理,该表的结构如表4-3所示:表4-3 abroad(出差表)字段说明类型(长度)备注id自增idInt(11)不允许空,主键user_id用户idInt(11)不允许空content出差内容text(0)不允许空starttime出差开始时间Varchar(20)不允许空endtime出差结束时间Va
36、rchar(20)不允许空status状态Int(11)允许空 abroadexamin (出差审批表)主要用于管理员对出差人员请求出差的审批,该表的结构如表4-4所示:表4-4 abroadexamin(出差审批表)字段说明类型(长度)备注id自增idInt (11)不允许空,主键abr_id出差idInt (11)不允许空user_id审批人idInt (11)允许空acctime审批通过时间varchar(20)允许空extrawork (加班表)主要用于用户加班信息的管理,该表的结构如表4-5所示:表4-5 extrawork (加班表)字段说明类型(长度)备注id自增idInt(11
37、)不允许空,主键user_id用户idInt(11)不允许空content加班内容text(0)不允许空extrabegintime加班开始时间Varchar(20)不允许空longtime加班持续时间Varchar(20)不允许空type加班类型Int(3)允许空status状态Int(3)允许空extraworkexamin (加班审批表)主要用于管理员对加班人员请求加班的审批,该表的结构如表4-6所示:表4-6 extraworkexamin(加班审批表)字段说明类型(长度)备注id自增idInt (11)不允许空,主键extra_id出差idInt (11)允许空user_id审批人i
38、dInt (11)允许空acctime审批通过时间varchar(20)允许空 leaves (请假表)主要用于用户请假信息的管理,该表的结构如表4-7所示:表4-7 leaves(请假表)字段说明类型(长度)备注id自增idInt(11)不允许空,主键user_id用户idInt(11)允许空content请假内容text(200)允许空fromtime请假开始时间Varchar(20)允许空totime请假结束时间Varchar(20)允许空applytime请假申请时间Int(19)允许空status状态Int (11)允许空leavexamin (请假审批表)主要用于管理员对请假人员请
39、求请假的审批,该表的结构如表4-8所示:表4-8 leavexamin (请假审批表)字段说明类型(长度)备注id自增idInt (11)不允许空,主键leave_id请假idInt (11)允许空user_id审批人idInt (11)允许空acctime审批通过时间varchar(20)允许空第5章 详细设计详细设计是软件工程中软件开发的一个主要步骤,就是对概要设计的一个细化,就是详细设计每个模块实现算法,所需的局部结构。本系统的设计与开发在经过需求分析、功能设计、数据库设计后,就可以进入系统的具体实现的过程了。下面通过截取本系统的部分页面以及实现效果来展示。这里虽然我做的仅仅是签到系统的
40、设计与开发-服务器,仅仅只是为了对前台数据库进行信息的传输及对前台信息的接收与解析,但在这里为了离开客户端使服务器端可以作为一个独立的程序运行在这里我把服务端做成了一个独立的服务器,然后把服务器通过nat使其与前台链接。Nat(网络地址转换)是1994年提出的。当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但现在又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。这种方法需要在专用网连接到因特网的路由器上安装NAT软件。装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球IP地址。这样,所有使用本地地址的主机在和外界通信时,都要
41、在NAT路由器上将其本地地址转换成全球IP地址,才能和因特网连接。另外,这种通过使用少量的公有IP 地址代表较多的私有IP 地址的方式,将有助于减缓可用的IP地址空间的枯竭。在RFC 1632中有对NAT的说明。NAT的实现方式有三种,即静态转换Static Nat、动态转换Dynamic Nat和端口多路复用OverLoad。静态转换是指将内部网络的私有IP地址转换为公有IP地址,IP地址对是一对一的,是一成不变的,某个私有IP地址只转换为某个公有IP地址。借助于静态转换,可以实现外部网络对内部网络中某些特定设备(如服务器)的访问。动态转换是指将内部网络的私有IP地址转换为公用IP地址时,I
42、P地址是不确定的,是随机的,所有被授权访问上Internet的私有IP地址可随机转换为任何指定的合法IP地址。也就是说,只要指定哪些内部地址可以进行转换,以及用哪些合法地址作为外部地址时,就可以进行动态转换。动态转换可以使用多个合法外部地址集。当ISP提供的合法IP地址略少于网络内部的计算机数量时。可以采用动态转换的方式。端口多路复用(Port address Translation,PAT)是指改变外出数据包的源端口并进行端口转换,即端口地址转换(PAT,Port Address Translation).采用端口多路复用方式。内部网络的所有主机均可共享一个合法外部IP地址实现对Intern
43、et的访问,从而可以最大限度地节约IP地址资源。同时,又可隐藏网络内部的所有主机,有效避免来自internet的攻击。因此,目前网络中应用最多的就是端口多路复用方式。如果协议数据报文中不包含地址信息,则很容易利用传统的NAT技术来完成透明的地址转换功能,通常我们使用的如下应用就可以直接利用传统的NAT技术:HTTP、TELNET、FINGER、NTP、NFS、ARCHIE、RLOGIN、RSH、RCP等。5.1数据库的创建与连接为了实现可以对数据的信息保存与管理,这里我把系统我链接MySQL数据库,然后我对数据的传输、接收进行了分析与设计,本系统的具体实现过程中要把统数据模型转换为能在具体的数
44、据库管理系统上使用的数据表。创建签到管理系统的数据库的步骤可以划分为以下几个步骤:1.在MySQL数据库系统中,要为签到管理系统命名数据库的名称,完成这步后就可以创建数据库了。2.依据系统数据模型中的关系模型,把它们转为MySQL数据表,其中关系模型中的表就对应MySQL的数据表。接下来就要对分别对MySQL数据表进行命名,然后就可以在MySQL数据库中创建各个数据表。此外,在建立数据表的过程中必须要明确数据表的存储位置、类型以及设定数据表的默认字符集。3.为将要创建的数据表的每个字段定义字段名,接着在建立数据表的全部字段。4.确定每个字段的数据类型。MySQL中的字段数据类型有四种,分别为数
45、值类、字符串类和NULL类型。确定的过程当中可根据实际情况对选用不同的字段类型。5.确定每个字段的属性。6.建立表字段的索引。MySQL为用户提供了四类索引,分别为主键索引、常规索引、全文索引、唯一索引。在创建索引的过程中要选择合适的索引类型,为每个数据表创建索引。表的创建如图5-1所示:图5-1表的创建5.2系统登录界面对于一个完整的签到管理系统来讲,不仅要求功能强大、操作简单,还要有良好的设计风格和另人爽目的界面。虽然我做的是签到系统的设计与开发-服务器,本质上来说呢就是仅仅为前台客户端提供数据的传输与接收前台数据然后对数据进行解析存储到数据库中的,登录界面对于整个系统来说是非常重要的,因
46、为它上面设置了进入本系统的账号和密码,首先,只有通过输入准确的信息进行注册,完成注册,才能通过正确信息进入本系统,这样的方式是为了防止非法用户进入系统,破坏系统安全和所保存的数据。由于我运用JSP技术,系统登录用户在浏览器的地址栏输入地址后,可以进入系统的登录界面,系统登录界面如图5-1所示。在界面5-1中输入账号、登陆密码,单击登录按钮,当三者都正确时系统进入系统的主界面,否则进入错误界面。运行界面如图5-2所示:图5-2登录界面5.3管理员设置管理员(Administrator)一般是指负责一定系统或者软件的维护或管理更新的实际个人帐号或用户,也有的是专门管理违反原则的。也有些场合,比如网
47、吧、交流群等直接叫做管理员。网络管理员的工作是维护网络秩序。管理员的职责主要是用来负责整个网络的网络设备和服务器系统的设计、安装、配置、管理和维护工作,为内部网的安全运行做技术保障。服务器是网络应用系统的核心,由系统管理员专门负责管理。系统管理员职责如下:1、网络设备、服务器和管理维护工作;2、网络设备的安装调试工作;3、网络系统的性能维护及优化工作;4、网络系统、网上信息的安全管理工作;5、网络故障检测和排除工作;6、网络计费管理工作。同样的在本系统中我也设置了管理员管理这一模块,这里我所设置的管理员模块功能的设计主要是针对可以对用户的加班,出差,请假信息需求请求功能的审批。这里以出差功能模块的审批进行展示,其针对加班、请假功能的模块的审批方式类