[JAVA考试系统]项目总结



ITOO项目共分为两个方向:JAVA、.NET。

而考试系统又是JAVA方向中,业务逻辑最为复杂的一个。

在被‘考试系统‘坑了‘100天‘以后,我仍然期盼能得到一个相对完美的结局。

项目开发周期:

11.10-01.27:参与ITOO1.0考试系统开发

01.28-02.16:担任ITOO2.0考试系统组长

第一次迭代

主要以:需求确定、原型设计、实体设计,为主。项目的开发只是涉及到单表的CRUD。

(一)需求和原型的设计

  立足于去年.NET的考试系统。这样的做法有利有弊:

1、利

  通过运行的系统,直观了解考试系统已有的需求,上手快

  通过去年产品经理对考试系统的展望,立足于用户体验,为JAVA版考试系统提供了建设性的意见

2、弊

  受到已有设计思路的禁锢。往期的开发人员更加肯定已有的需求、原型设计的认知。而新的开发人员主要通过点击已有项目来了解需求,接受往期开发人员的催眠。

  在探讨阶段尽可能的向产品经理展望的角度来设计,但是却受到往期开发人员"是否能实现?数据量?性能"的阻挠。

(二)实体设计

关于业务逻辑的实体也就20个左右,而各式各样题型的处理,却是占了70%的比重。

   所以,引入了"大题型类"和"题型类"的概念(如图所示)。以实体结构相同的作为同一种"题型类"作为划分。且相同实体结构的题型的页面展示方式是相同的。

详细请参加‘第二次迭代‘之设计思路的改进。

第二次迭代

迎送了一个‘盛试‘时代,马上面临就是下一个‘盛试‘。

(一)高度、心态、百家争鸣    

    任谁都知道‘考试系统‘是最具有难度的!此难度并非在于技术的实现,而在于产品经理对考试系统的种种期待,更包含了面对如何多刁难的客户,产品经理以一敌百的血腥场面,所带来背后的支持。因为害怕达不到产品经理的高度,而望之却步的一种责任!更多的是怕您失望! 

    可能是因为我们的目光短浅尚且达不到您的高度!既然选择了这里,就要100%的相信!

    跟随着一期,一路摸爬滚打,也渐渐对这种码农的开发模式渐渐产生了倦意,甚至是抵触。总是想着停下脚步,追一追进度,又或者学习底层的设计思路、公共模块的知识拓展。却不知道,正是在这种‘思维的切换过程中‘,消耗了大部分的时间和精力。

    二期的开发人员大多都是从.NET考试挖墙脚过来的,所以对于业务的理解方面具有一定的优势。从某种角度而言,也带来另一种的设计理念。当两种设计思路出现出入的时候,出现‘百家争鸣‘的场面是必然的。正是这种‘百家争鸣‘的场面,也让考试系统取长补短,而争鸣的百家自是受益匪浅!所以,同样感谢你们。

(二)设计思路的改进    

于2015年2月07日晚上7:40正式开始,10:00结束

本次争论,主要从集中两点:1)考试配置;2)题库设计

1、考试配置

    核心:考试-->考场-->考生-->试卷/模板,一路绑定

    JAVA先前的设计思路:前一个实体绑定后一个实体后,生成第三张表的自增ID,后绑定下一个实体,以此类推。见图1

    从‘实体设计‘角度考虑,是缺乏灵活性的。打个比方来说,如果我现在要交换‘考生‘和‘试卷‘的绑定顺序[考试-->考场-->试卷/模板-->考生],那么已有的实体设计思路是满足不了这种要求的。

    所以,为了增加‘实体设计‘的灵活性,见图2。

(图1)

(图2)

(二)题库设计

1、JAVA版考试已有的设计思路:

   所以,引入了"大题型类"和"题型类"的概念(如图所示)。以实体结构相同的作为同一种"题型类"作为划分。且相同实体结构的题型的页面展示方式是相同的。

特点:通过‘大题型类‘来管理‘题型类‘

利:若新增的"题型类"的表结构已经存在,则直接利用已有逻辑代码可以实现,不需要增删改查。

弊:若新增的"题型类"的表结构不存在,则需要新增加代码来处理。

2、.NET版考试系统的设计思路:将所有题型的所有属性,汇总到一个实体中。

特点:将题型中所有可能用到的属性,都汇总到一个实体中

利:通过页面控件的拖拖拽拽,可以动态的生成一种新题型

弊:数据库字段设计冗余;若‘新题型‘中的字段在这个大实体的属性之外,同样面临着改动代码的问题。这不过不仅仅是增加代码,而是需要CRUD.

相比较而言,两种设计思路上,同样体现了不足:

    JAVA版在面临添加新题型时,需要增加代码

    .NET面临同样问题时,却面临着改动实体、改动代码的严峻考验

    如何使得在不改变原有代码基础上,动态加入新题型[已实现],已经相应的业务逻辑以及显示方式[难点],已经成为考试的一个瓶颈。

终于走到了,文章的末尾。

我想告诉你:

    谢谢考试系统的小伙伴们的陪伴。因为思维的碰撞远比闭门造车要有益。

    项目功能的结束固然重要,但是‘团队‘更加重要!

    考试系统,你一定要好好的。



时间: 2024-10-12 20:19:33

