FREEWAY论坛系统概要设计说明书
4 接口设计
4.1 外部接口设计
4.1.2 界面接口
? 帖子列表界面
接收板块列表页面(index.jsp)传递参数fid=forum_id, 调用showNotes()方法显示相应板块的主题,
点击任何一个主题,将参数tid=note_id作为参数传递到主题页面。主题页面接受参数并根据参数显示相应的主题。
点击发表主题,传递参数action = publish 到 edit.jsp页面。
? 发布/修改/回复页面。
第 7 页 共 13 页
FREEWAY论坛系统概要设计说明书
接收参数action ,根据action的不同,作出不同的响应。 action = edit 的时候,返回要修改的帖子
输入响应内容后,按发表 则把所输入内容作为参数传递到edit_hidden界面。
4.2.2 软件接口
选择winnt操作系统。选择后台数据库为oracle。选用web服务器为tomcat,resin,weblogic等等。
4.2.3 硬件接口
单片P4 2.4处理器+1G内存+160Gscis硬盘。
4.2 内部接口设计
参见第3部分
5 数据结构设计
5.1 公共数据结构设计
为了保护数据,所有永久数据对应的变量都被设置为私有变量。同时为了记录在线人数,使用全局变量OnlineUser 其类型为HashTable类型,当有游客或者用户访问论坛的时候把用户的sessionid加入OnlineUser。30秒中之后如果用户没有刷新,则把该用户的sessionid从Hashtable里移除。
第 8 页 共 13 页
FREEWAY论坛系统概要设计说明书
5.2 数据库说明
5.2.1 用户表
字段名 user_id password username sex birthday telephone address head_index user_attribute publish_times login_date 类型、初始值 varchar(24) not null varchar(12) not null varchar(24) not null varchar(2) not null varchar(16) varchar(16) varchar(64) smallint Smallint not default(0), smallint not default(0) datetime not default today() 说明 用户ID用来唯一标示用户身份 用户密码 用户昵称 用户性别 用户生日 用户电话 用户地址 用户头像图象的索引 null 用户属性 null 发表文章次数 null 注册日期定义 其中 user 为主键。
user_atribute的值为0代表普通用户,1为版主,2为超级版主,3为管理员。
5.2.2 论坛表
字段名 noteID forum_name note_number topic_number last_publisher 类型、初始值 说明 smallint not null 子论坛ID,用来唯一标识论坛 default autoincrement varchar(20) not null smallint not default 0 smallint not default 0 varchar(24) null 子论坛名称 null 子论坛内包含的帖子数 null 子论坛内包含的主题数 子论坛的最后回复者 null 最后回复时间 对子论坛的描述 null 子论坛创建日期 null 子论坛是否封闭 last_publish_time datetime not default today() forum_discription varchar(64) null build_date locked 主键为 noteID。
datetime not default today() smallint default 0 not 第 9 页 共 13 页
FREEWAY论坛系统概要设计说明书
5.2.3 公告表
字段名 notice_id notice_title 字段名 notice_time 主键为notice_id
类型、初始值 说明 Smallint not null default 公告ID用来唯一标识通知 autoincrement varchar(64) NULL 类型、初始值 datetime not null now() 公告名称 说明 公告内容 公告发布时间 notice_content varchar(256) NULL 5.2.4 帖子表
字段名 note_id forum_id revert_id 类型、初始值 Smallint NOT NULL DEFAULT AUTOINCREMENT, Smallint NOT NULL, Smallint NOT NULL DEFAULT(0), varchar(255) NOT NULL, varchar(4096) NOT NULL, 说明 帖子ID,用来唯一标识帖子 帖子所在子论坛的id 如果帖子是回复,则revert_id的值为它回复帖帖子的id,为0的话表示这个帖子是一个主题 帖子名称 帖子内容 note_name note_content publish_date note_author click_times revert_times is_show_sign note_picture last_revert_time is_topped is_locked is_essence 主键为note_id
Datetime NOT NULL 帖子发表时间 default NOW(), varchar(24) NOT NULL, 帖子的作者 Smallint NOT NULL DEFAULT(0), Smallint NOT NULL DEFAULT(0), Smallint NULL, 帖子被查看的次数 帖子被回复的次数 是否显示作者的签名 最后回复者的ID 最后回复的时间 是否被置顶 帖子是否被锁。 帖子是否为精华 varchar(20) NOT NULL, 帖子的表情符号 Datetime NULL, Smallint not null default(0), smallint not null default(0), smallint not null default(0), last_revert_userid varchar(24) NULL, 第 10 页 共 13 页
FREEWAY论坛系统概要设计说明书
5.2.5 版主任职记录表
字段名 user_id forum_id 类型、初始值 varchar(24) not null Smallint not null 说明 版主在论坛的id 用户是哪一个论坛的版主 主键为:(user_id, forum_id)
5.2.6 短信息表
字段名 Message_id Sender Receiver Message_content Send_time Is_read 主键为 message_id。
类型、初始值 Int not null auto increment varchar(24) not null varchar(24) not null Varchar(4096) not null Date not null now() Boolean not null default 0 说明 短信的id 发信人 收信人 短信内容 发信时间 标记是否已经读过 5.3 数据结构同程序的关系
使用了HashTable,定义了HashTable类型的全局变量,在所有页面中存在。当用户进行任何操作时,在所有程序都要通过此全局变量判断用户的Session有没有过期。
第 11 页 共 13 页