QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1283|回复: 1

[PSS]我的PSS的考试系统规划

[复制链接]
发表于 2003-9-27 17:19:16 | 显示全部楼层 |阅读模式
规划:

数据库,分为5个表:
1 主表:记录所有题目的 标题,题型,分类,总编号,客主观题,关键词,分值,所在表,所在表的编号。
主要是方便管理。

create table main_table
(
title                varchar(513) not null, --标题
type                char(129) not null,    --题型
class                char(51) not null,     --分类(可以用数字代替,但需要多出一个表存类名)
ID                int unsigned,          --总编号
tive                boolean,               --主观题还是客观题(不明白有什么用处……也不知道用什么单词)
phrase                varchar(401),          --关键词(应该需要代码的进一步处理)
point                smallint unsigned,     --分值(small够了吧?)
intable                char(201) not null,    --所在表的名称
table_ID        int unsigned           --所在表的编号,和所在表名称在一起就可方便找到这个题
)

2 选择题表,储存单选和多选题,记录题目的 标题,分类,总编号,所在表的编号,题目内容,选择项,答案,分值,单选或多选。

create table choose_table
(
title                varchar(513) not null, --标题
class                char(51) not null,     --分类
ID                int unsigned,          --总编号
table_ID        int unsigned           --所在表的编号,和所在表名称在一起就可方便找到这个题
question        text                   --题目内容,65535个字符,应该够了……
choose_item     text                   --所有的选项都放到一起,用一定的字符分格,用explode()拆分
answer          varchar(20)            --只保存正确答案的选项
point           smallint unsigned      --分值
muti            tinyint                --是否多选,有BOOL类型吗?
)

3 判断题表:记录题目的 标题,分类,总编号,所在表的编号,题目内容,答案,分值。

create table choose_table
(
title                varchar(513) not null, --标题
class                char(51) not null,     --分类
ID                int unsigned,          --总编号
table_ID        int unsigned           --所在表的编号
question        text                   --题目内容
answer          varchar(20)            --正确答案
point           smallint unsigned      --分值
)

4 简答题表:标题,分类,总编号,所在表的编号,题目内容,答案。

create table choose_table
(
title                varchar(513) not null, --标题
class                char(51) not null,     --分类
ID                int unsigned,          --总编号
table_ID        int unsigned           --所在表的编号
question        text                   --题目内容
answer          varchar(20)            --正确答案
)

模块:
分为:数据库部分、主模块、界面部分。

1 数据库部分:

进行对数据库的操作,所有的数据库读写均由这个模块来完成。
不管数据如何存储,只要能正确返回需要的数据就行了。
返回数据采用一维数组。

2 主模块:

所有的运算均由本模块处理,返回值可以直接显示。
判断正误,进行计分,读取题目……
尽量把所有的运算工作全放这里。

3 显示部分:

显示各种信息,尽量减少PHP的代码,尽量不进行运算。
争取只调用主模块一次,其余的语句均为echo语句。

细分为:

1 主页:进行题目选择的界面

2 答题界面:进行答题的页面,并且显示正误。

3 管理&提交新题界面:进行管理和提交新题的界面。

我只有这么多件见解……
发表于 2003-9-27 22:53:24 | 显示全部楼层
不错啊!

我这几天公司的事情比较忙,没有早点把自己的设计传上来。等会我将结合你的设计和我的设计整理出一份协作开发文档传上来。明天报名参加本项目的朋友就可以认领模块开发任务了。开发中的问题可以随时进行交流。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-16 09:41 , Processed in 0.071118 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表