第二次作业——结对项目之需求分析与原型设计(1.0)
结对学生:翁祖航(031402515) 毛仲杰(031402517) 需求分析与原型设计.pdf
项目的流程主要按照 NABCD 模型展开。
1.Need(获取用户需求)
由于没能通过用户调研的方式调查用户的需求,目前只能根据题目所给的客户的烦恼,还有自己身为学生,也是这款软件的用户以及利益相关者出发考虑用户的需求。通过题目可以知道这款软件的受众主要为这三个角色:教务处(年级负责人,系负责人),导师,学生。
- 客户:教务处(年级负责人,系负责人)
- 用户: 导师,学生
功能性需求:(产品必须实现的功能)
1.老师的需求:
- 可以设置所带的学生人数,或者学生数量区间。
- 可以查看学生的资料,学生的学习情况(绩点)
2.学生的需求:
- 可以查看老师的资料(包括课题选择,研究方向)
- 尽可能选到自己喜欢的老师
- 可以看到自己的绩点,排名
教务处(年级负责人,系负责人)的需求:
- 希望学生的填报信息收集,学生的分配,调整导师的功能全由软件实现,解放双手。
非功能性需求:
学生:
1.可以看到自己所选导师的往届学生的平均绩点
- 优点:可以给学生填报志愿有积极的作用,具有参考价值。
- 缺点:如果数据不准确,可能会吓到学生,而且获取往届学生的数据,需要非常多的数据支持,技术实现有难度。
2.可以向自己喜欢的导师推荐自己。如果老师满意自己,可以选中自己。
- 优点:体现了学生的主动性,而不是被动地被老师选择,充分体现师生之间的双向选择。
- 缺点: 暂时没有想到
导师:
1.导师不仅可以选择选自己的学生,如果有自己喜欢的,但没有选自己的学生,也可以向该学生投出橄榄枝。
- 优点:体现了老师与学生之间的双向选择,导师可以通过查看学生资料,提前给自己中意的学生发信息,如果学生同意,则可以直接分配给该导师。
- 缺点:暂时没有想到 。
2.导师若对所选的学生没有要求,或者对剩下名额的学生没有要求,则可以将剩下的名额由系统分配。
- 优点:避免了老师重复上线选择学生,也解决了一部分老师可能不在意学生情况的问题。
- 缺点:这项优化的可行性,和受老师欢迎的情况没有实际验证过。
2.Approach(实现方法)
我们打算做一款网页,用PHP,JS实现。通过原型设计的方式,以及模拟学生,老师使用网页的过程介绍一下我们的模型。
我们将学生填报志愿的活动模拟为3天的具体活动。
第一天:
学生登陆填报志愿系统,查看教师资料,查看自己的绩点,排名等。填写自己的详细资料(如奖惩情况等),如果有喜欢的导师,可以向导师推荐自己。学生综合考虑所有因素之后就可以填报5个志愿了。
第二天:
老师登陆系统,首先系统会提醒导师需要先设置自己想带的学生人数(可以是某个数字,或者相应的区间)。
(导师所设置的学生人数,不能少于学生总人数,以防学生分配不到导师,这一问题需要教务处和老师自行协商解决,暂时未想到解决方法).
导师可以查看向自己推荐的学生的资料,推荐词。
导师可以查看选自己的学生的资料。
(以上两步若导师有喜欢的学生,则可直接选中该学生。
还有一个重点:若一个同学的五个志愿中有2个以上均被相应的导师看中,这个问题在第3天中解决)
)
导师可以查看所有学生的资料,如果有想要的学生,尽管学生没有选自己,依然可以向该学生发出邀请。然后第三天由学生自己决定。
如果导师对想要带的学生,没有什么要求,则可以勾选让系统分配选项。
第三天:
学生上线查看自己的志愿是否选中,或者若选中多个老师,则需要选择其中的一个。或者查看是否有老师向自己投出橄榄枝,以及给出自己的决定。
在学生给出决定之后,接下来若有导师选择让系统分配,则接下来是系统分配阶段。
注:后面的天数视具体情况而定,若有很多学生落选,则再重复进行学生选择,导师选择这个过程。
系统分配(详解):
- 首先列出所有选择系统分配的导师:
- 在给出一个落选的学生队列A(按照绩点排列)
- 搜索A队列的第一个学生,依次查看该学生的第一志愿,若第一志愿的导师存在让系统分配的名额,则分配给该学生。若没有,则查看第二志愿的导师,做法同上,直到第五志愿。
- 重复执行过程3,直到最后一个学生。
原型设计:
使用界面。
学生登陆。
学生初始界面。
查看教师资料界面
给选择自己的导师回复(学生只能选择其中一个导师).
查看自己的学习情况。
介绍自己的学习情况,奖惩情况,学习兴趣方向等,这是面向所有教师开放的。
只能向自己填报的5个志愿的老师推荐自己,可以自己选择向一个或多个导师推荐自己。推荐的内容只有那个导师可以看到。
教师登陆:
教师初始界面。
可以查看所有学生的资料。
学生的详细资料。
向自己推荐的学生。
选择自己的学生
想选的学生(即使学生没有选自己,导师依然可以选择该学生,学生在第三天给出答复).
设置学生人数
查看选择的学生或选择由系统分配
3.B(benefit)
1.学生和导师都有完善的信息资料。
2.学生和导师都具有主动性,可以互相了解。
4.C(competitors)
其他同学功底很深,原型也设计的很精致,我们比不过。这款软件由于是原型,所以网页设计丑陋,如果被用户接受,界面会改进,不过关于界面设计只能以维持的方法做。我们的优势就是充分考虑了用户的使用过程,在维持了基本功能的同时,加上了学生推荐自己,和导师意中学生的辅助功能。
5.D(Delivery)
目前只能推广使用于教务处
效能分析和PSP
效能分析:
由于目前代码很少,暂时没有考虑代码中,如何降低程序的复杂度。
PSP:
组队照片: