一 引言... 1
1. BBS的发展历史... 1
2. BBS简介... 2
3. 我们的BBS系统――以太在线... 3
二 需求分析... 4
1. 业务分析... 4
2. 系统基本功能描述... 6
(1)需求分析... 6
(2)数据流图与数据加工... 7
(3)数据词典... 15
三 系统的总体设计... 18
1. 功能模块设计... 18
2. 系统的菜单设计... 23
(1)服务系统的菜单设计... 23
(2)管理系统的菜单设计... 24
3. 系统配置要求... 25
(1)设备... 25
(2)支持软件... 25
(3)运行环境... 26
4. 数据库设计... 27
(1)概念结构设计... 27
(2)逻辑设计... 28
(3)数据表设计:... 30
(4)创建视图... 32
四 详细设计... 33
1. 开发工具的选择... 33
(1)Dreamweaver简介... 33
(2)Java Server Page简介... 34
(3) SQL server 2000简介... 36
2. 系统功能模块详细设计... 37
(1)用户登录模块... 37
(2)讨论区主页模块... 39
(3)文章服务模块... 42
(4)个人信息管理模块... 48
(5)信件服务模块... 50
(6)用户信息注册模块... 53
五 系统实现与测试... 55
1. 系统实现... 55
(1)用户登录模块实现... 56
(2)用户注册模块实现... 57
2. 系统测试... 59
(1) 用户登录模块测试... 59
(2)用户注册模块测试... 60
六 小结与展望... 64
附录... 65
致谢... 65
参考文献... 66
一 引言
作为一种全新的个人和团体远程通信手段,PC BBS在国外已经走过了几十年的历程. BBS系统最初是为了给计算机爱好者提供一个互相交流的地方。
1. BBS的发展历史
1978年在美国芝加哥开发出一套基于8080芯片的/Chicago(Computerized Bulletin Board System/Chicago),此乃最早的一套BBS系统;之后随着苹果机的问世,开发出基于苹果机的Bulletin Board System和大众信息系统(People,s Message System)2种BBS系统。1981年IBM个人计算机诞生时,并没有自己的BBS系统。直到1982年,Buss Lane 才用Basic语言为IBM个人计算机编写了一个BBS原型程序。其后经过几番增修,在1983年通过Capital PC User Group(CPCUG)的Communication Special Interest Group会员的努力,改写出了个人计算机系统的BBS。经Thomas Mach整理后,终于完成了个人计算机的第1版BBS系统——RBBS-PC。这套BBS系统的最大特色是其源程序全部公开,有利于日后的修改和维护,因此后来在开发其他的BBS系统时都以此为框架,所以RBBS-PC赢得了BBS鼻祖的美称。
但在当时,站与站之间的联系问题并未解决。1984年美国的Tom Jonning开发了一套具有电子功能的电子公告板程序FIDO。由于该软件具有站际连线和自动互传信息的功能,所以站际间彼此可以在一个***同的预定时间传送电子邮件,使得BBS网络化有了一线生机。
BBS发展至今,目前世界上业余的BBS网络除了FidoNet(惠多网)以外,较具知名度的还有EggNet、AlterNet和RBBS-Net等等。由于这些网络和FidoNet之间的信息交流不成问题,这就实现了所谓的跨网。
四 详细设计
1. 开发工具的选择
我们能已经说明,BBS系统的开发涉及到页面设计和网页编程,在网页设计上我们选择使用Macromedia公司的Dreamweaver MX 2004;而对于网页中的服务器脚本语言编程,我们选择使用JSP(Java Server Page)+Javabean(具体理由我们将下面陈述),并应用Java开发工具JBuilder开发JSP和Javabean。而后台数据库的设计,我们选用大型数据库软件――SQL Server 2000。
1. 系统实现
系统编码实现按照详细设计中的功能模块进行如下(由于BBS系统是以网页形式实现所以程序代码是以HTML为主,中间嵌入JSP脚本语言代码)。系统的全部程序代码比较长,我们将以附录的形式提交,在这里我们只选取其中几段代码进行说明。
(1)用户登录模块实现
登录实现文件:index.Jsp
<%@ page contentType="text/html; charset=gb2312" %>//转换中文字符的编码
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>欢迎进入以太在线BBS</title>
<style link type="text/css">
</style>
</head>
<body>
<%
String id=request.getParameter("id");
session.putValue("theid",id);
String pwd=request.getParameter("pw");
//为用户ID创建一个全局变量
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//加载数据库驱动
Connection con=DriverManager.getConnection("jdbc:odbc:yitai","sa","tbontb");
//指定数据源
Statement stmt=con.createStatement();//建立与数据库的连接
ResultSet rs=stmt.executeQuery("SELECT * FROM users WHERE userid='"+id+"'");
//执行SQL语句,设定结果集
if(!rs.next()){
out.println("错误,没有该用户!!!");
%>
<font><a href="index.html" class="style2">快速返回</a></font>
<%
}
else if(!pwd.equals(rs.getString("passwd"))){
out.println("密码错误");
%>//检验用户id和用户密码是否有误,错误提示如下图
<font><a href="index.html" class="style2">快速返回</a></font>