[JAVA考试系统]项目总结的相关文章

java电话计费系统

每天记录学习,每天会有好心情.*^_^* 最近了解了基于web的java电话计费系统项目,在这个平台记录一下这个基于web的java电话计费系统项目,方便以后再次使用或学习的时候能够及时的翻阅.在完成基于web的java电话计费系统项目的时候,考虑了很多框架.最终决定选用SSM(MYECLIPSE),该框架具有极强的移植性,多平台性,便于操作性等优点.此框架能在MYECLIPSE开发工具中完美的编写和运行,基于web的java电话计费系统为一个 后台项目.采用当前非常流行的B/S体系结构,以JA

java web项目优化记录:优化考试系统

考试系统在进行压力测试时发现,并发量高之后出现了按钮无反应,试题答案不能写到数据库的问题,于是针对这些核心问题,进行了优化. 数据库方面: Select语句:Select * from TEB_VB_XZTRecord改为select 必须的列 form TEB_VB_XZTRecord,之前看的教学视频里就讲过最好别用*,由于查询了不必要的列,所以导致了低效率. insert优化:考试业务的原因,需要把查询出来的试题,一条条的插入到数据库中.优化前:循环+每次插入一条的insert语句.优化后

Java小项目之:在线测评考试系统

Java小项目之:在线测评考试系统,让你可以在家考科一!今天带来的java小项目是一套在线测评考试系统,题库是科目一的.不仅可以在家练练java技术,还可以边学习学习科目一,一举两得.界面介绍:开始.分数.考试规则.离开,四个选项.还有很多题库可以选择,可以私信我!代码展示:package service; import java.util.ArrayList; import java.util.List; import java.util.Random; import util.Config;

Java实验项目二——小学生考试系统(简单四则运算)

Program:设计实现一个小学生数学考试系统,完成随机出题(简单的四则运算),学生答题,自动判分的功能. Description:代码如下: 1 /* 2 * Description:面向考试系统建立类TestSystem 3 * 4 * */ 5 6 package entity; 7 8 public class TestSystem { 9 10 private int num1; //声明两个操作数 11 private int num2; 12 private String oper

小项目 在线考试系统

mysql+ myeclipse 开发的在线考试系统 无登陆注册,去模拟实现计算机网络考试系统 http://jkx.cxtc.edu.cn/ks/ 浏览即可开始答题 提交后即可以看到答案. 现在的项目没有记分过程,没有将用户的答题记录回显. 框架  仅运用了Hibernate框架对数据库操作的简便. 随机取n条信息语句方面 List<Parper> list= session.createQuery("from Parper order by rand()").setFi

在线考试系统商业项目

本系统是专门针对各种培训机构,学校,政府行政事业单位,入学考试,课程测试训练等需求开发的在线考试系统,可以在线出题(支持Excel批量试题导入导出,支持试卷图片上传下载),在线考试(支持做题模式,背题模式,可以查看答案及解析,真题模式,考试模式,设置考试时间倒计时,到时自动交卷),自动阅卷(交卷自动统计分数,类似考驾照),题型支持单选题,多选题,判断题,问答题等:项目包含学生考试的前台及管理人员出题,权限及管理的后台2部分,项目功能完善,本系统已在多家大型机构上线使用,系统采用jsp,ssh,e

Jigsaw 项目:Java 模块系统新手引导

前言 随着 2017 年 10 月 Java 9 的发布,Java 能够使用模块系统了,但是中文互联网上的资料太少,许多关于 Java 模块系统的文章都只是介绍了模块系统的好处,或者给了一些毫无组织的代码片段,新手在第一次使用模块系统时往往不知道如何下手. 好在 OpenJDK 官方文档给出了一个很详细的新手引导,即使是从没使用过模块系统的人,按照新手引导也能完成自己的第一个 Java 模块.我在这里只是将其翻译成中文(英语水平有限,如有纰漏,欢迎指出),希望更多人能学会如何使用模块系统,加速

JAVA英语在线考试系统

在计算机技术.Internet技术迅猛发展形势的推动下,传统的办学有了新的模式.传统的考试方式时间长.效率低.同时人工阅卷等主观因素也影响到考试的公正性.随着网络技术在教育领域应用的普及,应用现代信息技术的网络在线考试系统呈现出了越来越多的优势.使教学朝着信息化.网络化.现代化的目标迈进.这种无纸的网络考试系统,是考务管理突破时空限制,提高考试工作效率和标准化水平,使教育机构的管理者.教师和学生可以在任何时候.任何地点通过网络进行考试.网络在线考试系统已经成为教育技术发展与研究的方向. 随着科技

基于JSP的在线考试系统-JavaWeb项目-有源码

开发工具:Myeclipse/Eclipse + MySQL + Tomcat 系统简介: 网络考试系统主要用于实现高校在线考试,基本功能包括:自动组卷.试卷发布.试卷批阅.试卷成绩统计等.本系统结构如下:(1)学生端: 登录模块:登录功能: 网络考试模块:可参加考试,并查看考试结果,提交试卷后老师允许的情况下查看错题:(2)超级管理员端: 登录模块:实现管理员登录功能: 用户管理模块:实现用户信息的增加.修改.查看功能: 角色权限管理模块:实现角色的增加.修改.查看功能: 试卷管理模块:实现试