论坛的设计与实现毕业论文

辽宁职业学院

毕业论文(设计)

题目论坛的设计与实现

专业计算机网络技术

班级计算机网络1131班

姓名陈凌云

指导教师姓名项立明

职称副教授

日期 2014 年 3 月 1 日

辽宁职业学院

毕业论文(设计)任务书

专业班级:计算机网络1131

学生姓名:陈凌云

题目:论坛的设计与实现

上交论文(报告)日期: 2014 年 4 月 25 日

答辩日期: 2014 年 5 月 7 日

指导教师:项立明

2014 年 3 月 1 日

本人声明

我声明, 本论文及其设计工作是由本人在指导教师的指导下独立完成的, 在完成论文时所利用的一切资料均已在参考文献中列出。

签名:

年月日

摘要

随着Internet的越来越普及,人们越来越关于这样一种交流平台――论坛。使用简单、易用的学生论坛已成为当今社会必然要求。但现有的学生论坛系统还存有一定问题,主要体现在两个方面:

一方面,论坛的功能是多种多样的,现在流行的各种论坛中的插件让这些功能更加的多元化,而偏离了信息的发布与讨论为基础的基本功能。

另一方面,随着计算机的普及,特别是调制解调器的大量使用,BBS的活动将会进一步高涨。但是,随之而来抢线难的问题将会加剧。

本论坛主要完成2大模块,即用户模块和管理模块。用户模块中完成了用户登录、用户注册、发帖、回帖等功能,管理模块中完成了帖子管理、用户管理等功能。

为了实现学生论坛的简单、高效、灵活性,开发出信息发布与讨论为基础的基本功能,设计本系统。本论坛系统采用目前流行的https://www.360docs.net/doc/ee1944359.html,技术进行开发,采用B/S架构进行开发,开发环境采用微软集成开发环境VS2005进行开发,数据库用SQL2005数据库系统来存放论坛中的数据信息。

关键字:论坛;Internet; https://www.360docs.net/doc/ee1944359.html,;WEB技术;

目录

第1章系统概述 (1)

1.1选题背景 (1)

1.2研究意义 (1)

1.3研究现状 (2)

1.4本文所做的工作 (2)

第2章系统开发环境 (4)

2.1实施平台 (4)

https://www.360docs.net/doc/ee1944359.html,的简介 (4)

2.3B/S架构 (9)

2.4数据库技术 (10)

第3章论坛系统需求分析 (12)

3.1系统功能需求 (12)

3.2系统需求分析 (13)

3.3性能需求 (13)

3.4硬件环境需求 (14)

第4章系统总体设计 (15)

4.1总体设计 (15)

4.2数据库设计 (20)

第5章系统详细设计 (25)

5.1登录功能及注册功能的设计 (25)

5.2发帖及回帖分享等功能的设计 (28)

5.3搜索帖子功能的设计 (30)

5.4论坛板块管理功能的设计 (32)

第6章系统测试 (34)

6.1系统测试概述 (34)

6.2测试方案 (35)

6.3测试结果分析评价 (38)

结论 (39)

参考文献.................................... 错误!未定义书签。致谢.. (40)

第1章系统概述

1.1 选题背景

BBS的英文全称是Bulletin Board System,翻译为中文就是“电子公告板”。它起源于20世纪80年代初,最初只是用于发布公告信息和讨论问题的在线交流平台,后来随技术的发展与网络的普及功能越来越强大。[1]由于得到了广大网友的欢迎,越来越多的商业网站开始重视论坛,把论坛作为与用户交流的平台和在线技术支持与服务的平台。论坛的功能是多种多样的,现在流行的各种论坛插件让这些功能更加的多元化,但论坛的基本功能依然是信息的发布与讨论,在实现基本功能的同时也要丰富论坛的其他功能,如建立网友的荣誉系统,美化论坛的界面。[2]按照论坛的基本功能,论坛的开发可以归结为Web开发技术和数据库应用技术。BBS最早是用来公布股市价格等类信息的,当时BBS没有文件传输的功能,而且只能在苹果计算机上运行。早期的BBS与一般街头和校园内的公告板的性质相同,只不过是通过电脑来传播或获得消息而已。一直到个人计算机开始普及之后,有些人尝试将苹果计算机上的BBS转移到个人计算机上,BBS才开始渐渐普及开来。近些年来,由于爱好者们的努力,BBS的功能得到了很大的扩充。

