一个简单答题系统的设计与实现(一)

开发背景

在2018年底,博主朋友找到博主想让我帮他开发一个软件,因为他要考他所在单位的某项认证考试,看书低效,不如结合使用用软件答题刷题有效果。就此我准备给他开发一个简单的答题系统,他给出如下需求。

  • 有练习模式(自由答题),可以选择各种题型;
  • 有考试模式,随机生成一套试卷答题。

需求分析

我的朋友单位是内网,不能与外网连接,所以不能用B/S模式开发;他不懂数据库,是一个计算机门外汉,所以不能使用数据库。是的!这个简单答题系统简单到如此地步了。我准备使用Java语言来开发,按照我的分析,我的解决方案如下。

  • 使用文件存储题库与软件使用过程中需要用到的标识,使用文件读写实现数据持久;
  • 以桌面应用来开发,说起来就像C/S模式,只是在该系统中,没有那个S(Server)。

我将朋友的需求与我自己的分析整理,得出整个系统的需求如下:

  • 练习模式,自由答题可以随意选择题型。
  • 考试模式,随机生成一套试卷,在答题结束后将错题统计。
  • 错题本,选择考试模式统计的错题文件,可以答题

就此,是这个简单答题系统的所有需求了,下面开始系统的详细设计。

详细设计

在以往设计一个系统都是从数据库开始设计的,由于该系统不用数据库,并且基本没有表关系,所以就不从数据库开始设计了,就从文件设计开始。当然,之后,我会将该系统重新使用B/S模式实现,那时,会使用到数据库,从数据库开始设计,功能也会比现在复杂和丰富很多。

  • 文件设计
    文件中保存的是什么呢?答题系统,当然是题了。那么一道完整的题包括什么呢?题的编号,题的描述,题的答案与题的类型。所以在文件中我们将使用@将如上属性分割保存。这是题库文件。还有一个保存标识的文件,保存界面关闭时题的类型与题的编号,也是用@分割,作用是保存上次答题位置,可以在打开系统后继续在上次位置答题。

  • UI设计(界面设计)
    因为是答题系统,人性化的界面设计会让人使用的更舒服、更加有效率。界面如下。(使用JAVA中SWING开发GUI)

在这里插入图片描述
因为是桌面应用,本着实用的目的去设计的UI图。UI设计也是设计过程中非常重要的一步,离用户最近的一层。

  • 代码实现
    代码实现在之后的博客中一步一步实现,从每个功能点出发,设计逻辑。

在之后的博客中,我将用代码一步一步实现需求中的功能,个人技术有限,在设计过程中经验不足,代码质量不够好还请海涵,大家可以指出我的问题,大家一起进步。

猜你喜欢

转载自blog.csdn.net/lMouse_/article/details/87296895
今日推荐