分析与设计

一、需求分析:

四则运算调研文档:

非常感谢您能抽出几分钟时间,将您的感受和建议告诉我们,我们非常重视每位用户的宝贵意见,期待您的参与!

学生:

1.今年几年级()

A:一年级  B:二年级  B:三年级  D:四年级  E:五年级

2.平时喜欢数学吗()

A:喜欢   B:不喜欢

3.有什么爱好()

A:打游戏  B:看书   C:运动  D:其他

4.平时作业要做多久()

A:不到一小时   B:1-3小时  C:3小时以上

5.喜欢玩手机还是电脑()

A:手机  B:电脑  C:都喜欢

6.希望父母一直监视着自己完成作业吗()

A:希望  B:不希望  C:无所谓

7.对于学习,你更愿意把时间花在()

A.自主学习     B.听老师讲课  

8.喜欢分数制度还是等级制度()

A:分数制    B:等级制

9.学习过程中有记错题的习惯吗()

A:有   B:没有   C:偶尔会

10.喜欢什么颜色()

A:红  B:黄  C:蓝  C:绿   D:紫  E:其他

 

教师

1.你教的是几年级的学生:

A.一年级       B.二年级       C.三年级

D.四年级       E.五年级       F.六年级

2.你使用过类似的四则运算的软件吗:

A有           B没有

3.你支持学生使用软件来学习吗:

A.支持         B不支持

4.给学生一次布置的作业量多少合适:

A.30           B.40           C.50          D其他

5.给学生布置作业什么样的频率合适:

A一天两次     B一天一次     C两天一次

6.学生需要错题本吗:

A需要         B不需要

7.需要错题重复测试吗:

A需要         B不需要

8.你希望有自己出题给学生作的功能吗:

A希望         B不希望

9.你觉得我们的软件对学生帮助大吗:

A大           B一般般       C没什么效果

10.你对我们的软件有什么期望或建议:

 

家长:

1.你的身份是孩子的:

A父亲         B母亲

2.你的孩子是几年级的学生:

A.一年级       B.二年级       C.三年级

D.四年级       E.五年级       F.六年级

3.你使用过类似的四则运算的软件吗:

A有           B没有

4.你支持孩子使用软件来学习吗:

A.支持         B不支持

5.你觉得孩子学习需要监督吗:

A需要         B不需要

6.给学生一次布置的作业量多少合适:

A.30           B.40           C.50          D其他

7.对于不会的题目,你更愿意让孩子:

A自己钻研     B.请教别人

8.你孩子的自主学习性如何:

A很强         B一般         C需要监督

9.你觉得我们的软件对孩子帮助大吗:

A大           B一般般       C没什么效果

10.你对我们的软件有什么期望或者建议:

 

二、原型设计

墨刀链接地址:https://modao.cc/app/RDY3mdYwAjblBtjS9x6O0K6wG7vmlqP

三.用例图

顺序图

类图

详见需求规格说明书https://git.coding.net/HHWORLD/Exp.git

 

 四.代码规范

1.命名规则

代码中所包含的非关键字的定义和命名必须统一格式,其中包括:包、类、接口、常量、变量、函数、函数参数、异常等都必须遵守以下命名规则:

类名首字母应该大写。字段、方法以及对象(句柄)的首字母应小写。对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母。

例如:ThisIsAClassName若在定义中出现了常数初始化字符,则大写static final基本类型标识符中的所有字母。这样便可标志出它们属于编译期的常数。

Java包(Package)属于一种特殊情况:它们全都是小写字母,即便中间的单词亦是如此。对于域名扩展名称,如com,org,net或者edu等,全部都应小写

2.书写规则

a、同层次的代码行,在代码行前应至少保留一个Tab的缩进量;同一层次的代码行应保持相同的缩进量;

b、关键字和操作符之间加适当的空格;

c、相对独立的程序块与块之间加适当的空行;

d、不允许把多个语句写成一行,即一行只写一条语句;

e、函数或方法的开始、循环、判断等语句中的代码要采用缩进风格;

f、Java语言是用大括弧‘{’和‘}’界定一段程序代码块的,编写程序代码块时,‘{’和‘}’应各自占一行并位于同一列,同时与引用他们的语句左对齐。

3.类编码事项

a、为了常规用途而创建一个类时,请采取“经典形式”,并包含对下述元素的定义:

equals()
hashCode()
toString()
clone()(implement Cloneable)
implement Serializable

b、使类尽可能短小精悍,而且只解决一个特定的问题。下面是对类设计的一些建议:
■一个复杂的开关语句:考虑采用“多形”机制
■数量众多的方法涉及到类型差别极大的操作:考虑用几个类来分别实现
■许多成员变量在特征上有很大的差别:考虑使用几个类

c、任何时候只要发现类与类之间结合得非常紧密,就需要考虑是否采用内部类,从而改善编码及维护工作

d、涉及构建器和异常的时候,通常希望重新丢弃在构建器中捕获的任何异常——如果它造成了那个对象的创建失败。这样一来,调用者就不会以为那个对象已正确地创建,从而盲目地继续。

e、在构建器内部,只进行那些将对象设为正确状态所需的工作。尽可能地避免调用其他方法,因为那些方法可能被其他人覆盖或取消,从而在构建过程中产生不可预知的结果

f、对于自己创建的每一个类,都考虑置入一个main(),其中包含了用于测试那个类的代码。为使用一个项目中的类,我们没必要删除测试代码。若进行了任何形式的改动,可方便地返回测试。这些代码也可作为如何使用类的一个示例使用。

4.函数编码事项

a、函数的规模尽量限制在200行以内;

b、一个函数最好只完成一件功能;

c、为简单功能编写函数;

d、函数的功能应该是可以预测的,也就是说,同样的输入数据应该产生相同的输出;

e、要处理好函数中应抛出的异常;

5.注释

单行的注释采用“//”的形式    多行注释用/* */

五.成员分工

王家帅:顺序图  类图  原型设计  其他整合工作

朱鹏:用例图 用例规约

张逸萌:调研文档

posted on 2018-05-20 16:02  膨胀的宇宙  阅读(127)  评论(0编辑  收藏  举报

导航