目前,通过BBS系统可随时取得国际最新的软件及信息,也可以通过BBS系统来和别人讨论计算机软件、硬件、Internet、多媒体、程序设计以及医学等等各种有趣的话题,更可以利用BBS系统来刊登一些“征友”、“廉价转让”及“公司产品”等启事,而且这个园地就在你我的身旁。只要您拥有1台计算机、1只调制解调器和1条电话线,就能够进入这个“超时代”的领域,进而去享用它无比的威力![3]

在二十一世纪的今天,随着互联网技术的迅猛发展,网络给人们带来了很多便利,比如人们借助于网络进行相互交流变得更加方便。因此,交流工具作为互联网中运用最为广泛的通信工具之一。校园论坛系统是基于WEB网页,无需专用客户端即可为用户提供简洁的聊天交流界面,用户可以通过帖子发表与回复的方式在论坛中进行学习、生活等方面的交流,结合管理员在线对论坛信息进行实时调整管理,从而成为最为稳定的一个虚拟的校园交流平台。[4]

1.2 研究意义

互联网正在融入我们的生活,影响和改变着我们的生活。网络提供给我们的不只是一个获取信息的来源,而且还是一个可以相互交流的空间,校园论坛正是一种供人们进行交流的网络空间。目前,网上论坛已不是新事物,许许多多的别具特色的论坛在网络上随处可见。为了体现论坛的特色,我搜索各式各样的论坛版面,为了改变网上现存论坛的普遍风格,追加功能,更便于管理,于是开发出一套界面友好美观,易于使用的卡

通风格的论坛系统。校园论坛系统是一个注册用户登录后能够浏览论坛上的帖子,并且游客能够注册成为用户。

1.3 研究现状

国内的BBS站,单线站还占大多数。随着计算机的普及,特别是调制解调器的大量使用,BBS的活动将会进一步高涨。但是,随之而来的拨号难和抢线难的问题将会加剧。尽管BBS站台的数量在不断增长,但这种增长的幅度总也赶不上用户群的增长。许多人同时拨号一个站台,不可避免地发生冲突。每回要拨上几十次乃至上百次才能成功连上一个BBS站的状况已经成为困扰今日中国 BBS用户的一个难题。随着BBS活动的深入,国内已经出现了一些多线站,一次可以允许2人以上同时访问。

BBS的发展过程中,也出现了一些问题。由于国内使用的BBS站软件,都是从国外引进的,因此没有必要的中文说明。虽然一些热心的站长翻译了一些资料,但是仅靠这些是远远不够的。另外,有些站台的设立是相互抄袭,所以在结构上难免有雷同之处。

1999年是中国网络的发展年。但是,我们应该清醒地认识到,目前一些BBS站并没有走上“简单、易用”这一层次。包括一些厂商架设的BBS站,实用性还需要加强。今后,国内的BBS站将向着个性化和专业化的方向发展。

1.4 本文所做的工作

随着网络的越来越普及,人们越来越关于这样一种交流平台――论坛。很多商业网站都开设自己论坛来提供交流和服务,也有很多的个人网站和个人论坛的出现,论坛已经不仅是一种交流平台,甚至是成为了实现自我价值的一个舞台。正因为论坛越来越重要,所以论坛的维护也变成了一种职业,而更好的维护则需要从设计这个层面来了解和进行。

本文主要划分成2大功能模块,即用户功能模块和管理员功能模块。

1.用户功能模块,针对用户功能模块,本系统主要完成了用户注册、用户登录、用户发帖、用户回帖、用户删除帖子等功能的实现。例如设计用户浏览功能,针对别人的主题展开讨论,也可以发表自己的观点供大家品评。同时为了防止用户发布一些不健康不合法的内容,需要有管理人员来对这些内容进行删除、修改。而且用户想在论坛发布信息则要求他注册,这样来控制用户发布信息和方便管理者操作用户的信息。论坛也要有多个版面和分区,用来区分各种帖子的内容范畴,方便整理和管理。所以论坛的基本功能就是要实现用户的数据库管理和帖子的数据库管理,以及怎么样让这些数据库和网页的操作联系起来。

