《课程设计样言薄系统设计.doc》由会员分享,可在线阅读,更多相关《课程设计样言薄系统设计.doc(23页珍藏版)》请在三一办公上搜索。
1、留言簿系统设计随着网络的应用越来越广泛,国内外不少的大中小型企业都不约而同地意识到利用网络传递信息可以在一定程度上提高办事效率。而搭建一个用户与企业的在线交流平台亦显得非常重要。留言簿系统是一种简洁而实用的非实时的在线交流平台,网站访问者可通过留言簿与企业和网站管理人员进行交流。该系统具有支持在线管理、删除留言内容、留言内容搜索、自动分页、IP显示等功能。通过留言簿系统,使信息的发布可以面向群组和个人,任何人可以提出留言,管理员可以答复留言。留言簿可以实现以下功能:l 任何人员都可以访问该系统,并且都具有填写留言的权限。l 管理员或版主可以答复他人问题、删除话题等。l 留言可以按照留言内容以及
2、回复内容等条件进行搜索。1 系统概述根据不同的用户,本留言簿系统可以分为以下两个功能区。普通用户功能区根据用户的需求,普通用户可以进行如下操作:l 可以浏览该系统的留言信息。l 可以自动统计每条留言的访问次数。数据层设计数据服务配置系统信息表示层应用层用户接口层图1.1 系统总体构架l 无需注册,直接可以填写留言。管理员功能区管理员通过输入的账号和密码正常登录该系统后,除了享有普通用户具有的权限外,还可以进行如下操作:l 管理员可以进行留言信息的管理,对留言信息进行回复和删除操作。l 管理员可以进行个人密码管理,对登录密码进行修改操作。l 管理员可以退出登录状态。1.1 系统构架该系统设计流程
3、是:首先创建留言簿系统数据库,再设计该系统的功能,然后编写源代码实现系统功能,并在表示层制作与用户对话界面;将系统上传到Internet进入应用层后,用户使用该系统。该流程对应的系统构架为:数据层设计数据服务配置系统信息表示层应用层用户接口层。系统总体构架如图1.1所示。1.2 系统功能模块设计系统主要功能如下所示。l 留言信息显示功能。l 用户填写留言功能。l 管理员登录功能。l 管理员管理留言簿功能,对留言信息进行回复、删除以及回复。l 管理员修改登录密码功能。l 管理员退出登录状态功能。系统主要分为三大功能模块,其中前台系统功能模块和后台系统功能模块如图1.2、图1.3所示。前台系统查看
4、主题发表留言查看回复图1.2 前台系统功能模块后台系统管理员登录留言管理修改密码安全退出查看留言回复留言删除回复图1.3 后台系统功能模块(1)公用模块此模块包括母版页文件、层叠样式表文件和类文件。该系统中任何页面需要用此模块时,直接调用即可,这样即可以减少源代码,也可以使整个系统紧凑有序。(2)前台系统功能模块此模块实现了普通用户功能区的所有功能,由用户查看主题模块和填写留言模块组成,功能如下所示。l 用户查看主题模块:此模块包括系统首页,负责留言信息的内容和留言时间的显示,还可以实现自动分页;通过留言内容上的超级链接,可以查看该留言的留言信息和回复留言信息,并自动统计留言的访问次数。访问者
5、和管理员进入系统时,首先进入该页面。l 填写留言模块:此模块用于填写留言页,为用户搭建了一个与交流的平台。用户在此页面中填写与企业或版主交流的话题和内容,此页面把用户填写的留言信息提交给数据库并且在查看主题模块页中显示。(3)后台系统功能模块此模块实现了管理员功能区的所有功能,由管理员登录模块、管理留言模块、修改密码模块及退出系统模块组成。这4个模块的功能如下所示。l 管理员登录模块:此模块包括管理员登录页,负责根据管理员所输入的账号和密码判断该用户是否合法,以及具有哪些操作权限,并根据不同的权限返回包含不同模块的页面。l 管理留言模块:此模块只对管理员类用户开放,功能包括回复留言信息和删除留
6、言信息。此模块是该系统的核心,它能够实现管理员对留言簿系统的一些基本操作,例如回复留言信息和删除留言信息等。l 修改密码模块:此模块包括修改密码页。只对管理员类用户开放,用于管理员修改登录的密码。l 退出系统模块:此模块包括退出系统页,在该系统中只对管理员类用户开放,负责结束管理员类用户在登录模块所获得的Session变量,退出本系统,返回到系统首页。2 总体设计2.1 总体结构本、留言簿系统主要是通过1个母版页和9个内容页来实现普通用户功能区和管理员功能区。各个页面的关系如下所示。(1)公用模块母版页文件GuestBook.master、类文件DBClass.cs、层叠样式表文件StyleS
7、heet.css,母版页和其他一些内容页面调用即可。(2)前台系统功能模块留言簿前台系统功能模块页面流程如图1.4所示。查看主题发表留言查看回复图14 前台系统功能模块页面流程图(3)后台系统功能模块留言簿后台系统模块页面流程,如图1.5所示。留言管理修改密码安全退出查看留言回复留言删除回复查看主题管理员登录成功是否图15 后台系统功能模块页面流程图2.2 各模块功能分配该系统页面功能如下所示。GuestBook.master:母版页,定义页面的统一布局。StyleSheet.css:层叠样式表文件,定义超级链接风格。DBClass.cs:类文件,定义了数据操作的相关方法。Default.as
8、px:查看主题内容页留言簿系统首页,分页显示系统中所有留言主题,并通过留言内容连接到留言查看内容页ShowReply.aspx:留言查看内容页,查看特定留言的内容及回复,并自动更新留言的浏览次数。Write.aspx:发表留言内容页,填写新的留言。留言发表成功后自动引导到查看主题内容页。Login.aspx:管理员登录内容页,登录成功后自动引导到留言管理内容页admin.aspx:留言管理内容页:管理员管理留言,通过超级链接可链接到留言回复内容页页、留言删除内容页和留言查看内容页。Reply.aspx:回复留言内容页,回复留言信息,回复后自动引导到留言管理内容页。Delete.aspx:删除留
9、言内容页:删除留言信息,删除后自动引导到留言管理内容页。LogModify.aspx:管理员密码修改内容页,修改留言后台登录密码信息。修改成功后清除登录信息,自动引导到管理员登录内容页。Logout.aspx:安全退出后台管理页,管理员退出已登录状态,并返回到系统首页。2.3 系统工作流程留言簿系统工作流程如图1.6所示。Default.aspxWrite.aspxLogin.aspxShowReply.aspx成功admin.aspxLogout.aspxLogModify.aspxDelete.aspxReply.aspxShowReply.aspx是否图1.6 留言簿系统工作流程3 数据
10、库设计3.1 数据库设计思想系统采用Access作为后台数据库。通过分析,要在数据库中存储以下基本信息。管理员信息:管理员ID号、管理员账号、管理员密码。留言信息:留言ID号、留言者、留言内容、留言时间、留言者IP、留言者QQ/MSN、留言者Email、留言者个人主页、留言回复、留言回复时间、浏览次数。通过以上的分析可知,该系统需要创建两个数据表,表中具体信息如下所示。管理员信息表adndnlnfo:用于存储管理员ID号、管理员账号和管理员密码。留言信息表messageInfo:用于存储留言ID号、留言者、留内容、留言时间、留言者IP、留言者QQ/MSN、留言者E_mail、留言者个人主页、留
11、言回复、留回复时间、浏览次数等。3.2 创建数据表本系统使用Access作为数据库管理系统,数据库名为guestbook.mdb。guestbook.mdb数据库中包含的数据表及其相应功能如表1.1所示。表 1.1 guestbook.mdb数据库包含的数据表及其功能表名功能adminInfo存放管理员基本信息messageInfo存放留言基本信息管理员信息表adminInfo该信息表用于存储管理员的基本信息,包括管理员ID号(id)、管理员账号(name)、管理员密码(pwd)。在已创建的Access数据库guestbook中,创建一个表,名为adminInfo,向表中添加字段如表1.2所示
12、。表1.2 管理员信息表adminInfo字段名数据类型长度说明备注id自动编号长整型管理员ID号设为主键且自动编号name文本20管理员账号不允许为空pwd文本20管理员密码不允许为空留言信息表messageInfo该信息表用于存储留言的基本信息,包括留言ID号(id)、留言者姓名(name)、留言内容(content)、留言者QQ(qq)、留言者E_mail(email)、留言者个人主页(homepage)、留言时间(u_time)、留言者IP地址(ip)、留言回复(reply)、留言回复时间计(r_time)、留言浏览次数(viewtime)。在已创建的Access数据库guestboo
13、k.mdb中,创建一个表,表名为messageInfo,向表中添加字段如表1.3所示。表1.3 留言信息表messageInfo字段名数据类型长度说明备注id自动编号长整型留言ID号设为主键且自动编号name文本20留言者姓名不允许为空content备注留言内容不允许为空qq文本10留言者QQ允许为空email文本50留言者E-mail允许为空homepage文本50留言者个人主页允许为空u_time日期时间留言时间允许为空ip文本14留言者IP地址允许为空reply备注留言回复允许为空r_time日期时间留言回复时间允许为空viewtime数字长整型留言浏览次数4 目录设计本系统的主文件夹为
14、GuesBook,其下包括有ASP.NET站点的系统文件夹App_Code、App_Data和App_Themes,保存系统所需图像的文件夹images。所有的站点母版页、内容页和层叠样式表文件均存储在主文件夹下。App_Data文件夹存储应用程序数据文件,如MDB文件、MDF文件、XML文件和其他数据存储文件。ASP.NET2.0使用App_Data文件夹来存储用于维护成员和角色信息的应用程序的本地数据库。App_Code文件夹作为应用程序一部分进行编译的实用工具类和业务对象的源代码。App_Themes文件夹用于定义ASP.NET网页和控件外观的文件集合(.Skin和.CSS文件以及图像文
15、件和一般资源)GuestBookApp_DataApp_CodeApp_ThemesImagesguestbook.mdbDBClass.csStyleSheet.cssGuestBook.masterDefault.aspxShowReply.aspxWrite.aspxLogin.aspxadmin.aspxReply.aspxDelete.aspxLogModify.aspxLogOut.aspx5 公用模块设计与实现为了使留言簿系统的结构清晰、代码规范,这里把系统中重复使用的代码写在一个页面内,当需要的时候直接调用即可。该系统的公用模块包括以下页面。5.1母版页GuestBook.ma
16、ster母版页定义站点中页面的外观。可以包括静态文本、HTML元素和服务器控件的预定义布局,必须包含一个或多个内容占位符。切换到“设计”视图。(1)页面属性设计页面背景为:images/background.jpg;页面背景为:X方向(2)母版页的布局设计Banner设计表格:1行1列;755px104px、居中对齐单元格中数据:images/banner.jpg内容版面设计表格:1行2列;755px395px、居中对齐设置第一列:宽212Px、字号9pt、文本垂直居中、背景图像images/left.jpg、背景颜色#dcdcdc设置第二列:宽543Px、字号9pt、文本垂直顶端页脚设计添加
17、表格:1行1列;755px81px、居中对齐、背景图像images/bottom.jpg设置单元格:宽755Px,文本水平及垂直居中,字号10pt,文本颜色#696969;单元格中输入数据“欢迎访问!请用IE 6.0,在800600以上分辨率下浏览本网站!CopyRight2010!”(3)添加导航在“内容版面”的第一个单元格中添加两个Panel控件,ID分别为panel1和panel2,panel1中为前台系统导航和后台登录导航。Panel2中为后台系统导航。添加文本和链接如下表。所在Panel控件ID类型文本链接地址panel1前台系统查看主题 Default.aspx发表留言Write.
18、aspx后台登录Login.aspxpanel2后台系统留言管理admin.aspx修改密码LogModify.aspx安全退出LogOut.aspx(4)添加内容占位符将ContentPlaceHolder控件拖动到右中单元格中。(5)效果图5.2 层叠样式表文件StyleSheet.css为了便留言簿系统的界面美观、风格统一、修改方便,所以创建一个层叠样式表文件StyleSheet.css,对留言簿系统所有网页文件中所标记的属性实行统一控制。StyleSheet.css的代码如下所示。A color: #000000; font-size: 9pt; text-decoration: no
19、ne;A:hover color: #0000ff; font-size: 9pt; text-decoration: underline;编写页面代码时,在母版页的HEAD和/HEAD标记之间包含该样式表文件,就可以起到统一页面风格的作用,具体代码如下所示。 5.3类文件DBClass.cs该类文件的名为DBClass.cs,类名为DBClass,包含四个方法。代码如下所示。public class DBClass待添加的隐藏文字内容2public DBClass()/ TODO: 在此处添加构造函数逻辑/ / / 建立数据库的链接对象的方法 / / 数据库的链接对象 public OleD
20、bConnection dbconn() string con = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= + HttpContext.Current.Server.MapPath(App_Data/guestbook.mdb); OleDbConnection conn = new OleDbConnection(con); conn.Open(); return conn; / / 建立返回查询的第一行第一列数据的方法 / / 传入参数为Select语句 / 返回查询的第一行第一列数据 public int dbscalar(string
21、 sql) OleDbCommand cmd = new OleDbCommand(sql, dbconn(); int n = (int)cmd.ExecuteScalar(); return n; / / 建立返回DataReader对象的方法 / / 传入参数为Select语句 / 返回DataReader对象 public OleDbDataReader dbReader(string sql) OleDbCommand cmd = new OleDbCommand(sql, dbconn(); OleDbDataReader dr = cmd.ExecuteReader(); ret
22、urn dr; / / 建立执行数据库中数据操作的方法 / / 传入参数为Insert、Delete或Update语句 public void dbIDU(string sql) OleDbCommand cmd = new OleDbCommand(sql, dbconn(); try cmd.ExecuteNonQuery(); catch (Exception ex) HttpContext.Current.Response.Write(alert(遗憾!修改数据失败!); return; finally cmd.Dispose(); 使用这些方法先使用类的构造函数建立对象,再使用。参考
23、代码如: DBClass db = new DBClass(); protected void btnUpdate_Click(object sender, EventArgs e) string cname = lblName.Text; string cmm = txtMm.Text.Trim(); string sql = update adminInfo set pwd= + cmm + where name= + cname + ; db.dbIDU(sql); Session.Abandon(); Response.Redirect(login.aspx); 6功能模块的设计与实现
24、6.1查看主题Default.aspx查看主题模块Default.aspx是留言簿系统的首页。(1)模块设计l 显示该系统所有留言信息中的留言内容(content)和留言时间(u_time)。l 单击“留言内容”链接到“查看回复”页,以实现该留言详细信息的查看。l 该页面每页显示10条留言信息,当多于10条时页面自动实现分页。l 页面的导航显示如下图所示。起始页中间页最后页l 信息显示默认按照“留言时间(u_time)”降序显示。也可以重新进行按照“留言”和“留言时间”排序。l “留言”和“留言时间”的绑定字段的宽度分别为420px、60px;l 所有行高均为23px。l 日期的显示为短日期。
25、(2)控件及其属性设置控件ID属性名属性值或集合作用(可以附图说明属性集合)(3)事件及方法(4)效果图6.2查看回复ShowReply.aspx查看回复模块ShowReply.aspx用于显示特定留言的所有信息。(1)模块设计l 显示Default.aspx页上单击“留言内容”所对应留言的所有留言信息(不显示该留言的id)。l 进入该页面时的浏览次数自动增加1。l 对于留言人、 留言IP、留言时间、浏览次数、回复时间按文本标签显示,其中留言时间和回复时间显示形式为短日期。联系方式包括QQ/MSN、E_mail和个人主页,分别以图像oicq.gif、email.gif、home.gif作为超级
26、链接的源端点,实现链接到QQ/MSN、E_mail链接和个人主页链接;鼠标指定相应的图像,显示QQ/MSN、E_mail和个人主页提示。留言和回复信息显示在文本框中,但不能修改和删除。l 单击“返回”按钮,返回原来Default.aspx页的相应页面。(2)控件及其属性设置控件ID属性名属性值或集合作用(3)事件及方法(4)效果图6.3发表留言Write.aspx发表留言模块Write.aspx用于发表留言信息,留言发布成功后自动引导到留言簿系统的首页Default.aspx。(1)模块设计l 用于发表留言信息,留言发布成功后自动引导到留言簿系统的首页Default.aspx。l “留言人”和
27、“留言”必须填写; “QQ/MSN”由8到10个数字字符组成, “E_Mail”填写必须正确,“个人主页”书写格式应为正确的URL格式,但不包括“http:/”。l 单击“提交”按钮,发布留言,留言发布成功后自动引导到留言簿系统的首页Default.aspx。l 单击“重写”按钮,清除所书写的信息,使输入控件中的数据恢复到初始状态。l 单击“返回”按钮,返回上次浏览页面。(2)控件及其属性设置控件ID属性名属性值或集合作用(3)事件及方法(4)效果图6.4管理员登录Login.aspx管理员登录模块Login.aspx,用于留言簿后台管理登录,登录成功后自动引导到留言管理页admin.aspx
28、。(1)模块设计l 账号和密码必须填写。l 单击“登录”按钮,根据查询返回的记录数判断是否为合法用户,并友好的给出相应的提示。l 登录成功后,保存用户的账号到Session对象,自动引导到留言管理页admin.aspxl 单击“重写”按钮,清除所书写的信息,使输入控件中的数据恢复到初始状态。(2)控件及其属性设置控件ID属性名属性值或集合作用(3)事件及方法(4)效果图6.5留言管理admin.aspx留言管理模块admin.aspx,用于管理员进行留言管理。(1)模块设计l 数据来源于“视图”admin。l 显示该系统所有留言信息中的留言人(name)、主题(scontent)、留言时间(u
29、_time)、回复否(replyun)和链接字段“回复”及“删除”。(8分)l 单击“回复”链接,链接到留言回复页Reply.aspx,以实现该留言回复的修改和回复。(2分)l 单击“删除”链接,链接到留言删除页Delete.aspx,以实现该留言的所有信息显示和删除。(2分)l 该页面每页显示10条留言信息,当多于10条时页面自动实现分页。(2分)l 信息显示默认按照“留言时间(u_time)”降序显示。(2分)l “留言人”、“主题”、“留言时间”、“回复否”、“回复”及“删除”绑定字段的宽度分别为60px、260px、60px、40px、30px、30px、(6分)l 所有行高均为23p
30、x。(6分)l 日期的显示为短日期。(2分)(2)控件及其属性设置控件ID属性名属性值或集合作用(可以附图说明属性集合)(3)事件及方法(4)效果图6.6回复留言Reply.aspx留言回复模块ShowReply.aspx,用于管理员进行已回复留言的回复信息修改和回复留言。Reply.aspx:回复留言内容页,回复留言信息,回复后自动引导到留言管理内容页。(1)模块设计l 数据来源于“表”messageInfo。l 显示admin.aspx页上单击“回复”所对应留言的所有留言信息(不显示该留言的id)。((8分)l 对于留言人、 留言IP、QQ/MSN、E_mail、个人主页和留言时间按文本标
31、签显示。(6分)l 留言时间显示形式为短日期。(2分)l 留言和回复信息显示在文本框。(4分)l 留言不能修改和删除。(2分)l 单击“更新”按钮,保存回复的同时更新回复时间,更新成功后自动引导到admin.aspx页。(6分)l 单击“返回”按钮,返回原来调用页面。(2分)(2)控件及其属性设置控件ID属性名属性值或集合作用(3)事件及方法(4)内容页参考效果图6.7删除回复Delete.aspx删除回复模块Delete.aspx,用于管理员删除特定留言的所有信息。(1)模块设计l 显示admin.aspx页上单击“删除”链接,显示所对应留言的所有留言信息(不显示该留言的id)。(6分)l
32、对于留言人、 留言IP、留言时间、浏览次数、回复时间按文本标签显示。(5分)l 留言时间和回复时间显示形式为短日期。(1分)l 联系方式包括QQ/MSN、E_mail和个人主页,分别以图像oicq.gif、email.gif、home.gif作为超级链接的源端点,实现链接到QQ/MSN、E_mail链接和个人主页链接;鼠标指定相应的图像,显示QQ/MSN、E_mail和个人主页提示。(6分)l 留言和回复信息显示在文本框,但不能修改和删除。(4分)l 单击“删除”按钮,友好的给出提示,“确认”后删除留言,否则取消删除操作;删除后,并自动引导到admin.aspx页。(6分)l 单击“返回”按钮
33、,返回原来调用页面。(2分)(2)控件及其属性设置控件ID属性名属性值或集合作用(3)事件及方法(4)效果图6.8管理员密码修改LogModify.aspx管理员密码修改模块LogModify.aspx,修改留言后台登录密码信息。修改成功后清除登录信息,自动引导到管理员登录内容页。(1)模块设计l 原密码、密码和密码确认必须填写。l 输入的原密码必须与数据库中的已有的密码一致。l 密码由6到12个数字字符、字母及下划线组成。l 密码确认必须与密码一致。l 单击“保存”,保存新密码;保存成功后,注销登录信息,自动引导到管理员登录页。(2)控件及其属性设置控件ID属性名属性值或集合作用(3)事件及方法(4)效果图6.9安全退出LogOut.aspxLogOut.aspx:安全退出后台管理模块,管理员退出登录,并返回到系统首页。(1)模块设计l 进入该页面,清除登录信息。l 返回到系统首页(2)事件及方法结论为什么要该系统?实现了那些功能?不足与改进?参考资料设计体会每个同学一份
链接地址:https://www.31ppt.com/p-2881405.html