考勤系统安全性实现毕业设计论文
广告投放★自助友情CMS落伍广告联盟晒乐广告联盟脉动广告联盟品味广告联盟
广告位可自定样式联系QQ:4285248个文字广告月20元广告联系QQ:428524广告位可自定样式
8个文字广告月20元黄金广告位每月20元广告位可自定样式联系QQ:428524广告位可自定样式
左旋肉碱、全国包邮
买二送一、无效退款

文章浏览→编程相关Php编程→考勤系统安全性实现毕业设计论文

考勤系统安全性实现毕业设计论文
考勤系统安全性实现毕业设计论文

第一章 概 述
1.1  PHP的概念
PHP: Hypertext Preprocessor (超文本预处理器) 的缩写,它是一种服务器端的 HTML脚本/编程语言,是一种简单的、面向对象的、解释型的、健壮的、安全的、性能非常之高的、独立于架构的、可移植的、动态的脚本语言
PHP是一种功能强大的脚本语言。PHP将击败PERL/Python并取而代之。PHP是下一代的PERL/Python脚本。PHP可以胜任任何PERL/Python做的工作,并且做的更多,更好,更简洁!!

1.2 PHP在网络编程方面的优越性

1995年时,Rasmus在用PHP写他的个人主页;今天,PHP成为风靡全球的脚本语言,越来越多的站点选择使用PHP,连Yahoo都放弃了自己的脚本而改用PHP支持它的网站。可以说,PHP是一个奇迹。我一直认为,任何奇迹背后都有它的原因。现在,就让我们透过这个奇迹,来看看PHP的成功之道。

1 简单易用
PHP的入门门槛很低,它对使用者的要求微乎其微。学过C语言的人,使用PHP几乎不需要什么时间。它们的语法是如此相似,以至于我常常想,是不是在C语言变量前加个$就能改成PHP。这使得大量C程序员在网络脚本中选择了PHP。另外,比起ASP的组件系统和Java庞大的类库来,PHP的函数库要好学多了。在编程风格上,PHP更是自由,你可以使用N种风格来写你的脚本程序。这些特性使得PHP成为初学者的首选语言。抢占初学者市场是很重要的策略。如同任何人都会对自己的初恋记忆犹新一样,人们往往会对最初学习的语言有很深的感情。即使后来自己成长了,改用其他语言了,还是会时时记起最初学习的语言。在这点上,PHP做得很出色。

2 剪裁得当
PHP开发组是最了解网络的一群人,他们非常清楚用户要的是什么。PHP就是要做一个出色的网络脚本语言,而且,它只是要做一个网络脚本语言。PHP提供的函数集在网络方面相当强大,而且重点均专注于网络应用。像PHP中的无组件文件上传,超多数据库支持等特性都表现出这个特点。顺便说一句,PHP甚至支持ACCESS数据库。专注使得PHP在网络上表现出极其优秀的性能。有失才能有得。

3 支持强大
PHP有强大的OpenSource团体支持,在网络上有数以万计的开源代码。你可以整合几个现有程式来实现你的应用,也可以分析大师级的代码来得到提高。PHP还有很多扩展性的项目来增强PHP在某个方面的功能。像注重编程规范化和代码重用的PEAR,提供可编译模板技术的Smarty,甚至开发桌面程序的GTK。
分析完这几个理由,我们可以看出,PHP的成功得益于PHP开发组的战略眼光。PHP提供了一个最小工作集,使用户能用最简单的方式高效地完成自己需要的应用。这正是初学者需要的。然后它通过方便的扩展来提供各个方面的解决方案,这样,你只需要学你要用到的那个领域的东西。当你涉及的领域越来越多时,你的水平也随之提高,当你熟悉了大多领域时,回头看看,会发现不知不觉已到山腰。PHP也提供了我们一种学习态度。


1.3系统开发环境
一、 操作系统—Windows xp

本系统使用的操作系统为Windows xp作为底层操作系统,界面友好,性能稳定。

