现代软件工程第7-9章作业
问题描述
1.对四则运算软件需求的获取方式进行实践,例如使用调查问卷访问相关关系人等。
2.采用四象限法将你小组的四则运算软件的需求功能进行分类。阐述其优势与不足。
3.尝试把四则运算软件需求进行分解,变为每个小组成员可执行的积压工作项,分配这些工作项到小组成员,并预算完成时间(以小时为单位)。并在完成后填入实际用时。
4.总结近5周以来的github上的工作情况,以图表方式分析你小组的工作情况、存在的问题及解决的方案。
解答
1. 调查问卷及分析(王旭阳):
1.1 调查问卷
根据题目要求,设置一下题目,使用网上调查问卷形式,推广给亲朋好友,题目设置如下:
1.2 调查结果:
经过小范围调查,得到23组数据,实验结果如下图:
说明:
- 其中第5的选其他的填的是:看规定的时间长短
- 第6题3个选其他的填的是:5,5,20
- 第9题建议有效建议两条:作业少而精,最好设置不同年级的题目
1.3 调查结果分析
此次有效问卷23份,调查的人群大部分都有孩子,或者熟悉的亲朋好友有孩子上小学。从第2题的结果可以看出,很少数上小学的的孩子不上网。而在上网中的小学生大多数是每天都上网。有一半的家长会课下再给孩子布置课外习题,并且一半的小学生的家长愿意自己的孩子在网上做练习题。
关于习题数目的设置上,极大多数的人认为应该是10到30之间。做题时间上,觉着10分钟内完成5道或者10道的人比较多。关于题目难度设置,只有一人认为没必要设置不同难度,剩下的都认为应该设置不同难度的习题,并且在第9个给出的建议中也有人就说设置不同难度的题。大多人都会主动关注自己的孩子网上的练习情况。
根据调查结果,对我们的项目有以下几点指导意见:
- 设置不同难度的题
- 设有不同类型的题
- 每套题有20道题,时间限制为15分钟
2. 利用四象限法进行需求功能分类(杨星星):
2.1 四象限法
首先说一下关于时间管理的四象限法则:把工作按照重要和紧急两个不同的程度进行了划分,基本上可以分为四个“象限”:既紧急又重要、重要但不紧急、紧急但不重要、既不紧急也不重要。如图2.1时间管理的四象限法则示例图所示:
图2.1 时间管理的四象限法则示例图
根据重要性和紧急度两个维度可以将事情划分为四个象限:第一象限的事情是首先要进行处理的,第二象限的事情是应该在第一象限处理后进行处理的,第三象限的事情可以在重要的事情处理完成后,在闲暇的时间内进行处理,第四象限的事情是不在预期范围内突然发生的事情。
在软件工程进行需求分析的时候,四象限分析法可以帮助你清晰定位软件的功能特点和将来要进行研发的创新点,如图2.2对四个象限的不同建议所示:
图2.2 对四个象限的不同建议
2.2 功能分析介绍及解决方法
-
杀手功能:针对某一应用需求我们的竞争对手和用户已经决定了的必要满足的需求,我们的创新功能也在这一部分
-
外围功能:辅助性的功能,比如良好的用户体验界面等。
-
必要需求:能够准确解决用户主要功能的需求,比如词典软件要保证短语释义的准确性。
-
辅助需求:非必要需求,比如换肤等功能。
针对不同的功能,有五种解决方法:
- 维持----以最低成本维持此功能
- 抵消----快速地达到“足够好”、“和竞争对手差不多”
- 优化----花大力气做到并保持行业最好
- 差异化----产生同类产品比不了的功能或优势(我有人无的优势,或者一个数量级以上的一个优势)
- 不做----砍掉一个功能,我们并不一定要做所有的功能
2.3 系统需求功能分析
2.3.1 小学生四则运算需求功能分类
-
杀手功能:
-
本四则运算系统增加了设计难度梯度,将不同难度的题目进行分类,供不同年级的使用者选择性的练习;
- 随机生成题库,供使用者进行练习;
-
增加倒计时:在倒计时15分钟之内,做完20道题目;
-
增加教师用户:老师出题,查看学生正确率,查看学生考试成绩;
-
增加学生错题进一步练习。
-
外围功能:
-
良好的用户体验;
-
简单实用的界面设计;
-
功能齐全的系统支持。
-
必要需求:
-
可以以不同身份进行登陆;
-
进行注册;
-
老师、学生进行查看功能:查看得分、时长、正确答案等;
-
学生进行基本的四则运算;
-
管理员对老师、学生以及题库的信息管理。
-
辅助需求:
-
个人信息管理:修改密码、修改个人信息;
2.3.2 小学生四则运算系统优点与不足
- 优点:
- 适合不同人群使用,各个年级的小学生均可以通过梯度选择来进行练习;
- 适合老师、家长对学生状况进行实时的关注;
- 功能齐全,实用性强,适合学生使用。
- 不足:
- 未做到数据库实时更新;
- 目前只实现了一小部分功能,进度有待提高。
3.需求分析与工作项分配(徐怡琳)
3.1 需求分析
对于四则运算软件的需求,从两方面做以下划分。
3.1.1功能性的需求
- 注册(教师注册、学生注册)
- 登陆(超级管理员、教师、学生)
- 出考试卷子(当前教师的所针对学生没人一份,另外,出试题时可以选择难度,加、减、乘、除为多选项,真分数、整数、混合为单选项)
- 查看当前试卷做题状况(每个学生是否完成、成绩、每个学生错题、错误率高的题)
- 查看学员情况(每个老师可以查看当前的学员的简答信息,例如,学号,姓名)
- 限时考试(包括自己练习、老师考试)
- 更新错题本(下次该题做对时,不再显示在错题本中)
- 查看考试结果(错题数,错题号,成绩)
- 查看当前为止,所有考试的成绩、平均成绩、正确率折线图
- 满足代码规范
3.1.2开发过程的需求
3.2工作项分配
在系统实现初期我们对项目进行了功能的划分,做出如下工作项安排。
工作项 |
参与人员 |
预计用时(h) |
实际用时(h) |
四则运算系统功能分析整理 |
徐怡琳 |
3 |
2 |
注册 |
刘高生 |
3 |
2 |
登陆 |
刘高生 |
3 |
3 |
出考试卷子 |
刘高生、徐怡琳 |
3 |
-- |
查看当前试卷做题状况 |
刘高生、徐怡琳 |
4 |
-- |
查看学员情况 |
刘高生、徐怡琳 |
2 |
-- |
限时考试 |
王旭阳、杨星星 |
3 |
-- |
更新错题本 |
王旭阳、杨星星 |
5 |
-- |
查看考试结果 |
王旭阳、杨星星 |
5 |
-- |
查看当前为止,所有考试的成绩、平均成绩、正确率折线图 |
王旭阳、杨星星 |
6 |
-- |
E-R图 |
王旭阳、杨星星、刘高生、徐怡琳 |
5 |
-- |
建立数据库 |
刘高生、徐怡琳 |
5 |
-- |
系统测试 |
刘高生、徐怡琳 |
3 |
-- |
4.GitHub工作情况及项目进展(刘高生)
下面是从Github上截的图,是项目过程中Commits图:
下面是Network展示项目进展:
由于这次项目上传代码不是很频繁,没有做到写到什么地步就上传,所以活动量比较少
存在问题:
(1)组内成员有个别人GItHub使用不熟练,还没有系统使用GitHub上传代码
(2)组内成员交流不多,导致项目进展缓慢
(3)需求分析不完善,数据库建立出现分歧
拟解决办法:
(1)不熟悉Github的同学向熟悉的学习,尽快熟悉
(2)在项目进展期间为尽快达到协调,每一两天讨论一次进展,整合整体项目
(3)组长要更加尽职尽责,对项目的整体及成员间的各种问题协调好。