softwareProcess-lab1-master
哈工大软件过程与工具作业1
100以内加减法练习小软件
地址:https://github.com/944613709/Addition-and-subtraction-practice-small-software
项目概述
(1)项目名称:100以内加减法练习小软件
(2)项目简要介绍:本项目开发的加减法练习小软件主要面向于小学一年级学生进行100以内加减法练习,在软件项目开发过程中采用增量模型,其中,第一轮迭代形成基本系统,完成训练器的基本操作页面布局;第二轮迭代加入增量1,可以随机生成100以内加减法算式,并读取用户输入判断正误;第三轮迭代加入增量2,实现定时功能,并且能够查询完成题目数及正确题目数。
说明
采用了三轮迭代开发
迭代过程的划分,各迭代计划完成的增量任务,进度安排。
(1)第1轮迭代的任务:完成项目的基本系统,形成训练器的基础操作界面布局;速度安排:10.9上午完成软件操作界面基础布局。
(2)第2轮迭代的任务:完成训练器的基础核心功能:随机生成两个100内的数及加法或者减法,提取用户输入信息并对其进行正误判断,加入非法操作(如:输入非数、输入超1000、不按正常流程顺序点击训练器布局按钮等)处理;速度安排: 10.9下午实现基础生成数,完成正误判断功能及非法操作处理。
(3)第3轮迭代的任务:加入计时功能并统计用户在该段时间完成题目数及正确回答数;速度安排:10.9号晚上完成该增量。
总体需求分析
(1)项目要开发的软件的目的和意义(回答为什么要开发该项目)。
主要面对小学一年级学生用户,可以有效对其进行加减法训练并验证正误,统计训练时间及其训练效果;同时,也可以节省家长时间,方便学生家长督促孩子学习,也可以使老师了解到学生的学习进度,知识的掌握程度;方便师生家长及时交流,提供良好有效的学习条件和方法。最后,也可以通过项目分析与设计体会增量模型在软件项目开发中的作用。
(2)软件系统的涉众分析(列出该系统跟哪些相关人员有关,其关心的核心内容)。
一年级学生,其关心的核心内容是训练器对响应请求的反应时间和操作界面的美观、是否操作简易,易理解;
学生家长,其关心的核心内容是,该软件的稳定性,计算的正确性,是否显示正确答案等;
老师,其关心的核心内容是全班同学做题数目及正确率等数据信息,对学生完成情况进行统计分析。
(3)软件系统的功能需求:可从用户视角来描述功能需求(即用户故事)。
对于一年级学生,其需要进行反复多次的100以内加减法运算,以便于巩固数学基础,掌握加减法运算规则,锻炼计算速度及正确性;
对于学生家长,其需要察看已完成题目数,正确率和计算速度,以便于了解孩子训练情况,督促孩子学习;
对于老师,其需要可视化察看全班同学做题信息,以便于掌握学生学习进度,制订下一步教学计划。
**(4)软件系统的非功能需求:**包括性能要求、界面要求、技术指标等。
性能要求:应当在0.5s内响应用户的相应请求(如:输入输出,计算,刷新等) ;
界面要求:界面简洁易懂,对没有经验的小学生可在二分钟内熟悉操作过程;
容错性:对用户的非法输入(如:输入非数,输入超1000等),也能进行处理;
可靠性:除异常情况外,计算正确率达100%。
软件系统总体设计
(1)软件系统功能结构设计方案:给出软件功能模块及模块间的关联关系。
功能设计方案:
模块 | 功能 |
---|---|
MyLab1Panel | 主模块,其中利用JFrame给出可视化界面,涉及多个窗口面板窗口 |
CalulateUtil | 工具类,里面提供了随机产生一个MyData实例数据,即随机生成加减法题目和答案,封装在MyData并返回 |
MyData | 实体类,一个实例映射了一道加减法的数据 |
功能模块关系图:
数据结构设计:
由于项目结构简单,涉及数据结构较少,设计了一个MyData类:
FirstNumber | 加减法第一个操作数 | Int |
---|---|---|
LastNumber | 加减法第二个操作数 | Int |
Operator | 加减法操作符号 | Char |
Answer | 本算式正确答案 | Int |