基于web的同学校友录的开发.docx
《基于web的同学校友录的开发.docx》由会员分享,可在线阅读,更多相关《基于web的同学校友录的开发.docx(27页珍藏版)》请在冰豆网上搜索。
基于web的同学校友录的开发
毕业论文(设计)
题目:
基于WEB的同学校友录的开发
院(系):
计算机科学与技术学院
专业年级:
计算机科学与技术
姓名:
*****
学号:
********
指导教师:
*****讲师
2008年03月10日
原创性声明
本人郑重声明:
本人所呈交的毕业论文,是在指导老师的指导下独立进行研究所取得的成果。
毕业论文中凡引用他人已经发表或未发表的成果、数据、观点等,均已明确注明出处。
除文中已经注明引用的内容外,不包含任何其他个人或集体已经发表或撰写过的科研成果。
对本文的研究成果做出重要贡献的个人和集体,均已在文中以明确方式标明。
本声明的法律责任由本人承担。
论文作者签名:
日期:
关于毕业论文使用授权的声明
本人在指导老师指导下所完成的论文及相关的资料(包括图纸、试验记录、原始数据、实物照片、图片、录音带、设计手稿等),知识产权归属*****。
本人完全了解*****有关保存、使用毕业论文的规定,同意学校保存或向国家有关部门或机构送交论文的纸质版和电子版,允许论文被查阅和借阅;本人授权*****可以将本毕业论文的全部或部分内容编入有关数据库进行检索,可以采用任何复制手段保存和汇编本毕业论文。
如果发表相关成果,一定征得指导教师同意,且第一署名单位为*****。
本人离校后使用毕业论文或与该论文直接相关的学术论文或成果时,第一署名单位仍然为*****。
论文作者签名:
日期:
指导老师签名:
日期:
基于WEB的同学校友录的开发
摘要
在现代社会的今天,网络成为工作、学习的重要部分,充实着人们的生活。
作为网络世界的支撑点的网站,创建彼此沟通的桥梁。
越来越多的企业和个人希望拥有自己的网站,开辟网络世界里的一片天地。
校友录在网络中应用的非常广泛,现在许多学校的网站中都提供了校友录的功能。
校友录不仅是新老同学联系的桥梁,而且还是网络休闲和网上展示自我的好方式。
本系统开发任务主要包括前台界面的设计和后台数据库管理的设计。
经过详细的分析和调查,本设计采用ASP.NET+Dreamweaver8作为开发工具,后台数据库采用SQLSERVER2000数据库设计,设计过程中,首先建立了系统的应用原型,然后在此基础上进行需求迭代,详细设计时不断地修正和完善,经过测试阶段地反复调试和验证,最终实现网站设计。
关键词:
桥梁,校友,网站,ASP.NET
StudentAlumniDevelopmentWhichBasedonWeb
Abstract
Inmodernsocietytoday,anetworkwork,study,andanimportantparttoenrichpeople'slife.NetworkWorldasthesupportofthewebsite,creatingabridgebetweenthem.AnincreasingnumberofenterprisesandindividualsthathavetheirownWebsite,openeduptheworldofanetworkworld.Alumniinthenetworkapplicationisveryextensive,nowmanyschoolsareprovidedinthewebsiteoftheAlumnifunction.Alumninewandoldarenotonlyabridgebetweenthestudents,butalsonetworksonlineleisureandself-displaygoodway.
Themaintasksincludesystemsdevelopmentprospectsinterfacedesignandback-officedatabasemanagementdesign.Afterdetailedanalysisandinvestigations,thedesignusesASP.NET+Dreamweaver8asadevelopmenttool,backgrounddatabaseusingSQLSERVER2000databasedesign,thedesignprocess,thefirsttoestablishasystemoftheprototype,andthenonthebasisofthisiterativedemand,continuetodetaileddesignamendedandimproved,thetestingphaserepeatedlytestedandverified,theultimaterealizationofwebsitedesign.
Keywords:
bridge,alumni,website,ASP.NET
目录
1绪论1
1.1课题背景1
1.2课题意义1
1.3研究内容、研究方法与思路2
1.3.1研究内容:
2
1.3.2研究方法:
2
1.3.3思路:
2
2开发工具简介3
2.1ASP.NET简介3
2.1.1.NetFramework框架3
2.1.2ADO.NET访问数据库的原理4
2.3SQL语句4
2.4C#语言简介5
3同学录整体设计6
3.1同学录设计准则6
3.2同学录总体需求分析6
3.3网站功能模块设计6
3.3.1前后台管理模块7
3.3.2后台数据库设计8
4同学录网站的具体实现10
4.1功能特点10
4.2同学录网站页面和功能的具体实现10
4.2.1班级首页的实现10
4.2.2班级留言的实现13
4.2.3用户专区的实现14
4.2.4班级资料16
4.2.5站内短信16
4.2.6班级相册17
5关键技术19
5.1 DataGrid技术19
5.2 数据库控件20
6总结22
附录23
致谢25
参考文献26
1绪论
1.1课题背景
随着Internet技术的发展,人们的日常生活已经离不开网络。
未来社会人们的生活和工作将越来越依赖于数字技术的发展,越来越数字化、网络化、电子化、虚拟化。
Internet的发展历程以及目前的应用状况和发展趋势,可以充分地相信网络技术将极大的改变我们的生活和工作方式。
越来越多的人在工作学习之余需要利用网络找寻遗失的记忆。
同学录在网络中应用广泛,越来越多的人通过这个平台找到了“失落”已久的朋友和同学,已成为广大新老同学再续同窗情谊重温昔日情怀的交流平台。
现在比较有名的门户网站都提供了同学录功能,同学录不仅是新老同学联系的桥梁,而且还是网络休闲和网上展示自我的好方式。
因此我们在平时生活和工作中都需要有这样一个互相交流的网络平台。
有着越来越好的前景。
1.2课题意义
第一、利于新老同学交流:
通过同学录这个平台,让所有人充分利用网络,利用更先进、更流行的方式找到自己的同学,找到以前的老师与同学的准确信息,以便联系。
找回学生时代的感觉,回忆校园的美好时光。
同时,可以发表站内信,问候老师与同学们,还可以上传自己的照片、发表留言、查看班级资料等。
第二、增强学校凝聚力:
该平台为在校或已毕业的广大校友们提供了一个交流思想的场所,通过提供完善的同学录服务和规范班级的管理,建立起同学之间的沟通渠道,以达到增进校友之间、同学与母校之间的感情,方便同学联系的目的,从而增强学校,班级的凝聚力。
第三、在线交流:
同学们可以在同学录中发布商品买卖的帖子方便同学们交易二手商品,实现商品价值的再利用。
也可以发布遇到的困难以便得到大家的支持和帮助。
1.3研究内容、方法与思路
1.3.1研究内容
本课题是以同学录的开发过程为主线,对网站的理论基础、网站整体布局及网站具体设计进行了详细研究,同时介绍了开发过程中所采用的技术,在完善各个功能的基础上发现并解决问题。
本课题是基于.NET框架开发的WEB应用程序。
主要分为前台的页面显示、后台管理模块以及数据库访问实现。
1.3.2研究方法
本课题研究的主要内容是基于WEB的同学校友录的开发的各个功能模块的实现。
首先通过网络了解有关同学录的现状和方法,了解各个功能模块,让后利用编程工具VS和数据库工具SQL来具体实现各个功能。
1.3.3思路:
课题主要实现后台数据库中的内容在前台的显示,将后台的内容文字以分类美观的形式呈现在用户面前。
主要实现用户的注册登录及管理、班级留言及管理、站内同学互发信息、搜索同学、照片上传及管理等功能。
2开发工具简介
2.1ASP.NET简介
2.1.1.NetFramework框架
.NETFramework是用于生成、部署和运行XMLWebservices和应用程序的多语言环境。
它由三个主要部分组成:
●公共语言运行库
运行库实际上在组件的运行时和开发时操作中都起到很大的作用,
尽管名称中没有体现这个意思。
在组件运行时,运行库除了负责满足此组件在其他组件上可能具有的依赖项外,还负责管理内存分配、启动和停止线程和进程,以及强制执行安全策略。
在开发时,运行库的作用稍有变化;由于做了大量的自动处理工作(如内存管理),运行库使开发人员的操作非常简单[1],尤其是与今天的COM相比。
特别是反射等功能显著减少了开发人员为将业务逻辑转变为可重用组件而必须编写的代码量。
●统一编程类
该框架为开发人员提供了统一的、面向对象的、分层的和可扩展的类库集(API)。
目前,C++开发人员使用Microsoft基础类,而Java开发人员使用Windows基础类。
框架统一了这些完全不同的模型并且为VisualBasic和JScript程序员同样提供了对类库的访问。
通过创建跨所有编程语言的公共API集,公共语言运行库使得跨语言继承、错误处理和调试成为可能。
从JScript到C++的所有编程语言具有对框架的相似访问,开发人员可以自由选择它们要使用的语言。
●ASP.NET
ASP.NET建立在.NETFramework的编程类之上,它提供了一个Web应用程序模型,并且包含使生成ASPWeb应用程序变得简单的控件集和结构。
ASP.NET包含封装公共HTML用户界面元素(如文本框和下拉菜单)的控件集。
但这些控件在Web服务器上运行,并以HTML的形式将它们的用户界面推送到浏览器。
在服务器上,这些控件公开一个面向对象的编程模型,为Web开发人员提供了面向对象的编程的丰富性。
ASP.NET还提供结构服务(如会话状态管理和进程回收),进一步减少了开发人员必须编写的代码量并提高了应用程序的可靠性。
另外,ASP.NET使用这些同样的概念使开发人员能够以服务的形式交付软件。
使用XMLWebservices功能,ASP.NET开发人员可以编写自己的业务逻辑并使用ASP.NET结构通过SOAP交付该服务。
2.1.2ADO.NET访问数据库的原理
与数据库相连,ADO.NET提供了如下3种方式:
通过ODBC相连;通过OLEDB相连;直接与SQLServer相连。
3种方式由于应用层次的差异,使得效率由低到高,独立性由高到低。
对于相连数据库的数据处理,也有2种方式[2],即一种是通过Dataset来隔离异构的数据源,另一种是以流方式从数据源读取(DataReader方式)。
传统的应用程序是通过先建立到数据库的连接,在程序的整个运行过程中维护连接的方式来设计的。
ASP.NET采取了断开连接方式的数据结构。
当浏览器向Web服务器请求网页时,服务器处理这个请求,并将所请求的网页发送给浏览器,然后连接就被断开,直到浏览器发出下一个请求。
ADO.NET的另一个创新是引入了数据集(Dataset)。
一个数据集是内存中提供数据关系图的高速缓冲区。
数据集对数据源一无所知,它们可以由程序或通过从数据仓库中调入数据而被生成、填充。
不论数据从何处获取,数据集都是通过使用同样的程序模板而被操作的,并且它使用相同的潜在的数据缓冲区。
2.3SQL语句
SQL功能强大,是一种完备的数据处理语言,不仅用于数据库查询,而且用于数据库中的数据修改和更新,概括起来,它可以分成以下几组:
DML(DataManipulationLanguage,数据操作语言),用于检索或者修改数据;
DDL(DataDefinitionLanguage,数据定义语言),用于定义数据的结构,比如创建、修改或者删除数据库对象;
DCL(DataControlLanguage,数据控制语言),用于定义数据库用户的权限。
DML组又可以细分为以下的几个语句:
SELECT,用于检索数据;
INSERT,用于增加数据到数据库;
UPDATE,用于从数据库中修改现存的数据;
DELETE,用于从数据库中删除数据。
DDL语句可以用于创建用户和重建数据库对象。
下面是DDL命令:
CREATETABLE,ALTERTABLE,DROPTABLE,CREATEINDEX,DROPINDEX
2.4C#语言简介
C和C++已经成为广泛的应用在商用软件的开发中的开发语言。
但是C和C++的灵活性是牺牲了开发效率的。
如果与其他的开发语言相比(比如说VB,Delphi),相同功能的C/C++软件通常会需要更长的开发周期,写更多的代码。
正是由于C/C++开发的复杂性和需要较长的开发周期,所以许多C/C++开发人员都在寻找一种可以在功能和开发效率间提高更多平衡的开发语言。
于是Microsoft想到了C#(发音为CSharp),并推出了C#[3]。
2000年6月微软发布C#语言和.NET平台。
C#语言是一种强类型的、面向对象的语言,它具有语法简单、表达力强的特点;而.NET平台则是构成微软的“.NET计划”的基石。
.NET平台的核心包括两方面:
一方面就是著名的通用语言运行时(CommonLanguageRuntime)。
虽然这个名词起得晦涩了点,不过和Java的虚拟机相比,二者完成的任务大致相同;另一方面就是一大堆通用函数库,这些库函数可以被多种语言调用,并且通过编译都产生一种共同的中间语言(IntermediateLanguage),这种语言也可以和Java的字节码进行类比,虽然完成的方式有些不一样。
C#是一种先进,面向对象的语言,通过C#可以让开发人员快速的建立大范围的基于MS网络平台的应用,并且提供大量的开发工具和服务帮助开发人员开发基于计算和通信的各种应用。
正是由于C#是一种面向对象的开发语言[4],所以C#可以大范围的适用于高层商业应用和底层系统的开发。
即使是通过简单的C#构造也可以各种组件方便的转变为基于[5]WEB的应用,并且能够通过Internet被各种系统或是其他开发语言所开发的应用调用。
3同学录整体设计
3.1同学录设计准则
一个完整的同学录网站就应该实现一定的设计准则。
网站的开发和一般的信息系统建设相比,既有开发的共同特点,也有其自己的特性,共性体现在网站建设必须从实际需求出发,按照系统开发的一般规律的方法从事开发工作,而特性体现在其开发过程还需加入人的艺术创意和构思,以便能使网站办得更加生动活泼,富有生气。
本同学录网站以方便实用、美观得体为准则全身心的为用户考虑,加入很多人性化的设计!
3.2同学录需求分析
本课题是用ASP.NET,VS.NET2003C#和SQLSERVER2000作为开发工具,开发一个基于Web的同学录网站,满足同学们毕业之后联系的需要。
本着简洁实用的目的来完成各项操作。
在同学录网站的制作中,我们要注意它的功能模块,考虑到用户的角色,根据角色来确定网站管理。
1.普通游客:
实现仅能打开首页但是看不到网站内的东西。
2.会员:
具有查看同学录网站所有信息的权限同时能登录发布留言、站内信件、上传图片等权限。
3.管理员:
具有发布网站上所需东西和管理会员的权限。
3.3网站功能模块设计
根据需求分析,本网站可具体划分为以下几子模块,如图3-1:
图3-1网站总体模块设计图
3.3.1前后台管理模块
本模块主要实现后台数据库中的内容在前台的显示,将后台的内容文字以分类美观的形式呈现在用户面前。
其中该模块可细分为以下子模块:
班级首页、班级留言、用户专区、班级资料、站内短信、班级相册。
以下是介绍各个子模块功能:
(1)班级首页:
实现将网站所有最新的内容呈现在用户面前。
包括:
导航条、、会员管理(登录、注册、忘记密码)、最新显示(最新留言、最新照片、最新加入成员)、班级信息。
(2)班级留言:
实现从后台数据库提取数据并分页显示留言。
(3)用户专区:
实现用户基本信息的修改、已发留言和已传照片的管理以及修改密码。
(4)班级资料:
展现班级的最新资料。
(5)站内短信:
实现收、发、撰写站内短消息。
(6)班级相册:
实现班级相册的上传和显示。
3.3.2后台数据库设计
(1)用户表:
图3-2用户表基本结构
该表设计用来存储注册用户的信息其结构为ID为主键为自动增长型数字变量,表中包括用户登录时的用户名、密码;当用户忘记密码时用来取回密码的密码提示问题和回答问题;同时还包括了一些用户的基本信息。
(2)留言表:
图3-3留言表基本结构
该表设计用来存储用户留言的相关信息,其中ID为主键是自动增长型,表中包括:
留言发表人的姓名、留言的标题、留言的内容和留言的时间等基本内容。
(3)站内信表:
图3-4站内信表基本结构
该表设计用来存储站内用户互发信息的记录。
主要包括发信人、收信人、发送内容和发送时间等信息。
(4)班级照片表:
图3-5班级照片表
该表设计用来存储用户上传的照片的相关信息,包括照片名、照片路径、照片描述、上传时间和上传人。
4同学录网站的具体实现
4.1功能特点
(1)操作简单、界面友好、导航清晰:
完全控件式的页面布局,使得网站的管理等工作更简便;许多选项只需要点击鼠标就可以完成
(2)即时可见:
对用户管理等的处理(包括录入、修改、删除)将立即在对应栏目显示出来,达到"即时发布、即时见效"的功能[6]。
(3)功能完善:
包括常见同学录网站的各个方面:
用户注册登录、浏览、删除、修改等各个方面,较好地实现了同学录网站的管理要求。
4.2同学录网站页面和功能的具体实现
4.2.1班级首页的实现
一个网站的主页设计直接体现了该网站的制作水平,所以主页的布局和功能给人的感觉至关重要,本网站的主页布局如图4-1所示:
图4-1班级首页
页面以绿色和白色为主色调,处处充满活力和朝气,实现的功能有:
会员登录、最新留言、最新照片、最新加入的同学以及班级信息的显示。
将网站的全部最新内容展现在用户的面前能很好的吸引用户的眼球,让其对网站其它内容产生兴趣!
4.2.1.1用户登录的实现
用户登录是老生常谈了,我做的主要涉及到用户的登录和用户名的显示登录前如下图所示:
图4-2用户登录
登陆后显示效果如下图所示:
图4-3用户登录后的图
比较可以知道两个图的不同,实现该效果主要是用到了ASP.NET中的panel控件当用户登录成功后,将登录框所在的panel隐藏将放有label控件的panel显示并将登录用户的用户名赋给label来显示。
4.2.1.2班级信息的实现
班级信息主要用来汇总显示同学录网站的相关信息,效果如下图所示:
图4-4班级信息
主要运用的ASP的页面绑定数据功能其主要代码如下:
成员: 共<%=num%>名 |
留言: 共<%=liu%>条 | 相册: 共<%=pic%>张 |
当前在线:
目前共<%=onr%>人在线!
4.2.1.3搜索功能
搜索条可谓是最人性化的设计。
它最大的好处就是减少了用户查找自己好友的时间。
本模块主要通过查找与用户输入的内容类似的关键字来查找表并将查到的数据绑定到Repeater控件中以供用户查看!
4.2.1.4最新加入
为用户提供人性化的设计本模块应用Datalist控件将用户表中最新加入的5条列举出使用户在登录网站时第一时间了解最新加入班级同学录的动态。
4.2.1.5最新照片
为用户提供最新班级用户上传的照片,本模块用Repeater控件将用户最新上传的4张照片显示出来供用户查看。
4.2.1.6最新留言
本模块主要是将用户留言中最新的帖子的标题列举出来共用户查看和了解最近用户核心讨论的东西。
是用Datalist绑定到数据库中的topic表并将其前5项记录显示出来实现的。
当用户单击时跳转到显示留言的页面。
4.2.1.7忘记密码
该功能主要是针对用户忘记密码的人性化设计,将用户注册时候的密码提示问题和答案输入正确即可获知自己的密码。
4.2.2班级留言的实现
班级留言主要用来实现将用户的留言信息显示出来并融汇一些其他页面的内容,其布局如下图所示:
图4-5班级留言
4.2.2.1所有留言
该页面主要涉及所有留言的分页显示,将数据库中topic表中的数据绑定到Datalist控件中并由于信息可能过多采用分页显示[7]的方式每页显示5条记录。
涉及到主要的Datalist控件的分页显示代码如下:
obj.AllowPaging=true;
obj.PageSize=5;
intcurpage;
if(Request.QueryString["Page"]!
=null)
curpage=Convert.ToInt32(Request.QueryString["Page"]);
else
curpage=1;
obj.CurrentPageIndex=curpage-1;
tb5.Text=curpage.ToString();
if(!
obj.IsFirstPage)hl1.NavigateUrl=Request.CurrentExecutionFilePath+"?
Page="+Convert.ToString(curpage-1);
if(!
obj.IsLastPage)hl2.NavigateUrl=Request.CurrentExecutionFilePath+"?
Page="+Convert.ToString(curpage+1);
4.2.2.2留言显示
留言显示功能是将用户的留言信息详细的显示出来[8],涉及到将用户表和留言表连接起来将用户的用户名、个性签名、头像等信息也附件显示在留言中方便用户查看留言的同时也了解到是谁发表的以及作者的简单个人信息。
其实现页面如下所示:
图4-6留