目录一、设计目的 (1)二、需求分析 (1)三、模块分析及设计 (2)四、数据库设计 (2)4.1 系统概念结构设计 (2)4.1.1 数据字典 (2)4.1.2 系统E-R图 (3)4.1.3 系统流程图 (4)4.2 逻辑结构设计 (5)五、制作过程及要点 (6)5.1 类库建立 (6)5.2 验证码 (6)5.3 留言内容界面 (7)5.4 留言页面 (7)5.5 登录界面 (9)5.6 注册页面 (12)5.7 修改密码界面 (13)5.8 管理员界面 (14)设计总结 (15)附录 (15)一、设计目的留言板管理系统主要是提供大众一个操作系统,便于网上交流,谈论。
功能块的响应操作分别由对应的子模块实现。
通过互联网把你想说的话及想问的事发表出去,方便大家交流。
同时,留言板的后台通过一个简化的自动的信息管理系统,使网友留言管理工作系统化,规范化,自动化,从而达到提高网络作用和管理的目的。
本设计研究的留言板是一种电子便签管理系统,是用ASP和SQL Sever编写的网络应用程序,留言操作相对简单,在进入网站后,可看到留言内容。
留言板提供完备的信息发布功能,在网络用户交流中有很大的作用。
而我们这个留言板仅仅是简单的留言和管理员对留言进行操作的工具,该留言板简单实用,而且具备了大多数留言板的基本功能。
科学技术在不断地提高,计算机网络技术也日渐成熟,器强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用,现在许多国外和国内的网站均实现了网上注册、网上查询、网上发表信息等一系列的网上信息服务。
通过计算机网络实现了足不出户就可以了解各种信息、咨询问题、搜索资料等,有了这样的一个网络平台,节省了大量的人力物力。
二、需求分析对于一个系统,我们要从其性能、功能、用户界面、安全性等反面考虑,系统必须完成的功能如下:1.留言板管理系统前端的主要功能是:(1)用户注册。
(2)用户登录。
(3)用户发表内容。
(4)用户修改密码。
(5)用户浏览留言内容。
2.留言板管理系统后台管理的主要功能:(1)管理员登陆。
(2)管理员删除用户发帖信息。
3.留言板管理系统性能要求: (1)页面响应速度快。
(2)页面美观整洁。
三、 模块分析及设计模块分析与设计是对一定范围内的不同功能或相同功能不同性能、不同规格的产品进行功能分析的基础上,划分并设计出一系列功能模块,通过模块的选择和组合构成不同的顾客定制的产品,以满足市场的不同需求。
在上节内容中,已对本系统的所需求的功能进行了设计,结合其功能,制作出本系统的功能模块图,如图所示:四、数据库设计4.1系统概念结构设计 4.1.1数据字典数据字典是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果,数据字典是对系统所用到的所有表结构的描述。
留言板系统普通用户 管理员登陆 修改密码 留 言 查看 留言 注册 用户 登 陆 删除 留言login表基本信息序号字段别名1 Uname 用户名2 Upass 密码3 Email 邮箱4 Phone 电话5 Addr 地址management表基本信息序号字段别名1 Uname 账号2 Upass 密码messages表基本信息序号字段别名1 ID 序号2 Uname 用户名3 Title 主题4 Content 内容5 Times 时间4.1.2系统E-R图E-R图提供了表示实体(即数据对象)、属性和联系的方法,用来描述现实世界的概念模型。
4.1.3系统流程图流程图是由一些图框和流程线组成的,其中图框表示各种操作的类型,图框中的文字和符号表示操作的内容,流程线表示操作的先后次序。
4.2逻辑结构设计逻辑结构设计就是把概念结构设计阶段所设计好的基本E-R图转换为与SQL数据库所支持数据模型相符合的逻辑结构。
关系模型如下所示:a)login表(用户名,密码,邮箱,电话,地址)b)messages表(序号,用户名,主题,内容,时间)c)management表(账号,密码)五、制作过程及要点5.1 类库建立public class db{public db(){}public static SqlConnection CreateConnection(){SqlConnection con = new SqlConnection(@"server=(Local);database=message;Integrated Security=True");return con;}}5.2验证码protected void Page_Load(object sender, EventArgs e){this.GenImg(this.GenCode(4));Session["image"] = this.GenCode(4);}private string GenCode(int num){string[] source ={ "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" };string code = "";Random rd = new Random();for (int i = 0; i < num; i++){code += source[rd.Next(0, source.Length)];}return code;}private void GenImg(string code){Bitmap myPalette = new Bitmap(60, 20);Graphics gh = Graphics.FromImage(myPalette);Rectangle rc = new Rectangle(0, 0, 60, 20);gh.FillRectangle(new SolidBrush(Color.Blue), rc);gh.DrawString(code, new Font("宋体", 16), new SolidBrush(Color.White), rc);myPalette.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);gh.Dispose();myPalette.Dispose();}5.3留言内容界面图(一)打开网站后,首先浏览到留言内容(图一),当用户要留言的时候,则跳转到留言页面(图二)。
"留言"事件代码:protected void Button3_Click(object sender, EventArgs e){Response.Redirect("messages.aspx");}5.4留言页面图(二)在跳转到该页面之前,系统会检测用户是否登录,如果用户未登录,则直接跳转到用户登录页面(图三),如果用户登录,则可提交留言。
在此页面,可统计注册会员的人数,用户名为用户登陆时,系统用session对象传递自动显示。
"留言"事件代码:protected void Page_Load(object sender, EventArgs e){try{bel1.Text = Session["Uname"].ToString();SqlConnection con = db.CreateConnection();con.Open();string strsql = "select count(*) from login";SqlCommand cmd = new SqlCommand(strsql, con);SqlDataReader rd = cmd.ExecuteReader();while (rd.Read()){bel2.Text = rd[0].ToString();}rd.Close();con.Close();}catch{Response.Write("<script>alert('用户未登录成功!')</script>");Response.Redirect("login.aspx");}}protected void Button1_Click(object sender, EventArgs e){SqlConnection con = db.CreateConnection();con.Open();string strsql="insert into messages values('"+Label1 .Text +"','"+TextBox2.Text +"','"+TextBox3 .Text +"','"+DateTime .Now .ToString ()+"')";SqlCommand cmd =new SqlCommand (strsql ,con );cmd .ExecuteNonQuery();con.Close ();Response.Write("<script>alert('留言成功!')</script>");Response .Redirect ("messageout.aspx");}"取消"事件代码:protected void Button2_Click(object sender, EventArgs e){TextBox2.Text = "";TextBox3.Text = "";}5.5登录界面图(三)在登录界面,用户首先选择"角色","用户"则跳转到留言内容界面(图一),"管理员"则进入管理界面(图六)。