二、 数据库—MYSQL
MySQL是一个真正的多用户、多线程SQL数据库服务器。SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言。MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成。
SQL是一种标准化的语言,它使得存储、更新和存取信息更容易。例如,你能用SQL语言为一个网站检索产品信息及存储顾客信息,同时MySQL也足够快和灵活以允许你存储记录文件和图像。
MySQL主要目标是快速、健壮和易用。最初是因为我们需要这样一个SQL服务器,它能处理与任何可不昂贵硬件平台上提供数据库的厂家在一个数量级上的大型数据库,但速度更快,MySQL就开发出来。自1996年以来,我们一直都在使用MySQL,其环境有超过40 个数据库,包含 10,000个表,其中500多个表超过7百万行,这大约有100 个吉字节(GB)的关键应用数据。
MySQL建立的基础是业已用在高要求的生产环境多年的一套实用例程。尽管MySQL仍在开发中,但它已经提供一个丰富和极其有用的功能集。[520毕业设计网-专业定做|计算机毕业论文|计算机毕业设计|asp论文|VB论文|VF论文|Delphi论文|JSP论文|PHP论文|asp.net论文|JAVA论文|VC论文|C#论文|机械论文|免费论文|快速定制→http://www.biye520.com].70554752009-2-12

三、 务器平台—APACHE

Apache 伺服器则是目前最多 WWW 网站所采用伺服器。您可以至下载最新版的程式及相关文件,若您觉得从国外下载要很久的话,也可以用它的 Mirror 站台下载。
PHP 则可以去它的官方网站 http://www.php.net 下载所需要的程式。
虽然目前 WindowsNT 或者 Windows98 等 Win32 的作业平台也能安装 PHP 及 Apache伺服器,不过这似乎没什么道理,因为 PHP 和 Apache 在 UNIX下可以跑得更快更好。
当然,若想使用商业化的作业平台,SUN、IBM、HP、DEC、SGI、NEC 等公司都有提供相关的 UNIX 或者是WindowsNT 的作业平台。加上高安全性调整过后的 Apache 伺服器:Stronghold 或是其它支援 SSL 的Apache 版本。这种组合,相信能满足商业化的需求。而 PHP 就扮演着快速方便的 CGI角色,让客户对站台的服务品质更加满意。
四、 发语言—PHP
PHP是一种简单的,面向对象的,解释型的,健壮的,安全的,性能非常之高的,独立于架构的,可移植的,动态的脚本语言。PHP具有和JAVA类似的Class关键字。因为不需要虚拟机,以致速度比JAVA快5倍。PHP正迅速变成一种标准的,多用途的,面向对象的脚本语言。PHP不仅可用来开发Web应用程序,也可以开发普通应用程序。
PHP是一种功能强大的脚本语言。PHP将击败PERL/Python并取而代之。PHP是下一代的PERL/Python脚本。PHP可以胜任任何PERL/Python做的工作,并且做的更多,更好,更简洁!!
PHP是HypertextPre-Processor(超文本预处理器)的缩写,它是一种服务器端的HTML脚本/编程语言。PHP语法上与C相似,可运行在Apache,Netscape/iPlanet, 和 Microsoft IIS Web服务器上。PHP作为一种工具,可以让你创建动态的Web页面。应用PHP的网页与常规的HTML页面并无二致,你可以用同样的方式来创建、编辑它们。PHP允许你直接在HTML文件里写入简单的脚本,这一点与Javascript非常相似。而不同的是,PHP不依赖于浏览器,是服务器端的语言,而Javascript却是一种客户端的嵌在HTML中的语言。概念上,PHP与Netscape的LiveWirePro产品,Microsoft的ASP以及SunMicrosystem 的JSP相似。
PHP不仅可以用来创建Web应用程序,也可以用来开发普通的单机应用程序。

PHP的强劲之处在于:
•PHP是一项最优秀的技术。其它技术,如PERL,Python, Tcl, VB s cript, ASP相对来说,都是陈旧低劣的。即使是Java/JSP,也在PHP之下。
•开放源码
•广泛的数据库连接
•大量的扩展库
•作为一种多用途的脚本语言,比PERL,VB s cript, ASP, JSP都要优秀

 


第二章 系统的需求分析
2.1 系统需求分析
需求分析的基本任务是准确的回答“系统必须做什么?”这个问题。在需求分析这个阶段,需要仔细的研究系统所实现的功能,并进一步将他们具体化。
1.任务概述
 目标
将学生考勤、平时成绩的评定、以及成绩查询的大量业务,用计算机系统操作完成,对它进行全面现代化管理,以便提高信息管理效率。
 运行环境
软件:Microsoft Windows 2000 Server及Windows 2000 SPI
     或更高版本
     IE5.5以上
硬件:64 MB RAM   鼠标或其他定点设备
 系统要完成的任务
 实现学生安全登录
 实现网上签到
 通过技术手段,避免学生冒名签到。
 统计学生平时成绩。
 实现网上成绩的查询。
2.功能需求
系统必须完成的功能包括:
 注册与登录功能
该功能主要实现学生与老师的安全登录。
 签到功能
该功能主要实现学生上课网上签到,以减少老师点名签到的时间,提高上课效率。
 统计功能
系统中的统计功能可以根据学生签到次数,统计学生的平时成绩。
 查询功能
该功能从不同的角度进行查询,多层次地满足老师及学生对总成绩及个人成绩的查询要求。
2.2 总体设计
 1.本课题研究的内容
本论文从网站设计的基本原理出发,使用php+mysql技术,PHP是一个类似微软ASP的服务器端的嵌入式超文本处理语言,是建立动态网站的强大工具。MySQL是一个真正的多用户、多线程SQL数据库服务器。MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysql和很多不同的客户程序和库组成。由于其源码的开放性及稳定性,且与网站流行编徎语言PHP的完美结合,现在很多站点都利用其当作后端数据库,使其获得了广泛应用。而MySQL是一个轻型SQL数据库服务器,可运行在多种平台上,包括WindowsNT和Linux,它还有一个GPL版本,MySQL被认为是建立数据库驱动的动态网站的最佳产品。PHP、MySQL和Apache是Linux平台网站的最佳拍档。

通过对公共课网上系统的分析、设计与具体实施,从而具体介绍了基于Internet/Intranet的网站应用系统的分布式架构模式及实现机理。最后采用了
PHP+MYSQL,设计并实现了公共课网上系统
系统设计模型


4学生查询模块
(一)主要功能
(1) 查询功能是面向全体用户的查询功能;
(2) 查找的对象主要包括数据库中签到信息表(s_login)中的全部内容。
(3) 查找对象与数据库匹配的字符,如不相符不予以查找。
(4) 查询的结果显示在查询结果页面(sss_infor.php)上。

(二)实现方式
 成绩查询模块(sss_infor.php)
查找学生学号(sss_infor.php)
第一, 要求输入学生的学号,这部分由标准的HTML代码生成;
第二, 关键的语句在与取得数据库信息,语句如下:
<form  method="post"action="sss_infor.php">。
 显示成绩模块(sss_infor.php)
第一, 连接数据库,查找信息。如果有正确的信息显示出来
                   mysql_select_db($database_conn, $conn);
$query_Recordset1 = "SELECT * FROM s_login where s_sno='$field'";
第二, 把要显示的信息输入出来
$maxRows_Recordset1 = 20;
$pageNum_Recordset1 = 0;
$query_Recordset1 = "SELECT * FROM s_login where s_sno='$field'";
$query_limit_Recordset1 = sprintf("%s LIMIT %d, %d",$query_Recordset1,
5学生签到模块
(一)主要功能
(1) 根据用户帐号,从数据库中学生信息表中提取数据;
(2) 将提取的信息放到签到信息页上;
(二)实现方式
 根据用户帐号提取个人信息
mysql_select_db($database_conn, $conn);
$query_Recordset2 = "SELECT s_infor.* FROM s_infor ,s_signup wheres_infor.s_sno= s_signup.s_sno and s_signup.s_zh='$s_zh'";
 实现签到
第一, 连接数据库,查找信息。如果有正确的信息输入进去
mysql_select_db($database_conn, $conn);
$query= "insert into s_loginvalues(\"$s_sno\",\"$s_name\",\"$s_pro\",\"$s_gra\",\"$cc\",\"$ip\");";
$Recordset1 = mysql_query($query, $conn) ordie(mysql_error());
header("location: pp.php?flag=2");
第二,把要显示的信息转到s_infor.php页面输出来
<?php
$maxRows_Recordset1 = 20;
$pageNum_Recordset1 = 0;
mysql_select_db($database_conn, $conn);
$query_Recordset1 = "SELECT * FROM s_login where s_sno='$field'";
?>
6教师控制台模块
(一)主要功能
(1)教师允许签到,设置数据库(t_control)中控制标志位;
(2)停止签到,设置数据库中(t_control)控制标志为;
(二) 实现方式
 设置标志为
第一, 教师允许签到
if(!strcmp($button,"开始"))
//使标志位值为1  开始签到
$query_Recordset1 = "insert into t_control(falg)values(\"1\");";
$Recordset1 = mysql_query($query_Recordset1, $conn) ordie(mysql_error());

}
第二, 停止签到
                if (!strcmp($button,"停止"))
{//清除标志位
$query_Recordset1 = "delete from t_control wherefalg=\"1\";";
$Recordset1 = mysql_query($query_Recordset1, $conn) ordie(mysql_error());

 使其他学生下次正常签到
$query_Recordset1 = "update s_login set ip=\"1\";";
$Recordset1 = mysql_query($query_Recordset1, $conn) ordie(mysql_error());
}
7学生出勤统计模块
(一)主要功能
(1)教师期末统计学生出勤信息
(2)了解学生本学期学习状态;
(3)正确录入期末成绩;
 (二)实现方式

◆ 教师登录(t_last.php)

第一, 要统计的信息不能为空。
第二,显示统计信息
maxRows_Recordset1 = 20;
$pageNum_Recordset1 = 0;
$query_Recordset1 = "SELECT * FROM statistic";
$query_limit_Recordset1 = sprintf("%s LIMIT %d, %d",$query_Recordset1, $startRow_Recordset1,$maxRows_Recordset1);
 
第四章 测 

测试在开发软件过程中是一个不可缺少的部分。因为在开发软件系统的漫长过程中,面对着极其错综复杂的问题,人的主观认识不可能完全符合客观现实,与工程密切相关的各类人员之间的通信和配合也不可能完美无缺,因此,在软件生命周期的各个阶段都不可避免地产生差错。我们力求在每个阶段结束之前通过严格的技术审查,尽可能早地发现并纠正错误;但是,经验表明审查并不能发现所有的差错,此外在编码过程中还不可避免地会引入一些新的错误。如果在软件生产性运行之前,没有发现并纠正软件中的大部分差错,则这些错误迟早在生产过程中暴露出来,那时不仅仅改正这些错误的代价更高,而且往往会造成很恶劣的后果。测试的目的就是在软件投入生产运行之前,尽可能多地发现并纠正软件中的错误。基于上述的原因,我在编码过程中进行了模块测试,编码结束进行了系统测试和验收测试。

4.1 模块测试

4.1.1  测试方案
 我采用了白盒测试(又称结构测试),即按照程序内部的逻辑结构,检验程序中的每条通路是否能够按照预定要求正常工作。
由于设计过程当中,不免会出现很多意想不到的结果发生,为了减少不必的错误出现,同时,为了能够使不同的文件之间正确和有效的衔接,我在设计模块的过程,对于每一个文件的执行和模块的执行都做了认真地测试,以求达到设计要求。

4.1.2  测试过程
主要检查模块的两个方面,一个是各个模块之间的接口,另一个是模块的运行是否正常。

对于检验各个模块之间的接口,所做的测试工作有:
1) 每个被调用模块之间是否能够正常接受参数(包括系统变量);
2) 每个被调用模块之间能否正常地而且有效地衔接上;
对于检验模块的运行是否正常,所做的测试工作有:
1) 对每一个模块中各个执行过程严格地进行检查与检测;
2) 对每一个模块中各个文件内所设计的函数逐个进行达标测试;
3) 对每一个模块在调用的过程中,时刻检测系统变量的过程性变化;
4.1.3  测试结果
测试结果表明,每一个模块都能够正常独立地运行,各个模块之间的接口亦能正确地吻合,同时每个模块基本上达到了设计的要求。