2.管理功能模块,管理功能模块也可以分成2大模块,即用户管理模块和帖子管理模块,而且无论是用户管理模块还是帖子管理模块,本系统都能完成其添加功能、删除

功能、修改功能。此外管理员还可以把关注人数多的帖子进行置顶,以便用户可以第一时间查看。

第2章系统开发环境

2.1 实施平台

本学生论坛采用目前流行的https://www.360docs.net/doc/ee1944359.html,技术进行开发,采用B/S架构进行开发,开发环境采用微软集成开发环境VS2005进行开发,数据库用SQL2005数据库系统来存放论坛中的数据信息。

2.2 https://www.360docs.net/doc/ee1944359.html,的简介

https://www.360docs.net/doc/ee1944359.html,是一项功能强大、非常灵活的新技术,用于创建编写动态Web页面。它是两项Microsoft公司的ASP和.NET Framework核心技术的结合。动态服务器页面(常称为经典的ASP)已有较长的历史在Web计算方面,它提供了一种强健、快速、有效的方法用于去创建动态Web页面已经有7年甚至今天。[5].NET Framework则是一整套的新技术,Microsoft公司推出此技术的目的是改革未来在所有编程开发中所采用的方法,以及各公司从事业务活动的方法。因此, https://www.360docs.net/doc/ee1944359.html,是利用.NET Framework提供的新功能来创建动态Web页面的一种方法。

对https://www.360docs.net/doc/ee1944359.html,需要说明的第一件重要事情是:用户不需要对ASP有任何的了解就可以学习https://www.360docs.net/doc/ee1944359.html,。学习https://www.360docs.net/doc/ee1944359.html,只需具有一些创建Web页面的HTML知识就可以了。实际上,熟悉ASP在某些方面可能还是一种缺点,因为可能需要忘记以前的一些规则。https://www.360docs.net/doc/ee1944359.html, 不仅可以生成动态Web页面,并可以将这些页面根据正在使用的浏览器进行裁剪,而且,它提供了大量的、可复用的预定义控件,用于https://www.360docs.net/doc/ee1944359.html,项目,减少了要编写的代码,从而在编程时提高工作效率。使用https://www.360docs.net/doc/ee1944359.html,能够做什么?要列出它不能做什么大概会更容易些,因为这个列表相当短。https://www.360docs.net/doc/ee1944359.html,最引人注目的改进之一是可以用基于. NET Framework的任何编程语言(例如https://www.360docs.net/doc/ee1944359.html,、JScript .NET或C#等)创建Web应用程序。在这些应用程序中, https://www.360docs.net/doc/ee1944359.html,允许为特殊用户定制页面,当用户在Web站点中浏览时更容易跟踪用户信息。

ASP的工作方式是客户端提交请求或申请,服务器接收请求或申请后进行服务器处理,服务器把处理完成的结果传送或返回到客户端,即请求—接收/处理—响应的过程。

ASP提供了6个内置对象:Request、Response、Session、Server、Application、ObjectContext,这些对象可以直接在页面中生成且在脚本使用时不需要创建,它们构成了ASP的基本框架。[6]

1.Request对象是用来处理HTTP请求的,包含各种集合、属性和方法。当客户端使用浏览器通过HTTP协议向Web服务器发请求的时候,Request对象检索传递给Web服务器的项,利用这个对象的集合、属性和方法可以获得浏览器请求到服务器的各项信息和

数据。

一般主要是把用户在浏览器端输入的信息和其他相应的信息传递给服务器,各个对象被传递到服务器后使用Request对象接收。如表2-1所示:

表2-1 Request对象的集合、属性和方法

在表1-1所列的项中最常用的是Form、QueryString、ServerVariables三项。服务器是如何接收来自客户端的信息和数据呢?Form容器提交数据的方式有两种,可以使用method参数来确定,当method被设置为post时,就使用Form来接收。

前台是一个命名为testDataRec的容器,它的提交方式为post,里面含有两个input 对象,分别为MyName和Mypwd,当用户输入信息后,单击发送按钮,就可以提交给后台接收程序,这个接收程序页必须命名为前台Form容器里的“receiveMe.asp”。

QueryString,当前台的程序使用提交方式为get时,将后台的接收端中的Form修改成QueryString即可。

ServerVariables项接收到的主要是客户端相对应的系统或其他一些相应信息。它

