• 课程设计之"网络考试系统"(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(20NOT NULL,
      `adm_name` 
    varchar(10NOT NULL,
      `adm_id` 
    varchar(20NOT NULL,
      `adm_password` 
    varchar(20NOT NULL,
      `adm_sex` 
    varchar(2NOT NULL,
      `adm_address` 
    varchar(50NOT NULL,
      `adm_register` 
    datetime NOT NULL,
      `adm_select` 
    varchar(1NOT 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(4NOT NULL,
      `con_number` 
    int(11NOT NULL,
      `con_content` 
    varchar(1000NOT NULL,
      `con_answer` 
    varchar(1000NOT NULL,
      `con_hard` 
    varchar(10NOT NULL,
      `con_score` 
    int(11NOT NULL,
      `con_kind` 
    varchar(10NOT NULL,
      `con_select` 
    varchar(1CHARACTER 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(20NOT NULL,
      `pap_number` 
    int(11NOT NULL,
      `sty_style` 
    tinyint(4NOT NULL,
      `con_number` 
    int(11NOT NULL,
      `tes_number` 
    tinyint(4NOT NULL,
      `ans_answer` 
    varchar(1000DEFAULT NULL,
      `ans_score` 
    smallint(6DEFAULT NULL,
      `tea_login` 
    varchar(20DEFAULT 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(11NOT NULL,
      `pap_subject` 
    varchar(20NOT NULL,
      `adm_login` 
    varchar(20NOT NULL,
      `pap_time` 
    datetime NOT NULL,
      `pap_write` 
    varchar(1NOT NULL,
      `pap_select` 
    varchar(1NOT 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(11NOT NULL AUTO_INCREMENT,
      `par_descript` 
    varchar(20DEFAULT NULL,
      `par_time` 
    datetime DEFAULT NULL,
      `par_ip` 
    varchar(20DEFAULT 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(11NOT NULL,
      `sty_style` 
    tinyint(4NOT NULL,
      `rec_content` 
    varchar(1000NOT NULL,
      `rec_number` 
    tinyint(4NOT NULL,
      `rec_score` 
    smallint(6NOT NULL,
      `rec_kind` 
    varchar(10NOT NULL,
      `sty_number` 
    tinyint(3DEFAULT 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(20NOT NULL,
      `pap_number` 
    int(11NOT NULL,
      `sty_style` 
    tinyint(4NOT NULL,
      `con_number` 
    int(11NOT NULL,
      `tes_number` 
    tinyint(4NOT NULL,
      `ans_answer` 
    varchar(1000DEFAULT NULL,
      `ans_score` 
    smallint(6DEFAULT 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(20NOT NULL,
      `stu_name` 
    varchar(10NOT NULL,
      `stu_id` 
    varchar(20NOT NULL,
      `stu_password` 
    varchar(20NOT NULL,
      `stu_sex` 
    varchar(2NOT NULL,
      `stu_address` 
    varchar(50NOT NULL,
      `stu_register` 
    datetime NOT NULL,
      `stu_select` 
    varchar(1NOT 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(4NOT NULL,
      `sty_name` 
    varchar(10NOT NULL,
      `sty_select` 
    varchar(1NOT NULL,
      `sty_content` 
    varchar(1000NOT 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(20NOT NULL,
      `tea_name` 
    varchar(10NOT NULL,
      `tea_id` 
    varchar(20NOT NULL,
      `tea_password` 
    varchar(20NOT NULL,
      `tea_sex` 
    varchar(2NOT NULL,
      `tea_address` 
    varchar(50NOT NULL,
      `tea_register` 
    datetime NOT NULL,
      `tea_select` 
    varchar(1NOT 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(11NOT NULL,
      `sty_style` 
    tinyint(4NOT NULL,
      `con_number` 
    int(11NOT NULL,
      `tes_number` 
    tinyint(4NOT 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 模式建立的重要性影响到未来发展的方向

  • 相关阅读:
    前端使用crypto.js进行加密
    浅谈 Angular 项目实战
    YAML快速入门
    Preloading Your ASP.NET Applications
    ETL利器Kettle实战应用解析系列一【Kettle使用介绍】
    HBase
    hdfs知识点《转》
    Flume概念与原理、与Kafka优势对比《转》
    scrapy 快速入门
    比较好的算法网站
  • 原文地址:https://www.cnblogs.com/yongfeng/p/1742076.html
Copyright © 2020-2023  润新知