分析与设计

一、分工合作

        1.需求分析与需求规格说明书(陆伟枫 201521122050)

        2.原型设计(黄雯婷 201521122032)

        3.用例图与用例规约(郑炜 201521122049 /耿展鹏201521122058)

        4.顺序图与类图(陈美杰 201521122051)

二、需求分析

        程序实现的是自动生成四则运算表达式的程序,并且支持自动计算结果和批改的功能,通过输入生成题目的数量和运算底数的氛围,生成包含‘+’,‘-’,‘*’,‘÷’,‘(’,‘)’的四则运算表达式,其中表达式的数包含自然数和分数,分数以真分数和带分数的形式出现。例如(1/2和1‘2/3)。程序支持1W道题目的生成,生成题目后将题目和题目的运算结果保存至文件保存。程序能够对生成的题目进行查重,不允许出现重复的题目。用户通过UI界面答题,程序能够和正确答案进行匹配,进行自动批改。并将最终结果进行分析。通过web浏览器进入主界面,选择需要生成的题目数量,然后选择运算难度,后台通过运算生成题目并返回至主界面显示。用户通过分页进行答题,提交后将显示正确答案与试卷结果 分析。至此用户完成该程序功能。 添加出题人与答题人角色,出题人可为教师,教师通过创立小组,小组有唯一编号(可用二维码形式),答题人通过扫描二维码加入小组答题。提交后教师可以查看已提交的用户试题,并且可以对所有答题结果进行数据分析。

   

小学生四则运算需求分析问卷调查

    您好!首先感谢您在百忙之中抽出时间来参与我们的调查问卷。现在正在做一个有关小学生四则运算的系统,麻烦您就您的实际情况填写我们的问卷。感谢您的参与与配合~

1、 您是老师,家长还是小学生?