的内容和格式是确定的,包含了很多项。常用项一般是URL、PATH_INFO、SCRIPT_NAME,通过request. ServerVariables(“URL”)能够获得用户的浏览器地址框里的地址,其实和使用PATH_INFO、SCRIPT_NAME相差不错。

2.Session对象是用来建立Web服务器同客户端的联系,并维持这一联系的,其实是一个管理会话的对象,不仅可以保持管理会话,而且在此会话中,可以为此次会话存储特定用户会话所需要的属于它自己的个性化的信息,当用户在应用程序的Web页之间跳转时,存储在Session对象中的所有这些变量都将不会丢失,而是在整个用户会话中一直存在下去。

当用户请求来自应用程序的Web页时,如果该用户还没有会话,则Web服务器将自动创建一个Session对象。当会话过期或被放弃后,服务器将终止该会话。Session对象的内容如表2-2所示:

表2-2 Session对象的集合、属性、方法和事

当用户通过浏览器在输入正确的用户名和密码成功登录后,服务器使用Session来记录这个用户输入的用户名,以方便显示;而且在用户推退出登录后,会将用户的会话Session清除掉。Abandon是Session唯一的方法。可以清除用户的Session对象并释

放用户所占用的资源。

3.Session对象是用来建立Web服务器同客户端的联系,并维持这一联系的,其实是一个管理会话的对象,不仅可以保持管理会话,而且在此会话中,可以为此次会话存储特定用户会话所需要的属于它自己的个性化的信息,当用户在应用程序的Web页之间跳转时,存储在Session对象中的所有这些变量都将不会丢失,而是在整个用户会话中一直存在下去。

当用户请求来自应用程序的Web页时,如果该用户还没有会话,则Web服务器将自动创建一个Session对象。当会话过期或被放弃后,服务器将终止该会话。Session对象的内容如表2-3所示:

表2-3 Session对象的集合、属性、方法和事件

当用户通过浏览器在输入正确的用户名和密码成功登陆后,服务器使用Session来记录这个用户输入的用户名,以方便显示;而且在用户推退出登陆后,会将用户的会话Session清除掉。Abandon是Session唯一的方法。可以清除用户的Session对象并释放用户所占用的资源。

4.Server对象提供了访问服务器的方法和属性,它同服务器的关系非常紧密,但

其中大多数方法和属性是为了实用程序的功能服务的。

这个对象中常用的是HTMLEncode和MapPath。HTMLEncode可以把HTML编码都作为字符显示出来,MapPath用来获得服务器端的绝对路径。

5.Application对象是在特定的应用程序中用于为所有的用户共享信息的饿,基于ASP的应用程序同所在的ASP文件一样在一个虚拟目录及其子目录中定义。为了确保多个用户无法同时改变某一属性,可以共享Application对象。Application对象使用Lock 和Unlock方法保证了共享信息管理与操作的可靠性和完备性。

6.ObjectContext对象在ASP里不经常用到,主要是用来提交或放弃一项有Microsoft Transaction Server管理的事物的。

https://www.360docs.net/doc/ee1944359.html,的优点:

(1)较高的安全性

https://www.360docs.net/doc/ee1944359.html,允许创建“个人账户”和“角色”,以便每个用户都能访问不同的代码和能运行的代码,从而提高应用程序的安全性。

(2)可靠性

https://www.360docs.net/doc/ee1944359.html,是一种可以用于多处理器的开发工具,它在多处理器的环境下用特殊的无缝技术,大大提高了运行速度。即使现在的https://www.360docs.net/doc/ee1944359.html,应用软件是为一个处理器开发的,将来多处理器运行时不需要任何改变就能提高它们的效能。

(3)可扩展性

https://www.360docs.net/doc/ee1944359.html,是一项可扩展技术。为了提高https://www.360docs.net/doc/ee1944359.html,应用程序的可扩展性,改进了服务器间的通信,使得可以在多台服务器上进行一个应用程序。

(4)高效的管理性

https://www.360docs.net/doc/ee1944359.html,使用一种字符基础的,分级的配置系统,使你服务器环境和应用程序的设置更加简单。因为配置信息都保存在简单文本中,新的设置有可能都不需要启动本地的管理员工具就可以实现。[7]一个https://www.360docs.net/doc/ee1944359.html,的应用程序在一台服务器系统的安装只需要简单的拷贝一些必须得文件,不需要系统的重新启动,一切就变得简单。

