一个简单答题系统的设计与实现(一)
开发背景
在2018年底,博主朋友找到博主想让我帮他开发一个软件,因为他要考他所在单位的某项认证考试,看书低效,不如结合使用用软件答题刷题有效果。就此我准备给他开发一个简单的答题系统,他给出如下需求。
- 有练习模式(自由答题),可以选择各种题型;
- 有考试模式,随机生成一套试卷答题。
需求分析
我的朋友单位是内网,不能与外网连接,所以不能用B/S模式开发;他不懂数据库,是一个计算机门外汉,所以不能使用数据库。是的!这个简单答题系统简单到如此地步了。我准备使用Java语言来开发,按照我的分析,我的解决方案如下。
- 使用文件存储题库与软件使用过程中需要用到的标识,使用文件读写实现数据持久;
- 以桌面应用来开发,说起来就像C/S模式,只是在该系统中,没有那个S(Server)。
我将朋友的需求与我自己的分析整理,得出整个系统的需求如下:
- 练习模式,自由答题可以随意选择题型。
- 考试模式,随机生成一套试卷,在答题结束后将错题统计。
- 错题本,选择考试模式统计的错题文件,可以答题
就此,是这个简单答题系统的所有需求了,下面开始系统的详细设计。
详细设计
在以往设计一个系统都是从数据库开始设计的,由于该系统不用数据库,并且基本没有表关系,所以就不从数据库开始设计了,就从文件设计开始。当然,之后,我会将该系统重新使用B/S模式实现,那时,会使用到数据库,从数据库开始设计,功能也会比现在复杂和丰富很多。
文件设计
文件中保存的是什么呢?答题系统,当然是题了。那么一道完整的题包括什么呢?题的编号,题的描述,题的答案与题的类型。所以在文件中我们将使用@将如上属性分割保存。这是题库文件。还有一个保存标识的文件,保存界面关闭时题的类型与题的编号,也是用@分割,作用是保存上次答题位置,可以在打开系统后继续在上次位置答题。UI设计(界面设计)
因为是答题系统,人性化的界面设计会让人使用的更舒服、更加有效率。界面如下。(使用JAVA中SWING开发GUI)
因为是桌面应用,本着实用的目的去设计的UI图。UI设计也是设计过程中非常重要的一步,离用户最近的一层。
- 代码实现
代码实现在之后的博客中一步一步实现,从每个功能点出发,设计逻辑。
在之后的博客中,我将用代码一步一步实现需求中的功能,个人技术有限,在设计过程中经验不足,代码质量不够好还请海涵,大家可以指出我的问题,大家一起进步。
一个简单答题系统的设计与实现(一)相关推荐
- 一个简单答题系统的设计与实现(二)
在一个简单答题系统的设计与实现(一)博文中列出了需求分析,与详细设计,现在按照之前的详细设计开始一步一步实现. 文件设计(数据层设计) 该系统由于需求场景限制,在数据层利用文件和文件的读写实现查询.具 ...
- 一个简单答题系统的设计与实现(四)
这篇描述生成试卷和练习模式.错题本的功能的思路与实现. 生成试卷 在平常生活中,考试和平常练习是不同的两种状态,在考试时,试卷有分配好的题型和题数,在本系统中,将其定义为常量: Constant系统常 ...
- 【无标题】C语言编写一个简单答题系统
这是蒟蒻写的第一个博客,将就看看吧! 首先,我写的是一个填空题答题系统,填空题数目为20. 其次,需要随机出题,题目出现顺序要不一致. (1) 产生随机数 1~20 (2) 解决运气不好的问题1-1 ...
- 基于列表框的简单选课窗体开发。编写Windows应用程序,设计实现一个简单选课系统,要求:(1)点击“添加”按钮,将把在第一文本框中的输入的课程名称添加到左边的列表框中,且所添加的课程不能为空,不能
基于列表框的简单选课窗体开发.编写Windows应用程序,设计实现一个简单选课系统,要求: (1)点击"添加"按钮,将把在第一文本框中的输入的课程名称添加到左边的列表框中,且所添加 ...
- 3.2 实战项目二(手工分析错误、错误标签及其修正、快速地构建一个简单的系统(快速原型模型)、训练集与验证集-来源不一致的情况(异源问题)、迁移学习、多任务学习、端到端学习)
手工分析错误 手工分析错误的大多数是什么 猫猫识别,准确率90%,想提升,就继续猛加材料,猛调优? --应该先做错误分析,再调优! 把识别出错的100张拿出来, 如果发现50%是"把 ...
- 考试/答题系统的设计思路
基于SpringBoot实现的考试/答题系统,由于这是从一个大项目中截取的部分功能,具体的业务代码非常复杂就不列出了,这里主要介绍系统的设计思路,可作为课设或毕设的参考 数据库设计 实体类设计 tes ...
- 一个简单仓库管理系统的设计与实现--需求篇
去年12月份,帮助一个老乡完成了一份大作业,使用VB+ACCESS实现一个简单的仓库管理系统,现做一下总结并进一步完善,分为三部分:需求.设计.实现. 需求篇 项目需求: 一.控件技术要求: 1.Ac ...
- java调python 监控_利用Python实现一个简单的系统监控图表
作为运维人员,想必大家肯定都做过这样的事情:为了监控系统资源使用情况,开了若干个窗口,来回切换看输出: 只要我切得够快,性能异常点就逃不过我的眼睛! 这个时候你要是有个监控工具自然是很好的,例如我们美 ...
- 简单答题系统(判断题)
使用C语言编写一个答题系统. 一.判断题数据:20道题 (1)题干 (2)正确答案(T/t F/f ,True , False) 二.需要随机出题,题目出现顺序要不一致 C语言需要学会如何随机抽取 ( ...
最新文章
- MVVM架构~knockoutjs系列之从Knockout.Validation.js源码中学习它的用法
- win7(x64)安装oracle 10g 32位的方法
- Chrome的一点小问题
- excel转成csv格式的默认分隔符
- sklearn自学指南(part52)--潜在狄利克雷分配(LDA)
- 最小生成树Prim算法和Kruskal算法
- android camera 显示过程,Android Camera2 API显示已处理的预览图像
- 【AI视野·今日Robot 机器人论文速览 第八期】Wed, 16 Jun 2021
- 简单说说我对几位认识的号主的印象
- c++快速读取配置文件
- 190328文件处理
- BaseAdapter的逗逼、普通、文艺写法
- 身份证前6位数据/行政区划分代码
- TIBCO Jaspersoft 使用教程+JasperReport 生成PDF记录
- ASP.NET 安全认证(三)—— 用Form 表单认证实现单点登录(Single Sign On)
- 如何实现小程序的无限推送
- js获取最近12个月
- 中国智能手机集成电路(IC)行业市场供需与战略研究报告
- 【Pytest篇】pytest生成报告的几种方式
- 阿里、腾讯等大厂技术面试题目汇总