会员注册
By 25175.com asp校园网站设计
目 录
第一章:诸„„„„„„„„„„„„„„„„„„„„„„„„..1.1 设计思想„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„1 1.2 开
发
工
具的选
用
及
介绍„„„„„„„„„„„„„„„„„„„„„„„„„„„.1 第二章:网站总体分析与设计 2 2.1网站系统析„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„.2 2.
2、主页设计 3 2.
3、数据库设计 4 第三章:详细设计 4 3.1 家长学校联络簿„„„„„„„„„„„„„„„„„„4 3.2 网上图书馆 11 3.3 网上评优投票系统 20 3.4达级考试在线查分系统与计数器的制作„„„„„„„„„22.第四部分:系统的使用说明与安装 25 第五部分:参考文献: 26 附录:源文件代码 27
第一章 诸论
在Internet飞速发展的今天,互联网成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活等各个方面发挥着重要的作用。Internet上发布信息主要是通过网站来实现的,获取信息也是要在Internet“海洋”中按照一定的检索方式将所需要的信息从网站上下载下来。因此网站建设在Internet应用上的地位显而易见,它已成为政府、企事业单位信息化建设中的重要组成部分,从而倍受人们的重视。为了更好的办学,提高学校知名度,特构建长沙市工商职业中专学校网站。
1. 1 设计思想
通过网站,全面宣传,展示学校风采、优点与特色,发布学校的重大活动安排与招生政策,增强家长与学校之间的联系,在Internet上实现完成部分校务,提高办事效率。
1.2 开发工具的选用及介绍
ASP的优势:
Active Server Pages:“动态服务器网页”,一般简称为“ASP”,ASP之所以能受到大家的重视与使用的原因,主要在于所产生的执行结果都是标准的HTML格式,而且这些程序是在网络服务端中执行,使用一般的浏览器(如IE 或Netscape)都可以正确地获得ASP的“执行”结果,并且将这ASP执行的结果直接在浏览器中“浏览”,不像VBScript或 JavaScript
分
By 25175.com 是在客户端(Client)的浏览器上执行,若使用VBScript来设计程序,客户端(Client)在IE浏览器中可以显示程序执行的结果,可是,客户端(Client)若使用Netscape浏览器就无法显示VBScript的执行结果。ASP的特点:
任何开发工具皆可发展ASP
只要使用一般的文书编辑程序,如Windows记事本,就可以编辑。当然,其他网页发展工具,例如,FrontPage Express、FrontPage等也都可以;不过还是建议你用记事本来写,既省钱又方便,若是使用那些所见即所得的网页编辑来写ASP,可能会发生一些意想不到的离奇状态。
通吃各家浏览由于ASP程序是在网络服务器端中执行,执行结果所产生的HTML文件适用于不同的浏览器。语言相容性高
ASP与所有的ActiveX Script语言都相容,除了可结合HTML,VBScript、Java Script、Active X服务器组件来设计外,并可经由“plug-In(外挂组件模组)的方式,使用其他厂商(Third Party)所提供的语言。隐密安全性高
如果我们在浏览器中直接查看网页的原始代码,就只能看到HTML文件,原始的ASP程序代码是看不到的!这是因杰ASP程序先于网站服务(Web Server)端执行后,将结果转换成标准HTML文件,再传送到客户端(Client)的浏览器上,因此,我们所辛苦撰写的ASP程序并不会轻易地被看见进而被盗用。易于操控数据库
ASP可以轻易地通过ODBC(Open Database Connectivity)驱动程序连接各种不同的数据库,例如:Acess、Foxpro、dBase、Oracle等等,另外,ASP亦可将“文本文件”或是”Excel” 文件当成数据库用。面向对象学习容易
ASP具备有面向对象(Object-Oriented)功能,学习容易,ASP提供了五种方便能力强大的内建对象:Request、Response、Sever、Application以及Session,同时,若使用ASP内建的“Application”对象或”Session”对象所撰写出来的ASP程序可以在多个网页之间暂时保存必要的信息。ASP的六大内部对象
对象名称 功能描述
RequestResponseServerSessionApplicationObjectContext 从客户端取得信息将信息送给客户端提供一些Web服务器工具储存在一个Session内的用户信息,该信息仅可被该用户访问在一个ASP-Application中让不同的客户端共享信息可以用来配合Microsoft Transaction 服务器进行分布式事务处理
所以我选择了ASP结合Frontpage架构长沙市工商职业中专学校网站
第二章 网站总体分析与设计
2.1网站系统分析
根据前面的设计思想进行分析,按照系统开发的基本观点对网站进行分解,从内容上可对网站作如下划分:
l 学校风采 通过学校概括、教师风采、校园之星及部分图片等内容来展现。l 优点特色 通过新闻、生动活泼的教育教学栏目来展现。
By 25175.com l 信息发布 通过公告栏、信息查询等栏目来实现,内容有招生政策、活动安排等。
l 部分校务 根据校务的公开程度与参与人数的多少,特选择图书管 理、评优、考试查分、家校联系四大校务在网上实现。2.2主页设计
网站主页采用静、动相结合的方式,即静态的主画面和动态的图片相结合,体现学校的勃勃生气,静态主页方式介绍学校风采、优点特色、信息发布,对于四大校务,就得利用ASP与数据库结合的技术建立数据库查询管理系统,采用交互式的动态的web画面来实现。主页结构图
注:带下划线的表示是链接方式
2.3数据库设计
采用的数据库是Microsoft Access,拟建立teach.mdb库文件,包含如下几个表文件: allmessage 留言信息表 Libbooks 图书信息表 Libcategories 图书类别信息表 Libemps 图书馆用户信息表; stud 学生信息表
第三章 详细设计
3.1 家长学校联络簿
3.1.1功能:
利用SQL语法过滤特定的家长留言意见,让老师可以针对某位特定学生家长所发表的意见作出独立的回答,同时,家长在发表个人意见时,若认为意见内容涉及敏感的话题或是意见内容涉及私人隐私,都可用“悄悄话”的方式发言,这些“悄悄话”将不会被显示出来让大家看到,当然,老师拥有管理的能力,只要以密码登录管理模式,就可以进行各个学生家长的单独意见回复,而且还能看到家长们所留下的“悄悄话”。3.1.2组成构造
共分成六大部分:
1,意见留言结果网页guest.asp:用来显示家长发言与老师回复内容,同时还具备一般模式与管理模式两种显示方法。
2,家长发言表单网页addmsg.asp:让学生家长填写发言内容并选择发言性质。
3,家长发言数据处理ASP程序add.asp:处理家长发表的意见数据,同时将这些意见数据记录起来并将网页显示转向至意见留言结果网页。
4,老师回复表单网页teachans.asp:让老师针对某位特定学生家长所发表的意见作出独立的回答。
5,老师回复数据处理ASP程序anssave.asp:处理老师回复的数据内容,同时将这些意见数据起来并将网页显示转向至意见留言结果网页。
By 25175.com 6,数据表文件allmessage:用来储存家长发言数据与老师回复数据的Access类型数据库文件。
“数据表文件”负责存放家长发言数据与老师回复内容的数据记录,为Access类型的库文件,将它定名为:“message.mdb”。
下图为家庭联络簿的组成与流程图:
老师回复
家长留言
读入 写入
写入
3.1.3数据库结构设计
数据库文件”teach.mdb“中的数据表” allmessage“的栏目设置,如下图:
字段名 字段类型
3.1.4界面设计与重点、难点代码的设计 数据库与留言显示程序网页
家长发言与老师回复的内容数据全部储存在数据库中,要在网页中显示目前的家长发言与老师回复数据,必须先进行数据库的链接与打开,要链接数据库我们必须使用ADO对象群的Connection对象;而要打开数据库则必须使用ADO对象群的Recordset对象,程序:
set cn=server.createobject(adodb.connection)
cn.open filedsn=cprogram filescommon filesodbcdata sourcesms access database.dsn set rs=server.createobject(adodb.recordset)sql=select from allmessage order by 留言时间 desc rs.open sql,cn,1,1 Recordset对象是负责浏览与操作从数据库取出来的数据,Connection对象只负责与数据库进行链接的动作,并不能使用数据库内的数据,因此必须建立一个可以存取数据库数据的Recordset对象,使用RS.Open方法存取”teach.mdb”数据库
RS.Open SQL,CN,1,1 使用open方法来打开数据表或执行Select指令参数设置如下: 1,参数一(SOURCE)为欲打开的数据表或SQL指令。
2,参数二(ActionConnection)指定一个已打开的数据库对象,将此参数设为链接我们已
By 25175.com 经建立好的Connection对象“CN”。
3,参数三(CursorType):指定Recordset的打开类型,1为可读写且可自由移动。4,参数四(LockType)指定锁定类型,1为只读。数据排序与SQL指令
1. Select 指令的筛选语句:
格式: Select„From 在SQL语言中:“Select”数据表“中选取某些“栏位”的数据.2.如果要选取的数据表数据包含了一个以上的栏位,则我们可以利用“,”逗号来栏位名称隔开。
3. 如果要选取的数据表数据包含了全部的栏位,则可以利用万用字符“”来代表全部的栏位。
可排序数据的Select指令
1. 当我们希望被选取出来的数据记录数据能够依据某个或某几个栏位的内容来排序时,只要将这些排序依据的栏位摆放在“Order By“保留字之后,然后将这处排序的语句连接在”Select„From“后面就行了。
2. “Order By“默认的排序方式是“由小排到大”,但若是希望排序方式是“由大排到小”,则我们可在栏位名称后再加上“Desc“保留字!将排序方式改为”由大排到小“。在“显示留言意见”网页中的打开数据库ASP程序中的语句: SELECTFrom allmessage order by 留言日期 Desc 功能为:从数据表“allmessage“中取出所有栏位的数据,并将取出的数据记录内容依照”留言日期“栏位使用的”由大排到小“排序方式进行排序。
留言显示网页的管理模式 “显示留言意见”的网页就必须具备显示模式选择的功能,当显示模式在一般情况时要能显示家长们的一般性发言,同时还得将“悄悄话“的发言隐藏起来。当老师以密码登录成为管理模式时,则必须将一般性发言与悄悄话发言的数据全部显示出来,同时还得让老师们可以针对某位特定学生家长所发表的意见作出独立的回答。
这两个情况是通过密码登录管理模式的ASP程序实现的: form method=post
%if session(checkedit)=yes then% input type=hidden value=yes name=goexit input type=submit value=离开管理模式
%else% 密码:input type=password name=password size=4 maxlength=4 input type=submit value=教师管理
%end if% form
在这段网页语句中,利用Session对象来记录目前的工作模式。当我们第一次进入“显示留言意见”网页的时候,我们所见的网页画面一定是一般!因为Session尚未被建立,因此它
By 25175.com 的“变量”值一定不会是“yes”,所以网页中会出现一个输入密码进入“教师管理”模式的栏位,只有当我们输入密码按下“教师管理”的按钮组织上发ASP程序中的进入管理模式语句后,Session对象才会被建立,同时,“checkedit“Session对象变量值被设置为“yes“,所以我们就进入了能将一般性发言与悄悄话发言的数据全部显示出来,同时还让教师们可以针对某位特定学生家长所发表的意见作出独立回答的管理模式页面。
留言显示网页的分页
当家长的发言与老师回复的数据笔数太多时,一次要将全部的数据内容显示在网页中,等待网页下载的时间太长了,因此采用固定笔数分页浏览方式来显示网页。
要进行分页显示,得先知道目前有多少笔的留言数据,而留言数据笔数可以通过Recordset对象的“Recordcount“(记录个数)属性得知,我们将每10笔数据为一单位分页显示: count=rs.recordcount if count10(count10)then totalpage=(count10)+1 else totalpage=(count10)end if “”为浮点数除法,“”为整数除法。
跳页选择的ASP程序语句
所有的发言数据采用固定笔数分页浏览的方式来显示后,还要提供一个跳页链接显示的功能,让浏览者可以选择希望浏览的页次进得浏览,ASP程序语句: pagecount=0 rs.movefirst if request.querystring(topage)then pagecount=cint(request.querystring(topage))if pagecount=0 then pagecount=1 if pagecounttotalpage then pagecount=totalpage rs.move(pagecount-1)10
发言表单网页制作
inse tu3 表单的参数
表单的Action参数:Action参数是用来指定Server端处理此一表单数据内容的程序,此处表单处理ASP程序为“add.asp“,表单的Mothed参数:要将表单传送至Server端的方式有两种,设置值分别为GET及POST,若设置为POST,则浏览器会等Server端来读取数据,若设置为GET,则当我们按下送出按钮时,浏览器会立即将表单中的数据内传送出去。利用POST方法,在传送的数据上将不受限制,利用GET方法传送的数据量则大约只有2K左右。
留言处理程序
要将家长发言数据作后续处理及将这些数据内容存入数据库,须利用添加数据记录的Insert Into 指令,然后再写入数据库文件中: Inset into 指令语句格式:
Insert into 数据表名(栏目名)values(栏目值)
By 25175.com
sql=insert into allmessage(家长姓名,留言主题,联络信箱,留言内容,私人公开,留言时间,班级)values(sql=sql&'& parent&', sql=sql&'&subject&', sql=sql&'&email&', sql=sql&'&memo&', sql=sql&'&personal&', sql=sql&'&now&', sql=sql&'&bj&')cn.execute sql 回复表单程序网页
必须让老师们可以针对某位特定学生家长所发表的意见作出独立的回答, 使用Select„From„Where筛选语句
sql=select from allmessage where(编号=&ID&)rs.open sql,cn,1,3 然后将特定的家长发言数据放在表单,方法是将数据库中的数据取出来,然后放在表单栏位中:
“家长姓名“栏位网页语句标签
td bgcolor=#CCCCFFfont size=2%=RS(家长姓名)%fonttd “留言主题“栏位网页语句标签
td bgcolor=#CCCCFFfont size=2%=RS(留言主题)%fonttd “留言内容“栏位网页语句标签
td bgcolor=#CCCCFFfont size=2%=RS(留言内容)%fonttd 老师在回复栏位中所填入的数据,必须送给处理老师回复数据的ASP程序”anssave.asp”来记录以及处理这些回复数据。当老师填写好回复发言的数据后按下“送出回复”按钮后,表单中的数据内容就会以“POST”的方式由SEVER端读取,然后将数据内容交由处理老师回复数据的ASP程序“anssave.asp”来将数据内容写入数据库。
3.2网上图书馆
网上图书馆将学校图书馆图书放到网络上供人借阅,这样不仅方便了校内的学生与教职员工使用图书馆的资源,还为图书馆管理员提供了一种简便地管理图书馆的方法.3.2.1功能
网上图书馆系统可以进行图书的出借和归还.还可以在系统中按照多种字段对图书进行查找,还可以浏览某个种类的所有图书.该应用程序也为图书馆管理员提供了一些功能,如添加、编辑以及删除图书等,或者在分类层次结构中添加新的种类。
3.2.2系统的层次结构
下图的每个方框代表校园图书馆网站中的一个页面。除了只包含HTML的Search页面外,其他的均为ASP页面。因为每个图书的页面都不同,所以大多数的页面实际上都是多页面。
3.2.3数据库设计
By 25175.com 本系统共使用3个数据表:
LibBooks表包含与图书有关的所有数据。该表中的字段内容的图书的通用信息。另外,对于已经出借的图书,该表中还包含借阅该图书的用户的ID号,以及图书的状态。
表视图如下:
字段名 意义 字段类型 字段名 意义 字段类型 bookid 书号(主键)数字(no null)status 状态 文本 title 书名 文本 checkedoutto 用户id 数字 author 著者 文本 reservedby 用户学号 数字 Subject 主题 文本 description 描述 文本 Isbn Isbn号 文本 keywords 关键字 文本
LibCategories 表包含Library中的所有类别,在访问者浏览图书列表时将会用到这些类别。每个类别都可以作为另外类别的父类别。有一个特殊的类别,Top-Level,没有出现在类别列表中,但是可以作为其他任何类别的父类别。字段名 意义 字段类型
Categoryname 类别 文本(noll)parentcategory 父类别 文本(noll)LibEmps表包含可以访问图书馆网站的用户信息。该表包含一些通用的信息字段,比如用于进入图书馆的用户密码等。
字段名 意义 字段类型 字段名 意义 字段类型
empid 用户id(主键no null)数字 password 用户密码 文本 Empname 用户姓名 文本 manager 管理员代号 数字 emailaddress 用户邮箱 文本
图书馆数据库的数据关系如图9-22所示。其中表LibEmps和表Lib Categories与表LibBooks之间都是一对多的关系。每个雇员都可以借阅多本图书,每个类别都可以包含多本图书。
3.2.3界面设计与重点代码的设计
网上图书馆系统有两种用户,一是管理员。另一种是只允许使用图书馆系统,而没有管理功能的一般用户。访问者进入网站,首先要进行登录,如下图所示。登录页面(index.asp)
访问者输入E-mail地址和密码来登录,然后单击“登录”按钮。输入的数据提交后与数据库中的用户表进行匹配。
须创建一个记录来保存基于访问者登录的用户信息
set RSFindEmp = conn.Execute(select EmpID, Manager from LibEmps where _ & EmailAddress = ' & Request.Form(EmailAddress)& ' and _ & Password = ' & Request.Form(Password)& ')if RSFindEmp.EOF then TheMessage = 密码或email地址不对.By 25175.com else Session(EmpID)= RSFindEmp(EmpID)Session(Manager)= RSFindEmp(Manager)Response.Redirect..yk.htm end if 表单域EmailAddress和Password 用于Where了句中来获取一个记录。如果访问者输入了一个无效的用户名,则记录集中将不会返回匹配的记录。我们可以通过查看EOF标记来判断一个记录集是否为空。为空,则访问者将被拒绝进入该系统。不为空,则访问者的EmpID值和Manager值将从记录集中返回。写入Session 变量,变量将在整个网站的所有网页中都是有效的。这些变量的存在与否及其取值将用于确定是否允许进入一个特定的网页,同时也用于访问者进行书目的归还和借阅操作。
图书馆菜单页面
图书馆菜单页面包含指向其他4个页面的链接:管理页面、搜索页面、图书列表页面和主页面。还有一个可显示用户所借书籍的按纽。如果访问者是图书馆管理员,则菜单界面如图所示。如果访问者不是图书馆管理员,则看到如图所示的界面。非管理员的访问者的界面上没有指向管理员菜单页面的链接。
实现办法:访问者登录时在登录页面上的创建的会话变量Session 用于从数据库中获取访问者的有关信息,表示它是否是管理员。如果值为1,就表明访问者是一个管理员,则用如下代码写入一个指向管理员页面的链接: % If Session(Manager)= 1 then % A HREF=..htmlmanagement_menu.asp管理员菜单A % end if % 通过按纽B1是否为空来判断要不要显示用户所借图书,利用一个记录集来获取访问者已经借出了的所有图书的列表。
if NOT isempty(Request.Form(B1))then set RSBooks = conn.Execute(select BookID, Title from LibBooks where _ & CheckedOutTo = & Session(EmpID))end if
再用循环语句将所借书以表格形式显示出来。table border=1 width=90%
% if NOT isempty(Request.Form(B1))then Do Until RSBooks.EOF% TR
TD WIDTH=40% height=20% Response.Write RSBooks(Title)%tdtr % RSBooks.MoveNext loop end if %
table
循环将遍历Rsbooks记录集中的每个记录,直到该记录集结束:
该网站中的所有ASP页面都会在访问者访问之前对其进行登录检查。这样就可以避免访问
By 25175.com 者通过输入某个页面地址然后在没有登录的情况下直接进入该页面的情况发生。此外,每个管理页面都要确认访问者是管理员。
管理菜单页面
管理菜单页面有一个HTML表单,根据选择的按钮的不同,可以进行5种不同的操作:图书的归还、图书的编辑、图书的删除、图书的添加和类别的添加。不管选择了哪一个按钮,该表单都提交人其自身进行处理。
要进行图书的归还、图书的编辑、图书的删除三种操作,须先进行搜索,找到该书后,由图书Book.asp返回一个链接:
% If Session(Manager)= 1 then % A HREF=..htmlmanagement_menu.asptitle=% response.write RSBooks(Title)%&BOOKID=% response.write RSBooks(BOOKID)%管理员菜单A % end if %
而管理者页面通过下列语句
%=request.querystring(title)% inputzztype=hidden name=BOOKID1value=%=request.querystring(BOOKID)%
这样就将所找到的书的书号BookID、书名Title传递管理者页面。再进行所须操作。共有3个不同的铵纽,可以进行3种操作。若单击“修改”钮: 则重定向到编辑图书页面,同时把Bookid 传递给该页面。Response.Redirect.edit_book.aspBOOKID=&request(BOOKID1)将其他的情况需要建立到数据库的连接:
set conn = server.createobject(adodb.connection)Conn.Open(FILEDSN=cProgram FilesCommon FilesODBCData Sourcesms access database.dsn)if NOT isempty(Request.Form(Delete))and request(BOOKID1)then conn.Execute delete from LibBooks where BOOKID =&request(BOOKID1)end if if(NOT isempty(Request.Form(checkin)))and request(BOOKID1)then conn.Execute update LibBooks BookID=&Request(BOOKID1)end if
页面中的添加新的种类部分包含一个文本控件和一个选择控件。其中选择控件是用所有已经存在的类别列表进行填充的,包括特殊类别 Top level,该类别表明当前类别是处于类别层次结构中的最顶层。代码如下:
先用一个记录集来填充父类别选择控件:
set
checkedoutto=
0,status=
'Available'
where
By 25175.com set RSCategories = conn.Execute(select CategoryName from LibCategories order by CategoryName)再用下列循环语句: %
Do Until RSCategories.EOF %
OPTION VALUE=% response.write RSCategories(CategoryName)%% response.write RSCategories(CategoryName)%OPTION %
RSCategories.MoveNext
Loop %
遍历RSCategories记录集中的每个记录,并作为一个选项添加到列表中,而记录集中CategoryName 同时作为显示值和传递值: 本页面还包含一个指向添加图书页面的链接。搜索结果页面
搜索页面的代码获取与访问者查找规则相匹配的图书,然后将这些图书显示给访问者。搜索页面上的表单包含一个选择控件和一个文本控件。选择控件中的选项是用可搜索 的字段填充的:
需要用一个记录集来保存与访问者的查找规则相匹配的记录:
set RSBooks = conn.Execute(select BookID, Author, Title, Subject from LibBooks where _ & Request.Form(SearchField)& Like '% & Request.Form(SearchCriteria)& %')
注意:,符号%表示的是一个广义搜索。这一点类似于ACCESS中的符号。然后将所找到的书以表格形式显示出来。代码如下: % Do Until RSBooks.EOF %
TR VALIGN=top ALIGN=left
TD WIDTH=40% height=20B书名B A HREF=..htmlbook.aspBookID=% Response.Write RSBooks(BookID)%% Response.Write RSBooks(Title)%ATD
td width=20% height=20B著者B % Response.Write RSBooks(Author)%td td width=30% height=20B主题B % Response.Write RSBooks(Subject)% td % RSBooks.MoveNext Loop % 图书页面
图书页面的代码显示图书的有关信息,以及管理图书的出借操作。该页面通过Querystring 传递BookID if isempty(Request.QueryString(BookID))then Response.Redirect.search.html end if
如果其中不存在,则访问者将被重定向到搜索页面:
如果同时传递表单中包含的变量Action不为空,则表明访问者正借阅该图书:
By 25175.com if Not isempty(Request.QueryString(Action))then 在这种情况下,需要将图书状态改为 Checkout, 同时需要将Checkedoutto 字段修改为该访问者:
conn.Execute update LibBooks set Status = 'Checked Out', _ & CheckedOutTo = & Session(EmpID)& where BookID = _ & Request.QueryString(BookID)Response.Redirect.library_menu.asp end if 然后将该访问者重定到图书馆菜单页面: 下一步,利用图书的状态来确定不同的链接 未借出时链接如下:
if RSBooks(status)= Available then LinkText = A HREF=..htmlbook.aspAction=CheckOut&BookID= _ & Request.QueryString(BookID)& 借这本书A 如果图书已经借出,就创建一个不同的消息,并将链接设置为指向Library menu 页面: LinkText = A HREF=..htmllibrary_menu.asp图书已出借,返回主菜单。A 最后根据是否是管理员,显示管理员菜单链接。
% If Session(Manager)= 1 then %A HREF=..htmlmanagement_menu.asptitle=% response.write RSBooks(Title)%&BOOKID=% response.write RSBooks(BOOKID)%管理员菜单A% end if %
3.3网上评优投票系统
3.3.1功能:
能实现全校性的评选,快捷、公平,且有效,不允许做票。3.3.2组成构造
这个系统由3个部分组成——投票页面vote.htm,处理投票结果的脚本,显示投票页面。3.3.3数据表的设计:
3.3.4界面设计与重点、难点代码设计 投票页面
该页面是一个纯HTML文件,它让用户选择自己想选举的候选人,并填写自己的详细资料,以确认投票的有效性。页面显示如图所示。
表单处理脚本
在vote.htm中各项数据都填写完毕后,单击确定投票按钮,表单的数据就被提交,本次评优共有4个候选人,但只能选两个。故用复选框。投票的有效性通过是否是本校学生,且是否投过票来判断。if request(passno)then sql=select from stud where password=&'&request(passno)&' &and yitu=0 set rs=cn.execute(sql)if rs.eof then% h2 align=center%response.write你无权投票%h2
By 25175.com 本设计允许少选,不允许多选。通过判断Vote投票界面传递过来的复选按纽值的长度看是否多选。
vo=request(cand)if len(vo)4 then% h2 align=center%response.write 多选了,无效%h2
然后根据所投的票将对应候选人的投票结果字段加1,同时将该投票人的已投字段置为1。sqq=update stud set yitu=1 where password=&'&request(passno)&' cn.execute(sqq)if instr(vo,1)then cn.execute(update stud set result=result+1 where name='李宁')end if if instr(vo,2)then
cn.execute(update stud set result=result+1 where name='杨兰')end if if instr(vo,3)then cn.execute(update stud set result=result+1 where name='江道明')end if if instr(vo,4)then cn.execute(update stud set result=result+1 where name='段启文')end if% 显示当前投票情况show.asp 由于投票处理页面已经完成了绝大部分的工作,所以 显示结果页面就很简单了,其功能是从 Stud表文件中读取候选人所得票数,显示在页面上。页面显示如图
值得注意的代码主要有以下几处:
该页面有自动刷新功能,使在线用户可以尽快的看到最新的选举情况。我们这里设定每隔30秒钟自动刷新一次。
meta http-equiv=refresh content=10;URL=show.asp
显示投票时,我们采用了while循环,把候选人及其得票数,整齐地显示在一个表格中,这种技术在数据库查询结果的显示中也经常用到。代码如下: %while not hs.eof % tr td width=100%center font color=#8000ffbig %=hs(name)& &hs(result)&票% big font center td tr %hs.movenext%
By 25175.com %wend% 3.4达级考试在线查分系统与计数器的制作 3.4.1功能:
它提供了在线查看成绩。考生可以在网上使用这一系统,通过输入准考证编号来查询达级考试的结果。
3.4.2数据表的设计
与评优系统共用STUd表,表设计同上。
3.4.3界面设计与重点难点代码的设计
该模块需要查询者输入准考证号后来查看结果。若ID1不为空时,表示有表单输入,开始查询数据库。使用 SELECT的SQL指令查询数据库的数据。先设定SQL指令,查询ID符合准考证编号Request.Form(ID1)的数据,下个“Execute”指令,即可开始执行存取、查询数据的动作了。并将查询结果储存到Recordsets组件RS中。IF Request.Form(ID1)THEN
Set Conn = Server.CreateObject(ADODB.Connection)
Conn.Open(FILEDSN=cProgram FilesCommon FilesODBCData Sourcesms access database.dsn)SQL = SELECT name,id,score FROM stud WHERE id=' & Request.Form(ID1)& '
Set RS = Conn.Execute(SQL)
若考试通过,则显示考试的结果,包括姓名、准考证编号、总分和考试结果,分别由RecordSets 组件的RS(0)、RS(1)、RS(2)、RS(3)得到。FS.Field.Count表示RecordSets组件的域的总数,由“for I=0 to RS.Fields.count-1”,取得RS(I)各域的数据。配合 Table 表格的HTML语法,将结果填入表格的各单元格中。若还有下一个数据,就使用RS.MoveNext 移到下一个位置。
3.4.4页面访问计数器的制作
利用文件处理组件FILESYSTEM的强大功能来制作,比用Application对象计数器要好,Application计数器当有20分钟没有人连上该网页或关机时,计数器会被归零。而文件计数器却不会因时间而消失。我用Count.txt存放访问人次。代码如下: whichfile=server.mappath(piccount.txt)set myfile=server.createobject(scripting.filesystemobject)创建一个 set thisfile=myfile.opentextfile(whichfile)组件对象
visit=thisfile.readline thisfile.close 读取计数器数据文件Count.txt中的计数数据 visit=visit+1 记录自加一次 length=len(visit)for i=1 to length response.write img src=&mid(visit,i,1)&.jpgimg 将记录的数据用图片显示出来 next set thisfile=myfile.createtextfile(whichfile,1)将新计数数据写入文件thisfile.writeline(visit)set myfile=nothing 数字图片我利用PHOTOSHOP中的文字特效制作了9个立方数字:
等
By 25175.com
四.系统的使用说明与安装 4.1运行环境要求
Windows98 Personal Web Server 3.0(PWS)Microsoft Access 2000(9.0.2812)
4.2安装设置
A.将本网站拷贝到硬盘上的某一目录下,如:拷贝至cy1下。
B.运行PWS,将默认的Web站点主目录设置为该目录,如上例应为cy1; 具体步骤:
a.选择“高级”项;
b.单击“编辑属性”按钮,在出现的“编辑属性”对话框中的“目录”项中填入“cy1”,其他不变,确定;
C.设置启动默认文档为:yy.asp
致谢
通过这次毕业设计,使我感到高科技、新知识的力量。这次毕业设计过程中,得到了长沙市工商职业中专学校的大力支持,给我提供了舒适的工作学习环境,也得到了科大老师、教授的精心指导,在此表示衷心的感谢!
五.参考文献
[1]李世杰 Active Server Pages(ASP)3.0 网页设计手册 北京清华大学出版社 1999 [2]前沿电脑图像工作室 巧学巧用Dreamweaver、Fireworks、Flash制作网页 北京人民邮电出版社
[3]ASP入门与实例演练薄 小志编著 中国青年出版社
购物网站毕业论文
目录
第1章、引言………………………………………………………………………...4 第2章、建立商物网的可行性...................................................................................5 第3章、网站设计目标...............................................................................................5 第4章、网站技术解决方案.......................................................................................6 第5章、网站设计所需时间.......................................................................................6 第6章、网站的基本功能设计...................................................................................6
1、主页................................................................................................................7
2、用户注册………………………………………….……………….………..7
3、本站简介.......................................................................................................8
4、产品列表........................................................................................................8
5、购物帮助........................................................................................................9 6、顾
客
留言........................................................................................................9
7、购物车...........................................................................................................9 第7章、网站的制作链接结构………………………...........................................10 第8章、浅谈数据库安全…………………………………………………….…....10 8.1数据库的安全…………………………………………………………..10 8.1.1、Access数据库的存储隐患......................................................................11
8.1.2、Access数据库的解密隐患………………………………………….……….11
8.1.3、源代码的安全隐患....................................................................................11
8.1.4程序设计中的安全隐患.................................................................12 第9章、网站发布与推广.........................................................................................12 第10章、程序主要代码...........................................................................................13 制作心得..................................................................................................................14 致谢..........................................................................................................................14 参考文献..................................................................................................................15
摘要
电子商务是Internet爆炸式发展的直接产物,是网络技术应的全新发展方向,随着信息时代的来临,知识经济的扩张,电子商务已经越来越靠近我们的生活,他的发展极大地改变了企业商务活动的形式与内容,更多企业可以通过电子商务来进行网上交易。并介绍了用ASP技术实现连接不同数据库的方法和比较。
而在这种情况下,创建“永桐数码商务网”网站不仅可以大量减少人力、物力,而且有利于拓展营销渠道,扩大市场,提高营销效率,更能树企来形象。
关键词:ASP网页 Internet 电子商务 服务
第1章 引 言
随着时代的发展,电脑与Internet已经进入我们的生活。信息时代的来临,知识经济的扩张,已越来越靠近我们的生活。据中国互联网络信息中心调查报告显示,截至2010年6月底,中国上网用户总数已突破4亿。通过Internet来经营运作一家商店,一家公司甚至一个企业并不是不可能的,在当今的业务发展趋势下,各种公司和机构都需要进行改造和调整来适应迅速变化的商务环境,由此,就对公司和机构所使用的信息系统提出了很高的要求。在今日之商务界内,只配备先进优良的设备和工具已经远远不够,还必须具有灵活性和可扩展性,并且能相互集成。
电子商务(Electronic Commerce),是整个贸易活动的自动化和电子化。Internet和网络计算技术的蓬勃发展,价格廉宜并且深入各处的电子通道成为现实,电子商务也开始变得成本低廉,灵活机动并且无处不在。它为各种各样的企业,无论大小,不分“贵贱”提供了广阔的商机,帮助他们节约成本,增加价值,从而扩展市场,提高效率并抓牢客户。它渗透到贸易活动的各个阶段,因而内容广泛,包括信息交换、售前售后服务、销售、电子支付、运输、组建虚拟企业、共享资源等等。其目的就是要实现企业乃至全社会的高效率、低成本的贸易活动。
在全球范围内,电子商务出现的时间不长,但发展十分迅速。一些发达国家的电子商务活动已经通过密如蛛网的互联网络系统得以实现。广大用户、商家、金融机构与中间机构、服务支持机构加大了在互联网络上进行原材料查询、采购、产品展示、商品定购、产品储运、电子支付等商业贸易与金融支付活动,这些活动完全或基本上通过电子手段来完成。这种新型的商务活动充满着活力,引导越来越多的厂商、贸易机构,金融中介与用户参加,电子商务的特点使买卖双方在网络上形成简单易行的良好界面,使供需双方远在千里之外通过网络像面对面一样地迅速完成交易,使各种网上交易以电子票据进行支付、清算与决算,做生意的时间将不再接照差旅时间计算,而是在按下“回车”的瞬间开始。
然而,在WWW盛行后,人们并不满足于仅能静态显示数据的网页,虽然运用HTML语法在网络上呈现多媒体文件,已经比起以往仅能单纯呈现文字的信息系统进步了很多,但是还是无法满足人们的要求。最美中不足的地方,就是运用HTML语言所构建出的网页仅能单纯地呈现网页内容,而无法实时对不同网页浏览状况做出响应,如:不同浏览者、浏览者的行为或不同的浏览时间等。网页的设计者如果想让浏览过他们网页的使用者能够留下点数据,让网站架设者知道谁来过他的网站,还想在WWW上做生意,还想„„,那么就必须使用ASP(Active Server Pages)网页技术,而ASP最大的重点和作用就在于数据库的应用,它内置ADO(ActiveX Data Object)组件,可以轻松的存取各种数据库,让网页能够依照不同的情况做出动态的响应,在网页中加入程序建立动态响应的机制,大大缩短程序开发时间。面对今天可能提供一个简单的电子商店,明天可能提供一个复杂的全球商务系统等等。于是,电子商务的实现,给我们提供了一个新的机遇!
第2章 建立商物网的可行性
当前,随着人们生活水平的提高,大大小小各种数码店已布满了城市大街小巷,数码价格大大降低,数码相机商店之间竞争相当激烈,利润减少。很多大型商店已转向在互联网上购物业务,以节约成本,增加利润增长点,网络上的数码商店也是大量存在。但是在本地区的网上数码店较少,配送范围较窄,电子商务功能应用不够,因而知名度不高,所以网上购物还有很大的发展空间。建立永桐商物网站,开展产品网上交易、配送服务,主要有以下几个方面的作用:
1、降低成本。以电子商务开展业务,可以大量减少人力、物力;同时使得交易活动突破了时间和空间的限制,可以在任何时间、任何地点进行,大大降低成本,提高效率。
2、有利于树立永桐商物网的形象。作为第四媒体的互联网,其特点就是可以跨越时空,正常情况下,网站无时无刻不在工作,通过永桐商物网站,用户可以跨越时空了解数码店,利用多媒体技术,永桐商物网可以向用户展示产品、经营理念、形象。
3、有利于拓展营销渠道,扩大市场,提高营销效率。药店通过网站可以开展电子营销。电子营销作为传统营销的补充; 电子营销可以拓展新的空间,增加销售渠道,接触更大的消费群体,获得更多的新顾客,扩大市场。
4、有利于了解顾客的意见,掌握顾客的需求。在不干扰顾客正常工作和生活的条件下,通过永桐商物网站上的客户留言、留言薄可以倾听顾客的意见,了解顾客的心声,加强与顾客间的联系建立良好的顾客关系。
5、有利于改善服务,提高服务质量。利用网站,通过电子沟通方式,开展在线服务方式能够更加及时准确地掌握用户的需求,通过网站的交互式服务使得被动提供和主动获得统一起来,从而实现售前、售中、售后的全过程和全方位的服务。
第3章 网站设计目标
永桐商物网为小型电子商务网站,具备简单小型网站的基本功能。建立商物网,主要是运用电子商务,进一步开拓业务市场,使本地和外地的客户能通过本网站非常简单、方便地选购各种喜爱的数码产品。网站的整体设计注重实用性与观赏性的结合,侧重实用性,突出新颖、简单的特点。具体设计目标分为以下几点:
1、内容选取,充分考虑到当今网络快递发展的趋势,力求从新颖、方便、简洁方面入手,确保选材的质量。
2、基本功能设计,功能设计简单合理,实用性较强。
3、内容编排,以简单、美观、合理为最终目标,特别是将合理、简单放在第一位,注重合理性与观赏性的有机结合。
4、网页数量,至少为10页,每个页面可互相链接。
第4章 网站技术解决方案
1、网站维护:相关软硬件的维护,对可能出现的问题进行评估,制定响应时间。数据库维护,有效地利用数据是网站维护的重要内容,因此数据库的维护要受到重视。制定相关网站维护的规定,将网站维护制度化、规范化。
2、网站测试:网站发布前要进行细致周密的测试,以保证正常浏览和使用。主要测试内容:服务器稳定性、安全性; 程序及数据库测试; 网页兼容性测试,如浏览器、显示器;根据需要的其他测试。
第5章 网站设计所需时间
预计网站制作完成所需时间为六个星期,其中二个星期为网站制作初期准备,即完成资料的查找和搜集的工作,并对有关资料进行分析和整理,三个星期为网站设计制作的时间,第四个星期对内容反复进行讨论修改,直至满意为止。
第6章 网站的基本功能设计
网站的名称,是网站设计关键的一部分,名称是否响亮、易记,对网站的形象和宣传推广有很大的影响,网站的名称最终确定为“永数码桐商物网”网站,主要是主要是用我的原名来设计使得更有亲切感。“永桐数码商物网”一个的小型电子商务网站,创建“永桐数码商物网”网站不仅可以大量减少人力、物力,提高市场的占有率,希望通过网站可以开展电子营销服务,让所有朋友能享受到电子商务所提供的实惠、方便、快捷的服务。网站的基本功能设置应着重从这一方面考虑。因此,网站设置了几个网页(会员注册、本站简介、产品列表、购物帮助、顾客留言和购物车等),每个页面都可相互连接。
1、主页:将本店简介放置于主页,使浏览者登录“永桐数码商物网”网站主页就可以了解本站情况。登录者如有兴趣购买的产品可直接拨打电话订购产品,也可注册为网站会员享受优惠价格购买产品。由于页面空间所限,主页不可能将所有信息都一一详尽地展现在浏览者的面前,因此,主页上设置了会员注册、本站简介、产品列表、购物帮助、顾客留言和购物车等栏目连接页面,只要浏览者点击对应页面便可以进入连接页面,阅读详细的内容。
2、会员注册:列出“永桐数码商物网”的服务条款,有意成为注册会员的客户在了解该条款后,点击“同意协议并即注册”按钮进入会员注册页面。
(1)
用户通过填写上用户名和密码和联系方法再按“同意”按钮进行注册,完成后立即成为“永桐数码商物网”网站注册会员,享受会员优惠价格购买产品。
3、网站简介:介绍了“永桐数码商物网”的基本情况,使浏览者对本网站有简单了解,增加消费者对该网站的认识和网上交易的信心。
4、产品列表:在这个页面里,将公司部分的产品展现在浏览者面前,并标有相应
格,使浏览者一目了然。
在产品列表中,用户可以就某款所喜欢的产品,通过点击该产品的图片或名称,进入该产品详细说明页面,您可以方便地对其价格、形态特征等各方面情况作全面的了解。
浏览者如要订购,只需点击该产品中“立即购买”按键即转到物品清单页面,页面上显示所订产品编号、商品名称、数量、价格等;如果你觉得该商品信息正确无误,就可以按下“去收银台”出现了填写及修改收货人信息,还有“收货人信息、付款方式、送达地点、备注信息”等等,客户一一填写上资料,最后点击“确定”按钮,完成订购。接下来的事就由后台来服务了。
5购物帮助:主要是针对一些新的顾客,第一次上网购物提供一些网上购物常识。
如图
6、顾客留言:有利于了解顾客的意见,掌握顾客的需求。在不干扰顾客正常工作和生活的条件下,永桐数码商物网通过网站上的留言薄可以倾听顾客的意见,了解顾客的心声,加强与顾客间的联系建立良好的顾客关系。
7、购物车:
第7章 网站的制作及链接结构
制作本网站使用了FrontPqage2000和ASP和ACCESS数据库三种软件,网站结构采用的是“星状链接结构”,每个页面相互之间都建立了链接,方便访问者浏览,结构图如下:
第8章 浅谈数据库安全与压缩
Access数据库作为微软推出的以标准JET为引擎的桌面型数据库系统,由于具有操作简单、界面友好等特点,具有较大的用户群体。因此ASP+Access成为许多中小型网上应用系统的首选方案。但ASP+Access解决方案在为我们带来便捷的同时,也带来了不容忽视的安全问题。
8.1 数据库的安全问题
ASP+Access解决方案的主要安全隐患来自Access数据库的安全性,其次在于ASP网页设计过程中的安全漏洞。
8.1.
1、Access数据库的存储隐患
在ASP+Access应用系统中,如果获得或者猜到Access数据库的存储路径和数据库名,则该数据库就可以被下载到本地。例如:对于永桐数码商物网的Access数据库,人们一般命名为Shop.mdb、store.mdb等,而存储的路径一般为“URL/database”或干脆放在根目录(“URL/”)下。这样,只要在浏览器地址栏中敲入地址:“URL/database/store.mdb”,就可以轻易地把store.mdb下载到本地的机器中。8.1.
2、Access数据库的解密隐患
由于Access数据库的加密机制非常简单,所以即使数据库设置了密码,解密也很容易。该数据库系统通过将用户输入的密码与某一固定密钥进行异或来形成一个加密串,并将其存储在*.mdb文件中从地址“&H42”开始的区域内。由于异或操作的特点是“经过两次异或就恢复原值”,因此,用这一密钥与*.mdb文件中的加密串进行第二次异或操作,就可以轻松地得到Access数据库的密码。基于这种原理,可以很容易地编制出解密程序。
由此可见,无论是否设置了数据库密码,只要数据库被下载,其信息就没有任何安全性可言了。
8.1.
3、源代码的安全隐患
由于ASP程序采用的是非编译性语言,这大大降低了程序源代码的安全性。任何人只要进入站点,就可以获得源代码,从而造成ASP应用程序源代码的泄露。
8.1.
4、程序设计中的安全隐患
ASP代码利用表单(form)实现与用户交互的功能,而相应的内容会反映在浏览器的地址栏中,如果不采用适当的安全措施,只要记下这些内容,就可以绕过验证直接进入某一页面。例如在浏览器中敲入“„„page.asp?x=1”,即可不经过表单页面直接进入满足“x=1”条件的页面。因此,在设计验证或注册页面时,必须采取特殊措施来避免此类问题的发生。
由于Access数据库加密机制过于简单,因此,如何有效地防止Access数据库被下载,就成了提高ASP+Access解决方案安全性的重中之重。我们可以采用以下方法来提高安全性:
(1)非常规命名法
防止数据库被找到的简便方法是为Access数据库文件起一个复杂的非常规名字,并把它存放在多层目录下。例如,对于网上书店的数据库文件,不要简单地命名为“book.mdb”或“store.mdb”,而是要起个非常规的名字,例如:faq19jhsvzbal.mdb,再把它放在如./akkjj16t/kjhgb661/acd/avccx55之类的深层目录下。这样,对于一些通过猜的方式得到Access数据库文件名的非法访问方法起到了有效的阻止作用。(2)使用ODBC数据源
在ASP程序设计中,应尽量使用ODBC数据源,不要把数据库名直接写在程序中,否则,数据库名将随ASP源代码的失密而一同失密。例如:
DBPath = Server.MapPath(“./akkjj16t/ kjhgb661/acd/avccx55/faq19jhsvzbal.mdb ”)
conn.Open “driver={Microsoft Access Driver(*.mdb)};dbq=”& DBPath 可见,即使数据库名字起得再怪异,隐藏的目录再深,ASP源代码失密后,数据库也很容易被下载下来。如果使用ODBC数据源,就不会存在这样的问题了,如: conn.open “ODBC-DSN名”
(3)对ASP页面进行加密
为有效地防止ASP源代码泄露,可以对ASP页面进行加密。一般有两种方法对ASP页面进行加密。一种是使用组件技术将编程逻辑封装入DLL之中;另一种是使用工具软件,如微软的Script Encoder对ASP页面进行加密。
8.2数据库的压缩技术
随着用户的增加和网站的运行,数据库占用会越来越大,而频繁的对数据库的增加、删除等操作,也会产生记录碎片,浪费空间,影响数据库的查询速度。对于数据库的压缩,第一种方法是采用纯编程的方式对数据库进行压缩处理,这种方法实用性强,效果明显,但专业性要求较高,复杂度高。第二种方法是采用软件方法对数据库进行处理。此外,还可以对大型数据库采用分项存储的方法减少数据库的空间,提高数据库使用效率。
第9章 网站发布与推广
网站建成后,要采用多种方式进行宣传和推广,主要有以下几种:
1、网站的风格设计
“永桐数码商物网”的风格是网站的主色调采用了较为刚浅淡的灰色让人看了眼睛觉午舒服。在排版方面要求结构简单明了,让人一目了然,采用模板的风格技术,基于IE5.0 1024*748真彩平台开发五级网页均提供网站LOGO、导航系统、联系信息等功能,可以让网友们更容易地找到所需物品。网站产品是通过分类方式让网友选择的,网友很容易就找到自己感兴趣的物品进行购买,而不用花费太多的时间去寻找。
2、友情链接
可与自身网站内容相近的网站做友情链接,这样可提高双方网站的访问量和知名度,如果能和著名网站做友情链接那样效果会更好。
3、传统媒体宣传
在现阶段,包括报刊、广播、电视、户外广告等传统媒体,广告依然有很强的宣传力和影响力,为了扩大永桐商物网站知名度可在适当媒体上做广告。
4、网站推广
为了拓展网站的知名度,我会去申请与一些著名的网站进行友情链接,让网友可以通过它们而进入到本网站购物,我要努力推广宣传,让网友的每一次的点击都成就一个可能,甚至让他们再次光临。而这就需要了解顾客的爱好,根据顾客的反馈来完善网站的风站,这就是客户反馈了。
第10章 程序主要代码
1连接数据库 因为用户登陆网站后,几乎所有的操作都与数据库有关,我们可以把连接数据库作为一个独立的文件(conn.asp),这样可减少重复代码,只须在需要的地方用语句包含该文件,即可连接数据库。主要程序代码如下:
<%
dim conn
dim connstr
dim db
db=“database/db.mdb”
Set conn = Server.CreateObject(“ADODB.Connection”)
connstr=“Provider=Microsoft.Jet.OLEDB.4.0;Data Server.MapPath(db)
Source=” & '如果你的服务器采用较老版本Access驱动,请用下面连接方法
'connstr=“driver={Microsoft Server.MapPath(db)
Access Driver(*.mdb)};dbq=” & conn.Open connstr
startime=timer()
制作心得
在历时将近两个月的时间内,我做的毕业设计是从学习新的知识(ASP语言和HTML语言以及数据库知识),到建立永桐数码商物网设计完成。遇到了若干的问题和解决了不少的问题,现在还有未知安全性和可靠性的问题未能发现和解决,比如在添加商品数比较少的时候会出现浏览数据库错误,但只要继续添加就可以了。
从论文框架的设计到具体程序的实现,是我从对电子商务以及数据库认识从无到有的认识过程。在建立永桐数码商物网只是一个网上的购物的基本原理,里面要涉及到的方方面面的问题,我们未曾遇到或现有的条件限制而未能实现。在学习ASP+数据库在电子商务中的运用,并不是我们想象的写程序那么简单,它包括了数据库设计、编写程序、网页制作、图象处理、版面设计、数据采集、文本编辑、服务器管理等等。用ASP开发的时候,在程序的调试上也比较麻烦,要在主机上运行PWS(windows9x下)使用浏览器来浏览才能找出错误所在,所以花费的时间比较长。
总之,这次网站制作的毕业设计,加强了本人的独立学习和运用知识解决实际问题的能力,对本人三年来在学校系统学习的基础理论课程、专业知识和基本技能是一次全面的检验,并且达到巩固、扩大、深化所学的专业技术应用的效果,使自身的研究、实践能力得到一定的提高。
致 谢
本网站制作过程中参考了大量的网站及书籍,在朋友、同学、老师的帮助下总算完成了设计。在这里特别感谢我的指导教师还有我们小组的全体同学,在我做论文的过程中给了我极大的帮助,并提出了宝贵的意见和建议。
参考文献
1.《Instant ASP实例解析ASP网站编程》 作者:庄永龙等编著 出版社:宇航出版社 2.《ASP数据库系统开发实例导航》 作者:宣小平但正刚 张文毅 著
出版社:科学出版社
3.《动态网页制作基础及应用》 作者:飞思教育产品研发中心 编著
出版社:电子工业出版社
4.《ASP实例解析ASP网站编程》 作者:庄永龙等 著5.《JAVASCRIPT教程》 作者:王大刚 著 6. 董宵逢:《如何创办电子商务公司》,机械工业出版社。
7. 《阿里巴巴》网站
出版社:宇航出版社
出版社:eshu.yeah.net
摘要
互联网技术的发展使得社交网络日益流行起来,并引起国内外人们的关注与参与,社交网络的注册人数逐年增长,其内容不断更新。社交网站为人们提供了一个交友的网络平台,通过网络我们可以很轻松的结识新的朋友以及了解朋友的最新动态,还可以进一步与朋友交流沟通。而且社交网站的产生成为了信息资源的重要组成部分,大家可以在社交网站上了解当下热门事件以及人们的反应。
此交友网站基于ASP.Net,数据库采用了Access。网站的功能有:用户注册、用户登录查看修改个人信息、用户对微博的相关操作(发布、删除、转发、评论、举报)、用户对其他人的修改操作(关注、取消关注、举报)、用户搜索等。本文以建立一个小型交友网站的过程为主线组织材料,对社交网站从分析到设计及最后的测试的过程,进行了简单的概述。在详细设计中设计与实现部分用比较直观易读的文字和程序流程图展示网站,增强了文章的可读性。在写作过程中,本文与实际项目进度相结合。
关键字
互联网;社交网站;设计
Abstract
The development of Internet technique makes the social network is becoming more and more popular, and draw the attention of people both at home and abroad to participate in.In the same time.the social network enrollment increased year by year, with its content is constantly updated.Social networking sites do provide a network platform to make friends, we can easily make new friends through the network, and grasp the newest trend of friends.Also we can further communication with friends.And social networking sites have became an important part of information resources, we can understand the present popular events on social networking sites and people's reactions.Based on this dating site, ASP.Net, database using Access.The functionality of the site are: user registration, user login to check the modify personal information, users of weibo related operations(distribution, delete, forward, reviews, reports), user modification operations for others(attention, cancel the attention, report), users to search, etc.Based on the process of creating a small dating sites of material, the social networking site from analysis to design and process of the final test, has carried on the brief overview.Design in the detailed design and implementation with intuitive easy to read text and program flow chart to show site, enhance the readability of the article.In the process of writing, this paper combined with the actual project progress.Key words internet;social website;design
目录
摘要............................................................................................................................................i Abstract....................................................................................................................................ii
第一章 绪论.............................................................................................................................1
1.1项目的意义及背景......................................................................................................1 1.2 国内外发展现状.........................................................................................................1
1.2.1 国内发展现状...................................................................................................1 1.2.2 国外发展现状...................................................................................................2 1.3 本文结构.....................................................................................................................2 第二章 系统开发技术和开发工具介绍.................................................................................3
2.1开发技术......................................................................................................................3
2.1.1 C#语言简介.......................................................................................................3 2.1.2 ASP.NET技术简介........................................................................................4 2.2开发工具和开发环境..................................................................................................5
2.2.1 Microsoft Office Access简介............................................................................5 2.2.2 Visual Studio 2013 简介....................................................................................5 2.3 本章小结.....................................................................................................................7 第三章 系统分析.....................................................................................................................8
3.1功能需求分析..............................................................................................................8
3.1.1 功能划分...........................................................................................................8 3.1.2 功能描述...........................................................................................................9 3.1.3 数据描述.........................................................................................................17 3.2性能需求....................................................................................................................18
3.2.1数据精确度......................................................................................................18 3.2.2 时间特性.........................................................................................................18 3.2.3 适应性.............................................................................................................19 3.3 本章小结...................................................................................................................19 第四章 系统总体设计...........................................................................................................20
4.1系统功能设计............................................................................................................20 4.2模块功能设计............................................................................................................20
4.2.1 用户登录模块设计.........................................................................................20 4.2.2 用户操作微博模块设计.................................................................................20 4.2.3 用户搜索模块设计.........................................................................................23 4.2.4 用户举报模块设计.........................................................................................24 4.2.5 用户浏览内容模块设计.................................................................................25 4.2.6 用户个人主页管理模块设计.........................................................................28 4.2.7 管理员登录模块设计.....................................................................................29 4.2.8 管理员管理模块设计.....................................................................................29 4.3 数据库设计...............................................................................................................33
4.3.1 数据库概念模型.............................................................................................33 4.3.2 数据库表设计.................................................................................................34 4.4 本章小结...................................................................................................................37 第五章 系统详细设计与实现...............................................................................................38
5.1 用户登陆模块详细设计与实现...............................................................................38
5.1.1 用户登陆模块详细设计.................................................................................38 5.1.2 用户注册界面实现.........................................................................................39 5.2 用户操作微博模块详细设计与实现.......................................................................40
5.2.1 用户操作微博详细设计.................................................................................40 5.2.2 用户操作微博界面实现.................................................................................42 5.3 用户搜索模块设计与实现.......................................................................................43
5.3.1 用户搜索模块详细设计.................................................................................43 5.3.2 用户搜索模块界面实现.................................................................................44 5.4 用户举报模块设计与实现.......................................................................................44
5.4.1 用户举报详细设计.........................................................................................44 5.4.2 用户举报界面实现.........................................................................................45 5.5 用户浏览内容模块设计与实现...............................................................................46
5.5.1 用户浏览内容模块设计.................................................................................46
5.6.2 微博排行榜界面实现.....................................................................................47 5.6 用户个人主页管理详细设计与实现.......................................................................49
5.6.1 用户个人主页管理详细设计.........................................................................49 5.6.2 用户个人主页管理界面实现.........................................................................49 5.7 管理员登陆模块设计与实现...................................................................................51
5.7.1 管理员登陆模块详细设计.............................................................................51 5.7.2 管理员登陆模块实现.....................................................................................51 5.8 管理员详细设计与实现...........................................................................................51
5.8.1 管理员管理详细设计.....................................................................................52 5.8.2 管理员管理界面实现.....................................................................................54 5.9 本章小结...................................................................................................................55 第六章 系统测试...................................................................................................................56
6.1 测试计划...................................................................................................................56
6.1.1 测试的主要范围与内容.................................................................................56 6.1.2 测试方法.........................................................................................................56 6.1.3 测试环境.........................................................................................................56 6.2 单元测试...................................................................................................................56
6.2.1 用户登录单元测试.........................................................................................57 6.2.2 用户发布微博测试.........................................................................................57 6.3 集成测试...................................................................................................................58 6.3 本章小结...................................................................................................................58 结论.........................................................................................................................................59 参考文献.................................................................................................................................60 致谢.........................................................................................................................................61
社交网站的设计与实现
第一章 绪论
1.1项目的意义及背景
社交网站,专指旨在帮助人们建立社会性网络的互联网应用服务,它的理论基础是哈佛大学心理学教授Stanley Milgram在1967年创立的六度分割理论,他认为“你和任何一个陌生人之间所间隔的人不会超过六个”,按此理论,每个个体的朋友可以认识这个个体的其他朋友,以此为基础,使每个个体的社交圈不断放大,最后成为一个大型网络,这就是社交网络的驱动内核。人类历史上,大凡重要的技术革命都伴随媒介革命,人类任何活动本质上都是信息活动,信息流的传递介质、管理方式的不同将决定你接受信息的不同,所有有关信息流媒介的变革一定是底层的变革——网络社交也是如此。从网络社交的演进历史来看,它一直在遵循“低成本替代”原则。网络社交一直在降低人们社交的时间和物质成本,或者说是降低管理和传递信息的成本。随着Internet的普及,越来越多的BBS论坛和博客出现,发布最新动态信息,使用户进行交流和沟通更加便捷,丰富娱乐人们的上网空间和生活等。随着网络技术的不断发展。人们对于网络有了越来越多的要求,希望能在网络上也能进行社交活动。所以需要开发更符合用户需求的社交网站。
1.2 国内外发展现状
1.2.1 国内发展现状
在我国,国内第一个校园交友网站校内网在大学生群体中的覆盖率已超过90%,51网在15~25岁年轻人中也有较高的覆盖率,08年迅速成长的开心网则成为年轻白领娱乐休闲和打发时间的新宠,短短半年多时间就发展了约1500万注册用户。2009年8月,新浪推出微博产品,140字的即时表达,图片、音频、视频等多媒体支持手段的使用,转发和评论的互动性,使得这种产品迅速聚合了海量的用户群,当然也吸引了众多业者(如腾讯、网易、搜狐)的追随。这种模式将广义社交网络推向投资人的视野。随着移动互联网的发展,微信息社交产品逐渐与位置服务(LBS技术)等移动特性相结合,相继出现米聊、微信等移动客户端产品。另外,不容忽视的是SoLoMo时代,社交功能逐渐成为产品标配,已经无法准确区分社交产品的范围。
社交网站的设计与实现
1.2.2 国外发展现状
近年来,微软接连斥巨资大手笔收购社交网站商Skype、Yammer,标示着企业社交网络时代的全面到来。不只微软,几乎所有的IT巨头都在试验和开发企业社交网络。IBM、甲骨文、SAP等国际软件巨头都已在其OA、CRM中加入Facebook、Twitter类似的社交功能。社交网络是目前欧美企业界最风行的方向,它能帮助公司的员工在内部实现更好的交流和协作,以提高公司的信息流通和效率。企业社交网络也包括外部社交网络业务用来提高企业知名度。
1.3 本文结构
本文的第二章主要介绍本系统开发过程中用到的工具和技术,并对其进行介绍。本文的第二章为系统分析,主要是对系统的需求进行分析,分析了系统的功能需求、性能需求。第四章为系统的总体设计,主要是对系统主要功能模块的介绍。同时也介绍了数据库的设计。第五章为系统的详细设计,详细的介绍了系统各个模块的设计。第六章为系统的测试,描述了系统的测试过程。
社交网站的设计与实现
第二章 系统开发技术和开发工具介绍
本系统使用Asp.net和JavaScript技术设计开发完成了社交网站,开发的软件环境是Windows7 操作系统,硬件环境是个人计算机,开发工具是Visual Studio 2013和Microsoft Office Access,同时应用CSS技术对网页页面进行美化,开发语言是C#。
2.1开发技术
2.1.1 C#语言简介
C# 语言是一种以.NET平台为基础的面向对象程序设计语言。它由 C/C++衍生而来, 具有 VB 的简单易学, 又兼备 C++的强大的面向对象特性和功能。它是 Microsoft 公司推出的下一代面向对象编程语言, 它被包含在集成的开发环境 Visual Studio.NET中, 但也可以采用其.NET SDK(.NET 标准开发包)来编译和调试C# 语言程序。利用 C# 语言和.NET平台(框架)可以编写 Window应用程序、Web 程序和 Web 服务, 以后大量的.NET平台的应用将由 C# 语言开发。
面向对象程序设计语言C#相对于C而言,我认为最大的特点就是C#允许继承(派生),而C没有。这样的话,C#程序中就可以通过类的派生,继承很多已经存在的,预先提供的各种功能的类,那么,很多有用的东西我们不需要自己去编程实现,只要掌握怎样引用现有资源(类资源)以及如何使用这些资源,这些资源就是.NET基类(被封装在不同的名字空间下,我们前面程序中用到的System名字空间是最基本的系统类集)。比如我们要编写Windows应用程序中的用户窗口界面,如果要用C编写,那将是很繁杂的一项工程,如果用C#编写,却会变得简单而有趣,只需要定义一个派生于System.Windows.Forms.Form类的窗体类Form1,那么自定义的类Form1就继承了父类System.Windows.Forms.Form所含有的资源,该父类是系统提供的窗体类,用来创建窗体界面。尽管C也可以引用一些系统提供或自定义的库函数通过#include命令来引用),但毕竟资源有限,而且不可以派生。
第二个突出的特点就是C#语言中通过类(对象)及不同类之间的消息传递来完成程序的功能,而C语言中主要通过函数及函数的调用来完成。所以很明显,用C#语言编程,我们主要考虑该系统可以划分成哪些类,类之间的关系如何,类的成员(属性、方法、事件、变量等)要定义哪些,怎么引用已有的类资源。而C中,我们确定该程序可以分为哪些子模块,每个模块实现哪些功能,那些功能的实现怎样通过函数来实现,以及通过函数的调用
社交网站的设计与实现
实现模块的功能并最终完成整个程序的功能。类或对象中定义了一组数据和一组操作,把数据和操作封装在一起,而C语言中数据定义和数据操作分开,定义数据结构,设计每个函数(操作)的算法,这是两者编程不同的根本出发点。
C#和C一样都具有丰富的运算符,各种数据结构,一样的具有结构化的控制语句如if„else语句,while语句,for语句等,基本上来说,C#都要比C提供的要稍微多一些,除了指针类型[1]。
2.1.2 ASP.NET技术简介
(1)ASP.NET 不是 ASP 的简单升级,而是 Microsoft 推出的新一代 Active Server Pages。ASP.NET 是微软发展的新的体系结构.NET 的一部分,其中全新的技术架构会让每个人的编程生活变得更为简单。
(2)新的 ASP.NET 运行环境不只是 ASP 的一个简单变化。在此引入受控代码(managed code)这样一个全新概念,它横贯整个视窗开发平台。受控代码运行在 NGWS Runtime下面。NGWS Runtime 是一个时间运行环境,它管理代码的执行,使程序设计更为简便。
(3)Web Controls 使创建 forms 和 HTML Controls 的工作将会变得简单易行,支持服务器和客户端控件,支持事件驱动代码。例如,在 ASP 中典型的选择框/ select box 里,须创建一个循环以便让控制系统装入数据。但在 ASP.NET 里,将会拥有一个“data-bound”,这意味着它会与数据源连接,并会自动装入数据。
(4)ASP.NET 支持多种语言,它的缺省语言将是: Visual Basic.NET,这意味着可以摆脱 VBScript 的语言限制,代码将是编译后运行的(非原来的解释执行),支持C# 语言。
(5)更好的代码控制。运用 ASP 技术的时候,比较麻烦的一件事情就是 COM 对象需要再在服务器上注册,在 ASP.NET 中,这个问题得到了彻底的解决。
(6)吸收 JSP 和 ASP 的特点,既支持显示与逻辑驱动代码分离,又支持显示与逻辑驱动代码聚合[2]。
社交网站的设计与实现
2.2开发工具和开发环境
2.2.1 Microsoft Office Access简介
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点,是 Microsoft Office 的系统程序之一。
Access 是一个功能强大的数据库管理系统和管理信息系统开发工具,具有界面友好、易学易用、开发简单、接口灵活的特点。但 Access是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是方便的,效率也很高。但是它要求同时访问的客户端不能多于4个。Access数据库有一定的极限,如果数据达到100M左右,很容易造成服务器崩溃。
Microsoft Access 是个典型的开放式数据库系统,它支持与其他类型的数据库进行数据交换和共享,也可以和一般的 Windows应用程序进行数据交换。在与数据库系统数据进行交换和共享时,可以使用数据导入、导出与链接的手段;与 Windows 应用进行数据交换与共享时,可以使用剪切板、动态数据交换(DDE)、对象连接与嵌入(OLE)技术。
如果计算机连接到网络上,则可以与其他用户同时对同一个数据库进行工作。在多用户环境下,可以有多种方式与他人共享数据。
可以将整个数据库放在网络服务器或共享的文件夹中。这是最容易实现的方法。大家共享数据,并使用相同的窗体、报表、查询、宏与模块。如果要以同样的方式使用数据库,或没有能力支持用户创建自己的对象时,可以使用这个策略。
也可以把表放在网络服务器上,并将其他数据库对象保留在用户的计算机中。在这种情况下,因为只有数据是通过网络发送的,所以数据库的运行性能比较快。另外,用户可根据自己的需求和喜好来自定义窗体、报表和其他对象,而不会影响其他用户[3]。
2.2.2 Visual Studio 2013 简介
微软在Builder 2013开发者大会上发布了Visual Studio 2013预览版,并且发布其程序组件库.NET 4.5.1的预览版。该软件已于北京时间2013年11月13日23:00时正式发
社交网站的设计与实现
布。
Visual Studio 2013 预览版以 Visual Studio 2012 和后续的Microsoft Visual Studio 更新中的进展为基础构建而成,为开发团队提供需要的解决方案,使其接纳这种转变并开发和交付利用下一波Windows平台创新(Windows 8.1)的新式应用程序,同时在所有 Microsoft平台上支持多种设备和服务。10月17日,微软向全球Windows 8用户推送了Windows 8.1 的更新,除了Windows 8.1 之外,同时发布的还有Visual Studio 2013 正式版, Visual Studio 2013提供多种强大的工具和服务,帮助您创造新式应用程序或将现有应用程序转变为新式应用程序,令用户在多种屏幕和设备上享受到最佳的体验,同时仍与所需的服务和数据保持联系。
Visual Studio 2013将根据“go-live”许可证提供。.Net 4.5.1预览版是2013版预览版的一部分,也包含在Windows 8.1预览版所有的安装程序中。新的.Net预览版还为Windows
8、Windows
7、Windows Vista和相应的Windows服务器发布版提供单独的安装版本。
微软高管表示,.NET Framework 4.5.1预览版的许多功能的重点是改善调试和一般的诊断。这个更新版本还允许开发者进行编辑和继续进行64位编程。
Visual Studio 2013 预览版进行了大量改进,可帮助您在编码时提高工作效率并集中精力。某些功能首先在 Visual Studio Power Tools 扩展中以试验性质出现,经过改进后才纳入到 Visual Studio 中。新版本中内置了多种提高工作效率的功能,如自动补全方括号、使用快捷键移动整行或整块的代码以及行内导航。此外,Visual Studio 2013 预览版的团队资源管理器增强了主页设计,可以更简便地导航到团队协作功能,并可取消停靠“挂起更改”和“生成”,使其显示在一个单独的窗口中。
在处理大型代码文件时,可能难以了解当前所处的位置。在 Visual Studio 2013 预览版中,可轻松地在两种模式之间切换滚动条的行为。在栏模式中,可更直接地查看脱字号位置等注释、更改所在位置和跟踪错误。在图模式下,滚动条显示源代码的实时预览,而将鼠标悬停在代码上即可在工具提示中更详细地预览这段代码。然后单击代码所在位置即可导航到该位置。
了解某行代码的作用只是作为开发人员遇到的一部分难题。还必须了解其历史记录、谁处理过这行代码、哪些代码引用它,等等。在面向团队的项目中,这一点变得尤其困难。Visual Studio 2013 预览版中的 CodeLens(代码信息指示器)使用来自项目元
社交网站的设计与实现
数据和 Team Foundation Server 2013 预览版的信息,在代码中的每个方法上放置修饰符,其中显示哪些变更集导致创建该方法或做出最近的更改、谁是最后一个处理该代码的人、哪些单元测试涵盖该方法(包括最新的通过/未通过状态)以及存在哪些代码引用等信息。另外,单击一下即可迅速跳入该数据,如关联的变更集或引用的代码文件。
Visual Studio 2013 预览版引入了一种联网IDE 体验,使您可更加迅速地开始使用 Visual Studio 2013 预览版。当您首次启动 Visual Studio 2013 预览版时,将要求您使用 Microsoft 帐户(您可能已在 MSDN 或 Team Foundation Service 订阅中用到它)进行登录。登录后,即注册您的 Visual Studio 2013 预览版副本供您使用,无需任何额外步骤。Visual Studio 2013 预览版还将自动在采用联网 IDE 体验的设备上同步设置。同步的设置包括快捷键、Visual Studio 外观(主题、字体等)各种类别,同时使您保持对“同步设置”选项的完全控制[4]。
2.3 本章小结
本社交网站主要使用的技术为Asp.net技术,编程语言为C#。主要使用的软件为Visual Studio 2013与Microsoft Office Access。
社交网站的设计与实现
第三章 系统分析
3.1功能需求分析
本社交网站的功能划分为两部分:前台功能和后台功能。前台功能针对于普通用户设计,后台功能只有管理员才能使用。
3.1.1 功能划分
(一)前台功能划分:
1)用户注册 2)用户登录 3)用户操作微博 4)用户关注功能 5)用户搜索 6)原创微博排行榜。7)用户访问个人主页 8)用户修改资料 9)用户举报功能 10)用户个人主页管理(二)后台管理实现功能
1)新增管理员 2)删除管理员 3)管理员处理微博举报 4)管理员处理评论举报 5)管理员处理被举报的用户 6)管理员查看举报的处理信息 7)管理员增加网站广告 8)管理员删除网站广告 9)管理员查看网站广告信息 10)管理员更新网站广告信息
社交网站的设计与实现
3.1.2 功能描述
(一)前台功能
社交网站前台是与用户直接进行交互的界面,所以在设计时,除了考虑功能的完善,还要考虑操作的方便,界面的美观。这样才能提高用户体验[5]。前台主要功能:
1)用户注册 2)用户登录 3)用户发布微博 4)用户删除微博 5)用户收藏微博 6)用户评论微博 7)用户转发微博 8)用户修改个人资料 9)用户增加关注 10)用户取消关注 11)用户查看关注的用户 12)用户查看粉丝 13)用户搜索微博或用户 14)用户修改个人主页图片 15)用户举报其他用户 16)用户举报微博 17)用户举报评论
18)用户访问其他用户的个人主页 19)用户查看原创微博排行榜
20)以折线图形式描述用户主页的一周访问数据,并与上周进行对比。以柱状图形式统计用户的微博一周的转发量、评论数,并与上周进行对比。
(二)后台功能
后台由网站的管理员使用。管理员可使用权限范围内的功能。1)管理员登陆
社交网站的设计与实现
2)增加或删除管理员 3)管理员处理举报
4)管理员查看举报的处理信息 5)管理员管理网站广告
(三)数据流图如下:
社交网站数据流图顶层如图3-1:
操作请求社交网站信息信息使用者网站数据库结果
图3-1 社交网站数据流图顶层
社交网站数据流图第二层如图3-2:
操作请求普通用户系统前台信息操作请求结果操作请求操作结果网站数据库管理员请求结果系统后台信息操作操作结果
图3-2 社交网站数据流图第二层
社交网站用户登录数据流图如图3-3:
用户昵称用户封号表 blacklist用户封号结果用户名或用户邮箱、密码用户信息表people查询结果 普通用户用户名或用户邮箱、密码验证结果系统前台图3-3 社交网站数据流图第三层 用户登录
社交网站用户注册数据流图如图3-4:
社交网站的设计与实现
普通用户用户名、用户邮箱、密码注册结果系统前台用户名、用户邮箱、密码增加用户结果用户信息表people
图3-4 社交网站数据流图第三层 用户注册
社交网站用户发布微博模块数据流图如图3-5:
用户昵称,微博内容,微系统前博发布时间台增加微博结果微博内容普通用户微博发布结果微博内容表post
图3-5 社交网站数据流图第三层 用户发布微博
社交网站用户删除微博模块数据流图如图3-6:
要删除的微博内容普通用户微博删除结果系统前台用户昵称,微博内容删除微博结果微博内容表post
图3-6 社交网站数据流图第三层 用户删除微博
社交网站用户收藏微博模块数据流图如图3-7:
要收藏的微博内容普通用户微博收藏结果系统前台用户昵称,微博内容收藏微博结果微博收藏表reserve
图3-7 社交网站数据流图第三层 用户收藏微博
社交网站用户转发微博模块数据流图如图3-8:
用户昵称,转发微博内容,原创微博内容,原创作者昵称微博内容表post转发的微博内容普通用户微博转发结果系统前台转发微博结果
图3-8 社交网站数据流图第三层 用户转发微博
用户评论微博模块数据流图如图所示3-9。用户修改个人资料模块数据流图如图3-10。用户增加关注模块数据流图如图3-11。
社交网站的设计与实现
评论的微博内容普通用户微博评论结果系统前台用户昵称,评论内容,微博内容,微博作者昵称微博评论表comment评论微博结果
用户昵称,用户要修改的昵称关注表focus评论举报表Reportview微博举报表Reportweibo图3-9 社交网站数据流图第三层 用户评论微博
用户昵称,用户要修改的昵称用户修改的信息普通用户系统前台用户昵称,用户要修改的昵称用户昵称,相关信息用户信息表people用户昵称,用户要修改的昵称用户举报表reportpeople数据库修改结果用户修改信息结果用户昵称,用户昵称,用户要修改用户要修改的昵用户昵称,的昵称称用户要修改微博信息表post的昵称黑名单表blacklist收藏表reserve
图3-10 社交网站数据流图第三层 用户修改个人资料 关注关注的用户昵称普通用户系统前台用户昵称,关注用户的昵称用户关注表post关注结果数据库处理结果
图3-11 社交网站数据流图第三层 用户增加关注
用户取消关注模块数据流图如图3-12。用户查看粉丝模块数据流图如图3-13 用户查看关注的用户模块数据流图如图3-14。用户搜索模块快数据流图如图3-15。用户修改个人主页图片数据流图如图3-16。
社交网站的设计与实现
取消关注的用户昵称普通用户系统前台用户昵称,关注用户的昵称用户关注表post数据库处理结果关注结果
图3-12 社交网站数据流图第三层 用户取消关注
用户昵称普通用户系统前台用户关注表post查询结果关注该用户的用户
图3-13社交网站数据流图第三层 用户查看粉丝
用户昵称普通用户系统前台用户关注表post查询结果该用户关注的用户
图3-14社交网站数据流图第三层 用户查看关注的用户
用户搜索的关键词用户搜索关键词,搜索对象系统前台微博信息表post用户搜索的关键词用户信息表people数据库查询结果普通用户搜索结果
图3-15社交网站数据流图第三层 用户搜索微博或用户
个人主页图片用户昵称,个人主页图片系统前台用户信息表people数据库修改结果 普通用户个人主页图片修改结果图3-16社交网站数据流图第三层 用户修改个人主页图片
用户举报其他用户数据流图如图3-17。
社交网站的设计与实现
举报用户昵称用户昵称,举报用户昵称系统前台用户举报表reportpeople数据库增加结果普通用户举报结果
图3-17社交网站数据流图第三层 用户举报其他用户
用户举报微博模块数据流图如图3-18:
举报微博内容,微博作者昵称举报微博内容,微博作者昵称,举报用户昵称系统前台微博举报表reportweibo数据库增加结果普通用户举报结果
图3-18社交网站数据流图第三层 用户举报微博
用户举报评论数据流图如图3-19:
举报评论内容,评论作者昵称系统前台举报评论内容,评论作者昵称,举报用户昵称评论举报表reportcomment数据库增加结果普通用户举报结果
图3-19社交网站数据流图第三层 用户举报评论
用户访问其他人个人主页模块数据流图如图3-20。用户查看原创微博数据排行榜数据流图如图3-21。用户查看个人主页访问数据模块数据流图模块如图3-22。管理员登陆模块数据流图如图3-23。删除管理员模块数据流图如图3-24。增加管理员数据流图如图3-25。
管理员处理微博举报模块数据流图如图3-26。
社交网站的设计与实现
用户名用户访问记录表visit用户名,用户昵称用户昵称普通用户系统前台用户信息表people用户个人主页内容数据库查询结果
图3-20社交网站数据流图第三层 用户访问他人个人主页查看排行榜类型、当前时间查看排行榜类型、当前时间普通用户系统前台微博信息表post排行榜内容数据库查询结果
用户名图3-21社交网站数据流图第三层 用户查看原创微博排行榜普通用户系统前台个人主页访问信息表visit数据库查询结果访问信息图表
图3-22社交网站数据流图第三层 查看用户个人主页访问数据管理员姓名,密码管理员姓名,密码管理员系统后台管理员信息表manager数据库查询结果登陆结果
图3-23社交网站数据流图第三层 管理员登陆要删除的管理员姓名,当前管理员要删除的管理员姓名管理员系统前台管理员信息表manager数据库删除结果删除结果
图3-24社交网站数据流图第三层 删除管理员
社交网站的设计与实现
管理员姓名、密码管理员姓名、密码管理员系统前台管理员信息表manager数据库增加结果增加结果
图3-25社交网站数据流图第三层 增加管理员
黑名单表blacklist管理员系统前台举报用户时昵间称长、短封删除微博内容、用户昵称号微博信息表post处理结果数据库删除结果
图3-26社交网站数据流图第三层 管理员处理微博举报
管理员处理评论举报模块数据流图如图3-27。
黑名单表blacklist举管理员系统前台报用户时昵间称长、短封删除评论内容、用户昵称评论信息表comment数据库删除结果处理结果号
图3-27社交网站数据流图第三层 管理员处理评论举报
管理员处理被举报的用户模块数据流图如图3-28:
举报用户昵称、封号时间长短管理员系统前台黑名单表blacklist处理结果 图3-28 社交网站数据流图第三层 管理员处理被举报的用户
管理员查看举报的处理信息模块数据流图如图3-29:
社交网站的设计与实现
被举评报的信论的息评论举报表reportcomment管理员系统前台被举报的用户信息查询结果用户举报表post被举报的微博微博举报表reportweibo的信息
图3-29社交网站数据流图第三层 管理员查看举报的处理信息
管理员增加网站广告模块数据流图如图3-30。
广告图片、描述信息、显示时间、广告名称广告图片、描述信息、显示时间、广告名称管理员系统前台广告信息表advertisement数据库增加结果广告增加结果
图3-30社交网站数据流图第三层 管理员增加网站广告
管理员删除网站广告模块数据流图如图3-31。
广告名称广告名称管理员系统前台广告信息表advertisement数据库删除结果广告删除结果
图3-31 社交网站数据流图第三层 管理员删除网站广告
管理员查看广告信息模块数据流图如图3-32。管理员更新广告信息模块数据流图如图3-33。
3.1.3 数据描述
1.静态数据:静态数据是系统内部有关的数据结构与操作规程。具体可包括:用户信息表people、管理员信息表manager,微博内容表post,评论表comment表等。
社交网站的设计与实现
2.动态数据:动态数据包括网站运行时输入和输出的数据,具体是数据库的各个表的各个不同元组与属性值。
广告名称广告名称管理员系统前台广告信息表advertisement广告图片、描述信息、显示时间、广告名称广告图片、描述信息、显示时间、广告名称
图3-32社交网站数据流图第三层 管理员查看网站广告信息广告图片、描述信息、显示时间、广告名称广告图片、描述信息、显示时间、广告名称系统前台广告信息表advertisement广告更新结果数据库更新信息管理员
图3-33社交网站数据流图第三层 管理员更新网站广告信息
3.2性能需求
3.2.1数据精确度
1)要按照严格的数据格式输入,否则系统会提示错误,不予处理。2)查询时要保证数据的准确,所有相应域若符合查询条件都应能查到。因为通常有文件的记录会很多,所以本系统采用了两种方法进行查询:直接查询和模糊查询。
3.2.2 时间特性
一般情况下,操作的响应时间应在120毫秒内,视网络情况而定。
社交网站的设计与实现
3.2.3 适应性
根据主机的质量和运行速度满足网络业务平台的需求。对前面提到的运行环境要求应该能满足。3.3 本章小结
本章对整个系统的功能和性能进行了描述。首先分前台和后台描述了系统的主要功能,然后用数据流图来具体描述数据在系统中流动和处理的过程,形象的反映了本系统必须完成的逻辑功能。而对运行需求的描述则保证系统的用户体验。
社交网站的设计与实现
第四章 系统总体设计
4.1系统功能设计
本系统分为两个大模块:前台与后台。系统功能结构图如图4-1:
系统管理员登陆管理员管理用户登录模块用户操作微博用户搜索模块用户浏览内容用户举报模块用户个人主页管理
图 4-1系统结构图
4.2模块功能设计
本系统分为前台与后台。
4.2.1 用户登录模块设计
本模块包括两个功能:用户注册和用户登录。
用户注册模块的主要功能是用户注册,结构图如下4-2。用户登录模块的主要功能是用户登录,结构图如下4-3。
4.2.2 用户操作微博模块设计
用户操作微博模块主要描述了用户对于微博内容的各种操作,包块发布、转发、删除、评论、收藏。
社交网站的设计与实现
用户名,注册邮箱,密码用户注册输入用户名,注册邮箱,密码判断结果用户名,注册邮箱,密码注册结果增加结果输出用户名,注册邮箱用户名,注册邮箱注册判断查询结果增加用户输入输出查询结果用户名,注册邮箱,密码查询people表输入增加people表记录 图 4-2用户注册模块结构图
用户昵称(注册邮箱)、密码用户登陆输入用户昵称(注册邮箱)、密码用户昵称判断结果登录结果封号检查结果输出登录判断用户昵称(注册邮箱)、密码查询结果People表查询封号检查用户昵称输入输出输入查询用户结果昵称blacklist表查询输出 图 4-3用户登陆模块结构图
用户发布微博的模块结构图如图4-4。用户删除微博的模块结构图如图4-5。用户收藏微博的模块结构图如图4-6。用户转发微博的模块结构图如图4-7。用户评论微博的模块结构图如图4-8。
社交网站的设计与实现
用户发布微博微博内容用户昵称,微博内容,微博发布时间输入增加微博结果微博发布结果输出用户昵称,微博内容,微博发布时间增加微博用户昵称,微博内容,微博发布时间输入增加post表中记录 图 4-4 用户发布微博模块结构图
用户删除微博要删除的微博内容用户昵称,微博内容删除微博结果微博内容、用户昵称删除微博用户昵称,微博内容转发微博修改微博内容、用户昵称输入微博删除结果输出用户昵称,微博内容删除post表中记录微博内容、用户昵称修改post表中记录输入输入
图 4-5用户删除微博模块结构图
用户收藏微博要收藏的微博内容用户昵称,微博内容输入微博收微博是否藏结果已经被收藏微博内容、用户昵称增加微博收藏微博内容、用户昵称查询结果输入输出输出用户昵称,微博内容收藏微博判断微博内容、用户昵称增加reserve表中记录输入用户昵称,微博内容查询结果查询reserve表
图 4-6用户收藏微博模块结构图
社交网站的设计与实现
转发的微博内容用户昵称,转发微博内容,原创微博内容,原创作者昵称用户转发微博输入转发结果微博评论结果输出增加微博转发的微博内容,原创昵称增加被转发微博转发数 图 4-7 用户转发微博模块结构图
评论的微博内容用户发布评论输入用户昵称,评论内容,微博内容,微博作者昵称微博评论评论微博结果结果输出增加评论输入增加comment表中记录输出 图 4-8用户发布评论模块结构图
4.2.3 用户搜索模块设计
用户搜索模块的功能包括对用户的搜索和对微博内容的搜索。用户搜索的模块结构图如图4-9。
用户搜索用户搜索关键词,搜索对象用户搜索的关键词搜索结果输出输入搜索用户用户搜索的关键词用户搜索数据库的关键词查询结果查询people表中记录搜索微博数据库查询结果输入输出输入查询post表中记录输出
图 4-9用户搜索模块结构图
社交网站的设计与实现
4.2.4 用户举报模块设计
用户举报模块功能包块对微博的举报、对用户的举报已经对评论的举报。若其他用户有违规行为,用户可对其进行举报。用户举报模块结构图如图4-10。
用户举报其他用户举报用户昵称输入用户昵称,举报用户昵称举报结果输出用户昵称,举报用户昵称查询关注的用户数据库增加结果输出输入增加reportpeople表中记录
图 4-10用户举报其他用户模块结构图
若微博有不当言论,用户可对其进行举报。微博举报模块结构图如图4-11。
用户举报微博举报微博内容,微博作者昵称举报微博内容,微博作者昵称,举报结果举报用户昵称输入输出举报微博内容,微博作者昵称,举报用户昵称查询关注的用户数据库增加结果输出输入增加reportweibo表中记录
图 4-11用户举报微博模块结构图
若评论有不当言论,用户可对其进行举报。评论举报模块结构图如图4-12。
社交网站的设计与实现
用户举报评论举报评论内容,评论作者昵称举报评论内容,输入评论作者昵称,举报结果举报用户昵称输出举报评论内容,评论作者昵称,举报用户昵称查询关注的用户数据库增加结果输出输入增加reportweibo表中记录
图 4-12用户举报评论模块结构图
4.2.5 用户浏览内容模块设计
用户浏览内容包括用户浏览个人主页、微博排行榜、用户个人主页访问统计、管理关注。
用户浏览个人主页的模块结构图如图4-13。
用户访问他人个人主页用户昵称,用户名用户个人主页内容输入用户昵称查询用户信息查询结果输入查询people表中记录输出用户名输入用户名增加访问次数用户名更新visit表中记录输出用户昵称
图 4-13用户访问他人用户主页模块结构图
微博排行榜结构图如图4-14。用户个人主页访问结构图如图4-15。用户增加关注的结果图如图4-16。
社交网站的设计与实现
原创微博排行榜查看排行榜类型、当前时间排行榜内容输入查看排行榜类型、当前时间查看排行榜类型、当前时间查询微博转发数查询结果查询post表中记录输出输出输入
图 4-14原创微博排行榜模块结构图
查看用户个人主页访问数据用户名访问数据输入用户名查询数据用户名查询结果输入输出输出查询visit表
图 4-15 用户个人主页访问统计模块结构图
用户增加关注关注关注的用户昵称增加关注结果输入关注关注的用户昵称输出增加关注关注关注的用户昵称增加关注结果增加focus表中记录输出输入
图 4-16 用户增加关注模块结构图
用户取消关注的模块结构图如图4-17。
社交网站的设计与实现
用户取消关注关注关注的用户昵称取消关注结果输入关注关注的用户昵称取消关注取消关注结果删除focus表中记录输出输出关注关注的用户昵称输入
图 4-17 用户取消关注模块
用户查看关注用户的模块结构图如图4-18。
用户查看关注的用户用户昵称查询结果输入用户昵称查询关注的用户查询结果查询focus表中记录输出输出用户昵称输入
图 4-18用户查看关注的用户模块结构图
用户查看粉丝的模块结构图如图4-19。
用户查看粉丝用户昵称查询结果输入用户昵称查询粉丝查询结果查询focus表中记录输出输出用户昵称输入
图 4-19 用户查看粉丝模块结构图
社交网站的设计与实现
4.2.6 用户个人主页管理模块设计
用户个人管理的主要功能有:更改个人主页封面图、修改个人资料。用户修改个人主页封面结构图如图4-20。
用户修改个人主页图片个人主页图片个人主页图片修改结果输入用户昵称,个人主页图片输出用户昵称,个人主页图片查询关注的用户数据库修改结果输出输入修改people表
图 4-20 用户修改个人主页模块结构图
用户修改个人资料结构图如图4-21。
用户修改个人资料用户修改的信息输入用户昵称、新头像增加结果修改结果输出用户修改头像用户昵称、新头像输入用户昵称、新头像用户昵称,用户要修改的昵称用户昵称,用户输入信息用户昵称,用户输入信息输入修改其他资料用户昵称,用户输入信息更新people表修改昵称修改people表用户昵称,用户要修改的昵称输入更新更新更新Blacklistcommentfoucus表表表更新reportview表更新reserve表更新更新reportweiboreportpeople表表更新Post表更新People表 图 4-21 用户修改个人资料模块结构图
社交网站的设计与实现
4.2.7 管理员登录模块设计
管理员登陆的主要功能为管理员登陆。管理员登陆的模块结构图如图4-22:
管理员姓名,密码管理员姓名,密码管理员登陆输入数据库查询结果查询结果输出查询管理员管理员姓名,密码数据库查询结果管理员姓名,密码查询manager表中数据输出输入 图 4-22 管理员登陆模块结构图
4.2.8 管理员管理模块设计
管理员模块的功能包括增加管理员、处理举报、管理广告。增加管理员模块结构图如图4-23。
管理员姓名,密码管理员姓名,密码增加管理员输入数据库增加结果增加结果输出查询管理员管理员姓名,密码数据库增加结果管理员姓名,密码增加manager表中数据输出输入
图 4-23增加管理员模块结构图
删除管理员模块结构图如图4-24。
社交网站的设计与实现
处理举报的微博模块结构图4-25。处理举报的评论的模块结构图如图4-26。处理举报的用户的模块结构图如图4-27。
要删除管理员姓名,当前管理员 删除管理员管理员姓名输入删除结果删除管理员姓名数据库删除结果管理员姓名输入删除manager表中数据输出删除结果输出 图 4-24 删除管理员模块结构图
处理微博举报举报用户昵称、封号时间长短处理结果输出用户昵称,删除微博内容举报用户昵称、封号时间长短封号用户昵称,删除微博内容删除微博用户昵称,删除微博内容删除post表中记录输入增加blacklist表中记录输入
图 4-25处理举报的微博的模块结构图
处理举报的评论举报用户昵称、封号时间长短处理结果输出删除评论内容、用户昵称举报用户昵称、封号时间长短封号删除评论内容、用户昵称删除评论删除评论内容、用户昵称删除comment表中记录输入增加blacklist表中记录输入
图 4-26处理举报的评论的模块结构图
查看处理举报的模块结构图如图4-28。增加广告的模块结构图如图4-29。
社交网站的设计与实现
删除广告的模块结构图如图4-30。
处理举报的用户举报用户昵称、封号时间长短封号举报用户昵称、封号时间长短输入增加blacklist表中记录处理结果输出
图 4-27处理举报的用户的模块结构图
查看举报的处理信息被举报的评论的信息被举报的微博的信息获得被举报的评论信息查询结果查询reportview表查询结果输出输出查询reportweibo表获得被举报的微博信息查询结果查询结果输出获得被举报的用户信息查询结果查询reportpeople表微博内容、用户昵称输出
图 4-28查看举报处理模块模块结构图
广告图片、描述信息、显示时间、广告名称增加广告广告图片、描述信息、显示时间、广告名称广告图片、描述信息、显示时间、广告名称输入增加数据库增加结果输入广告增加结果输出增加advertisement表中数据输出 图 4-29 增加广告模块结构图
社交网站的设计与实现
删除广告广告名称广告名称输入广告删除结果删除输出广告名称数据库删除结果输入删除advertisement表中数据输出 图 4-30 删除广告模块结构图
查看广告的模块结构图如图4-31。
查看广告信息广告名称输入广告名称查看广告名称广告图片、描述信息、显示时间、广告名称广告图片、描述信息、显示时间、广告名称输出输入查询advertisement表中信息输出 图 4-31 查看广告信息模块结构图
更新广告信息的模块结构图如图4-32。
广告图片、描述信息、显示时间、广告名称输入更新广告信息广告图片、描述信息、显示时间、广告名称广告图片、描述信息、显示时间、广告名称输入修改输出广告更新结果数据库更新信息更新advertisement表中信息输出 图 4-32 更新广告信息模块结构图
社交网站的设计与实现
4.3 数据库设计
4.3.1 数据库概念模型
本社交网站数据库名为info.mdb,共有12张表,分别为: 1)people表 2)post表 3)visit表 4)comment表 5)blacklist表 6)reportweibo表 7)reportpeople表 8)reportview表 9)manager表 10)reserve表 11)focus表 12)advertisement表 数据库ERD图如图4-33。
AdvertisementbalcklistcommentmanagerfocusPeoplereservepostVisitreportweiboreportviewreportpeople
图 4-33 数据库ERD图
社交网站的设计与实现
4.3.2 数据库表设计
1)用户信息表people如表4-1。
表4-1 people表结构
Field
Type
Null Key
Default
Extra Id
自动编号
No
PRI
Null
auto_increment 用户名
短文本
No
Null 昵称
短文本
No
Null 真实姓名
短文本
Yes
Null 性别
短文本
Yes
Null 感情状况
短文本
Yes
Null 生日
短文本
Yes
Null 简介
短文本
Yes
Null 注册时间
短文本
Yes
Null 密码
短文本
Yes
Null 头像
短文本
No
/image/默认.jpg 注册邮箱
短文本
Yes
Null 封号
数字
Yes
Null
2)微博信息表post如表4-2。
表4-2 post表结构
Field
Type
Null
Key
Default
Extra Id
自动编号
No
PRI
Null
auto_increment 昵称
短文本
No
Null 转发内容
长文本
Yes
Null 原创
数字
No
Null 最后修改时间
日期/时间
No
Null 昨天转发总数 数字
Yes
Null 转发总数
数字
No
Null 原创昵称
短文本
Yes
Null 时间
日期/时间
No
Null
3)黑名单表blacklist如表4-3。
表4-3 blakclist表结构
Field
Type
Null
Key
Default
Extra Id
自动编号
No
PRI
Null
auto_increment 用户昵称
短文本
No
Null 处罚开始时间
日期/时间
No
Null 处罚结束时间
日期/时间
No
Null
社交网站的设计与实现
4)用户访问记录表visit如表4-4。
表4-4 blacklist表结构
Field
Type
Null
Key
Default
Extra Id
自动编号
No
PRI
Null
auto_increment 用户名
短文本
No
Null 本周访问总数
数字
No
Null Monday
数字
No
Null Tuesday
数字
No
Null Wednesday
数字
No
Null Thursday
数字
No
Null Friday
数字
No
Null Saturday
数字
No
Null Sunday
数字
No
Null 最后修改时间
日期/时间
No
Null 上周访问总数
数字
No
Null
5)用户关注表focus如表4-5。
表4-5 focus表结构
Field
Type
Null
Key
Default
Extra Id
自动编号
No
PRI
Null
auto_increment 关注的人
短文本
No
Null 关注时间
短文本
No
Null 用户昵称
短文本
No
Null
6)用户收藏表reserve如表4-6。
表4-6 reserve表结构
Field
Type
Null
Key Default
Extra Id
自动编号
No
PRI
Null
auto_increment 收藏的微博
长文本
No
Null 收藏时间
短文本
No
Null 微博用户
短文本
No
Null 原创
短文本
No
Null 7)管理员信息表manager如表4-7。
表4-7 manager表结构
Field
Type
Null
Key Default
Extra Id
自动编号
No
PRI
Null
auto_increment 管理员姓名
短文本
No
Null 注册时间
短文本
No
Null 密码
短文本
No
Null
社交网站的设计与实现
8)微博举报表reportweibo如表4-8。
表4-8 reportweibo表结构
Field
Type
Null
Key Default
Extra Id
自动编号
No
PRI
Null
auto_increment 举报人
短文本
No
Null 举报用户
短文本
No
Null 举报原因
短文本
No
Null 举报微博
长文本
No
Null 举报时间
短文本
No
Null 处理
数字
No
Null 处理人
短文本
No
Null 原创
数字
No
Null
9)评论举报表reportview如表4-9。
表4-9 reportview表结构
Field
Type
Null
Key Default
Extra Id
自动编号
No
PRI
Null
auto_increment 举报人
短文本
No
Null 举报用户
短文本
No
Null 举报原因
短文本
No
Null 举报评论
长文本
No
Null 举报时间
短文本
No
Null 处理
数字
No
Null 处理人
短文本
No
Null
10)用户举报表reportpeople如表4-10。
表4-10 reportpeople表结构
Field
Type
Null
Key Default
Extra Id
自动编号
No
PRI
Null
auto_increment 举报人
短文本
No
Null 举报用户
短文本
No
Null 举报原因
短文本
No
Null 举报时间
短文本
No
Null 处理
数字
No
Null 处理人
短文本
No
Null
11)评论表comment如表4-11。
社交网站的设计与实现
表4-11 comment表结构
Field
Type
Null
Key Default
Extra Id
自动编号
No
PRI
Null
auto_increment 昵称
短文本
No
Null 评论
短文本
No
Null 微博内容
短文本
No
Null 发布时间
日期/时间
No
Null 微博用户
短文本
No
Null 12)广告信息表advertisement如表4-12。
表4-12 advertisement表结构
Field
Type
Null
Key Default
Extra Id
自动编号
No
PRI
Null
auto_increment 名称
短文本
No
Null 图片
短文本
No
Null 描述信息
短文本
No
Null 开始时间
日期/时间
No
Null 结束时间
日期/时间
No
Null 链接
短文本
No
Null 4.4 本章小结
本章主要描述了系统的主要功能以及系统的主要模块。主要用sc图来描述软件的总体结构,使软件的组成及其调用关系更加清楚。同时也展示了数据库的结构,对数据流程图中的各个元素进行了详细的说明。
社交网站的设计与实现
第五章 系统详细设计与实现
5.1 用户登陆模块详细设计与实现
5.1.1 用户登陆模块详细设计
(一)用户注册详细设计
用到了people表和manager表。
若用户在社交网站上还未注册过,则可使用此功能注册账号。用户输入用户名与密码,若用户输入的用户名和密码从未有人注册过,则用户在社交网站注册成功,初始用户昵称即为用户名,否则提示用户修改用户名重新注册[6]。用户注册流程图如图5-1。
开始输入用户名、注册邮箱、密码用户名已存在ny邮箱已存在ny注册失败注册成功 图5-1 用户注册流程图
(二)用户登陆详细设计
若用户想进入个人主页,则用户需先登录。用户登录时,需输入用户名或邮箱、密码。若用户在输入的数据中有“@”,则用户输入的为邮箱; 若没有,则用户输入的是用户名。用户在登录页面中可选择输入用户名或邮箱,必须输入密码。若用户输入的用户名或邮箱不存在,则会提示用户修改。若用户输入的密码有误,则提示用户修改密码。若用户名(或邮箱)和密码匹配,则检查用户当前是否被封号,若被封号,则提示用户被封号,无法登陆。否则用户登陆成功[7]。用户登陆流程图如图5-2。
社交网站的设计与实现
输入用户名(或邮箱)和密码y输入邮箱yn邮箱注册过yy邮箱与密码匹配y用户在blacklist表中ny用户名与密码匹配登录失败用户名注册过nnn登陆成功图5-2 用户登录流程图
5.1.2 用户注册界面实现
用户注册页面如图5-3。
图5-3 用户注册页面
用户登陆页面如图5-4。
图5-4 登录页面
社交网站的设计与实现
5.2 用户操作微博模块详细设计与实现
5.2.1 用户操作微博详细设计
(一)用户发布微博详细设计
用户发布微博时,用户输入的字符数最多为140个,超过字数后,将无法发布微博。用户发布微博流程图如图5-5。
开始用户输入微博内容微博内容少于140字ny发布失败增加post表中记录发布成功 图5-5 用户发布微博流程图
(二)用户删除微博详细设计
用户选择删除微博时,若微博转发了其他微博,则只需在post表中删除对该微博的记录即可。否则还需更新post表中对转发该微博的微博的记录。用户删除微博流程图如图5-6。
(三)用户收藏微博详细设计
用户收藏微博时,会查询reserve表中是否已经存在对该微博的记录,若有,则提示用户改微博已经被收藏。否则在reserve表中增加该微博的记录。用户收藏微博流程图如图5-7。(四)用户转发微博详细设计
当用户转发微博时,数据库会增加用户发布的微博,同时,会增加该用户转发
社交网站的设计与实现 的微博的转发条数,同时会修改被转发微博转发条数的最后修改时间。用户转发微博的流程图如图5-8。
开始用户选择要删除的微博更新post表中对转发给该微博的微博的记录此微博被该用户转发y删除post表中对该微博的记录n成功删除 图5-6 用户删除微博流程图
开始用户选择要收藏的的微博增加reserve表中数据收藏成功 图5-7 用户收藏微博流程图
开始用户选择要转发的微博输入转发内容更新post表转发成功 图5-8 用户转发微博流程图
社交网站的设计与实现
(五)评论微博详细设计
当用户对微博发表评论时,微博评论表会增加记录。评论微博的流程图如图5-9。
开始用户选择要评论的微博输入评论更新comment表评论成功 图5-9 用户评论微博流程图
5.2.2 用户操作微博界面实现
(一)用户发布微博的界面如图5-10。
图5-10 用户发布微博
(二)用户微博操作的界面如图5-11。(三)用户转发微博的界面如图5-12。
社交网站的设计与实现
图5-11 用户操作微博
图5-12 用户转发微博
5.3 用户搜索模块设计与实现
5.3.1 用户搜索模块详细设计
用户搜索时,若用户搜索用户,则会在people表中查找含有关键字的记录。若用户搜索微博,则会在post表中查找含有关键字的记录。若两者都搜索,则会在people表和post表中同时查找含有关键字的记录。搜索模块的流程图如图5-13。
开始输入关键字n查询微博y查找post表中含有关键字的微博的记录查询用户y查找people表中含有关键字的昵称的记录n查找post表中含有关键字的微博的记录查找people表中含有关键字的昵称的记录输出结果图5-13 用户搜索流程图
社交网站的设计与实现
5.3.2 用户搜索模块界面实现
微博搜索结果界面如图5-14。用户搜索结果界面如图5-15。
图5-14 微博搜索结果页面
图5-15 用户搜索结果页面
5.4 用户举报模块设计与实现
5.4.1 用户举报详细设计
(一)用户举报其他用户时,只需点击“举报按钮”,就会弹出用户举报页面,用户只需选择举报的类型,提交即可。用户举报流程图如图5-16。
社交网站的设计与实现
开始选择举报的用户选择要举报的类型增加reportpeople表中记录举报成功 图5-16 用户举报流程图
(二)用户举报评论时,只需点击“举报按钮”,就会弹出用户举报页面,用户只需选择举报的类型,提交即可。用户举报评论的流程图如图5-17。
开始选择举报的评论选择要举报的类型增加reportview表中记录举报成功 图5-17 评论举报流程图
(三)用户举报微博时,只需点击“举报按钮”,就会弹出用户举报页面,用户只需选择举报的类型,提交即可。用户举报微博的流程图如图5-18。
5.4.2 用户举报界面实现
(一)用户举报页面如图5-19。
(二)微博举报页面如图5-20。