学院名称:
专 业: 计算机科学与技术
班 级:
姓 名:
指导教师姓名:
指导教师职称:
年月
毕业设计题目管理系统
摘 要:本系统是一个基于Web的毕业设计题目管理系统,使用该系统可以实现教师提交毕业设计题目,学生选题等功能;同时方便了学生与教师之间的交流。系统界面友好,操作简单。
该系统采用了流行的B/S结构,保证了客户机与服务器、服务器与服务器间的连接和通信;实现应用与数据库的高效连接;提供一个三层结构应用的开发、运行、部署和管理的平台。在系统的具体实现中,采用Access 2003作为后台数据库,Access是专门管理数据库的应用软件。IIS 5.0作为Web服务器,采用ASP编写服务器网页脚本,ADO作为连接存储数据库的组件,使用Dreamweaver MX设计网页的结构,提高设计的效率。
关键词:ASP;Access 2003;Dreamweaver;ADO
A graduation design topics managing system
Abstracts: This system is a Web-based management system for graduation design topics. Teachers can use it to submit the graduation design topics while the students can use it to choose the topics. Also it makes the communication between the students and the teachers more convenient. The interface is friendly and the system is easy to use.
This system uses the popular B / S structure to ensure the connectivity and communication between clients and servers, and to achieve an efficient connection between application and database. It provides a three-tier structure platform for development, operation, deployment and management. Access 2003 database is used as a background during the course of the implementation of the system. Access is specialized database management application software. IIS 5.0 working as a Web server uses the ASP server page script. ADO working as the components attached to database uses the Dreamweaver MX page design structure to improve efficiency.
Keywords: ASP; Access 2003; Dreamweaver; ADO
目 录
序 言 1
第1章 系统分析 2
1.1 需求分析 2
1.2 功能分析 2
1.3 数据流图 2
1.4 系统各功能模块详细分析 3
1.5 系统流程分析 4
1.5.1 管理员的操作流程 4
1.5.2 学生操作流程 4
1.5.3 教师的操作流程 4
第2章 系统设计 7
2.1 系统开发环境 7
2.2 ASP技术介绍 7
2.2.1 ASP概述 7
2.2.2 ASP工作原理 7
2.3 ACCESS概述 8
2.3.1 ACCESS语言概述 8
2.3.2 ACCESS数据库的简介 8
2.4 Dreamweaver介绍 8
2.5 ADO 9
2.6 B/S结构 10
2.7 数据库设计 11
2.7.1 数据需求分析 11
2.7.2 创建数据库 12
第3章 系统实现 14
3.1系统首页 14
3.2系统登录 14
3.3学生信息管理模块 16
3.4教师信息管理模块 17
3.5教师提交题目和学生选题模块 17
3.6选题调整与信息查询模块 19
3.7答疑(留言)模块 20
第4章 系统测试 21
4.1测试的环境 21
4.2 测试的目的 21
4.3测试过程和结果 21
第5章 设计小结 23
参考文献 24
致 谢 25
毕业设计题目管理系统
序 言
毕业设计管理是高校教学管理中不可缺少的重要环节。在网络技术已经渗入社会生活各个层面的今天,通过网络进行对毕业设计进行合理的管理可以更好为高校教学管理提供方便。如今,传统的毕业设计管理方式面临着变革,而网络毕业设计管理则是一个很重要的方向。基于Web技术的毕业设计管理系统可以借助于遍布全球的Internet进行,因此毕业设计查询或别的功能既可以在本地进行,也可以在异地进行,大大拓展了毕业设计管理的灵活性。Web是访问Internet的一种最容易、最流行的方式,利用Web作为工具访问Internet的人数占了绝大多数,因此,基于Web的毕业设计管理系统有着非常广阔的前景。毕业设计题目管理系统具有高度的可扩展性,被授权的学生和老师不管身处何地,只要使用网络浏览器,就可通过网络登录毕业论文管理系统,在网上查找自己想要的论文和添加要的论文等。并且由于社会的发展,知识在社会中越来越重要,所以在我国大学生越来越多,这就对学校的管理提供了难题,使得学校对学生的毕业设计管理起来非常的复杂,因此伴随着这个设计一个毕业设计管理系统是多么的重要了啊!这样一来就可以规范学校的管理制度,提供良好的学校形象。而且更易于我们学生的查询和阅读所以根据目前的需要我希望做一个毕业设计题目管理系统,这样可以省很多事情,给老师和我们学生带来很大的方便。
第1章 系统分析
1.1 需求分析
毕业设计题目管理系统作为整个毕业设计管理系统中的一个子系统,系统应该提供管理员、学生、教师3种用户类型。系统管理员登录系统后可以对系统进行管理,其主要操作对象是维护学生、教师、选题的和数据库的基本信息。学生登录后的主要操作是查看毕业设计题目信息,选题并下载任务书。教师登录后的主要操作是提交毕业设计题目信息和上传任务书 。
将系统需求加以总结,得出系统需求如下:
●系统可以运行在windows 操作系统平台上,并具有友好的用户界面。
●系统用户类型为:管理员、教师、学生。
●系统对于一个用户只允许以一种身份登录。
●只有管理员可以维护学生、教师、选题信息和数据库的基本信息。
●学生可以查看选题信息和选题结果、选题并下载任务书。
●教师可以查看选题信息和选题结果、选择提交毕业设计题目并上传任务书。
1.2 功能分析
通过前面的分析已经明确系统用户共有如下3类,不同的用户可以通过系统进行不同的操作。分别如下:
●管理员:管理学生、教师、选题信息,对其信息可以进行添加、删除、编辑操作。
●学生:选题、查看选题信息和选题结果、下载任务书、在线提问。
●教师:上传毕业设计题目信息、查看学生选题信息和选题结果、在线答疑。
1.3 数据流图
数据流图即DFD图。是用于分析系统数据流程的图形,意在让用户理解系统的功能、输入、输出和数据存储等。根据以上系统分析,毕业设计题目管理系统的第一层数据流图如图1-1所示。通过数据流图可以看出系统由哪几部分组成,各部分之间联系。
1.4 系统各功能模块详细分析
毕业设计题目管理系统有管理员、学生和教师3种用户,管理员对学生、教师、选题信息进行维护。学生查看选题信息及选题结果、选择毕业设计题目、下载任务书,选择登录学生成绩。根据以上的用户操作需求,将系统划分为如下3大功能,并对其模块的划分和功能进行描述。
1、管理员功能
●管理员登录。
●学生管理:列表、添加、修改、删除。
●教师管理:列表、添加、修改、删除。
●毕业设计题目管理:列表、添加、修改、删除。
●留言管理:列表、添加、修改、删除。
2、学生功能
●学生登录。
●选题信息和选题结果:查看。
●毕业设计题目:选题、修改。
●在线答疑:提出问题。
3、教师功能
●教师登录。
●选题信息和选题结果:查看。
●毕业设计题目:提交毕业设计题目信息。
●在线答疑:回答问题。
根据以上分析整个系统的模块结构,得出系统功能模块图。如图:1-2 所示:
图1-2 系统功能模块图
1.5 系统流程分析
1.5.1 管理员的操作流程
管理员的操作流程:首先管理员登录系统,然后才能对学生、教师、选题信息和数据库数据维护,也就是说只有管理员才能将学生、教师、选题的信息加入到系统的数据库中。在系统使用过程中,管理员进行管理工作。图1-3描述的是管理员的操作流程。
1.5.2 学生操作流程
学生操作流程:学生根据学生号和密码登陆系统,初始的密码由管理员设置。学生登录后可以查看选题信息和选题结果,进行选题并下载任务书。如图1-4描述的是学生的操作流程。
1.5.3 教师的操作流程
教师的操作流程:教师根据教师号和密码登录系统,初始的密码由管理员提供。教师登录后,上传毕业设计题目以及任务书,还可以查看选题信息和选题结果。图1-5描述的是教师的操作流程。
图1-3 管理员的操作流程
图1-5 教师的操作流程
第2章 系统设计
2.1 系统开发环境
通过前面对系统功能需求,制定出了毕业设计题目管理系统的构建方案。
●操作系统:Windows 2000 Server。
●开发工具:Dreamweaver MX。
●Web服务器:IIS 5.0。
●服务器环境:ASP
●数据库:Access 2003。
●编程语言:VBSCRIPT 语言。
2.2 ASP技术介绍
2.2.1 ASP概述
Active Server Pages即我们所称的ASP,其实是一套微软开发的服务器端脚本环境。Active Server Page是创建动态网页的一个很好的工具,它起一种编程语言的作用,可以利用它编写动态产生HTML的程序代码。因此,只要用户浏览Web站点并请求一个ASP页,Web服务器就可以处理相应的ASP代码,生成HTML代码,然后将它传递到用户浏览器并显示出网页。有了ASP就不必担心客户的浏览器是否能运行所编写的代码,因为所有的程序都将在服务器端执行,包括所有嵌在普通HTML中的脚本程序。当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。以下罗列了ASP所独具的一些特点:
1.使用VBScript、JScript等简单易懂的脚本语言,结合HTML代码,即可快速地完成网站的应用程序。
2..无须编译,容易编写,可在服务器端直接执行。
3.与一般的脚本语言相比,要安全的多。
2.2.2 ASP工作原理
ASP是一套微软开发的服务器端脚本环境,它没有提供自己专门的编程语言,而是允许用户使用包括VBscript,Javascript等在内的许多已有的脚本语言编写ASP的应用程序。ASP内含于IIS 3.0和4.0及以上版本之中,与一般的程序不同,asp程序无须编译,ASP程序的控制部份,是使用VBScript、JavaScript等脚本语言来设计的,当执行ASP程序时,脚本程序将一整套命令发送给脚本解释器(即脚本引擎),由脚本解释器进行翻译并将其转换成服务器所能执行的命令。ASP本身并不是一种脚本语言,它只是提供了一种使镶嵌在HTML页面中的脚本程序得以运行的环境。
2.3 ACCESS概述
2.3.1 ACCESS语言概述
Access是Office系列软件中用来专门管理数据库的应用软件。所谓数据库是指经过组织的、关于特定主题或对象的信息集合。数据库管理系统分为两类:文件管理系统和关系型管理系统。Access应用程序就是一种功能强大且使用方便的关系型数据库管理系统,一般也称关系型数据库管理软件。它可运行于各种Microsoft Windows系统环境中,由于它继承了Windows的特性,不仅易于使用,而且界面友好,如今在世界各地广泛流行。它并不需要数据库管理者具有专业的程序设计水平,任何非专业的用户都可以用它来创建功能强大的数据库管理系统。
2.3.2 ACCESS数据库的简介
数据库技术是计算机软件的一个重要分支,它产生于20世纪60年代,最早是由IBM公司推出的IMS数据库系统。数据库技术从开始到现在大致经历了三个阶段,分别是:人工管理阶段、文件管理阶段和数据库管理阶段。Access使用标准的SQL(Structured Query Language,结构化查询语言)作为它的数据库语言,从而提供了强大的数据处理能力和通用性,使其成为一个功能强大而且易于使用的桌面关系型数据库管理系统和应用程序生成器。一个Access数据库中可以包含表、查询、窗体、报表、宏、模块以及数据访问页。不同于传统的桌面数据库(dbase、 FoxPro、Paradox),Access数据库使用单一的*.mdb文件管理所有的信息,这种针对数据库集成的最优化文件结构不仅包括数据本身,也包括了它的支持对象。此外,Access 2003还利用Office套件共享的编程语言VBA(Visual Basic for Application)进行高级操作控制和复杂的数据操作。
2.4 Dreamweaver介绍
Macromedia Dreamweaver是建立Web站点和应用程序的专业工具。它将可视布局工具、应用程序开发功能和代码编辑支持组合在一起,其功能强大,使得各个层次的开发人员和设计人员都能够快速创建界面吸引人的基于标准的网站和应用程序。从对基于 CSS 的设计的领先支持到手工编码功能,Dreamweaver提供了专业人员在一个集成、高效的环境中所需的工具。开发人员可以使用Dreamweaver及所选择的服务器技术来创建功能强大的Internet应用程序,从而使用户能连接到数据库、Web服务和旧式系统。
2.5 ADO
本系统中使用了ADO组件访问Access数据库。ADO(ActiveX Data Objects)技术是微软公司推出的一种数据库连接和访问技术,运用该技术可以实现对大多数的数据库连接、查询、存储等操作。它提供了编程语言和统一数据访问方式OLE DB的一个中间层。允许开发人员编写访问数据的代码而不用关心数据库是如何实现的,而只用关心到数据库的连接。ADO向我们提供了一个熟悉的,高层的对OLE DB的Automation封装接口。对那些熟悉RDO的程序员来说,你可以把OLE DB比作是ODBC驱动程序。如同RDO对象是ODBC驱动程序接口一样,ADO对象是OLE DB的接口;如同不同的数据库系统需要它们自己的ODBC驱动程序一样,不同的数据源要求它们自己的OLE DB提供者(OLE DB provider)。ADO向VB程序员提供了很多好处。包括易于使用,熟悉的界面,高速度以及较低的内存占用(已实现ADO2.0的Msado15.dll需要占用342K内存,比RDO的Msrdo20.dll的368K略小,大约是DAO3.5的Dao350.dll所占内存的60%)。同传统的数据对象层次(DAO和RDO)不同,ADO可以创建。因此你可以只创建一个"Connection"对象,但是可以有多个,的"Recordset"对象来使用它。ADO针对客户/服务器以及WEB应用程序作了优化。ADO是Microsoft提出的应用程序接口(API)用以实现访问关系或非关系数据库中的数据。例如,如果您希望编写应用程序从DB2或Oracle数据库中向网页提供数据,可以将ADO程序包括在作为活动服务器页(ASP)的HTML文件中。当用户从网站请求网页时,返回的网页也包括了数据中的相应数据,这些是由于使用了ADO代码的结果。
象Microsoft的其它系统接口一样,ADO是面向对象的。它是Microsoft全局数据访问(UDA)的一部分,Microsoft认为与其自己创建一个数据,不如利用UDA访问已有的数据库。为达到这一目的,Microsoft和其它数据库公司在它们的数据库和Microsoft的OLE数据库之间提供了一个“桥”程序,OLE数据库已经在使用ADO技术。ADO的一个特征(称为远程数据服务)支持网页中的数据相关的ActiveX控件和有效的客户端缓冲。作为ActiveX的一部分,ADO也是Microsoft的组件对象模式(COM)的一部分,它的面向组件的框架用以将程序组装在一起。
ADO是对当前微软所支持的数据库进行操作的最有效和最简单直接的方法,它是一种功能强大的数据访问编程模式,从而使得大部分数据源可编程的属性得以直接扩展到你的Active Server页面上。可以使用ADO去编写紧凑简明的脚本以便连接到Open Database Connectivity(ODBC)兼容的数据库和OLE DB兼容的数据源,这样ASP程序员就可以访问任何与ODBC兼容的数据库,包括MS SQLSERVER、Access、Oracle等。
2.6 B/S结构
B/S结构利用不断成熟和普及的浏览器技术实现原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。B/S模式具有以下优点:
(1)界面统一,使用简单。用户端只需安装单一的Browser浏览器软件,不需要特定的客户端软件。
(2)使用简单,用户使用单一的浏览软件,通过鼠标即可访问文本、图象、声音、电影及数据库等信息,特别适合非计算机人员使用。
(3)易于维护。由于用户端无需安装专用的软件,对应用系统进行升级时,只需更新服务器端的软件,减轻了系统维护与升级的成本与工作量,使用户的总体拥有成本大大降低。
(4)有效保护企业投资。B/S模式由于采用标准的TCP/IP、HTTP协议,它可以与企业现有网络很好的结合。
(5)可扩展性好。TCP/IP、HTTP的标准性使得B/S模式可直接接入Internet,具有良好的扩展性。
(6)信息共享度高。HTML是时间格式的一个开放标准,目前大多数流行的软件均支持HTML,同时HTML技术使得Browser可访问多种格式文件。
(7)安全性好,放火墙技术将保证现代企业网络的安全性。如果结合Windows NT与Internet Information Server的高度安全性,使拥护在操作系统级就可达到Windows NT的C2级系统安全。
(8)可以在任何时间、任何地点(没有局域、广域之分)、以任何接入方式(有线或无线连接)实现跨平台的网络实时操作。
当然B/S模式也有其不足之处,WEB系统是一种基于INTERNET的,松散的,不可预知系统吞吐量的软件形态,其速度和安全性都无法和基于LAN的系统相比。它本质上讲,只是一种基于HTTP协议的C/S计算模式。但是HTTP协议是一种“无状态”的协议,也就是说,在发向WEB服务器的各个请求之间,不存在任何连接关系。浏览器发出一个请求,并从服务器获得响应,如果浏览器发出另一个请求,服务器仍会作出响应,好象以前从未与那个浏览器打过交道一样,也就是说,HTTP协议的机制决定了它只能单独的请求进行单独的响应。
2.7 数据库设计
2.7.1 数据需求分析
根据功能模块划分的结果可知,本系统的用户有三类:管理员、学生和教师。由于管理员、学生和教师的权限和操作功能大不相同,因此在本系统中需要分别进行数据记录,首先需要如下3个数据实体。
管理员数据实体:需要记录管理员的登录名、姓名和密码,其中登录名和密码是管理功能模块登录验证时所必需的。
学生数据实体:包括学生号、学生姓名、学生学历、学生班级及所学专业。管理员在学生入学时根据填写的信息初始化学生信息,在以后的维护过程中,仅在特殊情况下对信息进行修改操作。
教师数据实体:包括教师号、密码、教师姓名。这些信息有管理员初始化好,如果有所改动都要由管理员维护
除了以上三个系统用户实体外,毕业设计题目管理系统还要对学生选题、教师提交毕业设计题目进行管理,这就又需要如下的两个数据实体。
毕业设计题目选题数据实体:用于记录所有毕业设计题目的基本信息,包括毕业设计题号、课题名、课题限选人数、任务书下载等。这些信息由学校的工作人员已管理员的身份登录后进行维护。
毕业设计题目提交数据实体:用于记录教师提供的毕业设计题目,包括题目号、毕业设计题目、教师名字、指导地点、联系方式及任务书的上传。这些数据由教师提交后管理员进行调整和维护。
以上的5个实体是基本的数据实体。作为毕业设计题目管理系统,还要记录学生选题后的结果和在线的答疑,因此又有如下的实体:
学生选题结果数据实体:包括学生号、所在班级、所学专业、所选课题名及指导老师等。
在线答疑数据实体:包括学生留言和老师留言。
2.7.2 创建数据库
首先要创建一个数据库,由前面的分析得知这个系统中需要建立7张数据表,在设计数据库表的过程中,一般要遵循几条原则:
●数据库的一个表最好只存储一个实体或对象的相关信息,不同的实体最好存储在不同的数据表中,如果实体还可以再划分,实体的划分原则是,划分后的实体比当前系统要开发实体的复杂度小。
●数据表的信息结构一定要合适,表的字段的数量一般不要过多。
●扩充信息和动态变化的信息一定要分别放在不同的表里;
●多对多的表关系尽量不出现
由前面的分析得知这个系统中需要建立7 张数据
●管理员表(admin):用于存放管理员用户的数据记录。
● 学生表(student):用于存放学生的基本信息。
● 教师表(teacher):用于存放所有教师的基本信息。
● 留言表(bbs):用于存放所有留言的基本信息。
● 设计课题表(topicoper):用于存放所有毕业设计题目的信息。
● 选题表(seach):用于存放学生提交选题后的信息。
● 选题结果表(reslut):用于发布学生选题后的结果信息。
这7 张数据表的字段说明如表2-1~表2-7所示。
表2-1 管理员表
字段名 | 数据类型 | 含义 |
admin_id | 编号 | 管理员编号 |
admin_name | 文本 | 姓名 |
Password | 文本 | 密码 |
字段 | 数据类型 | 含义 |
student_id | 自动编号 | 学生编号 |
student_name | 文本 | 学生姓名 |
Student_number | 文本 | 学生学号 |
Class | 文本 | 班级 |
Department | 文本 | 所在系 |
Xueli | 文本 | 学历 |
Password | 文本 | 密码 |
字段 | 数据类型 | 含义 |
teacher_id | 自动编号 | 教师编号 |
teacher_name | 文本 | 教师姓名 |
Title | 文本 | 代号 |
Password | 文本 | 密码 |
字段 | 数据类型 | 含义 |
Id | 自动编号 | 课程代号 |
Name | 文本 | 课程名 |
topic_kind | 文本 | 课题类型 |
topic_value | 文本 | 课题属性 |
Department | 文本 | 限选专业 |
limt_number | 数字 | 限选人数 |
topic_teacher | 文本 | 指导老师 |
answer_time | 文本 | 指导地点 |
answer_add | 文本 | 联系方式 |
字段 | 数据类型 | 含义 |
Id | 自动编号 | 编号 |
student_name | 文本 | 学生姓名 |
Password | 文本 | 密码 |
topic1_name | 文本 | 课题一 |
Topic2_name | 文本 | 课题二 |
Topic3_name | 文本 | 课题三 |
字段 | 数据类型 | 含义 |
Id | 自动编号 | 编号 |
Student_number | 文本 | 学生学号 |
Student_name | 文本 | 学生姓名 |
Department | 文本 | 所在系 |
Xueli | 文本 | 学历 |
Class | 文本 | 班级 |
topic_id | 文本 | 课题代号 |
topic_name | 文本 | 课题名 |
topic_teacher | 文本 | 指导老师 |
answer_time | 文本 | 指导地点 |
answer_add | 文本 | 联系方式 |
字段 | 数据类型 | 含义 |
Id | 自动编号 | 编号 |
Liuyan_name | 文本 | 留言者姓名 |
liuyan_id | 文本 | 留言者身份 |
Content | 文本 | 留言内容 |
liuyan_date | 日期 | 留言日期 |
第3章 系统实现
3.1系统首页
任何用户使用系统,进入首页如图3-1:
图:3-1 首页
由图可知:该系统首页即为学生登录首页。
整个首页有两部分组成就是首页标题模块和学生登录页面模块。
下面是首页链接到几个标题的链接流程图,如图3-2所示:
图3-2首页链接标题流程图
在登录首页后可以选择自己所需要的界面链接,这里只是简单的画了首页链接其他标题的流程图其实其他各图之间是可以相互链接的。
3.2系统登录
本系统包括3类用户: 学生、管理员、教师。从上得知学生登录设在了首页,教师登录和管理员登录则要选择相应的登录界面。与登录相关的页面一共有七个,分别如下:
●index.asp:学生登录页面。
●teacher_login.asp:教师登录页面。
●admin_login.asp:管理员登录页面。
●student_post.asp: 学生功能选择页面。
●teacher_post.asp: 教师功能选择页面。
●admin_main.asp:管理员功能选择页面。
●bbs.asp:在线答疑(留言)功能选择页面。
不同角色的用户登录系统时,使用不同的登录页面。登录流程图如图3-3。
图3-3 登录逻辑流程
学生在index.asp页面中填写登录信息,包括用户名、密码,提交表单后将由index.asp 处理登录的逻辑,并根据用户的登录信息决定跳转到student_post.asp。教师则在index.asp中选择teacher_login.asp跳转到教师登录页面,然后填写登录信息,包括用户名、密码,提交后由teacher_login.asp处理登录逻辑,根据用户的登录信息跳转到teacher_post.asp。管理员则在index.asp选择admin_login.asp跳转到管理员登录页面,然后填写登录信息提交,并根据登录信息跳转到admin_main.asp。而bbs.asp只要相应的用户选择bbs.asp就可以直接登录。从而得知登录信息都是由POST的方式,提交到各自的页面进行验证。同时在浏览器向服务器提交信息前,要在浏览端进行初步的验证,下面这段代码(图3-4)主要功能是验证学生登录输入数据的完整性。