BUAAMOOC项目终审报告
工作总结
我们是歪果仁带你灰开发团队。我们开发的项目是北航学堂(MOOC)的android客户端:BUAAMOOC。
目前我们完成了主要功能,包括UI设计,视频播放,视频下载,学习进度,个人信息等功能,未完成功能是讨论区设计。
团队成员介绍

个人博客列表:
史烨轩(QC)、闫昊(PM)、唐彬(CODE)、余帆(BLOG)、金哉仁(UI)、益西多吉(TEST)
项目成果展示
我们的项目目前实现的功能有:用户登录、注销,自动登录,查看所有课程、我的课程,查看课程介绍,选课/退课,查看课程视频目录、在线观看教学视频,视频下载,课程学习进度记录。
未完成功能:讨论区设计。
Beta版本测试报告:http://www.cnblogs.com/wgrdnh/p/5106199.html
Beta版本发布说明:http://www.cnblogs.com/wgrdnh/p/5107900.html
APP LOGO效果:

通过友盟统计我们的app目前共有109个用户

成果对比
上届成果:
登陆界面:

课程列表:

课程简介:

课程目录查看:

视频观看:

我们的成果:
登录页面及课程列表:

播放器效果:

学习进度记录:
通过记录视频的播放进度,反馈给用户本章节的进度,方便用户掌握自己的学习情况。

个人信息管理:
可以更新密码等部分信息,由于服务器功能限制,暂时不支持更换头像等操作。

视频下载及本地播放




项目需求分析
我们的项目面向的主要人群是使用北航学堂学习的同学。目前14级计算机学院的计算机组成原理课程就在使用北航学堂。我们的项目在完成之后将会使学弟学妹的课程学习变得更加方便。
预期用户群体
能够连接到北航校内网络,愿意学习北航在线课程的人。以北航校内学生为主。
典型用户1
| 名字 | 小明 |
|---|---|
| 性别 | 男 |
| 年龄 | 20岁 |
| 职业 | 北航本科生 |
| 知识层次和能力 | 大学,能熟练地使用互联网,智能手机 |
| 生活情况 | 一名宅,几乎不出寝室 |
| 动机,目的,困难 | 在北航学堂上选修了一些课程,希望在躺在床上的时候也能方便的观看北航学堂的视频 |
典型用户2
| 名字 | 小刚 |
|---|---|
| 性别 | 男 |
| 年龄 | 26岁 |
| 职业 | 北航唯实大厦某公司员工 |
| 知识层次和能力 | 高中,平时爱玩手机游戏,居住在公司附近租的房子中,住房内没有电脑 |
| 生活情况 | 工作任务较重 |
| 动机,目的,困难 | 希望在工作之余通过学习北航学堂的课程来提高自己,希望可以通过手机方便的学习 |
目前我们的项目对于小明同学的需求已经完全能够满足。对于小刚同志的需求目前还存在问题,因为APP的使用基础环境是Buaa-wifi(目前服务器接口来自外网,所以外网会导致APP崩溃)。
参考:功能规格说明书
其他问题
事先定义的软件下载量达到了么?为什么没有达到?
答:没有。第二阶段发布失败。详情查看发布报告。
团队的成员如何分工协作的?有什么经验教训?
答:CODE:唐彬,史烨轩,闫昊
BLOG:余帆
UI:金哉仁
TEST:益西多吉
团队如何平衡 时间/质量/资源 争取如期完成任务的?
答:每个人在第二阶段正式开始工作之前都写好自己的工作分析,关于某项任务预计多少时间。中间遇到服务器崩溃问题,并且临近截止时间,于是在服务器好了之后加快开发速度,在元旦放假时完成开发任务。
在产品之外,团队代码的软件工程质量如何?如何用数据来证明?
1.项目的最终代码在哪里?
答:github;
2.测试用例数目,代码覆盖率数目。
答:12
3.运行测试用例得到代码覆盖率的视频录像,(需要现场看到。没有诸如 “我的电脑没有装测试环境”,“文件不全”等等借口)。
4.代码规范和文档在哪里?
答:代码规范及文档;
6.有些项目是在原来的基础上改进的,那么我们团队的软件工程项目质量有什么样的提高?
答:我们的项目基本上是重写的。相对于上个阶段我们减少了许多异常崩溃的情况。
7.原来的项目有些代码都找不到,文档也没有,或者没有最近的代码,你们的项目是如何更好解决这个问题的?明年的同学继续开发这个项目,会不会出现类似的抱怨?如果一个新学生在一台新机器上想编译并运行你的项目, 请问能顺利完成么?有什么样的文档能指导新学生?
答:我们在最开始的开发时确实因为原来的项目文档不完善找不到很多信息,而且上一个版本的整体功能我们并不是很喜欢,于是重写了项目工程。
如果继续开发这个项目,我们的代码根据不同的功能放在一起,所以很好查找,相关函数也写了注释。
环境是Android studio+API22,从github拷贝代码后就可以直接编译运行。
8.对于项目的目标用户是一般学生的项目, 你们如何找到学生做需求分析?他们给你什么样的反馈?
答:我们将运行apk发送给学弟学妹,让他们帮忙使用测试。他们表示mooc上的课程太少了不能满足他们的学习需求,希望有数分。
9.所有的项目都会收集到用户的数据,请问你们对这类数据做了什么样的分析,这些分析如何验证或推翻了原来的假设? 这些数据如何帮助项目改进软件工程的质量?
答:由于这个软件使用的是学校的服务器,我们并不能获取用户数据,所以也就没有分析了。
实际进展












