HNU个人项目互评——中小学生卷子生成系统

发布时间 2023-09-21 15:11:22作者: 软件2104石宇航

HNU个人项目互评——中小学生卷子生成系统

一.前言

本博客是对结对编程队友阿希耶·王同学的个人项目的评价,项目采用的编程语言是Java语言。通过互评发现对方代码的优缺点,互相学习,互相交流,提升个人水平,编程素养,协作能力。

二、个人项目要求

用户:
小学、初中和高中数学老师。
功能:
1、命令行输入用户名和密码,两者之间用空格隔开(程序预设小学、初中和高中各三个账号,具体见附表),如果用户名和密码都正确,将根据账户类型显示“当前选择为XX出题”,XX为小学、初中和高中三个选项中的一个。否则提示“请输入正确的用户名、密码”,重新输入用户名、密码;
2、登录后,系统提示“准备生成XX数学题目,请输入生成题目数量(输入-1将退出当前用户,重新登录):”,XX为小学、初中和高中三个选项中的一个,用户输入所需出的卷子的题目数量,系统默认将根据账号类型进行出题。每道题目的操作数在1-5个之间,操作数取值范围为1-100;
3、题目数量的有效输入范围是“10-30”(含10,30,或-1退出登录),程序根据输入的题目数量生成符合小学、初中和高中难度的题目的卷子(具体要求见附表)。同一个老师的卷子中的题目不能与以前的已生成的卷子中的题目重复(以指定文件夹下存在的文件为准,见5);
4、在登录状态下,如果用户需要切换类型选项,命令行输入“切换为XX”,XX为小学、初中和高中三个选项中的一个,输入项不符合要求时,程序控制台提示“请输入小学、初中和高中三个选项中的一个”;输入正确后,显示“”系统提示“准备生成XX数学题目,请输入生成题目数量”,用户输入所需出的卷子的题目数量,系统新设置的类型进行出题;
5、生成的题目将以“年-月-日-时-分-秒.txt”的形式保存,每个账号一个文件夹。每道题目有题号,每题之间空一行;

账户、密码:

三.运行结果分析与测试

生成卷子功能,切换难度功能均实现,同时没有错误。

题目生成正确

四.结构分析

该项目分为两部分,项目整体简练利落,可读性很强,可拓展性同样很强,下面展示部分代码:

项目结构:

分为两个类,分类清晰简单又合理,可读性强,可拓展性同样很强。

用链表的形式操作用户,数据结构设计优秀,可用性强,使用效率高,操作简单。

使用接口类,可拓展性强,方便日后添加功能。

五.项目评价

本项目合格完成了需求的所有功能,且运行正确无误。

优点:

1.代码简洁明快,结构不复杂,可读性强,上手很快,方便多人合作。

2.注释添加合理而又不庞杂,明了有效。

3.使用接口类,可复用性强,可拓展性强,方便后期添加功能及修改功能。

缺点:

1.部分函数体超过要求规定40行

2.使用绝对路径