第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.心得感想
郑锦伟:在团队项目中,最重要的是良好的沟通和配合,这次与古维城进行结对合作,是我第一次进行结对合作,原来还可以这样去合作一个项目,因为双方是不同的项目,在沟通后确定了做我原先团队的《疯狂英语的项目》,两个人不但想出来新奇的想法,效率也更加高。这次结对作业让我学习颇多。
古维城: 古维城:本次团队任务让我感触良多,团队虽然只有两个人,但我可以深刻感受到合作的种种好处.两个人共同作业的速度远远大于一个人.然而和队友之间进行需求分析以及功能界面的讨论时会有争论,思想之间的交流.与以前一个人完成作品,不明白就上网找资料的方法相比,是有很大的不同.让我感受到团队的强大与完善.
第6次结对作业--郑锦伟&古维城的更多相关文章
- 软件工程第三次作业-结对作业NO.1
第一次结对作业 结对人员: 潘伟靖 170320077 张 松 170320079 方案分析 我们对所供的资料进行分析,如下: 从提供的资料可以看出,需要解决的问题以及满足的需求主要有两类目标用户,各 ...
- Lobooi 结对作业(24235+24229)
结队作业 GitHub项目地址 https://github.com/Lobooi/PairProgramming.git 伙伴博客地址 https://www.cnblogs.com/lanti/p ...
- 结对作业1----基于flask框架的四则运算生成器
011.012结对作业 coding地址:https://coding.net/u/nikochan/p/2nd_SE/git 一.作业描述 由于上次作业我没有按时完成,而且庞伊凡同学编程能力超棒,所 ...
- [2019BUAA软件工程]结对作业
Tips Link 作业链接 [2019BUAA软件工程]结对作业 GitHub地址 WordChain PSP表格 psp2.1 预估耗时(分钟) 实际耗时(分钟) Planning 计划 60 ...
- [BUAA软工]第一次结对作业
[BUAA软工]结对作业 本次作业所属课程: 2019BUAA软件工程 本次作业要求: 结对项目 我在本课程的目标: 熟悉结对合作,为团队合作打下基础 本次作业的帮助:理解一个c++ 项目的开发历程 ...
- 软工实践——结对作业2【wordCount进阶需求】
附录: 队友的博客链接 本次作业的博客链接 同名仓库项目地址 一.具体分工 我负责撰写爬虫爬取信息以及代码整合测试,队友子恒负责写词组词频统计功能的代码. 二.PSP表格 PSP2.1 Persona ...
- 第四,五周——Java编写的电梯模拟系统(结对作业)
作业代码:https://coding.net/u/liyi175/p/Dianti/git 伙伴成员:石开洪 http://www.cnblogs.com/shikaihong/(博客) 这次的作业 ...
- 结对作业——随机生成四则运算(Core 第7组)
结对作业 ——随机生成四则运算(core第7组) 吕佳玲 PB16060145 涂涵越 PB16060282 GITHUB地址 https://github.com/hytu99/homework_2 ...
- 结对作业(1.0版)(bug1已修复)
import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing ...
随机推荐
- Xcode相关常用快捷键搜集
command + L: 跳转到指定行 control + i: 格式化代码 command + control + 上/下 在*.h和*.m之间切换. command + control ...
- android资源库
原文地址:http://blog.csdn.net/xiechengfa/article/details/38830751 在摸索过程中,GitHub上搜集了很多很棒的Android第三方库,推荐给在 ...
- 《java入门第一季》之面向对象(一个易错面试题)
这个面试题有点难度,有一些饶.不明白可以在下面讨论.还是值得搞懂的. / * 看程序写结果: A:成员变量的问题 int x = 10; //成员变量x是基本类型 Student s = new St ...
- zTree的调用设使用(跨两个系统,两类技术实现的项目案例SpringMVC+Spring+MyBatis和Struts2+Spring+ibatis框架组合)
1.从zTree官网上下载zTree的包,zTree的官方网址是:http://www.ztree.me/v3/main.php#_zTreeInfo 2.引入zTree所需的依赖,例如(jQuery ...
- GDI+ 读取jpg图片每个像素的值
// 读取jpg图像像素rgb值.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> #in ...
- SpriteBuilder中锚点的一般用法
注意:改变节点的锚点(anchor point)将会影响缩放和旋转操作,也会影响边界边框和碰撞的检测. 锚点仅仅挪动节点的视觉表现,这种改变可能与物理表现不一致. 你绝不应该错误的挪动锚点去改变节点的 ...
- 嵌入式C语言位运算之清位置位
如题,在嵌入式开发中,掌握位运算是节省开发时间和提高开发效率的一种高效方式. 我们不得不去熟悉如何快速掌握位运算这种高效的技巧,接下来看看程序.. #include <stdio.h> # ...
- LeetCode之“字符串”:最长回文子串
题目要求: 给出一个字符串(假设长度最长为1000),求出它的最长回文子串,你可以假定只有一个满足条件的最长回文串.例如,给出字符串 "abcdzdcab",它的最长回文子串为 & ...
- Linux文件系统的简单操作 - df, du, ln
现在我们知道磁盘的整体数据是在 superblock 区块中,但是每个各别文件的容量则在 inode 当中记载的. 那在文字接口底下该如何叫出这几个数据呢?底下就让我们来谈一谈这两个命令: df:列出 ...
- 有关java的引用传递,直接操作对象本身。直接删除BE的value中某值
HashSet<String> refRegions = BE.get(regionName); HashSet<String> values = new HashSet ...