1、目录1 系统应用背景32 系统需求分析43 系统技术分析53. 1 技术分析53.1.1 ASP.NET简介53.1.2 SQL Sever 2008简介53.2 可行性分析63.2.1 技术可行性63.2.2 操作可行性64 系统设计74.1 系统流程74.2 系统结构94.3 数据库逻辑结构设计94.4 物理结构设计115 界面设计115.1 登录页面的Login.aspx设计115.2 用户注册页面Register.aspx:145.3 留言板页面message.aspx:176 系统实现197 总结218 参考文献211 系统应用背景在网络网络技术迅速发展以信息交流频繁的今天,网络应用
2、已经渗透到人类社会的各个角落。作为网络世界的支撑点的网站,更是人们关注的热点:政府利用网站宣传自己的施政纲领,日益成为与百姓交流的直通车;企业利用网站宣传自己的形象,进而挖掘无限商机;个人利用网站展示个性风采,创建彼此沟通的桥梁。越来越多的网站建立了自己的WWW网站。随着网络技术的不断发展,网络应用已经渗透到人类社会的各个角落。作为网络世界的支撑点的网站,更是人们关注的热点:政府利用网站宣传自己的施政纲领,日益成为与百姓交流的直通车;企业利用网站宣传自己的形象,进而挖掘无限商机;个人利用网站展示个性风采,创建彼此沟通的桥梁。越来越多的企业和个人希望拥有自己的网站,开辟网络世界里的一片天地。BB
3、S 系统是最常见的一类网上社区,是 Internet 上最重要的应用之一。随着Internet 的普及,许多原本只提供 Telnet 方式登录的 BBS 系统也提供了允许用户使用 HTTP 协议方式进行网上交流的功能,Telnet 与 HTTP 的应用界限开始交融。当用户在网上冲浪访问到一个制作精美、内容丰富的网站时,会想到将自己的喜爱之情告诉网站的制作人。同样,当用户看到一个不能令人满意的网站时,也会想到将自己的高见留给网站的维护者,希望他们能有所改进。这时就要用到互动式网络一个重要的功能留言板系统。留言板是网站上用户交流信息、相互沟通的乐园。留言板是一种最为简单的 BBS 应用。借助留言板
4、,浏览者可以张贴留言给站长或其他浏览者。在企业或单位内部的局域网中,留言板提供了员工之间交流的绝好的场所。留言板可以说是网上最常见的,网站留言管理方式是基于ASP.NET和脚本语言,将动态网页和数据库结合,通过应用程序来处理留言。2 系统需求分析 留言板就是利用计算机硬件,软件设备和网络基础设施用来记录,展示文字信息的载体,有比较强的时效性。例如:如果你想要解决你不知道的一些问题,你可以在上面进行留言,知道的人会对你的问题进行针对性的回答,你还可以继对他的回答进行留言,大家可以很方便的进行交流和沟通,总的来说。该系统具有5个功能模块:(1) 登录界面: 做出登录界面,然后通过输入用户或者管理员
5、用户名和密码来登录。(2) 留言版面: 做出留言版面,留言者能看到自己的留言,用户名和地址(3) 用户的权利与义务: 用户是普通用户口令登录只可留言,如果用户用管理员口令登录则可以实现对用户留言的回复、删除等功能(4)留言: 留言者在留言时不能为空,若为空时将提醒留言者“留言失败”;成功提交留言时 “留言成功”。(5)后台数据库: 采用ADP.NET动态网页技术实现网页与数据库之间的连接,WEB中当一个文件将变量传送到另一个文件后,自动产生一个变量,并通过SQL语句进行数据库操作,从数据库中读出数据,并显示出来。1.数据库架构留言板数据库中数据表的字段类型。包括:ID(自动递增,不可重复)、标
6、题、内容、姓名、电话、IP、日期、回复内容。2.过滤垃圾信息判断用户是否不停输入相同字符的信息,如果相同 字符信息重复连续出现4次,将自动视为垃圾留言信息,系统不给予留言或者回复功能。3.添加、删除、修改数据表项根据实际应用,可自行添加、删除或者修改数据表中的字段类型,实现灵活化数据库管理功能。对实用价值不高的字段进行删除,有利于数据从数据库中的读取和存储速度。4.留言板数据库维护及备份为管理员提供数据备份功能。后台管理员可以自定义在某一定时间后,对留言板进行数据备份,便于数据出错后,可以即时恢复正常,保障用户信息不丢失。3 系统技术分析 3. 1 技术分析本系统功能模块包括住户信息管理、投诉
7、管理、报修管理、缴费管理、住户停车管理和系统设置。3.1.1 ASP.NET简介用ASP.NET是一个Web开发平台,提供可构建企业级应用所需的服务,编程模型和团建基础结构。虽然ASP.NET的语法基本上与前辈ASP兼容,但是ASP.NET是一个全新的编程框架,旨在用于快速开发Web应用程序。作为微软平台的一部分,ASP.NET提供了一种基于构件的,可扩展的且易于使用的方法,用于构件、部署和运行供所有在浏览器活移动设备中使用的Web应用。3.1.2 SQL Sever 2008简介用SQL Sever是一种高性能的关系数据库系统(RDBMS),其主要特点有:与Windows 9x和Window
8、s NT集成提供企业级的数据库复制提供并行的体系结构支持超大型数据库与OLE对象紧密集成对客户/服务器用户的一个主要挑战就是中央管理跨整个企业范围内的对个服务器。SQL Sever用一个称为分布式管理框架(DMF)的企业级系统管理框架来实现。DMF有对象、服务器和用户管理Miccrosoft SQL Sever的其他组件组成。SQL Sever Enterprise Manage位安排和管理多喝服务器提供了一个图形化用户界面(GUI),Sever提供的分布式管理对象(DMO)的能力给SQL Sever引擎和服务器提供可一个对行啊接口。该层包括用户接口组件使用的OLE SQL Sever对象及任
9、何遵循OLE Sever引擎和服务的途径。该层包含数据库引擎的后端,并提供有SQL Executive所管理的核心管理服务。3.2 可行性分析3.2.1 技术可行性这个留言板网站是为了满足人们的需求而产生的,采用B/S三层体系结构,表示层用ASP.NET开发平台,业务层用C#编程语言,数据层用ADO.NET。后台数据存储用SQL Sever2008数据库。三层结构体系能够负责客户机与服务器、服务器和服务器之间的连接和通信,实现应用与数据库的高效连接:提供一个三层结构的应用开发、运行、部署和管理的平台。这三种层结构在曾与曾之间相互独立,任何一层的改变不会影响其他曾的功能。上述技术使用与本网站的开
10、发。因此,本网站的开发在技术上是可行的。3.2.2 操作可行性网站运行于Windows环境,其用户操作页面友好设计“网站导航”便于用户操作。网站的基本操作如下:普通用户 自己留言,也可以观看别人的留言管理员 可以回复、对不文明的留言进行删除等操作4 系统设计 4.1 系统流程后台管理系统业务流程图1开始登陆用户的信息管理登陆成功判断权限普通用户管理员用户管理留言删除留言退出结束前台业务流程图2开始用户注册登录网站填写注册信息注册结果注册失败注册成功自动登录登录并判断权限登录失败删除留言管理员用户留言普通用户回复删除自己留言查看留言4.2 系统结构本课题的功能模块设计图3留言网站普通用户管理员用
11、户留言信息查看留言回复留言删除本留言留言管理删除任意留言用户管理4.3 数据库逻辑结构设计这本课题设计规划的实体有管理员,用户,留言和留言回复板块,本实体的联系如下图用户QQ出生日期性别用户名密码昵称邮箱 用户的实体属性图4管理员的实体属性图5管理员密码管理员账号管理员姓名管理员密码留言主页地址联系方式发表人主题留言内容 留言板的实体属性图6留言回复回复的时间回复的内容回复留言的账号留言时间回复的主题回复留言的实体属性图74.4 物理结构设计本课题目前为数据库建立的4张表。 管理员的表admin,包括登录密码和登录名 登录表login,主要记录登录信息,包括ID,name,sex,truena
12、me,phone,email,address等基本信息。 回复用户表guest,主要记录回复用户的信息,包括ID,UserName,sex,url,qq,email,content,reply,posttime。 留言用户表 guesttest,只要记录用户的信息,包括ID,UserName,qq,content,posttime。5 界面设计 页面本人主要负责界面设计中的登录页面、注册页面、留言页面和其相对应的控件代码制作5.1 登录页面的Login.aspx设计页面采用表单设计,用来让用户输入账号和密码的并检查用户名和密码与数据库里面用户信息表的信息是否一致,如果正确则跳转到留言板的主页s
13、howmessage.aspx,否则转到返回到login.aspx,继续输入用户名的账号和密码。若用户还未注册,可以点下面的注册链接,会链接到注册页面Register.aspx。若要进入管理员登录系统,对留言板系统进行管理,则可以使用admin作为登陆账号和密码。由于使用Visual studio2008作为开发工具,用户登录模块可以很简单的完成,添加显示当前时间的代码。添加了一个服务器行为用户登录,用来判断用户输入的账号和密码与数据库中的是否一致。登陆页面图8核心代码如下PUBLIC PARTIAL CLASS LOGIN : SYSTEM.WEB.UI.PAGE PROTECTED VOI
14、D PAGE_LOAD(OBJECT SENDER, EVENTARGS E) PROTECTED VOID BUTTON2_CLICK(OBJECT SENDER, EVENTARGS E) RESPONSE.REDIRECT(REGISTER.ASPX); PROTECTED VOID BUTTON1_CLICK(OBJECT SENDER, EVENTARGS E) IF (TNAME.TEXT = STRING.EMPTY & TPASS.TEXT = STRING.EMPTY) RESPONSE.WRITE(ALERT(用户名与密码都不能为空!); ELSE SQLCONNECTIO
15、N CON=NEW SQLCONNECTION (CONFIGURATIONMANAGER .CONNECTIONSTRINGS CON.CONNECTIONSTRING ); CON.OPEN(); STRING CMDTNAME=SELECT U_NAME FROM USERS WHERE U_NAME=+TNAME .TEXT +; SQLCOMMAND CMDNAME=NEW SQLCOMMAND (CMDTNAME ,CON ); SQLDATAREADER DRNAME=CMDNAME .EXECUTEREADER (); IF (DRNAME .READ () CON.CLOSE
16、(); SQLCONNECTION CONN = NEW SQLCONNECTION(CONFIGURATIONMANAGER.CONNECTIONSTRINGSCON.CONNECTIONSTRING); CONN.OPEN(); STRING CMDTPASS = SELECT U_PASS FROM USERS WHERE U_PASS= + TPASS.TEXT + ; SQLCOMMAND CMDPASS = NEW SQLCOMMAND(CMDTPASS, CONN); SQLDATAREADER DRPASS = CMDPASS.EXECUTEREADER(); IF (DRPA
17、SS.READ() CONN.CLOSE(); MIMA(); ELSE IF (TPASS.TEXT = STRING.EMPTY) RESPONSE.WRITE(ALERT(密码不能为空!); CON.CLOSE(); ELSE RESPONSE.WRITE(ALERT(密码错误!); CON.CLOSE(); ELSE RESPONSE.WRITE(ALERT(用户名不存在!); CON.CLOSE(); 5.2 用户注册页面Register.aspx: 页面采用表单,插入表格的设计。注册时需要输入用户名、昵称、密码、性别、电子邮箱、生日、QQ等。提交时,若输入的用户账号存在则要转到lo
18、gin.asp。可添加服务器行为用户身份验证检查新用户名。如下图所示:注册页面图9其核心控件代码为为 PUBLIC PARTIAL CLASS REGISTER : SYSTEM.WEB.UI.PAGE PROTECTED VOID PAGE_LOAD(OBJECT SENDER, EVENTARGS E) IF(!ISPOSTBACK)RETURN;ELSESTRING U_NAME=THIS.REQUEST.FORMUSERNAME;STRING U_PASS=THIS.REQUEST.FORMUSERPASS;STRING U_SEX=THIS.REQUEST.FORMGENDER;ST
19、RING U_MAIL=THIS.REQUEST.FORMMAIL;SYSTEM.DATETIME U_REGTIME=DATETIME.NOW;STRING U_LIKE=THIS.REQUEST.FORMUSERLIKE;STRING YEAR=THIS.REQUEST.FORMYEAR;STRING MONTH=THIS.REQUEST.FORMMONTH;STRING DAY=THIS.REQUEST.FORMDAY;DATETIME U_BIRTH=DATETIME.PARSE(YEAR+-+MONTH+-+DAY);STRING U_QQ=THIS.REQUEST.FORMQQ;S
20、TRING SQL=INSERT INTO USERS(U_NAME,U_PASS,U_SEX,U_REGTIME,U_MAIL,U_LIKE,U_BIRTHDAY,U_QQ) VALUES(;SQL+=+U_NAME+,;SQL+=+U_PASS+,;SQL+=+U_SEX+,;SQL+=+U_REGTIME+,;SQL+=+U_MAIL+,;SQL+=+U_LIKE+,;SQL+=+U_BIRTH+,;SQL+=+U_QQ+;SQL+=);STRING STR=SELECT COUNT(*) FROM USERS WHERE U_NAME=+U_NAME+; SQLCONNECTION C
21、ON = NEW SQLCONNECTION(CONFIGURATIONMANAGER.CONNECTIONSTRINGSCON.CONNECTIONSTRING); CON.OPEN(); SQLCOMMAND CMD = NEW SQLCOMMAND(STR, CON);INT R=(INT)CMD.EXECUTESCALAR();CON.CLOSE();IF(R=1) RESPONSE.WRITE(ALERT(此用户已存在,请重新输入!);ELSECON.OPEN();SQLCOMMAND CMD1=NEW SQLCOMMAND(SQL,CON);CMD1.EXECUTENONQUERY
22、();CON.CLOSE();PAGE.CONTROLS.CLEAR(); RESPONSE.WRITE(U_NAME + 注册成功 + 返回); /RESPONSE.WRITE(ALERT(注册成功!); /RESPONSE.REDIRECT(LOGIN.ASPX); 5.3 留言板页面message.aspx:该页面做了一个重复区域,来实现显示该版块所有留言信息。通过阶段变量显示登录的用户的用户名。建了两个记录集,发布留言的信息利用服务器行为插入记录来实现写入数据库的表。该页面还添加了一服务器行为用户身份验证限制对页的访问。若未登录访问该地址,则自动跳转到用户登录页面login.asp。如
23、下图所示。留言页面图10其核心代码为PROTECTED VOID BTNSEND_CLICK(OBJECT SENDER, EVENTARGS E) SQLCONNECTION CON = NEW SQLCONNECTION(CONFIGURATIONMANAGER.CONNECTIONSTRINGSCON.CONNECTIONSTRING); CON.OPEN(); STRING CMDTEXT = INSERT INTO MESSAGE(M_NAME,M_SUBJECT,M_CONTENT,M_PHONE,M_ADD,M_QQ,M_MAIL,M_HTTP,M_FACE,M_IP,M_DAT
24、ETIME,M_REPLAYTIME) VALUES(NAME,SUBJECT,CONTENT,PHONE,ADD,QQ,MAIL,HTTP,FACE,IP,DATETIME,DATETIME); SQLCOMMAND CMD = NEW SQLCOMMAND(CMDTEXT, CON); CMD.PARAMETERS.ADD(NAME, SQLDBTYPE.VARCHAR, 50); CMD.PARAMETERSNAME.VALUE = THIS.TNAME.TEXT; CMD.PARAMETERS.ADD(SUBJECT, SQLDBTYPE.VARCHAR, 100); CMD.PARA
25、METERSSUBJECT.VALUE = THIS.TSUBJECT.TEXT; CMD.PARAMETERS.ADD(CONTENT, SQLDBTYPE.TEXT); CMD.PARAMETERSCONTENT.VALUE = THIS.TCONTENT.TEXT; CMD.PARAMETERS.ADD(PHONE, SQLDBTYPE.VARCHAR, 12); CMD.PARAMETERSPHONE.VALUE = THIS.TPHONE.TEXT; CMD.PARAMETERS.ADD(ADD, SQLDBTYPE.VARCHAR, 100); CMD.PARAMETERSADD.
26、VALUE = THIS.TADD.TEXT; CMD.PARAMETERS.ADD(QQ, SQLDBTYPE.VARCHAR, 10); CMD.PARAMETERSQQ.VALUE = THIS.TQQ.TEXT; CMD.PARAMETERS.ADD(MAIL, SQLDBTYPE.VARCHAR, 30); CMD.PARAMETERSMAIL.VALUE = THIS.TMAIL.TEXT; CMD.PARAMETERS.ADD(HTTP, SQLDBTYPE.VARCHAR, 50); CMD.PARAMETERSHTTP.VALUE = THIS.THTTP.TEXT; CMD
27、.PARAMETERS.ADD(FACE, SQLDBTYPE.VARCHAR, 10); CMD.PARAMETERSFACE.VALUE = THIS.DFACE.SELECTEDVALUE.TOSTRING(); CMD.PARAMETERS.ADD(IP, SQLDBTYPE.VARCHAR, 15); CMD.PARAMETERSIP.VALUE = GETIP(); CMD.PARAMETERS.ADD(DATETIME, SQLDBTYPE.DATETIME ); CMD.PARAMETERSDATETIME.VALUE = DATETIME.NOW.TOSTRING(); 6
28、系统实现用户注册:注册成功:用户登录:用户留言:发表成功:查看留言:7 总结在课程设计开始前,我对这学期学的关于WEB的知识还不是很理解,后来在老师和同学的帮助下,对ASP有了一定的了解。这一段时间的努力,最后的结果固重要,但更重要的是它让自己了解了设计的一般过程。在做一个项目的时候,首先是进行需求分析,既各种功能需求以及系统结构都要在需求分析中做出来。接下来做的就是逻辑结构设计,通过逻辑结构设计出数据库。然后就是详细设计,通过需求分析中对各种功能的描述,利用自己所学的ASP.NET知识编写出相应的功能模块界面,这是个比较繁琐的阶段,需要大量的编写和修改各部分代码,以确保系统整体的可运行性。最
29、后就到了验收成果的阶段,通过系统的运行测试,了解系统的一些问题和不足,并做出一定的修改,最终得到了现在的成果。在整个课程设计过程中,也出现了很多的问题,在不断学习的过程中我能体会到设计是一个不断学习新鲜事物的过程,在设计初的不懂到最后能顺利完成,我体会到在实践中学习的重要性。由于前期工作没有打好基础,对系统的需求分析认识不够清楚,使得后续的工作不得不经常返回去修改个别代码,使我体会到在设计中的每一步的重要性,经过本次课程设计,我深刻体会到了一个软件的设计和它的发展是很严密的,要严格按照软件工程的方法和思想逐步完成,这次课程设计还有很多不足之处,比如功能不完整、页面不够美观等等,希望能继续改进。8 参考文献1 王吉庆计算机教育应用M北京:高等教育出版社,19952 王松江计算机辅助教学的误区与改进方法J当代教育科学,2003,(8):52-543冯恩民,沈玉波一类批处理排队网络的稳定性J工程数学学报,2004,21(5):6756794 美杜威计算机在教学中的应用M宋小平译北京:光明日报出版社,198820