1、分类号学校代码学号本科生毕业论文软件工程课程网站的设计与实现DESIGNANDIMPLEMENTATIONOFSOFTWAREENGINEERINGCOURSEWEBSITE所在院系学生姓名指导教师研究起止日期二一三年十月至二一四年五月南京晓庄学院10届本科毕业论文I摘要随着二十一世纪的到来,教育将要面临着一次最大的改革,信息技术在当今的社会中占有重要的地位,因次信息技术在教育事业中是必不可少的,课程网站的使用是信息技术在教育事业中的一种体现。本课程网站应用PHP语言在XAMPP服务器下实现网站的动态的信息传递,实现该课题的相关功能等。主要利用PHP语言在网站页面和MYSQL数据库之间进行信息
2、的交互,还有就是利用PHP的文件上传,来实现文件的上传和下载,运用SESSION知识对网页进行控制等。关键字软件工程课程网站;PHP;XAMPP服务器;MYSQL;SESSION南京晓庄学院10届本科毕业论文IIABSTRACTWITHTHECOMING21STCENTURY,EDUCATIONWILLFACEAHUGEREVOLUTIONITINFORMATIONTECHNOLOGYINDUSTRYISPLAYINGAIMPORTANTROLLINTODAYSSOCIETYSOITINFORMATIONTECHNOLOGYINDUSTRYISABSOLUTELYONEOFTHENECESSA
3、RYPARTINEDUCATIONCAREERTHEUSEOFTHECOURSEWEBSITEISANEMBODIMENTOFINFORMATIONTECHNOLOGYINEDUCATIONCAREERTHEWEBSITEOFTHECOURSEUSEDPHPTOREALIZEDYNAMICINFORMATIONTRANSMISSIONOFTHEWEBSITEANDSOMETHINGRELATIVEWITHTHECOURSEETCBASEDONXAMPPSERVER,ITMAINLYUSEDPHPTOCONDUCTINTERACTIONOFINFORMATIONBETWEENWEBPAGEAND
4、MYSQLDATEBASE,ALSOITWILLUSETHEFILESOFPHPTOUPLOADKNOWLEDGETOIMPLEMENTTHEUPLOADANDDOWNLOADOFFILESITALSOUSEDTHEKNOWLEDGEOFSESSIONTOCONTROLWEBSITESETCKEYWORDSSOFTWAREENGINEERINGCOURSEWEBSITEPHPXAMPPSERVERMYSQLTHESESSION南京晓庄学院10届本科毕业论文III目录摘要IABSTRACTII目录III第一章绪论111项目开发背景112项目的目的113项目的意义121HTML语言222PHP语言
5、2221PHP语言简介2222PHP的主要特点223XAMPP环境搭建3231XAMPP的简介3232XAMPP的使用324网站开发工具DREAMWEAVER3第三章系统分析431可行性分析432需求分析4网站的需求主要以下几点433网站用户分析441网站功能模块划分542网站流程分析643网站数据库设计8431数据库概述8432数据库逻辑结构设计8433数据库实体及属性设计9434数据库表结构设计11第五章课程网站的详细设计与实现1451学生及游客前台功能实现14511网站的首页14512学生登录功能界面14513网站信息查看功能的实现15514学生成绩查看功能的实现16515理论教学功能1
6、7516课程资源功能17517师生互动功能的实现1852老师前台操作及功能实现20521学生作业的下载20522学生成绩信息的发布21523教学信息的发布2153后台操作及功能实现22531后台登录功能的实现22南京晓庄学院10届本科毕业论文IV532添加学生信息功能的实现23533删除学生信息功能的实现23534修改老师账号密码功能的实现24第六章课程网站系统的测试25611软件测试简介25612功能测试25第七章总结27参考文献28谢辞29南京晓庄学院10届本科毕业论文1第一章绪论11项目开发背景在这个快速发展的信息时代,计算机技术以及通信网络得到了广泛的应用,信息的发布和交流开始越来越方
7、便了,利用计算机、网络管理和信息采集是一种很好的方式。对于大中专等高校来说,利用计算机互联网进行网上办公、网上日常事务管理、网上财务管理、网上教学管理等,是适应现代化教学的一个基础和要求、是推动高校管理的科学化、规范化、科学化的必要条件。12项目的目的因为随着时代的飞速发展,人们所要掌握的知识将会越来越多,这样会给老师和学生带来很大的工作压力和学习压力。然而由于互联网的快速发展,提供给学生和老师许多帮助,许多的高校都纷纷利用互联网的这一宝贵的资源,他们建立了思想政治的专题网站,建立了便于学生学习的课程网站,还有查阅信息的信息网站。设计该课题是为了让同学们了解互联网教学的快捷与方便,同时让老师能
8、够方便的对学生学习情况的了解,能够适时的提供教学任务与材料,节约了老师大量的时间,提高了学生学习的效率,更重要的是让学生和老师对互联网有了很深的认识。13项目的意义软件工程课程网站体现了互联网与教育之间的紧密联系,通过互联网让我们更好,更方便的学习知识;更重要的是让我们同学和老师提供先进的教育平台,促进我们对于互联网知识的了解。课程网站为学生和老师提供了一个高效率和高质量的学习平台,使学生更好的了解自己学到的知识,同时该平台可以及时的反馈学生的学习和掌握的情况,对于老师的教学也很大的帮助。通过该网站可以促进学校尽快地完成教学中坚力量的新老交替,更可以推进教学的改革,促进更好的教学资源共享,全面
9、的提高教学质量和人才培养的质量,能促进教育事业的发展。南京晓庄学院10届本科毕业论文2第二章网站开发技术简介21HTML语言HTMLHYPERTEXTMARKUPLANGUAGE,超文本标记语言,HTML语言是通过利用各种标记来标识文档结构以及标识超链(HYPERLINK)的相关信息。即使HTML语言对文档的结构格式进行描述,可是它在精确度方面做的还是有很大的缺陷的,它只能给WEB服务器一个大概的情况,就是模糊的定义一些信息,然而服务器最后显示内容的样式还是决定于WEB浏览器的自身。超级文本标记语言是标准通用标记语言下的一个应用,也是一种规范,一种标准,它通过标记符号来标记来对页面的不同部分的
10、信息进行展示。然而页面的自身其实就是一个文本文件,当我们在这个文本中加入标记符号时,WEB的浏览器就会识别这些符号,并按照符号标记的要求来显示这些内容。目前HTML语言的版本是20,该版本是基于SGML(STANDARDGENERALIZEDMARKUPLANGUAGE,)它是从SGML中演变出来的。因为很多的好的WEB服务器能够很好的解释HTML30的标记符号,所以我所介绍的一些HTML30新标记均已被多数浏览器所接受。22PHP语言221PHP语言简介PHP是一个英文的缩写,它的意思是一种超级文本的预处理语言(PHP的英文全称是HYPERTEXTPREPROCESSOR)。PHP它是一种H
11、TML内部的嵌式语言,PHP与ASP是非常相似的,它们的作用都是在WEB服务器端嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。222PHP的主要特点(1)源代码是开放的PHP的所有源代码都是能够得到的。(2)PHP是免费的PHP和别的技术相比较,PHP是免费的。(3)PHP的快捷性掌握快、使用快、编译运行快。(4)嵌入于HTML因为PHP可以被嵌入于HTML语言,它相对于其他语言。编辑简单,实用性强,更适合初学者。(5)跨平台性强因为PHP是WEB服务器上运行的脚本语言,所以在UNIX、LINUX、WINDOWS上都是可以运行的。(6)效率高PHP所
12、占有的系统资源很少。南京晓庄学院10届本科毕业论文323XAMPP环境搭建231XAMPP的简介XAMPP是一款非常优秀APACHEMYSQLPHP的服务器系统开发套件,也是笔者用到现在为止感觉最好用的一款APACHEMYSQLPHP套件了,目前最新XAMPP的版本是172。232XAMPP的使用XAMPP需要启动前两个服务,如果APACHE无法启动则可能是80端口被占用,到你的安装XAMPP的目录找到XAMPP/APACHE/CONF/HTTPDCONF。打开HTTPDCONF通过查找与替换80。启动界面如图21所示。图21XAMPP启动界面24网站开发工具DREAMWEAVERDREAMW
13、EAVER是一款有着多年历史和很多好评的可视化网页编辑工具(简称DW),其最主要的特点就是一边编辑一边看见效果,它支持标准的W3C页面,并且它还支持对网站进行操作,包含HTML的格式控制和效果检查、HTML格式化选项、图像效果编辑、全FTP功能、处理FLASH等富媒体格式和动态HTML,而且还支持ASP、JSP、PHP、ASPNET、XML等程序语言的编写与调试。DREAMWEAVER是可视化的网页制作工具,很容易上手,可以让你轻松地制作出自己的网页。DREAMWEAVER的最大的特点就是可视化的对页面进行布局,同时又可以进行代码的编辑和一些应用程序的开发。这些特点就可以让开发人员更快的对页面
14、进行布局和美化,节约了大量的时间。可视化布局功能和用手动的CSS来比较的话,不仅提高了效率,而且更精确。南京晓庄学院10届本科毕业论文4第三章系统分析31可行性分析课程网站可行性分析是对项目课题的通盘的考虑,是保障网站可以进行下一步开发的前提,是开发者开发网站的基础,可行性分析可以使开发者更早的知道开发过程中遇到的一些困难和缺陷。(1)环境可行性已准备一台拥有能够实现网站建立配置的电脑,并已拥有能支持网站编辑语言的环境软件。因此从环境上看是可行的。(2)经济可行性经济可行性分析中最重要的内容就是成本和效益。成本是在开发中所需要的花费,该课程网站所使用的软件都是免费的软件,所以成本很低;效益是该
15、课程网站让学生能更方便、高效地学习,让老师更方便的完成教学任务,节约了大量的时间。(3)技术可行性目前信息技术和计算机硬件的发展已经完全满足本网站的建设、开发和维护,因此从技术上看是可行的。32需求分析网站的需求主要以下几点(1)该网站可以在WINDOWS操作系统平台上,并具有友好的用户界面;(2)查阅课程的教学信息、课程教案和课程作业和实验要求;(3)上传课程作业和实验报告,同时提供网上查阅作业成绩的功能;(4)发布课程作业和实验要求,同时提供网上评阅作业的功能;(5)提供实时和非实时的课程答疑服务;(6)建立完善的不同用户身份的权限管理。33网站用户分析“软件工程课程网站”面对的用户一般情
16、况下是三个,一个就是学生,学生是通过课程网站学习用的,学生通过该网站来进行作业提交,课程材料的下载,还有和老师之间的信息的交流,学生可以查询成绩信息;还有一个用户就是老师,老师可以通过网站来发布课程信息,并能上传学习资料和下载学生的作业进行批改,老师还可以发布学生的成绩,对自己的密码进行修改等;最后一个就是管理员,对账号和网站进行管理。南京晓庄学院10届本科毕业论文5第四章系统总体设计41网站功能模块划分根据网站功能的要求,网站的用户是学生、老师、管理员,学生的主要是查阅课程的教学信息、课程教案和课程作业和实验要求,上传课程作业和实验报告,同时能在网上查阅作业成绩的功能;老师通过网站来发布课程
17、信息,并能上传学习资料和下载学生的作业进行批改,同时可以发布学生的成绩,管理员是对账号管理和网站维护。根据以上的用户操作需求,将网站划分为如下三大功能,并对其模块的划分和功能进行描述。学生功能登录学生可以用学生身份进行登录;上传学生根据要求上传作业;下载学生可以下载网站上的资料;查阅学生可以查阅课程信息和查询成绩;留言学生可以留言进行提问问题。教师功能登录老师可以用老师身份进行登录;上传老师可以上传学习资料;下载老师下载学生作业进行批改;发布老师可以发布课程信息和学生成绩;管理员功能学生账号管理可以对学生账号进行查看,添加和删除;老师账号管理可以对老师的账号的密码进行修改;网站维护对网站相关页
18、面的编辑。整个网站的功能模块结构如图41所示。南京晓庄学院10届本科毕业论文6图41网站功能模块结构图以上是该网站的三个用户的所有功能模块。42网站流程分析该网站服务的对象是学生和老师,根据上述的功能描述可以知道老师主要是提供信息和学习资料等,学生是查阅和下载信息和资料等,该网站的使用对象包括学生、教师和管理员,因此包括三个模块。管理员的主要任务就是管理学生和老师的账号,和对本网站的结构的维护。管理员的主要操作如图42所示。图42管理的主要操作课程网站老师管理员学生学生登录上传作业下载材料查看信息和成绩留言提问发布信息和成绩老师登录下载作业上传材料学生账号管理老师账号管理网站维护管理员登录添加
19、学生账号查看学生账号信息维护网站结构删除学生账号修改老师账号密码南京晓庄学院10届本科毕业论文7老师的主要任务就是发布课程信息和成绩,还有上传一些学习的资料等。老师的主要操作如图43所示。图43老师的主要操作学生的主要任务就是查阅课程信息和成绩,还有下载一些学习的资料和上传老师布置的作业等。学生的主要操作如图44所示。图44学生的主要操作老师登录下载学生作业解答学生问题上传学习资料发布信息添加学生成绩学生登录查阅信息上传作业查询成绩发布问题下载学习资料南京晓庄学院10届本科毕业论文843网站数据库设计431数据库概述数据库(DATABASE)是根据数据的结构来组织、存储和管理数据的存储工具,它
20、有将近五十年的历史,随着信息技术的快速发展,尤其在以信息主导的当代,数据的使用越来越频繁,数据的两也变的越来越大了。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。本网站使用的是MYSQL数据库系统,MYSQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MYSQLAB公司。目前MYSQL被广泛地应用在INTERNET上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MYSQL作为网站数据库。432数据库逻辑结构设计根据上述的模块可以知道本课
21、程网站有三大模块,管理员、老师和学生,所以数据库的设计也要围绕着三大模块结构来划分,每个模块中有多个数据的逻辑结构,本网站数据结构是用MYSQL来建立的。根据上述首先要建立三大数据实体(1)管理员数据实体该数据实体包含了管理员的用户名、密码,这个是网站开发时已经确定好的信息;(2)老师数据实体该数据实体包含了老师的用户名、密码,老师的账号已经确定好了,管理员可以对老师的账号的密码进行修改;(3)学生数据实体该数据实体包含了学生的用户名、密码、姓名、班级,管理员可以对其进行添加、查看和删除;除了以上的三个成员实体外,还有5个功能实体(1)教学大纲信息数据实体该数据实体包含了信息的编号、信息名称、
22、内容、发布时间,学生只可以进行查看,老师可以进行添加和删除;(2)课程描述信息数据实体该数据实体包含了信息的编号、信息名称、内容、发布时间,学生只可以进行查看,老师可以进行添加和删除;(3)留言信息数据实体该数据实体包含了留言信息发布者名称、信息内容和时间,学生和老师都可以对其进行操作;南京晓庄学院10届本科毕业论文9(4)动态信息数据实体该数据实体包含了信息的编号、信息标题、信息内容、发布时间,游客可以进行查看,老师可以进行添加和删除;(5)成绩信息数据实体该数据实体包含了信息的编号(学生账户用户名)、得分描述、得分和时间,学生可以进行查看,老师进行发布。433数据库实体及属性设计数据库的E
23、R图反映了实体、实体的属性和实体之间的联系。图45至图412是所有实体以及其属性的ER图。管理员实体ER图如图45所示。图45管理员的ER图老师的ER图如图46所示。图46老师的ER图学生的ER图如图47所示。图47学生的ER图管理员用户名密码老师用户名密码学生姓名用户名学号班级密码南京晓庄学院10届本科毕业论文10教学大纲信息的ER图如图48所示。图48教学大纲信息的ER图课程描述信息的ER图如图49所示。图49课程描述信的ER图留言信息实体ER图如图410所示。图410留言信息的ER图教学大纲编号信息标题信息内容课程描述编号信息标题信息内容留言信息留言者姓名留言时间信息内容发布时间发布时间
24、南京晓庄学院10届本科毕业论文11动态信息的ER图如图411所示。图411动态信息的ER图成绩信息的ER图如图412所示。图412成绩信息的ER图434数据库表结构设计基于上面设计的ER图的基础上,将数据库的概念结构转化为数据库系统所支持的实际数据模型。这个系统中需要建立八张数据表。它们分别如下。学生登录信息的数据表表名LOGIN如表41所示表41学生信息数据表序号字段含义类型长度1USERID学生用户名VARCHAR202PASSWORD密码VARCHAR203NAMES学生姓名VARCHAR204CLASS学生班级VARCHAR20005XUEHAO学生学号INT8页面信息文章信息文章标题
25、成绩信息学生用户名得分分数得分描述发布时间文章编号发布时间南京晓庄学院10届本科毕业论文12老师登录信息的数据表表名LOGIN2如表42所示表42老师信息数据表序号字段含义类型长度1USERID老师用户名VARCHAR202PASSWORD密码VARCHAR20管理员登录信息的数据表表名LOGIN3如表43所示表43管理员信息数据表序号字段含义类型长度1USERID管理员用户名VARCHAR202PASSWORD密码VARCHAR20各个功能块的数据表如下教学大纲信息的数据表表名DAGANG,如表44所示表44教学大纲信息的数据表序号字段含义类型长度1ID编号INT202TI文章标题VARCH
26、AR3003TEXT文章内容TEXT100004TIME发布时间VARCHAR300课程描述信息数据表表名MIAOSHU,如表45所示表45课程描述信息数据表序号字段含义类型长度1ID编号INT202TI文章标题VARCHAR3003TEXT文章内容TEXT100004TIME发布时间VARCHAR300留言信息数据表表名MESSAGE,如表46所示表46留言信息数据表序号字段含义类型长度1NAMES留言名字VARCHAR202COTENT留言内容VARCHAR40003TIME留言时间VARCHAR404USERNAME留言标题VARCHAR200动态信息数据表表名FUBU,QITA,如表4
27、7所示南京晓庄学院10届本科毕业论文13表47动态信息数据表序号字段含义类型长度1USERID编号VARCHAR112NAMES标题VARCHAR1203NEIRONG内容VARCHAR100004TIME发布时间VARCHAR300成绩信息数据表表名CHENGJI,如表48所示表48成绩信息数据表序号字段含义类型长度1USERID学生用户名VARCHAR1002HM得分描述VARCHAR4003FEN得分VARCHAR34TIME发布时间VARCHAR100南京晓庄学院10届本科毕业论文14第五章课程网站的详细设计与实现51学生及游客前台功能实现界面主要有以下几个界面,分别是教学大纲、理论教
28、学课件和教案的下载、课程描述、动态浏览、课程资源、师生互动作业提交和疑难解答、成绩查看等。511网站的首页网站首页主体部分大体分为三大部分第一部分是快捷导航栏,该导航栏可以方便用户快速进入所需要的页面,第二部分就是课程简介,可以让用户了解课程的性质与特点,第三部分为一个动态信息的浏览,在这里可以阅读最近发布的课程信息,可以点击信息框右上角的“更多”来查阅更多的课程信息;左上角显示的是用户的登陆状态。课程网站的主页如图51所示。图51课程网站的主页512学生登录功能界面登录功能的实现,首先要建立一个数据库,用来储存用户的相关信息,用相关的函数连接数据库并且检查数据库中是否与本用户名和密码相匹配的
29、用户,如果有,则通过验证也就是登陆成功,如果数据库没有相匹配的用户,则登录失败。如图52所示为学生的登录页面。图52网站学生前台登陆页面南京晓庄学院10届本科毕业论文15513网站信息查看功能的实现查看发布信息关键的是WEB与数据库之间的连接,在任何用于WEB访问数据库的脚本中,都应该遵循以下这些基本步骤(1)检查并过滤来自用户的数据;(2)建立一个到适当数据库的连接;(3)查询数据库;(4)获取查询的结果;(5)将结果显示给用户。PHP为连接MYSQL提供了函数库。这个函数库是MYSQLI表示改进。当在PHP中使用MYSQL函数库时,你可以使用面向对象的语法。本网站连接数据库的代码如下DBM
30、YSQL_CONNECTLOCALHOST,ROOT,MYSQL_SELECT_DB“BIYE“,DB要执行数据库查询,可以使用MYSQLI_QUERY()函数。本网站查询数据库的代码如下所示SQL“SELECTFROMFABU“RESULTMYSQL_QUERYSQL教学大纲页面用游客的身份就可以浏览,该页面功能的实现中有一个要注意的是,对从数据库读取的信息进行显示时,要注意文章的标题和发布时间的布局。课程网站的教学大纲信息浏览页面如图53所示。图53教学大纲信息页面南京晓庄学院10届本科毕业论文16在动态信息浏览页面可以以游客的身份实现其功能,除了运用PHP实现页面与数据库之间的交互外,还
31、有一个关键的地方就是运用了动态的URL,因为发布的动态信息量很多,不可能每篇文章都占用一个页面吧这个是不现实的,使用动态页面,可能只有几M的文件大小,而使用静态页面少则十几M,多则几十M。因为数据是从数据库里面调用而来,所以如果要更改某些数值,直接更改数据库,那么所有的动态页面,就会自动更新了。课程网站的动态信息浏览页面如图54所示。图54动态信息浏览页面514学生成绩查看功能的实现成绩查看页面需要学生登录才能实现其功能,因为不同的用户查看到的成绩信息肯定是不同的,比如(用户桑启苏查看的成绩就是桑启苏本人的),要想特定的显示出成绩信息,则要通过SESSION的全局变量就可以提取出特定成绩信息了
32、。成绩信息的查看页面如图55所示。图55成绩查看页面南京晓庄学院10届本科毕业论文17515理论教学功能理论教学的下面有几个栏目,主要的是课程课件和课程教案的下载,该页面不需要学生的登录权限就可以进入,你可以用游客的身份进入,并浏览和下载一些课程资源。这里主要用到的知识就是PHP文件上传,但是要注意的一点就是文件类型,上传课件的文件类型是PPT的类型。如图56所示为理论教学的页面。图56理论教学页面516课程资源功能课程资源页面里主要就是课程资料的下载,一些经常需要用到的一些知识。这里的课程资料下载的主要是WORD文档和压缩包的格式,在下载的代码中,我用了一个强制类型的下载。还有软件工程的术语
33、,这些是我们经常看到的,却不是很理解的词语,如图57所示为课程资源的页面。图57课程资源页面南京晓庄学院10届本科毕业论文18517师生互动功能的实现该页面需要学生进行登录以后才可以实现其功能,作业提交的文件是WORD类型的,页面中已经说明了文件的名字如何命名,这是方便老师进行作业的查看。上传的作业学生可以看到,方便检查学生的作业是否已经上传。PHP的一个非常有用的功能是它支持文件上传,通过PHP代码可以实现文件从HTTP将文件从客户端浏览器传递到服务器,可以用HTML表单设计上传的界面。作业提交页面如图57所示。图58作业提交页面1用PHP上传文件时避免常见的上传问题文件中表单选项MAX_F
34、ILE_SIZE的隐藏值域,通过设置其VALUE值可以限制上载文件的大小。MAX_FILE_SIZE的值只是对浏览器的一个建议,实际上它可以被简单的绕过。因此不要把对浏览器的限制寄希望于该值。实际上,PHP设置中的上传文件最大值,是不会失效的。但是最好还是在表单中加上MAX_FILE_SIZE,因为它可以避免用户在花时间等待上传大文件之后才发现该文件太大了的麻烦。2上传时有一些参数值值0;没有错误发生,文件上传成功。值1;上传的文件超过了PHPINI中UPLOAD_MAX_FILESIZE选项限制的值。值2;上传文件的大小超过了HTML表单中MAX_FILE_SIZE选项指定的值。值3;文件只
35、有部分被上传。值4;没有文件被上传。南京晓庄学院10届本科毕业论文19要进入该页面之前必须要先用学生身份登录,该页面的主要功能是疑难解答,可以让老师和学生之间进行信息的交互,很好的帮助学生解决一些课程方面的问题,该功能的实现是用PHP来实现页面与数据库之间的信息交互,首先要建立一个数据表来存储留言的信息,学生和老师所发的信息和时间插入到数据库,然后再从数据库当中提取出这些信息,发布的时间,这里用了一个PHP当中的一个时间函数,显示的是系统的时间。PHP中的DATE()函数,常见的DATE()函数的调用方式如下所示DATE_DEFAULT_TIMEZONE_SET“PRC“ECHODATE“YM
36、DHIS“该语句第一句的作用就是设置为和我的系统一样的中国的时区,这样确保后面的时间函数显示出来的时间与我的系统时间是一致的。其中Y、M、D分别表示日期中的年、月、日,用十进制整数数来表示、H、I,和S分别表示时间中的小时、分和秒,同样用数字表示。关于时间函数中还有一个参数就是UNIX时间戳。该页面里面有一个关键的地方,就是要使用SESSION的超级全局变量,因为你用学生账户去和老师交流必然要让老师知道你是谁,所以这里面要用到全局变量来获取账号的一些信息,本页以学生的姓名作为发布留言的名称,老师则直接用老师来称呼。同样的在成绩这个数据表里面要有用户的信息在字段里面,功能就像指针一样,方便成绩数
37、据表里面数据的提取,本页用的是账户的姓名放在成绩的数据表中,作为指引的对象。疑难解答的页面如图58所示。图58疑难解答页面南京晓庄学院10届本科毕业论文2052老师前台操作及功能实现老师的前台必须使用老师身份登录才可以进入,主要是发布一些教学和课程的信息,上传一些资料文件,和学生之间的信息互动(学生作业下载查看和对学生问题的解答,发布学生的课程成绩)。521学生作业的下载如图59所示为老师下载学生作业的页面。图59作业查询页面一般下载文件的步骤是浏览器发送一个请求,请求访问服务器中的某个页面(如HUDONGPHP)。服务器接受到该请求以后,马上运行该下载PHP文件,这时必然要把将要被下载的文件
38、读入内存当中,这里通过FOPEN函数完成该动作。现在文件已经在内存当中了,这是需要从内存当中读取文件,通过函数完成该动作需要注意的是,如果文件较大,文件应该是被分成多段返回给客户端的,并不是等文件在服务端全部读取完毕后,一次性返回给客户端,因为这样子会增加服务器的负荷。要实现下载文件必须要有的四个HEADER,这个是实现下载的功能。HEADER“CONTENTTYPEAPPLICATION/FORCEDOWNLOAD“作用是通过这句代码客户端浏览器就能知道服务端返回的文件形式。HEADER“ACCEPTRANGESBYTES“的作用是告诉客户端浏览器返回的文件大小是按照字节进行计算的。HEAD
39、ER“ACCEPTLENGTH“FILE_SIZE的作用是告诉浏览器返回的文件大小。HEADER“CONTENTDISPOSITIONATTACHMENT;FILENAME“FILE_NAME的作用是告诉浏览器返回的文件的名称。南京晓庄学院10届本科毕业论文21522学生成绩信息的发布老师选择某个班级后,就会跳出对应班级的学生信息,就可以进行成绩的发布。在发布信息之前还有一个就是对本次发布信息的描述,该描述是为了方便学生查看,明白是那一次发布的成绩,这样就更能清晰明了的显示学生的成绩情况。老师可以点击最后一栏的成绩查看,这样方便老师发布成绩信息,知道是否自己发错和是否已经发布过成绩,老师发布学
40、生成绩信息的页面如图510所示。图510老师发布成绩信息页面该功能的实现,使用了动态的URL,因为如果学生人数很多的话,使用动态的URL是很方便的。里面还有一个关键的地方,就是一个班级会有很多的学生,所以从学生的信息库中提取班级的信息会有很多重复的班级,这里运用到一个函数,SQL“SELECTFROMLOGINGROUPBYCLASS“这条语句就可以去除掉数据表中重复的,只显示不相同的信息。523教学信息的发布该功能的实现是利用PHP将数据插入数据库中。发布的教学大纲信息页面如图511所示。图511教学大纲信息发布页面南京晓庄学院10届本科毕业论文2253后台操作及功能实现531后台登录功能的
41、实现后台的用户登录主要是利用PHP来从用户信息里提取信息进行对比验证,验证通过则登录成功,反之失败。如图512所示为后台登录的页面。图512后台登录页面SESSION翻译成中文是“会话”的意思,它一开始的意思是从开始再到结束,就像打电话一样你从拨号开始打电话到挂断这一整个过程就是一个SESSION。SESSION的作用就是控制一段过程并存取这个过程的一些信息,方便使用者第二次进行这个过程是不需要对其身份进行确认了。SESSION会话的出现使同一个用户能在不同的页面存入该用户的相关信息。对于我们这些网站的开发人员来说,用动态的URL可以达到每个页面中的一些变量就可以实现在不同的页面中来使用它的目
42、的,可是这并不是最好的方法,在SESSION中使用的变量就可以作为全局变量使用了。SESSION跨页传递需要考虑的情况1客户端禁用了COOKIE;2浏览器出现问题,暂时无法存取COOKIE;控制会话的SESSION代码如下南京晓庄学院10届本科毕业论文23532添加学生信息功能的实现首先需要创建一个表单,要有输入用户名和密码的文本框,以及其它信息的文本框,然后还要创建一个服务器端的动态网页,可以用PHP来编写,动态网页用来接收和处理客户端表单提交的用户名和密码数据,对于数据的认证,则要在动态网页中嵌入数据库,所以用到动态网页技术以及数据库技术。还要注意的是提交表单的时候还有一些条件限制,这些条
43、件的代码也是在处理表单的动态页面中,具体的限制条件如下所示(1)用户已经存在的情况下,不能提交表单;(2)二次密码不相同的情况下,不能提交表单;(3)有空白的文本框的情况下,不能提交表单。添加学生账户信息的页面如图513所示。图513添加学生账户信息页面533删除学生信息功能的实现首先要连接到数据库,读取数据库里面的学生账号信息,这样管理员就可以查看到学生的账号信息,然后添加一个链接来处理这个账号信息。下面是删除数据库中信息的关键代码,关键代码如图514所示。图514删除信息的关键代码南京晓庄学院10届本科毕业论文24534修改老师账号密码功能的实现首先需要创建一个表单,要有输入原密码和新密码
44、的文本框,这里有一个要注意的,就是要有两次输入新密码的文本框,这样防止输入的密码遗忘或输错,同样,处理表单的时候,要有两次密码的比较是否相同。处理表单的关键的地方就对数据库里面的信息进行修改,还有就是原密码和数据库信息的比较。修改老师账号密码页面如图515所示。图515老师账号密码修改页面南京晓庄学院10届本科毕业论文25第六章课程网站系统的测试61软件测试611软件测试简介测试是每个软件开发过程中必须经历的阶段,它是贯穿在整个软件开发的过程的。测试的目的是为了发现系统中存在的缺陷,并尽可能地为修正错误提供更多的信息,使系统更加地完善。动态测试分为黑盒测试和白盒测试。黑盒测试也称为功能测试,把
45、程序看作一个不透明的盒子,测试程序的功能。下面是黑盒测试的设计。白盒测试也称为结构测试,把程序看作一个透明的盒子,测试程序的代码书写结构和逻辑问题。612功能测试在上一节中介绍了有关测试的概念和一些测试方法,虽然测试方法很多,但是测试是一项非常复杂的工作,不可能对每一个可能出现的情况都一一测试到。下面仅仅举一个用户登录的例子来说明对网站系统所做的功能测试。在用户登录的时候,要求用户名和密码是必须填写的信息。本测试主要是通过对输入的用户信息进行分析与判断,得出预期的输出结果。然后将实际的输出结果与预期的输出结果进行比较,得出最终的结论。(1)如表61所示为登录成功的测试。表61登录成功测试用例输
46、入以上所给出的用例,页面显示登录成功,登录成功的页面如图61所示。图61登录成功测试用(2)如表62所示为登录失败的测试。表62登录的测试用例输入以上所给出的用例,页面显示登录失败,登录失败页面如图62所示。用户名密码预期结果SANGSANG登录成功用户名密码预期结果123456SANG登录失败南京晓庄学院10届本科毕业论文26图62登录失败的页面南京晓庄学院10届本科毕业论文27第七章总结经过几个月的坚持不懈的努力,我终于把毕业设计和毕业论文完成了。因为在大四下学期才开始做毕业设计,所以时间方面比较紧张,除了做毕业设计外,学校还安排了学生实习工作,所以时间久更紧了。在这有限的时间里,我要查找
47、很多资料,经常往图书馆跑,最终还是定期的完成了毕业设计,在这一过程中,我感觉自己学到了很多的知识。因此本系统做的不够完善,有不少需要更改与完善的地方。现在我把系统做一下总结。当中我也遇到了很多的问题,上传文件的格式控制不是很懂,于是的查阅了课本,知道了上传是控制上传文件的大小,格式等,还有一点不明白的就是文件的MIME类型不知道,然后我又上网百度查一下上传文件的MIME类型。还有就是发布成绩的时候,需要确定一下对象,简单的说就是你发布的是存在的学生账号的学生的成绩,这个问题也让我困惑了很长有一段时间,后来终于想通了,利用SESSION的超级全局变量来解决这个问题。在完成了毕业设计后,我就经常往
48、我的指导老师那边跑,我的指导老师李老师每次都会之处我的当中的一些问题,她从用户的角度去分析我的这个网站系统,很好的指出一些我这里面存在的问题,然后我回去修改,这样反复的进行,我的课程网站也越来越完善了,添加了一些好的用户体验等。通过这一阶段的毕业设计,我受益匪浅,不仅锻炼了良好的逻辑思维能力,而且培养了弃而不舍的求学精神和严谨作风。回顾此次毕业设计,是大学四年所学知识很好的总结。做这次毕业设计不仅重温了过去所学知识,而且学到了很多新的内容。相信这次毕业设计对我今后的工作会有一定的帮助。所以,我很用心的把它完成。在完成毕业设计那一刻,感觉到无比的充实,即使一开始遇到很多的艰辛,当中也夹杂着快乐。
49、南京晓庄学院10届本科毕业论文28参考文献1陈浩PHP程序设计M北京电子工业出版社,20052邵煜PHP和MYSQLWEB开发M北京机械工业出版社,20053DAVIDLANE美PHPMYSQLWEB数据库应用开发指南M南京东南大学出版社,20064孙瑜翻译数据库系统基础,人民教育出版社5武创、王惠主编网页设计探索之旅电子工业出版社6杜巧玲等编网页设计超级梦幻组合清华大学出版社7黄柏素、梅宏译软件工程实践者的研究方法(第七版)机械工业出版社8郑人杰、殷人昆、陶永雷编著实用软件工程第三版清华大学出版社9齐治昌等著软件工程(第二版)北京高等教育出版社10朱少民编著软件测试方法和技术北京清华大学出版社11郑人杰等编著实用软件工程北京清华大学出版社12王珊、萨师煊编著数据库系统概述第4版高等教育出版社13孙涌等编著现代软件工程北京北京希望电子出版社14龚世生、刘建宾编著软件工程广州广东高教出版社15崔启亮著测试计划和测试案列分析北京电子工业出版社南京晓庄学院10届本科毕业论文29谢辞在论文的最后,我要向那些在我毕业设计中给我帮助和支持老师和同学表示最衷心的感谢。首先要感谢我的指导老师老师,一个指导老师是带八个学生,老师要对每一学生的毕业设计和论文作查阅与指导,所以指导老师也是挺忙挺辛苦的,我经常的去找指导老师去询问毕业设计中的问题,老师不管实在上课还是其它事情,都会