第6次结对作业--郑锦伟&古维城
第6次结对作业
在线英语学习平台客户端原型
1.结对成员
郑锦伟 2015034643034
古维城 2015034643033
2.原型设计工具实现-Photoshop
3.需求分析
使用NABCD模型进行需求分析
3.1 N(Need, 需求)
3.1.1具体功能和数据需求
3.1.1.1 登录注册管理
(1) 注册
用户填写基本信息进行注册,要填写的信息有(账号,密码,确认密码,邮箱,密保问题,密保问题可以设置多个,最多三个)
(2) 登录
用户根据账号或者邮箱号进行登录
(3) 忘记密码
根据密保问题重置密码
3.1.1.2 英语资料数据管理
该模块的使用用户只针对管理员
(1) 查看数据
英语数据资料首先根据层次分类,不同的层次有对应的类型的不同的题目
(2) 上传数据
选择层次(英语四级,英语六级,研考级)和类型进行上传
(3) 修改数据
可修改题目的层次,类型,描述,答案等
(4) 删除数据
可批量删除和单个删除
3.1.1.3 个人中心模块管理
(1) 用户基本信息的操作
查看/修改用户的基本信息(账号名,用户昵称,性别,年龄,邮箱,密保问题,学历,毕业学校)
查看用户的荣誉信息(总积分,排名,单词学习积分,短语学习积分,句子翻译学习积分,完型填空学习积分,阅读理解学习积分,写作学习积分)
查看学习历史,查看做过的学习套卷,可查看每道题的得分情况,用的提示次数和用户所做的答案和标准答案以及其他用户对题目的评论信息
(2) 好友模块的操作
查看好友列表,好友信息(好友账号,好友昵称,好友在线状态,好友总积分,好友排名)
可以给好友发送留言信息
发送好友申请,选择账号/邮箱号发送好友申请
查看好友申请,可以拒绝申请/接受申请
(3) 留言信息的操作
查看留言信息,回复留言
3.1.1.4 英语学习模块管理
(1) 选择学习层次
选择有:英语四级水平,英语六级水平和研考水平
(2) 选择学习方式
选择分类学习/组合学习/整体学习, 其中分类学习可以选择单词学习,短语学习,句子翻译学习,完型填空学习,阅读理解学习和写作学习等。组合学习可以任意选择一个或多个分类学习中的类型进行套卷组合来做题。整体学习结合所有分类来整体出卷。组合学习和整体学习还可以选择不同的类型的题目的出题数量来进行学习
3.1.1.5 社区模块管理
(1) 发帖
用户可以创建帖子来进行发布,帖子发布包括(题目,主体内容)
(2) 回帖
可在具体帖子里留言,也可在其他用户留言里回复
3.1.1.6排行榜管理
(1) 查看排行榜
查看总积分排行前10的用户的信息(用户名,总积分,排名,单词学习积分,短语学习积分,句子翻译学习积分,完型填空学习积分,阅读理解学习积分,写作学习积分) 对他们的互动有好友添加和留言
3.2 A(Approach,做法)
3.2.1 项目架构
整个项目我们大概分为六大模块层,第一模块是数据操作层,主要是存放数据,数据底层操作;第二模块是业务逻辑模块,主要是提供网站的业务逻辑处理,跟网络通信层和数据操作层紧密结合;第三模块是服务器通信层,主要是提供网络通信,稳定进行网络服务,这一层我们考虑采用nginx作为服务器进行网络通信服务;第四模块是前端模块,主要是进行客户页面的友好显示和提供前端服务逻辑,这一模块我们分为两个版本,一个PC页面响应式版,一个是手机端页面版。第五大模块是爬虫和数据处理模块,主要是进行分布式爬虫爬取网站所需要的数据,爬取的数据将暂放到Mongodb中,同时还要负责对爬取的数据进行数据清洗和数据筛选。第六大模块是数据分析模块,这一模块使用机器学习算法对用户数据进行分析,自动对用户的英语学习作出智能的学习报告,以及进行题目的智能推荐,让用户更好地更有效率地进行针对性学习。
3.3 B(Benefit,好处)
用户可以自定义学习计划,可以按照你的学习规律和学习习惯定义你的学习计划进行英语学习。
系统智能分析你的学习情况,智能推荐题目提供学习。
同时还可以与好友一起学习,一起相互监督,一起成长
随时获取你的学习记录,查看你的学习情况和知识掌握情况,从而可以改进你的学习计划更好地进行学习
3.4 C(Competitors,竞争)
给用户更多的自由学习合适的学习计划进行学习,确定好学习计划后。同时系统会智能根据你的学习情况进行题目推送
题型较多,除了词汇题,选择题外,还会有各种翻译题甚至是写作题提供练习,而判题由系统进行智能判断
题库庞大,题目质量高,我们采用全网分布式爬虫进行数据爬取,利用大数据进行数据清洗和数据筛选,然后系统智能对数据进行整合处理,变成各种不同类型,不同难度的高质量题目。
3.5 D(Delivery,推广)
线上推广:我们会编写QQ机器人和微信机器人,进行并发广告推送,同时还会建立微信公众号进行公众号推广
线下推广:推广给身边的朋友,师弟师妹,师兄师姐等,有必要可以进行传单推广,同时联系学校的一些协会和组织与我们进行合作推广
4.PSP
PSP |
Personal Software Process Stages |
预估耗时 |
实际耗时 |
Planning |
计划 |
25 |
10 |
· Estimate |
· 估计这个任务需要多少时间 |
25 |
10 |
Development |
开发 |
100 |
180 |
· Analysis |
· 需求分析 (包括学习新技术) |
120 |
150 |
· Design Spec |
· 生成设计文档 |
40 |
30 |
· Design Review |
· 设计复审 (和同事审核设计文档) |
20 |
20 |
· Coding Standard |
· 代码规范 (为目前的开发制定合适的规范) |
10 |
10 |
· Design |
· 具体设计 |
100 |
130 |
· Coding |
· 具体编码 |
--- |
--- |
· Code Review |
· 代码复审 |
--- |
--- |
· Test |
· 测试(自我测试,修改代码,提交修改) |
30 |
30 |
Reporting |
报告 |
100 |
130 |
· Test Report |
· 测试报告 |
10 |
120 |
· Size Measurement |
· 计算工作量 |
5 |
5 |
· Postmortem & Process Improvement Plan |
· 事后总结, 并提出过程改进计划 |
10 |
5 |
合计 |
|
595 |
520 |
5.原型设计
5.1学习界面
5.2修改密码
6.结对过程
我们结对后,首先是阅读<<构建之法>>到第八章,了解学习了软件开发的开发模式,开发流程和团队合作的流程,以及需求分析和NABCD模型
之后我们沟通商量,确定完成哪方的项目,然后我们对项目进行深入地探讨进行需求分析,根据团队的技术能力情况,综合整个项目来进行架构分析,然后是利用NABCD模型进行分析,PSP分析和原型设计
我们的结对照
7.心得感想
郑锦伟:在团队项目中,最重要的是良好的沟通和配合,这次与古维城进行结对合作,是我第一次进行结对合作,原来还可以这样去合作一个项目,因为双方是不同的项目,在沟通后确定了做我原先团队的《疯狂英语的项目》,两个人不但想出来新奇的想法,效率也更加高。这次结对作业让我学习颇多。
古维城: 古维城:本次团队任务让我感触良多,团队虽然只有两个人,但我可以深刻感受到合作的种种好处.两个人共同作业的速度远远大于一个人.然而和队友之间进行需求分析以及功能界面的讨论时会有争论,思想之间的交流.与以前一个人完成作品,不明白就上网找资料的方法相比,是有很大的不同.让我感受到团队的强大与完善.