毕业论文同学录管理系统.docx
《毕业论文同学录管理系统.docx》由会员分享,可在线阅读,更多相关《毕业论文同学录管理系统.docx(37页珍藏版)》请在冰豆网上搜索。
毕业论文同学录管理系统
摘要
随着互联网的发展与普及,网路强大的通信能力成为越来越多的人们共同选择的交流平台。
对于高中、大学等毕业后各奔东西的同班同学而言,计算机网络也是他们保持联系的重要工具。
而网络同学录这一特殊的虚拟社区,已成为同学保持联系和交流感情的重要手段之一。
同学录管理系统就是适应这种需要而建立的。
建设同学录管理平台,充分利用网络特性,设计有效的同学间的交互联系,为师生提供服务。
网站系统及Web应用系统开发往往需要是一个复杂的过程,涉及到系统需求分析,数据库建模,网页界面设计及编程,调试并发布等环节。
ASP由于语言结构简单,是目前主流的网络编程语言环境之一。
关于同学录管理系统,其开发主要包括后台数据库的建立、后台管理以及前台页面管理的Web设计。
系统使用的是Microsoft公司的ASP开发工具,利用微软提供的IIS建立运行环境,再结合MircrosoftSQLServer2000建立数据库连接关系。
利用其提供的各种组件,建立数据库,对数据库进行分析与建立ASP页面。
关键字:
同学录;Web程序设计;ASP;SQL数据库;
Abstract
WiththedevelopmentandpopularizationofInternet,networkcommunicationscapabilitiestobecomestrong,moreandmorepeopleshareacommonplatformofthechoice.Forhighschool,universityandotherclassmateswenttheirseparateplacesaftergraduation,thecomputernetworkisanimportanttooltokeepintouchwiththem.ThenetworkClassmatesofthisspecialnetworkvirtualcommunity,hasbecomethestudentstomaintaincontactandexchangeoffeelingsofoneofthemeans.Classmatesmanagementsystemistoadapttothisneedandestablished.PlatformforbuildingClassmatesmanagementmakefulluseofnetworkcharacteristics,thedesignofeffectiveinteractionbetweenstudentscontact,forteachersandstudentstoprovideservices.WebsystemandWebapplicationdevelopmentoftenrequiresacomplexprocess,involvingthesystemrequirementsanalysis,databasemodeling,webinterfacedesignandprogramming,debuggingandpublishingsectors.ASPBecauseofthelanguageofsimplestructure,isthemainstreamnetworkprogramminglanguageenvironments.AboutClassmatesmanagementsystem,whichmainlyincludestheestablishmentofadatabasebackground,backgroundmanagementandmanagementofWebdesignfrontpage.Systemusesthecompany'sASPistheMicrosoftdevelopmenttools,usingMicrosoft'sIIStoestablishoperatingenvironment,combinedwithMircrosoftSQLServer2000toestablishadatabaseconnectionrelationship.Providesavarietyofitscomponents,toestablishadatabaseofthedatabaseforanalysisandtheestablishmentofASPpage.
Keywords:
Classmates;Webprogramming;ASP;SQLDatabase;
目录
摘要II
AbstractII
1引言1
1.1背景和意义1
1.2系统概况1
1.3研究内容、目标及意义1
2系统分析与设计1
2.1系统分析1
2.1.1系统初步调查2
2.1.2系统需求分析2
2.2系统设计2
2.2.1系统概要设计3
2.2.2系统详细设计4
3系统实现7
3.1开发工具的选择7
3.1.1ASP开发平台7
3.1.2MircrosoftSQLServer20008
3.2程序设计9
3.2.1程序设计概要9
3.2.2功能模块的实现9
3.2.3设计结果16
4结束语21
参考文献22
附 录24
致谢22
1引言
1.1背景和意义
随着Internet的迅速普及,网上同学通讯录已经得到了广泛的应用。
通过这种公开的通讯录寻找自己同学的联系方式,比起辗转的询问要方便得多。
借助这种方便、快捷的联系方式,即使是远在天涯海角的学生也能够及时地得到以前同学的信息,极大地缩短了时间和空间的距离。
而同学录管理系统还增加了其它功能,它把同学通讯录涵盖在内进行管理,不仅仅只是个通信录。
并且随着同学录管理功能不断完善,它变成是高中、大学等毕业后各奔东西的同班同学保持联系和交流感情的重要工具之一,同学录管理的整体发展处于上升期,也像QQ一样,逐渐成为年轻人的时尚,必将使人享受不同于以往通信录的乐趣。
[1]
1.2系统概况
本系统的服务主要包括:
通信录、班级管理、短消息、留言板(或论坛)等。
后台可以对本系统的各种信息进行维护管理。
系统前台用户通过注册后可以访问前台界面,登录网站界面,进行通讯交流;但是系统后台只有管理员身份才能进入。
管理员通过身份密码验证,进入到后台管理系统,方能对本系统的各个信息进行维护和管理,包括增、删、改基本信息的操作。
1.3研究内容、目标及意义
该课题为设计并实现一个基于ASP技术的动态网络同学录网站。
该网站主要具有如下模块:
1.登录信息管理:
包含用户注册、用户登录和修改个人信息功能。
2.班级信息管理:
包含班级的创建和维护功能,以及班级照片管理功能。
3.通信录的管理:
包含添加、查看、修改和删除教师与学生的通信录。
4.留言消息管理:
包含发表、编辑、查看和删除留言消息功能。
5.管理员的功能:
对注册用户和用户建立的班级进行管理并对网站的参数进行定义的功能。
网站建设的主要基本目标为:
1.登录信息管理:
对于普通用户,只有通过用户注册,注册成功后才可以登录本系统;用户还可以通过修改个人信息功能对自己的信息加以修改。
而管理员通过登录,实现对网站更好的服务和管理。
2.班级信息管理:
通过对班级管理员的申请,进行对班级的信息,成员进行管理。
3.通信录的管理:
通过添、删、改等基本操作完善教师与学生的通讯信息。
4.留言信息管理:
通过添、删、改等基本操作用户可以留言;或发表论坛新主题,对其主题进行回复,当然还可以进行编辑、删除主题与回复,从而实现论坛上的交流。
5.管理员的功能:
通过此功能实现对注册用户和用户建立的班级进行管理并对网站的参数进行定义。
2系统分析与设计
2.1系统分析
系统分析阶段的目标就是在系统规划所定的某个开发项目范围内明确系统开发的目标和用户的信息需求,提出系统的逻辑方案。
系统分析在整个系统开发过程中,是要解决“做什么”的问题,提出逻辑方案,为了下一阶段进行物理方案设计,解决“怎么做”提供依据。
[2]
2.1.1系统初步调查
系统初步调查是系统分析阶段的第一项活动,它的主要目标是从系统分析人员和管理人员的角度看新项目开发有无必要和可能。
系统初步调查采用的主要方式是系统分析人员与各种学生进行交流,分析同学录管理系统建立的需求度。
经过初步调查了解到,由于互联网的发展与普及,同学录作为一种方便校友之间联系的实用系统,在现实生活中应该得到广泛的应用。
特别是在提倡终生教育的今天,随着人的教育经历的增长,同学是越来越多,因此同学信息的管理是我们每个人成长中必须管理的信息。
2.1.2系统需求分析
经过调研确定,同学录管理系统要完成的基本功能是同学间的相互交流。
其内容主要有班级管理、留言板(或论坛)、短消息、通信录和用户管理等。
一个学校的同学是以班级为单位进行划分的,需要对班级信息、班级成员等进行管理,所以班级管理是本系统必不可少的一部分。
而且其中的班级相册也是极受使用者欢迎的内容。
在现在有条件使用扫描仪和拥有数码相机的人群中更是如此。
将图片上传至同学录免去了邮寄照片的不便,而且通过同学录这一全班都会关注的方式,有利于图片信息的公开和传播。
同学录在这里体现了超文本和信息便捷公开的优势,对于毕业后奔向天南海北的高中同学具有很强的吸引力。
多数人都有在同学录上留言(或发表论坛)的习惯,因此留言(或论坛)管理也是同学录的基本需求。
而且留言板(或论坛)是通信录使用人数最多的功能。
留言板(或论坛)内容是同学录使用者最为关注的信息,也是通过同学录最便捷地获取信息的手段。
大学生活和同学近况是同学录上最常见的讨论话题。
与聊天室不同的是,留言板不要求使用者在同一时间内使用,所有信息会以文本的方式保留下来,并且用户可以方便地查询到很久以前的留言。
诸多优点使得留言板(或论坛)成为同学录最受欢迎的内容,甚至是很多同学录唯一有人使用的内容。
通过短消息的收发,实现发送者与接收者之间的信息传送,此功能也让许多人喜欢。
而同学录上公开的通讯录,让人方便寻找自己同学的联系方式。
另外和大多数系统一样,同学录管理系统也需要进行用户管理。
由于前台用户的这些需求,后台系统就应该对相关信息进行必要的维护:
对同学录的基本参数进行设定与修改操作;对用户积分进行设定与修改操作,对用户信息进行核查操作;对班级信息及动态进行核查管理操作;对短消息发布于管理进行操作,还有定期批量删除短消息操作。
最后,后台还应该及时做好数据更新操作。
2.2系统设计
系统设计是在系统分析的基础上由抽象到具体的过程,同时,还应考虑到系统所实现的内外环境和主客观条件,本着实事求是的态度进行这一阶段的工作。
系统设计阶段的主要目的是将系统分析阶段所提出的反映用户信息需求的系统逻辑方案转换成可以实施的基于计算机与通信系统的物理方案。
这一阶段的主要任务就是从管理信息系统的总体目标出发,根据系统分析阶段对系统的逻辑功能的要求,并考虑到经济、技术和运行环境等方面的条件,确定系统的总体结构和系统各组成部分的技术方案,合理选择计算机和通信的软、硬件设备,提出系统的实施计划,确保系统总体目标的实现。
系统设计分为两部分:
系统概要设计和系统详细设计。
2.2.1系统概要设计
系统概要设计即系统的总体结构设计。
主要是指设计出整个系统由哪些部分组成,以及各部分在物理上、逻辑上的相互关系。
为了实现系统的总体功能,提高系统的各项指标,总体结构设计的主要任务是将整个系统合理的划分为各个功能模块,正确地处理模块之间与模块内部的联系以及它们之间的调用关系和数据联系,定义整个模块的内部结构。
同学录管理系统系统结构图:
图2-1系统结构图
1.模块详细功能描述
(1)登录管理:
用户注册功能用于新用户的注册,只有注册成功的用户才可以登录本系统;新注册地用户只有查询公开数据的权限,如果想获得更高的权限,如班级管理,在满足一定得条件下,进行申请。
用户登录功能,根据输入的用户名和密码判断该用户是否合法以及具有的操作权限,并根据不同的情况返回不同的结果。
用户登录后除了可以查询一些公开信息外,还可以通过修改个人资料功能修改自己的信息,如密码、生日日期、电子邮件、联系号码等。
(2)班级管理:
用户可以通过创建班级功能创建新的班级,以及加入已经存在的班级。
进入加入的班级后,可以查看该班级的班级心声(留言)、班级相册、班级名片册、教师通讯录等信息。
用户还可以通过班级相册功能进行上传照片和评论照片等。
通过班级管理员申请的用户,可以通过班级维护功能维护班级信息和对班级成员进行管理。
当然用户还可以辞去班级管理员身份或转让此身份,也可以通过班级注销退出班级。
(3)通讯录管理:
普通用户在进入加入的班级后不仅可以查看已有的通讯录,还可以通过附加同学通讯录和附加教师通讯录的功能进行添加,对自己添加的通讯录的信息还可以进行修改和删除操作。
班级管理员除了可以添加通讯录外,还可以对所有的通讯录进行修改和删除操作。
(4)留言消息管理:
用户可以查看自己的班级留言,也可以查看论坛上发表的主题,以及其他同学回复此主题的留言。
当然用户可以添加留言,回复论坛上的主题,也可以发表新主题。
普通用户只可以对于自己的留言(或论坛)进行编辑和删除操作,但管理员除了有普通用户的功能外,还可以对任何留言进行编辑和删除操作。
而用户都可以通过短消息接收功能,实现对发送者和接受者之间的信息交流。
(5)管理员功能:
系统管理员除了有以上普通用户的功能外,还有拥有班级管理员一样的功能。
当然还有系统管理员特有的功能,可以通过网站参数设置功能对同学录的基本参数和用户积分进行设置;通过注册用户(班级)管理功能,对整个同学录得所有用户(班级)进行管理,删除和合法的用户(班级)。
2.2.2系统详细设计
1.代码设计
1.1模块化设计[5]
模块化设计的要求不仅是为了提高代码的重用性,更重要的是为了提高代码的可维护性和稳定性。
一个模块化程度高、结构清晰的应用程序,在程序维护时的便利性是可想而知的。
在最初设计方案时,就要规划好哪些模块是可以提出来多次使用,哪些模块虽然只使用一次,但提出之后使代码更清晰等。
一般地,在一个Web应用程序中,可以模块化的部分有几种:
(1)每页的头、尾要重复使用多次,可以分别单独做成一个文件。
(2)页面的左侧有时也可以独立出来,作为一个独立的文件供几个不同的页面使用。
(3)页面的整体布局。
一般地,为了整个网站的风格一致,事先设计一个整体的页面布局,然后只要填充不同的栏目和内容即可。
(4)链接数据库代码也可以放到一个文件中,就是大家常见的conn.asp之类的文件。
(5)其他常用的功能,如分页、上传和下载等,可以做成单独的模块,在将来重复利用。
1.2目录组织[5]
目录结构组织中,也尽量按模块功能来分类,如将公共模块放入一个名为Inc或Include的文件夹中,将图片放到Img或images文件夹中,将后台管理放到Admin或Manage文件夹中。
一般地,在一个Web应用程序中,目录结构可做如下规划:
(1)Web应用程序总文件夹。
(2)如果使用Acess数据库,则需要数据库文件夹(放在虚拟目录外部,防止下载数据库)。
(3)Web应用程序文件夹(虚拟目录内部)。
——include:
公共文件、CSS文件、JS文件。
——images:
页面中用到的图片文件夹。
——uploadImages:
上传后的图片文件夹。
——upload:
上传的其他文件。
——admin:
后台管理文件夹。
(4)如果还要其他目录,可以根据功能创建目录,比如考试系统中要创建相应的学生、老师等目录。
(注意:
以上的“——”表示下一级目录。
)
1.3尽量将页面代码与脚本代码分离[5]
在一个页面中,如果ASP脚本代码与HTML页面代码混杂在一些,不仅极不方便将来的维护,而且会导致页面执行效率大大降低。
合理的解决办法是采用Include语句将其包含进来,而且将ASP脚本代码再在一页的最前面,在HTML代码中只需要用<%=var%>引用ASP脚本的执行结果即可。
一个将ASP脚本与HTML代码放在同一个文件中的典型结构如下图2-2所示:
图2-2
本系统代码管理就是遵循以上原则,将代码模块化,并且以目录结构组织起来,分成如下目录:
(1)Web应用程序classmates总文件夹。
(2)存放SQL数据库的文件夹。
(3)Web应用程序文件夹(虚拟目录内部)。
——include:
存放公共代码的文件夹。
——class:
存放普通用户代码的文件夹。
——admin:
存放后台管理的文件夹。
——css:
存放页面中用到的层叠样式文件夹。
——images:
存放页面中用到的图片文件夹。
——mood:
存放页面中用到的心情图片文件夹。
——face:
存放页面中用到的头像图片文件夹。
——star:
存放页面中用到的星座图片文件夹。
——photo:
存放上传后的图片文件夹。
——script:
存放代码中用到的脚本文件夹。
并且在书写代码时,也尽量将页面代码和脚本代码分离,尽量做到代码可维护性和稳定性。
2.数据库设计
几乎所有的WEB项目都是基于数据库的,这使得数据的设计在整个项目中的地位举足轻重。
相关研究表明,在数据应用系统的开发中,项目成功50%靠数据库的设计。
良好的数据设计往往能够减少开发的负担。
[3]
数据库设计是指对于一个给定的应用环境,通过合理的逻辑设计和有效的物理设计来构造较优的数据库模式,建立数据库极其应用系统,满足用户的各种信息需求。
针对本系统将要实现的功能,数据库中应该具有以下的信息:
(1)管理员信息:
用来存储管理员用户名和密码。
(2)班级信息:
用来查看或注册班级,其中应该包括的必要信息如:
班级编号,班级名称,学生数,班级注册日期,建立人和班级管理员等。
(3)教师信息:
包括教师编号,教师姓名,电子邮件,联系电话,通信地址和其他信息等。
(4)学生信息:
用来存储学生的具体信息,如用户名,真实姓名,密码,生日,电子邮件,联系电话,工作单位,通信地址,注册日期等。
(5)班级成员信息:
用来存储已经加入的某个班级的学生,其中包括的信息有:
学生编号,班级编号,学生加入日期,学生最后访问日期和学生访问次数等。
(6)班级留言本信息:
用来存储相关留言的信息,如留言标题,留言内容,留言人,留言时间等。
(7)班级相册信息:
用来存储相关上传的图片的信息,如图片名,图片大小,图片类别,上传人,图片标题,图片说明和上传时间等。
(8)短消息信息:
用来发送、接收和查看短消息,包括发送人,接收人,标题,内容,是否查看,是否删除到垃圾箱和是否已发送等信息。
针对具体需求,可规划出的实体有:
学生实体、班级实体、班级相册实体、短消息实体、留言板实体、教师实体。
而实体之间关系的E-R图如图2-3所示:
图2-3实体之间关系的E-R图
因此,本系统主要涉及8张表,分别是:
管理员表admin、班级表class、教师表teacher、学生表student、班级成员表joinclass、班级留言本表classboard、班级相册表photo、短消息表message(详细表结构设计见附录1)。
3.处理过程设计
处理过程设计要根据模块划分以及结构化程序设计的基本原则,对每个程序模块中的详细处理过程进行设计,常用的设计工具有程序流程图、结构化流程图(N-S图)、过程设计语言、判定树和判定表等。
由于程序流程图是一种用尽可能少、尽可能简单的方法来描述系统处理过程的方法;而且它的符号简单明了,非常易于阅读和理解系统处理流程。
所以本系统中采用的是程序流程图,如图2-4所示:
图2-4系统流程图
3系统实现
系统实施是继系统规划、系统分析、系统设计之后的又一个重要阶段,它将按照系统设计选定的方案具体实施。
在系统分析和系统设计阶段,系统开发工作主要是集中在逻辑、功能和技术设计上,工作成果是以各种系统分析和设计文档来体现的。
系统实施阶段要继承此前各阶段的工作成果,将技术设计转化为物理实现。
这一阶段包括开发工具的选择,功能模块的实现等主要活动。
3.1开发工具的选择
程序设计的编写是以程序设计语言为工具的,并要选择适当的程序设计语言。
本系统的软件开发工具选用了ASP,后台数据库选用MircrosoftSQLServer2000。
3.1.1ASP开发平台
随着计算机技术和网络技术的不断发展,人们对网络的要求也越来越高。
传统的静态网页技术已不能满足广大互联网用户的需要,各种动态网页技术应运而生。
ASP即ActiveServerPages的缩写,它是一种在服务器端解释脚本,且与浏览器无关的动态网页开发技术。
当用户浏览ASP网页时,Web服务器会根据浏览器发出的请求动态地生成相应的HTML代码,然后将结果返回给浏览器。
这样的过程减轻了客户端浏览器的负担,提高了交互的速度。
[4]正因为如此,ASP变成是目前网页制作中最常用的重要技术之一,许多网站都使用ASP制作网页。
ASP并不是一种编程语言,而是一种综合的网络解决方案,它允许用户根据自己的习惯采用不同的语言环境,在服务器端经过语言解释器的解释或HTML代码发送给客户端。
[11]
.ASP技术具有以下特点:
1.使用VBScript或JavaScript等简单易懂的脚本语言,结合HTML代码,就可快速地完成网站的应用程序。
2.ASP脚本集成于HTML当中,容易生成,无须编译,可在服务器端直接解释执行。
3.使用普通的文本编辑器,如Windows的记事本,就可以编辑设计ASP网页。
但是,利用具有可视化编辑功能的工具软件更有效率,功能也更完善。
4.ASP脚本在服务器端执行,与客户端浏览器无关(BrowserIndependence),客户端只要使用可执行HTML码的浏览器,就可浏览ActiveServerPages所设计的网页内容。
ASP所使用的脚本语言(VBScript,JavaScript)均在WEB服务器端执行,客户端的浏览器不需要安装任何附加软件就能够执行这些脚本语言。
5.ASP能与任何ActiveXScripting语言兼容。
除了可使用VBScript或者JavaScript语言来设计外,还可通过plug-in的方式,使用由第三方所提供的其他脚本语言,譬如REXX、Perl、Tcl等。
脚本引擎是处理脚本程序的COM(ComponentObjectModel)对象。
6.ASP脚本在服务器端执行,源程序代码不会传送到客户端。
用户浏览器显示的是ASP执行结果所生成的HTML页面,这样可以防止程序源代码被盗取。
并且可使用服务器端的脚本来产生客户端的脚本。
7.ActiveXServerComponents(ActiveX服务器组件)具有无限可扩充性。
可以使用VisualBasic、Jaca、VisualC++、COBOL等程序设计语言来编写你所需要的ActiveXServerComponent。
3.1.2MircrosoftSQLServer2000
SQL即StructuredQueryLan