(5)易配置和部署

利用纯文本文件配置https://www.360docs.net/doc/ee1944359.html,应用程序,可在程序运行时上传或修改配置文件,而无需重新启动服务器。部署或替换已编译的代码时也无需重新启动服务器,https://www.360docs.net/doc/ee1944359.html,会自动将所有新的请求指向新代码。

(6)简单性和易学性

https://www.360docs.net/doc/ee1944359.html,是运行一些很平常的任务如表单的提交客户端的身份验证、分布系统和网站配置变得非常简单。另外,通用语言简化开发使把代码结合成软件简单。

2. ASP. NET的缺点:

(1)代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。

(2)代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。

2.3 B/S架构

B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S(C/S(Client/Server,客户/服务器)方式的网络计算模式,1、服务器负责管理数据库的访问,并对客户机/服务器网络结构中的数据库安全层加锁,进行保护;2、客户机负责与用户的交互,收集用户信息,通过网络向服务器发送请求。3、C/S模式中,资源明显不对等,是一种“胖客户机(fat client)”或“瘦服务器(thin server)”结构。

4、客户程序(前台程序)在客户机上运行,数据库服务程序(后台程序)在应用服务器上运行)结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier结构。B/S结构利用不断成熟和普及的浏览器技术实现原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。这种结构更成为当今应用软件的首选体系结构。

B/S 模式的优点:

(1)具有分布性特点,可以随时随地进行查询、浏览等业务处理。

(2)业务扩展简单方便,通过增加网页即可增加服务器功能。

(3)维护简单方便,只需要改变网页,即可实现所有用户的同步更新。

(4)开发简单,共享性强。

B/S 模式的缺点:

(1)个性化特点明显降低,无法实现具有个性化的功能要求。

(个性化的要求取决以软件框架,而非架构,分享B/S软件就蛮灵活)

(2)操作是以鼠标为最基本的操作方式,无法满足快速操作的要求。

(如果辅助于插件,照样可以用键盘快速操作)

(3)页面动态刷新,响应速度明显降低。

(分享软件用分页保证响应速度稳定)

(4)功能弱化,难以实现传统模式下的特殊功能要求。

