结对项目之需求分析与原型设计
学号:3004 陈慧玲/3022 方泽慧
在《构建之法》第八章的重大竞争性需求分析的框架(P160-P163)这一小节中,详细介绍了NABCD模型。
- N需求(Need),了解用户的需求,用你的创意解决用户的需求
- A做法(Approach),运用独特的招数解决用户的痛苦(需求)
- B好处(Benefit),这个产品/服务会给客户/用户带来什么好处
- C竞争(Competitors),了解市场及竞争对手,看清我方优劣势
- D推广(Delivery),了解产品怎样能有效地在用户中推广,能让我们把相关功能设计做好
一、需求分析
1、N(Need,需求)
随着计算机技术的飞速发展,通过网络学习的人越来越多,可是有许多的学习网站都只满足用户的其中一种需求,比如,博客园给出的比较多的是专业性较强的文章,而缺乏资源的提供;而知乎可以提供问答功能,可是答案比较杂乱。所以希望做一个综合性的学习交流平台,给用户提供交流互动、学习心得记录、学习资料共享等功能,同时用户可以举报一些恶意的用户,减少恶意答题;上传资料需要经过后台审核,防止一些不良信息散播,进而营造一个比较愉悦轻松的学习氛围。
2、A(Approach,做法)
由需求分析可以看出,大部分的网站都是主要做好某一个功能的,而论单一功能我们的技术现在还无法达到它们的高度,而我们能做到的是尽可能把那些网站比较优秀的功能结合起来,外加一些自己的想法,合理设计出属于我们的网站。
学习网站平台大致运行流程如下:
1.个人管理
普通用户可以注册账户,注册时每个用户需要填写一些注册的必要信息,注册完成后需要对自己的个人信息进行完善,个人信息可以修改。另外,用户可以管理自己的学习笔记,心情,或者提问和评论,可以建立或加入兴趣圈,以找到自己想学习的圈子。
2.好友互动
学习兴趣相同的用户可以通过相互交流提高学习效率,因此,设有好友功能,可以搜索关注其他用户,如果相互关注,则可以私聊互动。
3.资源共享
网上学习资料特别多,可总是找不到自己想要的,浪费了很多时间。所以这里的资源共享只要是一些学习文档或者视频类的资料,共享资料需要写上版权所有者等,并且需要后台审核,审核通过的资料可供其他用户下载。上传的用户对自己上传的资料可以随时下载、删除。
5.疑难问答
在学习过程中,常会遇到难题,所以设立答疑区,用户可以在答疑区提问,当然可以通过类似悬赏金币的形式吸引答疑者回答问题,让问题可以及时解决。如果在一定的时间内问题没有解决,将自动关闭问题。如果问题解决,提问者可以选择满意答案和推荐答案并停止问题,停止后的问题不能再回答,但问题和答案会保留供其他用户查看。
6.智能推荐
在答疑区、讨论区和资源共享等地方,根据个人的浏览记录或者用户所在兴趣圈给用户推荐其感兴趣的话题或资源。
7.学习笔记
用户在学习后,可能会有想写点笔记或者心得。设立用户笔记模块,用户可以在这里将学到的东西记录下来,供自己日后查看或让其他用户借鉴学习。在这个模块也可以找别人的学习笔记,可以收藏别人的笔记。
8.反馈系统
当学习者感觉网站体验效果不佳、觉得有什么需要改进的地方或者想要举报用户,可以通过反馈系统将问题反馈给我们,管理员会对反馈进行审核,如果对网站建设有一定作用,可奖励相应金币。
3、B(Benefit,好处)
- 提供优质的学习资料,提高用户的学习效率
- 把学习需要的各个方面结合起来,提高用户的时间利用率
- 提供较为轻松的学习平台,提升用户体验
- 提供好友互动平台,方便用户间的交流和学习
4、C(Competitors,竞争)
- 对于单一功能来说,许多的学习网站已经较为成熟,而且开发时间比较久,市场竞争较为激烈
- 目前在网络上暂时还没看到功能较为综合的学习网站,在综合性学习网站的市场还有待研究
5、D(Delivery,推广)
- 原型系统设计完成后,全力进行开发
- 在百度中进行广告推广
- 用户在网站发表完笔记后,可以同步分享到微信、QQ等平台
二、结对过程
三、原型系统设计
原型设计工具:墨刀
1.登录后主页面:
2.登录页面:
3.注册页面:
4.笔记页面:
暂时设计出这些页面内容,其他页面还需要再思考。
四、PSP
PSP2.1 | personal Software Process Stages | 预估时间(分钟) | 实际耗时(分钟) |
Planning | 计划 | 20 | 30 |
· Estimate | · 估计这个任务需要多少时间 | 20 | |
Development | 开发 | 260 | 450 |
· Analysis | · 需求分析 (包括学习新技术) | 60 | 90 |
· Design Spec | · 生成设计文档 | ||
· Design Review | · 设计复审 (和同事审核设计文档) | ||
· Coding Standard | · 代码规范 (为目前的开发制定合适的规范) | / | |
· Design | · 具体设计 | 120 | 240 |
· Coding | · 具体编码 | ||
· Code Review | · 代码复审 | ||
· Test | · 测试(自我测试,修改代码,提交修改) | ||
Reporting | 报告 | 80 | |
· Test Report | · 测试报告+博客 | 50 | |
· Size Measurement | · 计算工作量 | ||
· Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | 10 | |
合计 | 360 | 540 |
五、结对心得及项目总结
结对心得:第一次进行结对项目,通过跟别人讨论需求,进行头脑风暴,可以得出许多千奇百怪的脑洞,这是一个人无法做到的。结对更加可以提升自身的沟通能力以及协作能力,从而更好的进行开发。
项目总结:以前从未见过NABCD,经过这次的项目分析,系统地了解了NABCD模型,并且了解了项目开发的第一步——需求分析和原型设计,加深了对软件工程的理解。