4.2 系统测试

4.2.1  测试方案
这个部分由我的导师在设计过程当中和结束是不断地进行黑盒测试(又叫功能测试),即检查程序功能是否按照规格说明书的规定正常使用,程序是否能够适当地接收输入数据产生正确的输出信息,并且保持外部信息的完整性。
在这次的设计当中,对于每一个模块的功能实现上和设计风格上,我的导师都做了细致的检测和提出建设性的意见,并且尽力去找出系统的纰漏之处。

4.2.2  测试过程
主要由我的导师在不同的时间、不同机器和不同的系统状态下进行测试过程,利用特殊的参数和普通参数两种方式进行测试。

4.2.3  测试结果
测试结果表明,系统能够按照设计的要求实现其内部的各项功能,同时提前完成了设计的任务要求。

4.3 验收测试

4.3.1  测试方案
我采用黑盒测试,对系统的各个模块功能进行了随机抽样检验,同时作了相应的时间比较。

4.3.2  测试过程
我对所抽样后选择出的模块进行黑盒测试,从以下几个角度进行:
1) 从用户自身的角度,进行了有个性的测试;
2) 从管理员的角度,对系统的维护与管理的效率进行了测试;
3) 从一个破坏者的身份,对系统的安全性进行测试;

4.3.3  测试结果
测试结果表明,尽最大地可能满足了不同用户的需求,同时保证了系统管理员的高效的管理工作,基本上有效地防止了破坏者的恶意攻击。