贡献比分
|
名字 |
角色 |
具体的, 可衡量的, 可验证的贡献 |
团队贡献分 |
|
闫昊 |
PM |
800行代码,分配任务,监督完成进度 |
56 |
|
唐彬 |
CODE |
700行代码 |
55 |
|
史烨轩 |
CODE&TEST |
测试、负责视频下载的实现 |
54 |
|
余帆 |
BLOG |
博客攥写 |
53 |
|
金哉仁 |
UI |
设计UI、测试 |
52 |
|
益西多吉 |
TEST |
测试 |
30 |
特色功能
视频播放、学习进度记录。
BUG查找
在网络不稳定的情况下会崩溃(和服务器布置在内网有关)。
M1-M2对比
总结
软件工程是一门很能够锻炼的课,尤其是跟前大班的同学对比之下,整个团队在这学期学会了团队合作的重要性以及工程进展,同时更关键的是也学习到了安卓开发的知识。
建议:因为这学期各种大作业压力很大,所以更希望能把这门课安排在一个压力不大的学期。
BUAAMOOC项目终审报告的更多相关文章
- hots团队项目终审报告
一.团队成员: 徐钧鸿: 1994年1月19日生人,摩羯座最后一天.所以有摩羯的强迫症和水瓶古怪的性格 暂且算队长吧…… 高中的时候因为兴趣学了竞赛,于是就入坑了,于是就来北航学计算机了 兴趣面很广, ...
- Beta阶段项目终审报告
先上图 设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们的软件主要是用来解决玩狼人杀这款桌游时无牌.无法官.游戏流程不熟悉等情况的.我觉得我们对典型 ...
- dxteam团队项目终审报告
一. 团队成员的简介和个人博客地址 M1阶段 http://www.cnblogs.com/dxteam/p/3991514.html M2阶段 新成员 邓亚梅 http://www.cnblogs. ...
- Echo团队便利记事本项目终审报告
一.团队成员简介 http://www.cnblogs.com/echo-buaa/p/3991968.html 二.团队项目的目标,预期的典型用户,预期的功能描述,预期的用户数量在哪里? 项目的目标 ...
- 《Coderxiaoban团队》第二次作业:团队项目选题报告
<Coderxiaoban团队>第二次作业:团队项目选题报告 项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 实验六 团队作业2:团队项目选题 团队名称 Co ...
- 《Hello world 团队》第二次作业:团队项目选题报告
项目 内容 这个作业属于哪个课程 2016级计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 实验六 团队作业2:团队项目选题 团队名称 <hello--world团队> ...
- 《AlwaysRun!团队》第二次作业:团队项目选题报告
第二次作业:团队项目选题报告 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblog ...
- Java程序设计基础项目总结报告
Java程序设计基础项目总结报告 20135313吴子怡 一.项目内容 运用所学Java知识,不调用Java类库,实现密码学相关算法的设计,并完成TDD测试,设计运行界面. 二.具体任务 1.要求实现 ...
- BUAAMOOC项目M2 postmortem
设想和目标 1.我们的软件要解决什么问题?是否定义的很清楚?是否对典型用户和典型场景有清晰的描述? 我们的软件是基于北航MOOC网站做的Android手机客户端,用于便捷的在学校里通过手机做到随时随地 ...
随机推荐
- 780. Reaching Points
idea: 1.从后向前找 2.while (tx > ty) tx -= ty; 替为 % 操作 3.经过循环后,必定只有两种情况才true sx == tx && sy &l ...
- Intent加强
Intent是一种运行时绑定(runtime binding)机制,它能在程序运行的过程中连接两个不同的组件.通过Intent,你的程序可以向Android表达某种请求或者意愿,Android会根据意 ...
- C#事件の事件处解
C# 事件(Event) 事件(Event) 基本上说是一个用户操作,如按键.点击.鼠标移动等等,或者是一些出现,如系统生成的通知.应用程序需要在事件发生时响应事件.例如,中断.事件是用于进程间通信. ...
- cocos2d-x3.0 Vector和Map简单使用
Vector<Node*> vec; auto node1 = Node::create(); node1->setTag(1); vec.pushBack(node1); auto ...
- redis缓存设计
1:缓存技术和框架的重要性 互联网的一些高并发,高性能的项目和系统中,缓存技术是起着功不可没的作用.缓存不仅仅是key-value的简单存取,它在具体的业务场景中,还是很复杂的,需要很强的架构设计能力 ...
- Zabbix安装 Grafana安装
每天学习一点点 编程PDF电子书免费下载: http://www.shitanlife.com/code 前提: 先需要安装好 lamp环境. 官方文档: https://www.zabbix.com ...
- 【转】字符编码笔记:ASCII、Unicode、UTF-8 和 Base64
1. ASCII码 我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串.每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态(-128~127),这被称为一 ...
- windos 系统文件包含
解决VS2013找不到windows.h文件方法 右键属性管理器添加 包含路径(依据sdk安装目录,我的是64位系统) C:\Program Files (x86)\Microsoft SDKs\Wi ...
- [ASP.NET]ScriptManager控件使用
目录 概述 局部刷新 错误处理 类型系统扩展 注册定制脚本 注册 Web 服务 在客户端脚本中使用认证和个性化服务 ScriptManagerProxy 类 添加 ScriptManager 控件 客 ...
- SpringMVC——消息转换器HttpMessageConverter(转)
文章转自http://blog.csdn.net/cq1982/article/details/44101293 概述 在SpringMVC中,可以使用@RequestBody和@ResponseBo ...