(技术问题,用微软C#或java怎么会不能解决任何要求呢)

2.4 数据库技术

关系型数据库(Relation Database)是若干个依照关系模型设计的数据表的集合。也就是说,关系数据库是由若干个完成关系模型设计的二维表组成的。

关系数据库由于以具有与数学方法相一致的关系模型设计的数据表为基本文件,不但每个数据表之间具有独立性,而且若干个数据表之间又具有相关性,这一特点使其具有极大的优越性,并能得以迅速普及。[8]关系数据库有以下特点:

(1)以面向系统的观点组织数据,使数据具有最小的冗余度,支持复杂的数据结构;

(2)具有高度的数据和程序的独立性,用户的应用程序与数据的逻辑结构,以及数据的物理存储方式无关;

(3)由于数据具有共享性,使数据库中的数据能为多个用户服务;

(4)关系数据库允许多个用户同时访问,同时提供了各种控制功能,保证数据的安全性、完整性和并发性控制。安全性控制可防止未经允许的用户存取数据;完整性控制可保证数据的正确性、有效性和相容性;并发性控制可防止多用户并发访问数据时由于相干扰而产生的数据不一致。

由于本系统涉及到许多数据的处理,这就需要有一个强大的后台数据库管理系统支持.目前主要有:Access,FoxPro,Excel,Sybase,Oracle,Informix,SQL Server等,其中网络型的SQL Server, Oracle产品安全性远远高于桌面型的Access,FoxPro等数据库。

本系统采用的是微软公司的SQL Server 2005.原因如下:第一,SQL Server与Windows 2005 Server服务器紧密集成,而Windows 2005 Server服务器具有很好的安全性,能够排除所有未经授权的非法用户的访问,确保了SQL Server 2005服务器的安全性,符合系统对安全性的要求;第二,用户可以使用Web浏览器查询存储在SQL Server 2005数据库中的数据,符合系统远程访问数据库的要求.第三,容量庞大,每个数据库中可创建多达20万个数据表,数据表中的记录的行数只受服务器硬盘空间的限制,符合系统的考题数目较多的要求。[9]

本网站使用VS2005作为开发环境,嵌套C#语言的 https://www.360docs.net/doc/ee1944359.html,作为编程环境,SQL Server是数据库环境。

Microsoft? SQL Server? 2005(以下简称mssql2005),是微软公司在SQLSERVER7的基础上开发出来的一套数据库管理系统。它是一种大型的关系型的数据库,扩展了Microsoft SQL Server 7.0 版的性能、可靠性、质量和易用性。[10]mssql2005 增加了几种新的功能,由此成为大规模联机事务处理 (OLTP)、数据仓库和电子商务应用程序的优秀数据库平台。

MSSQL2005提供了XML支持,并且增强了数据处理能力。它主要包含了三个组件:服务器组件:SQLSERVER数据库引擎、代理程序、搜索服务和分布式事务处理协调

器。

通信组件:本地通信、网络通信。

管理工具:企业管理器与SQL查询分析器。

SQLServer2005能够满足今天的商业环境要求不同类型的数据库解决方案。它一种应用广泛的数据库管理系统,具有许多显著的优点:易用性、适合分布式组织的可伸缩性、用于决策支持的数据仓库功能、与许多其他服务器软件紧密关联的集成性、良好的性价比等。性能、可伸缩性及可靠性是基本要求,而进入市场时间也非常关键。除这些核心企业品质外,SQLServer2005还为您的数据管理与分析带来了灵活性,允许单位在快速变化的环境中从容响应,从而获得竞争优势。从数据管理和分析角度看,将原始数据转化为商业智能和充分利用Web带来的机会非常重要。[11]作为一个完备的数据库和数据分析包,SQLServer2005为快速开发新一代企业级商业化的应用程序、为企业赢得核心竞争优势打开了胜利之门。作为重要的基准测试可伸缩性和速度快的记录保持者,SQLServer2005是一个具备完全Web支持的数据库产品。

第3章论坛系统需求分析

3.1 系统功能需求

本论坛具备一般论坛的功能,提供一个简单实用的学生论坛管理系统。具体的功能模块如下所示:

(1) 注册登录。参与论坛的人注册自己的用户名及个人信息(详细一点),拥有论坛中的身份,可以获得更多的权限。

(2)划分板块浏览帖子。随着帖子数量的增多,话题相同或类似的帖子聚集在一起,引出了论坛系统新的扩展功能,即分板块浏览,属于同一板块的帖子讨论相同的话题。这样就使得对某一话题感兴趣的用户不会被其他帖子干扰,也有利于相同兴趣的用户互相讨论,不易跑题。

(3) 编辑帖子。发帖回帖的用户,如果需要修改更新自己发表的帖子内容,就引出了编辑帖子内容的这个扩展功能,提供给用户更新自己发言的选择。对于论坛管理员,可以编辑任何帖子的内容,有利于论坛的文明建设。

(4) 删除帖子。如果用户发表了不符合论坛规则的帖子,则需要管理员删除这些帖子,这就引出了删除帖子的扩展功能。

(5) 转移帖子。论坛划分了板块,如果帖子内容不属于所在板块的关注话题,管理员可以选择将此帖移动到所属话题的板块中去,这就引出了移动帖子的扩展功能,这个功能是随着板块功能的出现而出现的,板块将帖子进行了分组,从而提出了随话题移动帖子的要求。

(6) 置顶帖子。帖子一般是根据发表及回复时间倒序排列的,这样先发的帖子慢慢就排到后面,管理员如果需要强调某些帖子重要,有必看性,就要打乱默认的排列顺序,将这些帖子放在列表的最前端,不再按照时间进行顺序的变化,但是还要保证其他帖子按照时间变化顺序进行排序,这就引出了置顶帖子的扩展功能。

(7) 指定精华帖。如果管理员认为某个帖子的内容非常好,可以打上标记,推荐给看帖的用户,这就引出了指定精华帖的扩展功能。用户可以选择只看打上标记的精华帖。

(8)论坛板块管理功能。论坛板块需要先创建,才能被使用,管理员还可以修改板块的相关信息,因此管理板块是管理员使用的扩展功能。

(9) 设置参数。论坛一般有一些初始化信息,比如每页显示帖子数量等参数信息,管理员可以在后台界面自行设置。

(10) 管理用户。管理员可以对论坛的注册用户进行管理,直接添加用户,赋予相关权限,也可以修改已注册用户的权限,对于违规用户可以删除,这个功能便于管理员对论坛用户的管理。

3.2 系统需求分析

要设计一个一个论坛,首先要分析论坛里需要那些内容,以及各种内容之间的关系。

首先列出论坛常用的名词:用户、版面、公共信息、帖子、主题、积分、称号、版主、注册信息、管理员、系统参数。

对于以上名词可以精简。主题是帖子的一个特例、积分和称号是用户的一个属性、版主是增加了权限的用户,注册信息是用户的具体属性。

所以具体的对象有:用户、版面、公共信息、帖子、管理员、系统参数。

具体的操作包括:管理员对用户、帖子、板块功能的管理;客人和用户的对板块、帖子的浏览;客人的注册之后登录页面;用户的发帖、回帖、搜索等操作。

3.3 性能需求

用户总是强调确定他们的功能、行为或需求——软件让他们做的事情。除此之外,用户对产品如何良好地运转抱有许多期望。这些特性包括:产品的易用程度,执行速度,可靠性等。这些被称为软件质量属性(或质量因素)的特性是系统非功能(也叫非行为)部分的需求。

然而,质量属性是很难定义的,并且他们经常造成开发者设计的产品和客户满意的产品之间的差异。就像 Robert Charette(1990)指出的那样:“真正的现实系统中,在决定系统的成功或失败的因素中,满足非功能需求往往比满足功能需求更为重要”。优秀的软件产品反映了这些竞争性质量特性的优化平衡。

软件质量属性包括:

对用户最重要的属性:

1.有效性(availability):有效性指的是再预定的启动时间中,系统真正可用并且完全运行时间所占的百分比。

2.高效性(efficiency):高效性是用来衡量系统如何优化处理器、磁盘或通信的,如果系统用完了所有可用的资源,那么用户遇到的将是性能下降,这是效率降低的一个表现。

3.灵活性(flexibility):灵活性表明了在产品中增加新功能时所需工作量的大小。

4.完整性(integrity):完整性(安全性)主要涉及;防止非法访问系统功能、防止数据丢失、防止病毒入侵并防止私人数据进入系统。

5.互操作性(interoperability):互操作性表明了产品与其它系统交互数据和服务的难易程度。

6.可靠性(reliability):可靠性是软件无故障执行一段时间的概率。

7.健壮性(robustness):健壮性指的是当系统或者其组成部分遇到非法输入数据、

相关软件或硬件组成部分的缺陷或异常操作情况时,能继续正确运行功能的程序。

8.可用性(usability):可用性也称为“易用性”和“人类工程”,它所描述的是许多组成“用户友好”的因素。

对开发者最重要的属性:可维护性(maintainability)、可移植性(portability)、可重用性(reusability)、可测试性(testability)。

对开发者重要的属性:

1.可维护性:可维护性表明了在软件中纠正一个缺陷或做一次更改的简易程序。

2.可移植性:可移植性是度量把一个软件从一种运行环境转到另一种环境中所花费的工作量。

3.可重用性:从软件开发的长远目标上看,可重用性表明了一个软件组件除了在最初开发的系统中使用之外,还可以在其它应用程序中使用的程度。

4.可测试性:可测试性指的是测试软件组件或集成产品时查找缺陷的简单程度。

学生论坛系统根据用户对系统的期望来确定质量属性,旨在增强系统可重用性,使系统变得灵活、更易于与其它软件组件相连接、更易于维护、更易于移植并且更易于测试。

3.4 硬件环境需求

在运行本系统前,请检查以下计算机是否满足以下要求。

服务器要求的配置为:

CPU:Intel 赛扬Ⅳ以上,建议Intel PentiumⅣ以上

内存:1G以上,建议2G以上

硬盘:20G以上的可用硬盘安装空间

操作系统:Windows 2005以上,Internet信息服务器6.0(IIS 6.0)

软件:Microsoft SQL Server 2005以上版本

客户机硬件配置要求为:

CPU:Intel赛扬Ⅲ以上,建议Intel PentiumⅢ以上

内存:32M以上,建议64M以上

操作系统:Windows2005以上,IE5.0以上版本

相关文档
最新文档