爱在莫斯科 发表于 2015-8-25 12:32:20

课程设计之"网络考试系统"(php、Extjs)

  1.TestSystem大概结构框图

  2.数据库设计(11张表)
  数据库名称:db_testsystem
  数据库表:
  tb_admin          记录题库管理员帐户信息

代码

DROP TABLE IF EXISTS `db_testsystem`.`tb_admin`;
CREATE TABLE`db_testsystem`.`tb_admin` (
`adm_login` varchar(20) NOT NULL,
`adm_name` varchar(10) NOT NULL,
`adm_id` varchar(20) NOT NULL,
`adm_password` varchar(20) NOT NULL,
`adm_sex` varchar(2) NOT NULL,
`adm_address` varchar(50) NOT NULL,
`adm_register` datetime NOT NULL,
`adm_select` varchar(1) NOT NULL,
PRIMARY KEY (`adm_login`,`adm_id`),
UNIQUE KEY `adm_login` (`adm_login`),
UNIQUE KEY `adm_name` (`adm_name`),
UNIQUE KEY `adm_id` (`adm_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;  tb_allcontent        记录随机抽取题目的内容

代码

DROP TABLE IF EXISTS `db_testsystem`.`tb_allcontent`;
CREATE TABLE`db_testsystem`.`tb_allcontent` (
`sty_style` tinyint(4) NOT NULL,
`con_number` int(11) NOT NULL,
`con_content` varchar(1000) NOT NULL,
`con_answer` varchar(1000) NOT NULL,
`con_hard` varchar(10) NOT NULL,
`con_score` int(11) NOT NULL,
`con_kind` varchar(10) NOT NULL,
`con_select` varchar(1) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`con_time` datetime NOT NULL,
PRIMARY KEY (`sty_style`,`con_number`),
KEY `sty_style` (`sty_style`) USING BTREE,
KEY `con_number` (`con_number`) USING BTREE
) ENGINE=MyISAM DEFAULT CHARSET=utf8;  tb_answer          记录考生答卷的答案

代码

DROP TABLE IF EXISTS `db_testsystem`.`tb_answer`;
CREATE TABLE`db_testsystem`.`tb_answer` (
`stu_login` varchar(20) NOT NULL,
`pap_number` int(11) NOT NULL,
`sty_style` tinyint(4) NOT NULL,
`con_number` int(11) NOT NULL,
`tes_number` tinyint(4) NOT NULL,
`ans_answer` varchar(1000) DEFAULT NULL,
`ans_score` smallint(6) DEFAULT NULL,
`tea_login` varchar(20) DEFAULT NULL,
PRIMARY KEY (`sty_style`,`pap_number`,`con_number`,`stu_login`) USING BTREE,
KEY `stu_login` (`stu_login`) USING BTREE,
KEY `tea_login` (`tea_login`) USING BTREE
) ENGINE=MyISAM DEFAULT CHARSET=utf8;  tb_paper          记录随机产生的试卷

代码

DROP TABLE IF EXISTS `db_testsystem`.`tb_paper`;
CREATE TABLE`db_testsystem`.`tb_paper` (
`pap_number` int(11) NOT NULL,
`pap_subject` varchar(20) NOT NULL,
`adm_login` varchar(20) NOT NULL,
`pap_time` datetime NOT NULL,
`pap_write` varchar(1) NOT NULL,
`pap_select` varchar(1) NOT NULL,
PRIMARY KEY (`pap_number`),
UNIQUE KEY `pap_number` (`pap_number`),
KEY `adm_login` (`adm_login`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;  tb_parameter        记录客户登录的ip及帐户等附加信息

代码

DROP TABLE IF EXISTS `db_testsystem`.`tb_parameter`;
CREATE TABLE`db_testsystem`.`tb_parameter` (
`par_id` int(11) NOT NULL AUTO_INCREMENT,
`par_descript` varchar(20) DEFAULT NULL,
`par_time` datetime DEFAULT NULL,
`par_ip` varchar(20) DEFAULT NULL,
PRIMARY KEY (`par_id`)
) ENGINE=InnoDB AUTO_INCREMENT=230 DEFAULT CHARSET=latin1;  tb_record          记录各个题目的题型、数量

代码

DROP TABLE IF EXISTS `db_testsystem`.`tb_record`;
CREATE TABLE`db_testsystem`.`tb_record` (
`pap_number` int(11) NOT NULL,
`sty_style` tinyint(4) NOT NULL,
`rec_content` varchar(1000) NOT NULL,
`rec_number` tinyint(4) NOT NULL,
`rec_score` smallint(6) NOT NULL,
`rec_kind` varchar(10) NOT NULL,
`sty_number` tinyint(3) DEFAULT NULL,
PRIMARY KEY (`pap_number`,`sty_style`),
KEY `sty_style` (`sty_style`),
KEY `pap_number` (`pap_number`) USING BTREE
) ENGINE=MyISAM DEFAULT CHARSET=utf8;  tb_selfanswer        记录考生自测的答案

代码

DROP TABLE IF EXISTS `db_testsystem`.`tb_selfanswer`;
CREATE TABLE`db_testsystem`.`tb_selfanswer` (
`stu_login` varchar(20) NOT NULL,
`pap_number` int(11) NOT NULL,
`sty_style` tinyint(4) NOT NULL,
`con_number` int(11) NOT NULL,
`tes_number` tinyint(4) NOT NULL,
`ans_answer` varchar(1000) DEFAULT NULL,
`ans_score` smallint(6) DEFAULT NULL,
PRIMARY KEY (`sty_style`,`pap_number`,`con_number`,`stu_login`) USING BTREE,
KEY `stu_login` (`stu_login`) USING BTREE
) ENGINE=MyISAM DEFAULT CHARSET=utf8;  tb_student          记录考生帐户信息

代码

DROP TABLE IF EXISTS `db_testsystem`.`tb_student`;
CREATE TABLE`db_testsystem`.`tb_student` (
`stu_login` varchar(20) NOT NULL,
`stu_name` varchar(10) NOT NULL,
`stu_id` varchar(20) NOT NULL,
`stu_password` varchar(20) NOT NULL,
`stu_sex` varchar(2) NOT NULL,
`stu_address` varchar(50) NOT NULL,
`stu_register` datetime NOT NULL,
`stu_select` varchar(1) NOT NULL,
PRIMARY KEY (`stu_login`,`stu_id`),
UNIQUE KEY `stu_login` (`stu_login`),
UNIQUE KEY `stu_name` (`stu_name`),
UNIQUE KEY `stu_id` (`stu_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;  tb_style          记录题目类型

代码

DROP TABLE IF EXISTS `db_testsystem`.`tb_style`;
CREATE TABLE`db_testsystem`.`tb_style` (
`sty_style` tinyint(4) NOT NULL,
`sty_name` varchar(10) NOT NULL,
`sty_select` varchar(1) NOT NULL,
`sty_content` varchar(1000) NOT NULL,
`sty_number` tinyint(3) unsigned NOT NULL,
`sty_score` smallint(5) unsigned NOT NULL,
PRIMARY KEY (`sty_style`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;  tb_teacher          记录改卷老师帐户信息

代码

DROP TABLE IF EXISTS `db_testsystem`.`tb_teacher`;
CREATE TABLE`db_testsystem`.`tb_teacher` (
`tea_login` varchar(20) NOT NULL,
`tea_name` varchar(10) NOT NULL,
`tea_id` varchar(20) NOT NULL,
`tea_password` varchar(20) NOT NULL,
`tea_sex` varchar(2) NOT NULL,
`tea_address` varchar(50) NOT NULL,
`tea_register` datetime NOT NULL,
`tea_select` varchar(1) NOT NULL,
PRIMARY KEY (`tea_login`,`tea_id`),
UNIQUE KEY `tea_login` (`tea_login`),
UNIQUE KEY `tea_name` (`tea_name`),
UNIQUE KEY `tea_id` (`tea_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;  tb_testpaper        记录随机产生的考试试卷内容

代码

DROP TABLE IF EXISTS `db_testsystem`.`tb_testpaper`;
CREATE TABLE`db_testsystem`.`tb_testpaper` (
`pap_number` int(11) NOT NULL,
`sty_style` tinyint(4) NOT NULL,
`con_number` int(11) NOT NULL,
`tes_number` tinyint(4) NOT NULL,
PRIMARY KEY (`pap_number`,`sty_style`,`con_number`),
KEY `sty_style` (`sty_style`,`con_number`),
KEY `pap_number` (`pap_number`) USING BTREE
) ENGINE=MyISAM DEFAULT CHARSET=utf8;  3.文件大致安排和管理
  TestSystem---admin(题库管理)---add_admin---add_admin.js      Extjs界面
                        ---delete_admin.php    删除
                        ---read_admin.php     读取
                        ---search_adm_login.php  搜索帐户
                        ---search_adm_name.php  搜索名字
                        ---update_admin.php    更新帐户信息
  ---add_student--....
  ---add_style---....
  ---bar.gif
  ---charts.js
  ---charts.swf
  ---add_teacher---....
  ---add_homepage---show_admin.php
  ---show_rules.html
  ---insert---....
  ---new_paper---....
  ---old_paper---....
  ---add_admin.php
  ---add_student.php
  ---add_style.php
  ---add_style_number.php
  ---add_teacher.php
  ---admin.js
  ---homepage.php
  ---insert.php
  ---new_paper.php
  ---old_paper.php
  ---login(登录)---....
  ---public(公用库)---ext
  ---pictures
  ---add_pictures.css    图标等
  ---PagingMemoryProxy.js Extjs一次性分页用
  ---RowExpander.js     题目显示展开用
  ---SliderTip.js       滑动分页用
  ---SlidingPager.js     滑动分页用
  ---register(注册)---...
  ---student(考试)---....
  ---student_self(自测)---....
  ---teacher(改卷)---....
  ---admin.php
  ---login.html
  ---register.php
  ---student.php
  ---student_self
  ---teacher
  
  
  
  4.系统运行及功能








  
  5. 心得总结
  5.1 设计在整个系统形成非常重要。
  5.2 在命名规范性要统一
  5.3 在设计系统时,要学会以界面、业务、数据库操作、数据库这样的形式进行设计和编码。
  6. 不足之处
  6.1 由于课程设计是自己对自己定立需求,把握度不够好。
  6.2 数据库的设计不够好,联系太多
  6.3 设计的整体思路不够清晰,不能完全把握
  6.4 不懂得为各个功能模块建立相应的模型
  6.5 自己太懒,课程设计结束期,该重构的懒得重构,数据库该建立触发器的地方懒得建立,该建立储存过程也懒得做。
  7. 感悟
  7.1 与人合作时,得承认每个人都有隋性
  7.2 大道至简中的道理应该好好领悟
  7.3 模式建立的重要性影响到未来发展的方向
页: [1]
查看完整版本: 课程设计之"网络考试系统"(php、Extjs)