结队成员
031702136 李爱军
031702143 蔡智伟
一、问题背景
需要这样一个网站系统、或APP、或轻度社交软件、或依附于微信的轻度社交小程序,能把同门的家族关系建立起来。具有动态分享和社交的功能;具有一定隐私性,外人只能查看基本信息,无法窥探细节;但假如是家族树的人,可以知道同门家族的前驱后继,自己的前人和后来者,自己的导师,乃至导师的导师的导师的导师,上翻18代,也许是牛顿。每个节点,都是一个活生生的人物和用户,可以分享和互动。
二、需求分析——“NABCD模型”
(1)Need,需求
进过我和队友的分析和讨论,已经明确了不同类用户了的需求,现概括如下:
- 1、老师:了解自己曾经带过的学生的现状,并可以和他们交流沟通,而且还要关注他们分享的动态。当然,老师也做过学生,他们也殷切地期望和自己曾经的导师取得联系,分享自己这些年工作的点点滴滴。
- 2、萌新学生:他们往往不知道该怎么选择自己的毕设导师,所以需要为他们做一份所有导师的个人介绍。而且,他们也非常期待能和学长学姐们取得联系,听取他们的经验,以及对老师的看法和对自己的建议。所以,就要实现和他们的聊天功能。
- 3、在读学生:他们与萌新学生实现的功能类似,只不过由于他们已经选好了毕设导师,所以,只需要实现他们和已毕业学长们的聊天功能。
- 4、已毕业学生:由于他们已经毕业,所以他们迫切地希望能够和同门学长学姐交流,探讨是选择工作还是选择继续深造,并且期望能够得到内推的机会。
(2)Approach,做法
(3)Benefit,好处
(4)Competitors,竞争
我们这个项目的独到之处就是可以为萌新学生提供导师的个人信息,萌新学生可以很方便地查到想要了解的导师信息,这是其他类社交软件做不到的。另外,这个系统内只提供了“家庭树”内的信息,所以,数据操作就是十分方便。但不得不承认,我们的劣势就在于我们的项目功能可能太少,和其他社交软件相比,我们的软件可能稍微有些简陋。
(5)Delivery,推广
我们可以通过传单海报等形式让学生和老师了解到我们的项目,让他们感受到我们这个项目的实用之处。我们还可以通过学校和学院的各种微信号来推广我们的项目。
三、原型设计
1、开发工具:墨刀
2、项目名称:Chat
3、项目链接:
https://free.modao.cc/app/mi253va1xsk14p762bbhffx96xz
PDF压缩文件下载链接:点我
设计流程:通过思考项目提供的背景,其中的需求,和自身身为学生在日常学习生活中所遇到的问题,来设计项目的功能
1.记录应用所需要具有的功能、界面草图
2.解决分工问题
3.模块与模块之间的转移
4.利用墨刀实现并撰写博客
功能主要有:
1.聊天交流(其中包括与同家族的师生和与非同家族的师生,这都可以通过好友添加、推荐实现)
2.动态分享(这可以实现生活趣事的分享、内推机会的分享等等)
3.文件收发和语音收发(在聊天功能中实现)
4.导师功能的选择
5.家族树
具体的模块包块:登录界面、动态、通讯录、聊天、家族树、个人资料等。
登录用户分为四类,选择不同类的用户将进入不同页面:老师、在校生、萌新生、毕业生。
由于功能模块划分的比较细致,所以不同用户的界面基本一样。
登录后的初始主界面,不同类型的用户的界面有略微差别:萌新学生尚未选取导师,所以其导师还不确定。界面中的提示语也有一点点差别。
接下来介绍各种功能模块:
1.聊天交互、文件语音的收发
这是几乎所有聊天交互软件所具有的功能,可以收发文字、图片、文件、语音信息,这是这款软件最基本的,拉近人与♂人之间的距离。
2.动态分享
这样的模块能够让在校生、萌新生分享自己的在校困扰or疑惑来请求支援,或者是身边的喜事趣事。也能让老师和学生更好地交流或者和自己的往届生更好亲近,让老师们看到从前某个学生现在过得怎么样。也能让毕业生分享自己的经验、自己公司的工作招聘的内推机会或是和同门师生亲♂近。
3.家族树
家族树能让使用这款软件的每个用户了解同门家族的前驱后继,自己的前人和后来者,自己的导师,乃至导师的导师的导师的导师。能够让用户与其中的人进行交流,同门的人,处境会有些许相似,也许在某些情景能够给予自己帮助。
4.导师信息等
能够给予萌新同学们许多导师的信息,能够让他们更好地了解导师,来让自己选择导师,以更好地学习。
5.通讯录
通讯录中的各种分组可以让用户更好地使用它来寻找聊天对象,好友添加功能能够让用户通过用户ID等信息来添加好友。
并且产品可以更新,修理bug与不足,新添加功能来完善用户体验
四、PSP
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 40 | 30 |
Estimate | 估计这个任务需要多少时间 | 120 | 120 |
Development | 开发 | 385 | 360 |
Analysis | 需求分析 (包括学习新技术) | 60 | 90 |
Design Spec | 生成设计文档 | 60 | 60 |
Design Review | 设计复审 | 20 | 20 |
Coding Standard | 代码规范 (为目前的开发制定合适的规范) | -- | -- |
Design | 具体设计 | 60 | 90 |
Coding | 具体编码 | -- | -- |
Code Review | 代码复审 | -- | -- |
Test | 测试(自我测试,修改代码,提交修改) | 30 | 30 |
Reporting | 报告 | 120 | 120 |
Test Report | 测试报告 | 60 | 80 |
Size Measurement | 计算工作量 | 30 | 30 |
Postmortem & Process Improvement Plan | 事后总结, 并提出过程改进计划 | 30 | 30 |
合计 | 1015 | 1060 |
五、结对过程
2、过程总结
李爱军:
这次结对作业,我和队友一起分析讨论然后制作,学到了很多新的东西,比如最大的收获就是墨刀了。这次作业虽然时间比较紧,但相比让我感到十分痛苦的代码,这次作业还是非常有趣的。还有我了解到了需求分析中的一个重要模型——“NABCD”,学习到了怎样更好地根据客户需求更好地做出产品。总之,通过完成这次作业,我收获了很多。
蔡智伟:
对于此次作业,我了解了关于一个项目从头到尾应该如何做,做什么。首先,对于客户的需求分析是最重要的,这是完成工作的基础,分析到位才能清楚各项工作应该如何做,要明白用户是“什么样的人”、他们在“什么样的场景下”使用我们的设计。对于这个,可以适当采取用户调研、网络查询资料等方法。并且,多人合作的项目,在项目设计之前的讨论应该要分工清晰、任务明确,敢于交流想法,畅所欲言。