毕业设计-个人博客网站.doc
目录引言3背景4第一章 搭建环境51.1 系统开发环境51.2 数据库文件51.3 项目运行.5第二章 设计的目的和内容6第三章 需求规定.73.1对功能的规定.73.2时间特性要求.73.3 灵活性.73.4数据管理能力要求.73.5其他专门要求.8第四章 系统总体设计.94.1 基本设计概念和处理流程.94.2 结构.94.3 接口设计.104.3.1 外部接口104.3.2 内部接口104.4 运行设计.104.4.1 运行模块组合.104.4.2 运行控制114.4.3 运行时间114.5系统数据库结构设计114.5.1 逻辑结构设计要点114.5.2 物理结构设计要点114.5.3 数据结构和程序的关系13第五章 系统功能145.1 个人中心模块.145.2 站点首页.155.3 后台管理.185.4 留言板管理.195.5 注册模块.2156数据备份.23第六章 总结25致谢26参考文献.27附A.28附B.29引言随着科学技术的进步,计算机以及计算机网络的应用也日益凸显出其举足轻重的地位,网站的建设也逐渐盛行起来。网络已经彻底改用户验证信息,收集到的用户点击信息,主题层次信息,分析得出的关联规则表等大量的数据都由数据库管理系统管理。本网站采用SQL SERVER 2005的数据库,结合时下流行网站开发技术ASP.NET,使Web与数据库紧密联系起来,在整个站点的开发过程较为流畅,数据安全性高。软件界面友好,给予用户良好的体验。背景网站的建设不仅仅是制作主页的问题,还需要考虑网站的定位、目标用户、网站内容、服务事项、空间方案、安全性、艺术设计、数据库技术等等。任何网站在建设之前就必须明确方向、用途和服务群体等一系列的问题,写出详尽的建站计划,可以说这是网站建设的根源和核心所在。这里就以我做的这个学生网站为实例给大家简述这个问题。作为一个个人网站,在个性化上的体现显得相当重要。从整个页面上可以看出,我的这个整个网站涉及博客,留言,个人资料等信息的管理。整个网站的结构和内容都是在开始制作之前就已经经过详细设计的。其实任何网站都一样:企业网站的宗旨就是对外宣传企业形象,发布企业最新的企业产品,其服务群体就是为对其产品感兴趣的客户或者正在使用企业产品的用户服务,这就是企业网站的建设方向;个人网站的宗旨就是宣传自己,提供一个自身和外界交流的场所;由此可见,网站的设计方向是依据网站的客户、服务群体等多方面来确定的。第一章 搭建环境1.1 系统开发环境Windows xp sp2 + Visual Studio 2005 + SQL SERVER 2005 +IIS1.2数据库文件 采用SQL SERVER 2005数据库直接使用sql server企业管理器将数据库文件夹GRBrain_NET_Data.MDF文件附加上即可使用数据库.数据库登陆信息: 管理员帐号admin,密码admin 普通用户可自行在站点右上角可以注册。1.3 项目运行打开Visual Studio 2005 ,选择 打开-网站-选择到文件夹,打开即可 在解决方案资源管理器中选中index.aspx右击,选择在浏览器中查看。即可运行网站。超级管理员测试帐号: admin 密码: admin权限测试账号:admin123密码:123456权限测试账号:lyuyu 密码:123456第二章 设计的目的和内容本网站预计的用户群体:对于网站的设计者和建设者来说,在设计规划网站时必须要明确自己网站的浏览者,也就是确定自己的用户群体。在已经确定了建设目的的前提下,应根据建站方向所会导致出现的不同用户群体的需求来规划设计整个网站。我的这个网站就确定了以大学生为因此应当根据网站的主题、内容和浏览者的要求来设计自己独特的网站风格。那么什么是网站的结构和风格呢?网站的结构是连接网站内容之间的支架。网站的结构是网站的核心和骨架,如果没有网站结构,网站将会变得一团糟。现在,只有高度发展、高度结构化、易用且能独立行走的网站才受浏览者的欢迎。因此本系统结合开放式图书馆的要求,采用ASP.NET技术和Sql server数据库进行系统的开发。第三章 需求规定第四章 系统总体设计4.1基本设计概念和处理流程1、4.2 结构数据输入部分:主要包括文章内容,标题的录入、留言和评论内容的录入、用户基本信息的录入。数据输出部分:主要是各种信息查看查询等,包括:查询个人资料,查看文章,查看注册用户等。数据处理部分:主要涉及使用ADO.NET对数据的存储,计算等相关操作。4.3接口设计4.3.1外部接口在输入方面,对于键盘、鼠标的输入,可用powerbuilder标准输入/输出,对输入进行处理。在输出方面,打印机的连接及使用,也可用powerbuilder的标准输入/输出对其进行处理。4.3.2内部接口内部接口方面,各模块之间采用函数调用、参数传递、返回值的方式进行信息传递具体参数的结构将在下面数据结构设计的内容中说明。接口传递的信息将是以数据结构封了的数据,以参数传递或返回值的形式在各模块间传输。4.4运行设计4.4.1运行模块组合用户在有输入时启动接收数据模块,通过各模块之间的调用,读入并对输入进行格式化。在接收数据模块得到充分的数据时,将调用网络传输模块,将数据通过网络送到服务器,并等待接收服务器返回的信息。接收到返回信息后随即调用数据输出模块,对信息进行处理,产生相应的输出。4.4.2运行控制运行控制将严格按照各模块间函数调用关系来实现。在各事务中心模块中,需对运行控制进行正确的判断,选择正确的运行控制路径4.4.3运行时间在软体的需求分析中,对运行时间的要求为必须对作出的操作有较快的反应。网络硬件对运行时间有最大的影响,当网络负载量大时,对操作反应将受到很大的影响。4.5系统数据库结构设计4.5.1逻辑结构设计要点给出本系统内所使用的每个数据结构的名称、标识符以及它们之中每个数据项、记录、文卷和系的标识、定义、长度及它们之间的层次的或表格的相互关系。4.5.2物理结构设计要点文章内容表dbo.content: b_id设为主键、索引。 tb_bookinfo分类信息表db0.class:记录定制的分类情况, class_id设为主键。 tb_booktype超级链接表:dbo.link, l_id设为主键、索引。 留言表:dbo.reply 个人信息资料表:dbo.message4.5.3数据结构与程序的关系管理在对文章管理时需对数据库数据库数据结构,也就是数据表进行查询和修改:在查询,添加等过程中都需要对数据库中的所有表,进行联合查询、修改。物理数据结构主要用于各模块之间函数的信息传递。接口传递的信息将是以数据结构封装了的数据,以参数传递或返回值的形式在各模块间传输。第五章 系统功能5.1 个人中心模块管理:作为一个个人网站,涉及到的信息量是比较大的。对于注册用户有这登录后进行对个人信息的管理功能和发表文章的功能。该模块主要代码如下:个人资料修改:using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.SqlClient;public partial class users_user_modify : System.Web.UI.Page SqlConnection conn = SqlHelper.creation(); protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) int ID = Convert.ToInt32(Session"UserID".ToString(); string sql = "select * from Users where User_ID=" + ID; conn.Open(); SqlCommand cmd = new SqlCommand(sql, conn); SqlDataReader dr = cmd.ExecuteReader(); if (dr.Read() this.TextBox1 .Text = Session"UserLoginName".ToString(); this.TextBox2.Text = dr"UserRetime".ToString(); this.TextBox3.Text = dr"UserEmail".ToString(); this.TextBox4.Text = dr"Answer".ToString(); this.TextBox5.Text = dr"UserBeizhu".ToString(); this.TextBox6.Text = dr"UserBirthday".ToString(); this.TextBox7.Text = dr"UserAddress".ToString(); this.TextBox8.Text = dr"UserSex".ToString(); this.TextBox9.Text = dr"UserPass".ToString(); dr.Close(); conn.Close(); protected void Button1_Click(object sender, EventArgs e) int ID = Convert.ToInt32(Session"UserID".ToString(); string strupdate = "update Users set UserName='" + TextBox1.Text.Trim() + "',UserPass='"+this.TextBox9 .Text .Trim ()+"',UserSex='"+this.TextBox8 .Text .Trim ()+"',UserEmail='" + TextBox3.Text.Trim() + "',Answer='" + TextBox4.Text.Trim() + "',Userbeizhu='" + TextBox5.Text.Trim() + "',UserBirthday='" + TextBox6.Text.Trim() + "',UserAddress='" + TextBox7.Text.Trim() + "',UserRetime='"+this.TextBox2 .Text .Trim ()+"' where User_ID=" + ID; SqlCommand cmdupdate = new SqlCommand(strupdate, conn); conn.Open(); cmdupdate.ExecuteNonQuery(); conn.Close(); Page.RegisterStartupScript("mm", "<script>alert('更新成功!')</script>"); 添加博客文章:using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.SqlClient;public partial class users_user_addblog : System.Web.UI.Page SqlConnection conn = SqlHelper.creation(); protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) this.droplist(); public void droplist() string dropstr = "select * from class" SqlDataAdapter da = new SqlDataAdapter(dropstr, conn); DataSet ds = new DataSet(); da.Fill(ds, "class"); this.DropDownList1.DataSource = ds.Tables"class".DefaultView; this.DropDownList1.DataValueField = "class_id" this.DropDownList1.DataTextField = "class_name" this.DropDownList1.DataBind(); conn.Close(); protected void Button1_Click(object sender, EventArgs e) if (this.lbl_title.Text = "") Page.RegisterStartupScript("ms", "<script>alert('标题不能为空!')</script>"); else if (this.TextBox2.Text = "") Page.RegisterStartupScript("ms", "<script>alert('内容不能为空!')</script>"); else if (Page.IsValid) Boolean fileOK = false; string path = Server.MapPath("./UploadImages/"); if (FileUpload1.HasFile) string fileExtension = System.IO.Path.GetExtension(FileUpload1.FileName).ToLower(); string allowedExtensions = ".gif", ".png", ".jpeg", ".jpg" ; for (int i = 0; i < allowedExtensions.Length; i+) if (fileExtension = allowedExtensionsi) fileOK = true; if (fileOK) FileUpload1.PostedFile.SaveAs(path + "" + FileUpload1.FileName); string picpath = "UploadImages/" + FileUpload1.FileName; conn.Open(); string sqlstr = "insert into content(b_title,b_author,class_id,b_content,b_img) values('" + this.lbl_title.Text.ToString().Trim() + "','" + this.lbl_author.Text.ToString().Trim() + "','" + this.DropDownList1.SelectedItem.Value + "','" + this.TextBox2.Text.ToString().Trim() + "','" + picpath + "')" / 创建数据库命令 SqlCommand mycmd = new SqlCommand(sqlstr, conn); mycmd.ExecuteNonQuery(); conn.Close(); Page.RegisterStartupScript("mm", "<script>alert('添加成功!')</script>"); else Page.RegisterStartupScript("mm", "<script>alert('上传类型不对!')</script>"); protected void Button2_Click(object sender, EventArgs e) TextBox2.Text = "" this.lbl_author.Text = "" this.lbl_title.Text = "" 5.2 站点首页:首页是一个网站的心脏,尤其是对于一个个人网站的建设,首页是吸引人眼球的地方,本网站的首页秉持良好界面设计和用5.6数据库备份:手动备份数据库,防止当站点出现意外事故时候,产生数据丢生,一般一个月备份一次。 本模块主要代码如下:using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.SqlClient;public partial class manage_backup : System.Web.UI.Page SqlConnection conn = SqlHelper.creation(); protected void Page_Load(object sender, EventArgs e) conn.Open(); string cmdtext = "sp_helpdb" SqlDataAdapter da = new SqlDataAdapter(cmdtext, conn); DataSet ds = new DataSet(); da.Fill(ds); this.DropDownList1.DataSource = ds; this.DropDownList1.DataTextField = "name" this.DropDownList1.DataBind(); conn.Close(); protected void Button1_Click(object sender, EventArgs e) conn.Open(); string path = this.TextBox1.Text; string name = DropDownList1.SelectedValue; string cmdback = "use master ;backup database name to disk=path"/5+1+a+s+p+x SqlCommand cmd = new SqlCommand(cmdback, conn); cmd.Parameters.Add("name", SqlDbType.Char); cmd.Parameters"name".Value = name; cmd.Parameters.Add("path", SqlDbType.Char); cmd.Parameters"path".Value = path; try cmd.ExecuteNonQuery(); conn.Close(); /Response.Write("<script>alert('备份成功!')<script>"); Page.RegisterStartupScript("mm","<script>alert('备份成功!')</script>"); catch (SqlException drr) throw new System.Exception(drr.Message); protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) this.TextBox1.Text = Server.MapPath("backup") + "" + this.DropDownList1.SelectedValue + ".bak" 第六章 总结经过老师耐心细致的指导,及同学之间的相互交流,同时翻阅了大量的资料(包括网上资料,书本及学校的一些相关资料)经过近一段时间的努力,个人网站的设计制作告一段落。总结这次“青春飞扬-个人网站”开发制作过程,我综合使用了目前因特网上比较流行的各种动态制作您好,论文内容有删节,如需要原稿请登录购买论文及配套源码 谢谢QQ:835506373 17 / 17