邱文宾 10211118 1021111818 嵌入式软件开发
软件学院 杨 勇
年3月
日
201207
目 录
1.网站需求分析 .............................2
2.网站总体设计 .............................3
2.1.网站层次概况图 ............................................................................................ 3
2.2.系统模块设计 ................................................................................................ 3
2.3.数据库设计..................................................................................................... 4
2.4.详细设计 ......................................................................................................... 6
2.4.1.网站整体设计 ..................................................................................... 6
2.4.2.新闻发布系统设计 ............................................................................. 7
2.4.3.在线报名系统设计 ........................................................................... 10
2.4.4.在线留言系统设计 ........................................................................... 12
3.关键代码 .................................14
4.实验心得 .................................17
1.网站需求分析
要建立的网站是给客户提供一个了解公司的平台,客户可以与公司及时地交换意见,产生互动,公司也可以及时对网站进行更新维护。因此,该系统要分为前台客户系统和后台管理系统两个子系统。
前台客户系统功能:
(1) 用户可以浏览公司的一些基本的信息。 (2) 用户可以浏览公司的新闻。 (3) 用户可以查看公司的联系方式。 (4) 用户可以浏览留言板的帖子。 (5) 用户可以随时发表自己的言论。 后台管理系统功能:
(1) 增加、修改、删除公司的新闻。 (2) 修改、删除留言板帖子。 (3) 浏览、删除最新产品信息。
2.网站总体设计
2.1.网站层次概况图
公司网站系统分为两个子系统:客户系统和后台系统,其功能如图-1所示。
公司网站系统 客户系统后台管理系统 浏览公司首页模块 浏览公司简介模块 浏览公司荣誉模块 浏览公司新闻模块 在线留言模块 浏览销售网络模块 浏览联系我们模块 新闻管理 产品管理 留言管理 查看留言模块 签写留言模块 增加新闻模块 修改新闻模块 删除新闻模块 查看产品模块 删除产品模块 回复留言模块 修改留言模块 删除留言模块 图—1企业网站系统功能模块划分图
2.2.系统模块设计
1、用户模块
(1) 浏览模块。包括浏览公司首页、公司简介、资格认证、公司新闻、留言板等内容。
(2) 发表留言。为用户提供发表留言的功能。 (3) 浏览新闻。为用户提供浏览信息新闻的功能。 2、管理模块
(1) 管理员登录。管理员要进行管理操作,必须先进行登录。 (2) 新闻管理。对新闻进行增加、删除、修改操作。 (3) 留言管理。对留言进行删除、修改操作。 (4) 产品管理。对产品进行查看、删除操作。
2.3.数据库设计
根据系统功能设计的要求以及功能模块的划分,对于系统用户信息数据库,可以列出以下数据项和数据结构。
(1).名称:管理员数据表 标识:admin.
如表1所示,管理员数据表包括id 、name和passwd3个字段。
表1
名称 管理员编号 管理员登录名 管理员密码 字段名称 ID name passwd 类型 自动编号 文本 文本 主键 yes no no
非空 yes yes yes 数据长度 4 10 10 (2).名称:新闻发布数据表 标识:news
如表2所示,新闻数据包括id、title、cont和time 4个字段。
表2
名称 新闻编号 新闻标题 新闻内容 发布时间
字段名称 id title cont time 类型 自动编号 文本 注释 日期时间 主键 yes no no no 数据长度 4 50 10000 4 非空 yes yes yes yes (3).名称:留言板数据表 标识:bbs
如表3所示,留言板数据包括id、name、cont、tell、email、time、recont和homepage 8 个字段。
表3
名称 字段 类型 留言编号 id 自动编号 留言者姓名 name 文本 留言内容 cont 注释 留言者电话 tell 文本 留言时间 time 日期时间 留言者主页 homepage 文本 留言回复内容 recont 注释 留言者Emai emai 文本 (4).名称:报名数据表
标识:baoming
主键 yes no no no no no no no 数据长度 4 4 1000 11 4 20 1000 20 非空 yes yes yes yes yes yes yes yes 如表4所示,报名数据表包括id、name、zhuanye、add、tell和yixiang6个字段。
表4
名称 报名编号 报名者姓名 所报专业 报名者家庭住址 报名者电话 学习意向 字段 id name zhuanye add tel yixiang 类型 自动编号 文本 文本 文本 文本 文本 主键 yes no no no no no 非空 yes yes yes yes yes yes 2.4.详细设计
2.4.1.网站整体设计
图—2网站整体框架
设计要点:
(1) 由于网站是在1024*768 分辨率环境下做出的,为了适应800*600分辨率,左右部分都留出了适当的距离。
(2)网站banner条和导航条是由Flash效果,是由Macromedia® Flash™ MX 2004做出的。
(3)网页布局进行整体规划,即使用HTML中的table标签 (4)背景颜色设置:
2.4.2.新闻发布系统设计
1、 新闻发布系统流程图
修改新闻 删除新闻 ① ① 管理员 新闻发布系统 新闻发布页面 ① 数据库 后台部分 ① 网站首页 全部新闻标题页面 详细新闻页面 前台部分 ①: 数据库驱动程序
图—3新闻发布系统数据流程图
2、news表设计
表设计图
(1)cont 设计成备注类型的这样最多可以容纳65535个字符。 (2)time默认值要设成date(),如图:
图—4new
图—5设置字段
time
3、 后台新闻页面设计 (1)addnews.asp
图—6新闻发布页面
①此页面用来添加新闻,当管理员登录后,点击导航栏中的发布新闻,就可以显示本页。这里用到了超链接和框架: 发布新闻; ②当管理员添加完新闻后,单击确定,通过数据库驱动程序新闻就添加 到数据库中,并在显示页面中显示。 (2) editnews.asp 图—7编辑新闻页面 本页是用来确定对哪条新闻进行哪种操作。首先读取所有新闻,然后根据需要向删除(modify.asp)或修改(dellnews.asp)页面传递需要编辑的新闻的编号。 (3)modify.asp 图—8修改新闻页面 通过editnews.asp传递来的新闻编号,显示需要修改的新闻内容。 管理员可以对新闻标题和内容进行修改。 (4) dellnews.asp 图—9删除新闻页面 通过editnews.asp传递来的新闻编号,显示需要删除的新闻内容。单击确定实现新闻的删除。 4、显示页面设计 (1) index.asp ①为了保证首页的风格,新闻在首页的显示条目为8条,并且是以时间到续方式来读取的:\"SELECT * FROM news ORDER BY 编号 DESC\" ②单击新闻进入详细新闻界面:\").Value %>\"><%=(Recordset1.Fields.Item(\"title\").Value)%> ③向viewnews.asp页面传递新闻编号。 (2)allnews.asp ①显示公司的全部新闻标题 ②用到了分页功能,根据页面的布局设置每页为18条 ③向viewnews.asp页面传递新闻编号。 (3)viewnews.asp 图—10详细新闻显示页面 接收来自index和allnews页面传递来的新闻编号,显示具体新闻的 详细内容。 2.4.3.在线报名系统设计 1、 报名系统数据流程图 查看产品页面用户 产品添加页面 数据库 ① 管理员 ① ①: 数据库驱动程序 删除产品页面 图—11产品添加系统数据流程图 2、 报名系统表设计 图—12在线报名系统数据表 3、 产品添加系统前台页面(zxjs.asp) 图—13产品添加页面 想通过网站报名的用户用此页面来填写自己的基本资料,填写好的 数据将写入数据库。并在后页面(jieguo.asp)中显示供管理员来查看。 4、 产品添加系统后台管理页面 (1)查看产品页面(jieguo.asp) 图—14前台查看页面 ① 分页显示报名者的记录 ② 向jieguodell.asp页面传递要删除的报名记录的编号 (2)删除报名页面 2.4.4.在线留言系统设计 1、 留言系统数据流程图 查看留言页面 发表留言页面 ①①用户修改留言页面 ①: 数据库驱动程序 图—15留言系统数据流程图 数据库 ① ①回复留言页面 ① 删除留言页面 管理员 2、留言系统数据表设计 图—18留言系统数据表 3、显示留言页面(chat/index.asp) 图—16留言系统留言显示页面 ①分页显示用户的留言 ②链接其它页面 此页面是用户用来发表留言的,在用户填写好留言后,数据将会写入数据库,并在chat/index.asp中显示。 3关键代码 1、数据库连接 使用ODBC驱动程序对数据库创建连接 <% Dim MM_xxnew_STRING MM_xxnew_STRING = \"Driver={Microsoft Access Driver (*.mdb)};DBQ=\"&server.mappath(\"db/xxnews.mdb\") %> 2、登录检验代码: 管理员登录后建立session变量 Session(\"admin\")=username 权限的合法验证 <% Function checkPermission() If Session(\"admin\")<>\"\" then checkPermission=TRUE Else checkPermission=FALSE End if End Function tmpadmin=checkPermission() If tmpadmin<>TRUE then response.redirect \"login.asp? \"/如果不能通过验证,转到页面longin.asp End if %> 3、添加代码: Recordset1.addnew Recordset1 (\"title\")=title Recordset1 (\"content\")=content Recordset1.update 更新代码: sql=\"update from Vote where ID=\"传递来的参数\"\" conn.Execute sql 删除代码: sql=\"delete from Vote where ID=\"传递来的参数\"\" conn.Execute sql 4、关闭记录集 <% Recordset1.Close() Set Recordset1 = Nothing %> 5、分页显示代码: <% Dim Repeat1__numRows Dim Repeat1__index Repeat1__numRows = 3 Repeat1__index = 0 Recordset1_numRows = Recordset1_numRows + Repeat1__numRows %> <% If Recordset1.EOF And Recordset1.BOF Then %> <% While ((Repeat1__numRows <> 0) AND (NOT Recordset1.EOF)) %> <% If Not Recordset1.EOF Or Not Recordset1.BOF Then %> 要显示的内容部分……… <% End If%> <% Repeat1__index=Repeat1__index+1 Repeat1__numRows=Repeat1__numRows-1 Recordset1.MoveNext() Wend %> 目前共有<%=Recordset1.RecordCount%>条记录 从第<%=(Recordset1_first)%>条到第<%=(Recordset1_last)%>条 6、包含文件代码: 通过包含文件可以方便的对网页进行管理操作: 7、空格输出问题的解决 在 然后在要输出的地方加入代码: <%=DoWhiteSpace(Server.HTMLEncode(要输出的变量)%> 8、CSS样式控制: A:link{TEXT-DECORATION:none ;Color:#000000} A:active{TEXT-DECORATION:none ;} A:visited{TEXT-DECORATION:none ;} A:hover{Color:#4455aa} td{font-size:9pt} .jianju { letter-spacing: 2px; line-height: 200%; } 4.实验心得 通过一周的学习实验,让我在学习中得到锻炼。学到了很多东西,例如静态和动态网页设计等。也遇到了很多问题,例如语法问题,数据库连接不上,代码调试不出来等。但在同学的帮助下最终完成。也意识到网站系统的建立是一个多维的、立体的过程,设计的最终是给该公司和访问该网站的用户提供一个易操作的网站,需求分析、系统分析和网页页面的设计等都要围绕这个目的进行。 因篇幅问题不能全部显示,请点此查看更多更全内容