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 AApproach,做法)

3.2.1 项目架构

整个项目我们大概分为六大模块层,第一模块是数据操作层,主要是存放数据,数据底层操作;第二模块是业务逻辑模块,主要是提供网站的业务逻辑处理,跟网络通信层和数据操作层紧密结合;第三模块是服务器通信层,主要是提供网络通信,稳定进行网络服务,这一层我们考虑采用nginx作为服务器进行网络通信服务;第四模块是前端模块,主要是进行客户页面的友好显示和提供前端服务逻辑,这一模块我们分为两个版本,一个PC页面响应式版,一个是手机端页面版。第五大模块是爬虫和数据处理模块,主要是进行分布式爬虫爬取网站所需要的数据,爬取的数据将暂放到Mongodb中,同时还要负责对爬取的数据进行数据清洗和数据筛选。第六大模块是数据分析模块,这一模块使用机器学习算法对用户数据进行分析,自动对用户的英语学习作出智能的学习报告,以及进行题目的智能推荐,让用户更好地更有效率地进行针对性学习。

3.3 BBenefit,好处)

用户可以自定义学习计划,可以按照你的学习规律和学习习惯定义你的学习计划进行英语学习。

系统智能分析你的学习情况,智能推荐题目提供学习。

同时还可以与好友一起学习,一起相互监督,一起成长

随时获取你的学习记录,查看你的学习情况和知识掌握情况,从而可以改进你的学习计划更好地进行学习

3.4 CCompetitors,竞争)

给用户更多的自由学习合适的学习计划进行学习,确定好学习计划后。同时系统会智能根据你的学习情况进行题目推送

题型较多,除了词汇题,选择题外,还会有各种翻译题甚至是写作题提供练习,而判题由系统进行智能判断

题库庞大,题目质量高,我们采用全网分布式爬虫进行数据爬取,利用大数据进行数据清洗和数据筛选,然后系统智能对数据进行整合处理,变成各种不同类型,不同难度的高质量题目。

3.5 DDelivery,推广)

线上推广:我们会编写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次结对作业--郑锦伟&古维城的更多相关文章

  1. 软件工程第三次作业-结对作业NO.1

    第一次结对作业 结对人员: 潘伟靖 170320077 张 松 170320079 方案分析 我们对所供的资料进行分析,如下: 从提供的资料可以看出,需要解决的问题以及满足的需求主要有两类目标用户,各 ...

  2. Lobooi 结对作业(24235+24229)

    结队作业 GitHub项目地址 https://github.com/Lobooi/PairProgramming.git 伙伴博客地址 https://www.cnblogs.com/lanti/p ...

  3. 结对作业1----基于flask框架的四则运算生成器

    011.012结对作业 coding地址:https://coding.net/u/nikochan/p/2nd_SE/git 一.作业描述 由于上次作业我没有按时完成,而且庞伊凡同学编程能力超棒,所 ...

  4. [2019BUAA软件工程]结对作业

    Tips Link 作业链接 [2019BUAA软件工程]结对作业 GitHub地址 WordChain PSP表格 psp2.1   预估耗时(分钟) 实际耗时(分钟) Planning 计划 60 ...

  5. [BUAA软工]第一次结对作业

    [BUAA软工]结对作业 本次作业所属课程: 2019BUAA软件工程 本次作业要求: 结对项目 我在本课程的目标: 熟悉结对合作,为团队合作打下基础 本次作业的帮助:理解一个c++ 项目的开发历程 ...

  6. 软工实践——结对作业2【wordCount进阶需求】

    附录: 队友的博客链接 本次作业的博客链接 同名仓库项目地址 一.具体分工 我负责撰写爬虫爬取信息以及代码整合测试,队友子恒负责写词组词频统计功能的代码. 二.PSP表格 PSP2.1 Persona ...

  7. 第四,五周——Java编写的电梯模拟系统(结对作业)

    作业代码:https://coding.net/u/liyi175/p/Dianti/git 伙伴成员:石开洪 http://www.cnblogs.com/shikaihong/(博客) 这次的作业 ...

  8. 结对作业——随机生成四则运算(Core 第7组)

    结对作业 ——随机生成四则运算(core第7组) 吕佳玲 PB16060145 涂涵越 PB16060282 GITHUB地址 https://github.com/hytu99/homework_2 ...

  9. 结对作业(1.0版)(bug1已修复)

    import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing ...

随机推荐

  1. linux:你不知道的echo

    linux的echo命令功能是在显示器上显示一段文字.一般格式为: echo [ -n ] 字符串.参数n是指行尾不换行 echo会将输入的字符串送往标准输出.输出的字符串间以空白字符隔开, 并在最后 ...

  2. ISLR系列:(1)线性回归 Linear Regression

       Linear Regression 此博文是 An Introduction to Statistical Learning with Applications in R 的系列读书笔记,作为本 ...

  3. Rust语言

    Rust语言 https://doc.rust-lang.org/stable/book/ http://www.phperz.com/article/15/0717/141560.html Rust ...

  4. netty对http协议解析原理解析

    本文主要介绍netty对http协议解析原理,着重讲解keep-alive,gzip,truncked等机制,详细描述了netty如何实现对http解析的高性能. 1 http协议 1.1 描述 标示 ...

  5. AngularJS进阶(十四)AngularJS灵异代码事件

    AngularJS灵异代码事件 注:请点击此处进行充电! 事情原委 router_sys.js源代码如下: 自己在html路由跳转的代码如下: 但是在实际路由过程中,却路由到了下面的状态,相应的页面中 ...

  6. mysql进阶(十五) mysql批量删除大量数据

    mysql批量删除大量数据 假设有一个表(syslogs)有1000万条记录,需要在业务不停止的情况下删除其中statusid=1的所有记录,差不多有600万条, 直接执行 DELETE FROM s ...

  7. 修改量更新API

    /* Update a Modifier header of type 'PRO' (Promotion) */ l_MODIFIER_LIST_rec.active_flag := 'N'; l_M ...

  8. 机房收费系统之导出Excel

            刚开始接触机房收费的时候,连上数据库,配置ODBC,登陆进去,那窗体叫一个多,不由地有种害怕的感觉,但是有人说,每天努力一点点,就会进步一点点,不会的就会少一点点,会的就会多一点点.. ...

  9. Unity PUN插件多人在线同步角色坐标旋转角度和动作

    用PUN插件的话,就在OnJoinedRoom()回调函数里,表示加入房间,可以实例化角色,GameObject go=PhotonNetwork.Instantiate(prefabPlayer.n ...

  10. struts2实现ajax校验的2种方法

    共同的一点是,Action都需要将一个方法暴露出来,给前端javascript调用  javascript的代码都是一样的: Js代码   function testAjax() { var $use ...