A、 老师(转到2题)   B、家长(转到11  C、小学生(转到15

老师:

2您教的是什么学科?

A、数学        B、语文       C、英语        D、其他

3、您教几年级的学生?

A、一年级        B、二年级

  C、三年级        D、四年级

  E、五年级        F、六年级

4、现在的小学生普遍会使用电脑吗?

   A、会              B、不会  

5、学生们在网上做题一次做多少道题能达到练习的目的:

  A 20道          B30

  C50道          D80

E、 其他:__________

6、学生在线答题您建议的频率:

  A 、每天两次         B、每天一次

  C、 两天一次         D、三天一次

E其他____________

7、学生做错的题需要在错题本里显示之前的错误答案吗?

  A、需要             B、不需要

8、在所做测试中,是否需要对学生错题进行重复测试?

  A、需要             B、不需要

9、您为什么不希望有学习模块?(多选)

  A、学校已经学习过了,耽误时间    

B、模块没有实际用处     

C、有这个模块我的学生不会使用

D、其他_______

10、您希望有出题功能吗?

  A、希望         B、不希望

 

家长:11您的孩子现在在上小学几年级?

  A、一年级        B、二年级

  C、三年级        D、四年级

  E、五年级        F、六年级

12您的孩子现在会自己操作使用电脑吗?

   A、会            B、不会

13、您的孩子在家学习的自主性如何?

   A、自主性很强,每次都能自觉独立完成作业

   B、一般,做作业时会拖拖拉拉

   C、很差,每次学习都需要家长的监督

   D、从不自己主动学习

14、您认为学习模块应该以什么方式展示?

  A、视频讲解     B、动态图片      C、图片     D、其他_______

 

小朋友:

15你今年在上几年级?

  A、一年级        B、二年级

  C、三年级        D、四年级

  E、五年级        F、六年级

16、你会自己操作电脑吗?

  A、会     B、不会

老师AABDBACDABD

老师BDDCDBACDCBD

 

家长AAABB

家长BABAB

 

 

小学生AAB

小学生BDA

三、原型设计

       1.登录注册

          分析与设计_第1张图片

               分析与设计_第2张图片

            2.教师界面

               分析与设计_第3张图片

                  分析与设计_第4张图片

                       分析与设计_第5张图片

           3.学生界面

                 分析与设计_第6张图片

 

 

              

四、用例图与用例规约

 分析与设计_第7张图片

 

用例名称

做题

用例编号

Cac 001

执行者

学生

用例简述

该用例规定了学生如何进行做题。

前置条件

教师已发布试题,学生已登录并加入班级。

后置条件

系统批改学生试题,更新已答题试题数据库。

基本流程

  1. 学生登录至系统
  2. 学生根据邀请码加入至指定班级
  3. 教师发布一则试题
  4. 学生开始答题
  5. 学生提交后将试题保存至数据库

扩展流程

1a:学生用户名或者密码错误,将重新定向至登录首页并重新登录。

2a:学生若未加入班级将无法答题。

  1. 学生邀请码输入错误,显示重新输入邀请码。
  2. 学生只能查看该班级下教师发布的作业。

3a:教师发布一则试题,具体用例规则参考用例Cac002

4a:学生答题,若当前题目未答,则可跳过进入下一题。

5a:当学生答至最后一题,将提示未答试题,并可跳转至该试题,也可选择直接提交试题。

 

补充说明

 

 

 

 

用例名称

新建考试

用例编号

CAC002

用例描述

教师根据需求新建一场新的考试,设置与考试相关的内容。

参与者

教师,系统

前置条件

教师正确登陆系统,且题库中有足够的题目可供选择。

后置条件

新建考试后,考试系统插入相关信息,同时班级学生收到考试通知。

主要流程描述

  1. 教师以管理员身份进入考试系统
  2. 教师选择新建一场考试,选择考试难度
  3. 系统根据考试难度,展示相应的题库
  4. 教师设置考试具体题目
  5. 教师选择足够的题目后,进入预览模式
  6. 系统拟生成考试试卷,展示在屏幕上
  7. 教师确认无误后保存试卷题目
  8. 教师设置考试的相关信息,如名称,编号,对应班级,起始时间等,选择发布考试
  9. 系统保存考试信息,并发布公告,通知相关班级学生

扩展流程描述

1a.教师登录系统时,系统自动生成日志文件

1b.若多次输入密码错误,系统锁定相应账号,并向账号手机/邮箱发送通知

2a.教师选择新建考试后,系统显示最近的考试信息

3a.系统根据设置的难度,随机生成部分题目,并从题库中选择部分存在的题目展示

4a.教师设置考试题目的时候,有以下几种模式

  1. 手动输入题目及答案
  2. 从题库中已有的题目选择
  3. 设置难度后,系统随机生成题目

8a.教师发布考试后,系统将锁定相应的试题,考试结束前无法编辑

补充说明

教师可以将一场考试设置对应多个班级

同一班级同一时间不能有多场考试

 

五、顺序图与类图

      1.类图

分析与设计_第8张图片

 

        2.顺序图

 

  分析与设计_第9张图片

 

六、编码规范

1、代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。

2、常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长。

3、抽象类命名使用 Abstract 或 Base 开头; 异常类命名使用 Exception 结尾; 测试类命名以它要测试的类的名称开始,以 Test 结尾。

4、中括号是数组类型的一部分,数组定义如下: String[] args;

5、POJO 类中布尔类型的变量,都不要加 is,否则部分框架解析会引起序列化错误。

反例: 定义为基本数据类型 Boolean isDeleted; 的属性,它的方法也是 isDeleted()。 RPC框架在反向解析的时候, “以为”对应的属性名称是 deleted,导致属性获取不到,进而抛出异常。

6、包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词。包名统一使用单数形式,但是类名如果有复数含义,类名可以使用复数形式。

7、如果使用到了设计模式,建议在类名中体现出具体模式。有利于阅读者快速理解架构设计思想。

8、接口类中的方法和属性不要加任何修饰符号(public 也不要加) ,保持代码的简洁性,并加上有效的 Javadoc 注释。尽量不要在接口里定义变量,如果一定要定义变量,肯定是与接口方法相关,并且是整个应用的基础常量。

9、枚举类名建议带上 Enum 后缀,枚举成员名称需要全大写,单词间用下划线隔开。

说明: 枚举其实就是特殊的常量类,且构造方法默认强制为私有。

正例: 枚举名字: DealStatusEnum, 成员名称: SUCCESS / UNKOWN_REASON。

10、各层命名规约:

A) Service/DAO 层方法命名规约

1) 获取单个对象的方法用 get 做前缀。

2) 获取多个对象的方法用 list 做前缀。

3) 获取统计值的方法用 count 做前缀。

4) 插入的方法用 save(推荐) 或 insert 做前缀。

5) 删除的方法用 remove(推荐) 或 delete 做前缀。

6) 修改的方法用 update 做前缀。

B) 领域模型命名规约

1) 数据对象: xxxDO, xxx 即为数据表名。

2) 数据传输对象: xxxDTO, xxx 为业务领域相关的名称。

3) 展示对象: xxxVO, xxx 一般为网页名称。

4) POJO 是 DO/DTO/BO/VO 的统称,禁止命名成 xxxPOJO。

你可能感兴趣的:(分析与设计)