成员分工:
成员 | 任务 |
吕章润 | 原型设计,编码规范,博文书写,需求规格说明书 |
林小玲 | 类图,需求规格说明书 |
李玉 | 顺序图,需求分析,需求规格说明书 |
卓海 | 学生的用例图、用例规约,调研文档 |
刘宇航 | 家长和教师的用例图、用例规 |
一、需求分析
1.问卷调查
编号 | 问题 | 选项 |
1 | 您的性别: | A:男 B:女 |
2 | 您的年龄段 | A:16岁以下 B:16-25岁 C:26-35岁 D:35岁以上 |
3 | 您觉得自己的四则运算能力咋样? | A:觉得头疼 B:一般般,还凑合 C:有自己的特殊方法,比较厉害 |
4 | 如果你有一个正在上小学的孩子,你会选择通过一个app来锻炼他的四则运算能力吗? | A:会 B:不会 C:不准备要孩子 |
5 | 你觉得一个四则运算app需要具备哪些功能呢?(可多选) | A:查看自己的做题记录 B:查看在班级内的排名 C:提供对应年级的教学视频 D:运算难度的划分 E:可以选择一次所需要的做题量 F:有错题库,可以查看错题详解 G:发放奖励功能 |
6 | 你之前有听说过类似的四则运算的软件吗? | A:有 B:没有 C:刚想做 |
7 | 你觉得这样的四则运算app做出来后最大的毛病是什么? | A:界面复杂 B:功能冗余 C:同类产品恶意竞争,用户量少 D:题目难度划分不太规范 |
调查结果:
林同学1. B 2. B 3. B 4. B 5. ABDEF 6. A 7. D
李同学1. B 2. B 3. B 4. C 5. ACDEFG 6. B 7.D
吕同学1. A 2. B 3. C 4. A 5.BDEFG 6.B 7. C
车同学1. A 2. B 3. B 4. A 5. ABCDEF 6.B 7.D
卓同学1. A 2. B 3. B 4. A 5.ABCDEF 6.B 7.C
刘同学1. A 2. B 3. A 4. A 5. ADCEF 6. B 7. B
张同学1. A 2. B 3. B 4. C 5. ABCE 6. A 7. D
周同学1. B 2. B 3. B 4. A 5. CDEF 6. B 7. D
肖同学1. B 2. B 3. B 4. B 5. BCDEF 6. B 7. C
王同学1. A 2. B 3. B 4. B 5. ABCDEF 6. B 7. C
欧同学1. A 2. B 3. C 4. B 5. CDEFG 6. A 7.D
调查说明:
本问卷选取了11个同学的回答,根据他们的回答可知有七个男生四个女生参与回答,年龄段都在16岁到25岁之间,大部分都觉得自己的四则运算能力一般,以及希望自己将来的孩子能够通过四则运算app来提升能力,九位同学希望app内可以提供教学视频占大多数,这也是我们之后可以盈利的一部分。
2.软件规格说明书:(链接:点击这里)
二、原型设计
采用墨刀设计软件原型。(链接:点击这里)
登录首页展示:
三、用例图、用例规约
详情请转:链接(点击这里)
(可右键在标签页打开图片)
1.学生
['用例图',用例规约']
2.教师
['用例图',用例规约']
3.家长
['用例图',用例规约']
四、顺序图
(可右键在标签页打开图片)
五、类图
(可右键在标签页打开图片)
六、编码规范
因为后台使用python,所以除了命名规范采用统一标准,编程规范采用python的缩进规范。
1.主要命名风格
(1)代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。
(2)类名使用 UpperCamelCase 风格,必须遵从驼峰形式
(3)方法名、参数名、成员变量、局部变量都统一使用 lowerCamelCase 风格,必须遵从驼峰形式
(4)常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长。
2.主要风格规范
缩进等均直接使用IDE自带缩进快捷键(eg:pycharm ctrl+alt+l 可根据习惯自己设置)
(1)分号
不要在行尾加分号, 也不要用分号将两条命令放在同一行。
(2)行长度
每行不超过80个字符
以下情况除外:
- 长的导入模块语句
- 注释里的URL
(3)块注释和行注释
最需要写注释的是代码中那些技巧性的部分. 如果你在下次 代码审查 的时候必须解释一下, 那么你应该现在就给它写注释. 对于复杂的操作, 应该在其操作开始前写上若干行注释. 对于不是一目了然的代码, 应在其行尾添加注释.
# We use a weighted dictionary search to find out where i is in
# the array. We extrapolate position based on the largest num
# in the array and the array size and then do binary search to
# get the exact number.
if i & (i-1) == 0: # true iff i is a power of 2
为了提高可读性, 注释应该至少离开代码2个空格.
另一方面, 绝不要描述代码. 假设阅读代码的人比你更懂Python, 他只是不知道你的代码要做什么.
(4)函数和方法
下文所指的函数,包括函数, 方法, 以及生成器.
一个函数必须要有文档字符串, 除非它满足以下条件:
1.外部不可见
2.非常短小
3.简单明了
文档字符串应该包含函数做什么, 以及输入和输出的详细描述. 通常, 不应该描述"怎么做", 除非是一些复杂的算法. 文档字符串应该提供足够的信息, 当别人编写代码调用该函数 时, 他不需要看一行代码, 只要看文档字符串就可以了. 对于复杂的代码, 在代码旁边加注释会比使用文档字符串更有意义.
关于函数的几个方面应该在特定的小节中进行描述记录, 这几个方面如下文所述. 每节应该以一个标题行开始. 标题行以冒号结尾. 除标题行外, 节的其他内容应被缩进2个空格.
Args:
列出每个参数的名字, 并在名字后使用一个冒号和一个空格, 分隔对该参数的描述.如果描述太长超过了单行80字符,使用2或者4个空格的悬挂缩进(与文件其他部分保持一致). 描述应该包括所需的类型和含义. 如果一个函数接受*foo(可变长度参数列表)或者**bar (任意关键字参数), 应该详细列出*foo和**bar.
Returns: (或者 Yields: 用于生成器)
描述返回值的类型和语义. 如果函数返回None, 这一部分可以省略.
Raises:
列出与接口有关的所有异常.