4.4 小结

在测试的过程当中,发现不少错误与不足之处,通过广泛的查找资料和导师的认真指导,基本上修正了存在的这些错误,能够达到设计的要求,同时,不断地完善了一些模块的功能。
通过这些的测试工作,我真正认识到了测试的重要性、必要性。同时提高了我对错误的分析能力和警惕性,增强了我的编程能力,增加了我的设计经验。测试结果表明,我的系统可以进行应用。

 


第五章 结束语
5.1 系统改进意见
由于我个人的技术水平有限,同时编程经验不足,对系统的设计带来了一些不利的因素,在设计系统的功能模块时,仅按要求设计出基本的模块,这对于一个综合性的网站不相称,同时有些个性化的设计没有应用上,这使我更加认识到系统的不完善,在此我将我的改善意见表述如下,希望后继的设计者能够适当完善。
 由于我对网页美化的设计工作投入有限,使得页面在整体的美观上存在许多欠缺之处;
由于对用户的需求了解有限,对用户所需要的功能设计上存在着许多不足,尤其是冒名签到部分。
 由于此系统的设计要求有所侧重,所以,其中“后台管理”这项功能模块在设计上简化了许多,与现在流行的后台管理相比,还存在一定的距离;
 由于设计思路的限制和认识空间的狭隘,设计出非常有限的系统管理员的管理手段,这对于一个系统管理员高效地进行管理与维护工作是不协调的,应该从不同的管理角度进行设计出一些更有效的管理手段;
由于我个人的能力有限,这套系统的欠妥之处在所难免,敬请各位老师多给予宝贵意见。
5.2  设计心得
通过本次设计,学到了不少东西。不但对PHP+MYSQL这一开发工具有所掌握,更重要的是对进行软件设计的整体设计流程及思维方法有了深刻的认识。在期间,发现的许多问题都源于没有认真地按步骤进行设计,不重视需求分析,总体设计部分,对各个方面将会产生的问题考虑不周全。
总之,在整个设计完善的过程中,我学到了在书本里根本学不到的许多知识,体会到PHP+MYSQL的强大功能,总体把握系统的流程的为实现某个功能的各个程序的流程是多么的重要,再一次感谢金小峰老师的细心指导。
 
参考文献

所属分类:编程相关Php编程    作者:新浪博客    时间:2010-11-20 0:00:00

文章导航