结对编程之中小学数学卷子自动生成程序互评

---恢复内容开始---

一、项目实现语言

Java

二、项目用到模块

1. GUI:

  所有操作支持窗口化模式

2. 多线程:

  每个窗口由一个线程驱动,可以通过一个登陆界面,登陆多个账户,然后多个账户同时运行

  每个账户的操作界面和后台生成界面是由不同的线程驱动,所以每个用户可以同时生成好多份试卷

3. 试题查重:

  采用字符串哈希技术,高精度确保试题不重复

三、项目流程图

四、项目实现的需求

1、已实现:

  (1)账户登陆:对账户输入用户名、密码的匹配判断,不匹配的正确提示。

  (2)题目数目:用户登陆后,对输入题目生成数范围是否合法的检测,不合格的正确提示。

  (3)题目切换:用户登陆后,对出题年级的切换,输入不正确的提示。

  (4)账户题目保存:一个账户生成一个文件夹,不同年级按照难度要求生成输入数目的题目,以“年-月-日-时-分-秒.txt”的形式保存在对应账户的文件夹内。

  (5)账户题目查重:同一个账户的卷子中的题目与以前的已生成的卷子中的题目不重复。

2、未实现

  (1)生成的试卷题目每题之间没有空行。

  (2)题目没包括只有两个操作数的运算。

  (3)运算中括号位置没有随机生成,位置固定。

  (4)初中题目不全都符合出题要求,有的题目不包括根号或平方。

  (5)高中题目不全都符合出题要求,有的题目不包括sin、cos或者tan。

五、出题结果

1、小学

2、初中

3、高中

六、项目优缺点

1、优点

  (1)大部分满足个人项目需求。

  (2)采用了图形化界面,操作直观明了。

  (3)运用多线程实现可同时登陆多个账号。

  (4)题目的生成和计算可以在后台线程中计算,减少界面线程的工作量,卡顿低,操作流畅.

  (5)分模块实现部分要求,模块可扩展性强。

2、缺点

  (1)题目间空行需求未能实现。

  (2)2位操作数的运算需求未包含。

  (3)运算括号每题都有,且位置固定(前5题括号括前两个操作数,后25题括号括最后两位操作数)

  (4)初中和高中的部分生成的题目不符合需求。

  (5)题目生成模块代码繁琐,不同年级题目生成程序间有重复,可改进为题目生成函数,通过参数输入不同而生成不同题目,将大大增加程序易读性。

  (6)程序备注过少,重要部分代码没有说明实现方法,浏览起来很费精力。
五、向队友看齐

  (1)Java图形界面基本组件和容器JFrame运用熟练,私下花的时间可想而知。这种向未知领域探索的精神值得学习!

  (2)采用字符串哈希的思路进行查重,这种对所学知识灵活运用的能力,是我目前正在追求的!

  向队友看齐!

---恢复内容结束---

posted @ 2018-09-27 09:33  1604-MJK  阅读(368)  评论(0编辑  收藏  举报