一、团队成员简介与个人博客地址

江昊,项目经理
http://www.cnblogs.com/haoj/

王开,后端开发
http://www.cnblogs.com/wk1216123/

王春阳,后端开发
http://www.cnblogs.com/wcysoftware/

杨墨犁,前端开发(UI)
http://www.cnblogs.com/pikali/

徐丞,后端开发
http://www.cnblogs.com/ericxuc/

付帅,前端开发
http://www.cnblogs.com/fusluv/

王若愚,前端开发
http://www.cnblogs.com/ruoyuwang/

团队博客地址:http://www.cnblogs.com/wowotoubuaa/

二、软件工程展示

一) 团队项目目标:
实现一个为北航社团提供社团管理服务,为学生提供社团活动资讯的网站

预期的典型用户:
1.社团管理者小A,通过“北航Clubs”社团后台,创建与发布活动资讯,在收集活动报名同学信息后,进行群发Email及短信操作。
2.学生小C,通过“北航Clubs”网站,浏览近期社团活动并报名,报名后收到社团管理者小A发来的活动信息。

预期功能描述:
服务社团的功能包括,登陆、活动发布、活动编辑、活动删除、查看活动报名名单、向活动报名者发送Email邮件及短信。
面向学生的功能包括,注册、登陆、活动信息浏览、活动报名。活动报名后可以收到社团发送的相关邮件及短信。

二) 用户需求
(结合现场展示,让用户去操作)

  1. 学生用户:注册,登录,浏览活动详情,报名活动

2. 社团用户:登录,查看/编辑/删除目前已发活动,创建新活动,查看/删除活动名单,对名单内人员发送email及短信

三) 软件用户量

学生注册用户:57

社团注册用户:3

四)团队合作

分工协作:

分工

Member

角色

分工

江昊

PM

负责统筹整体开发流程,及时调整需求以及监督进度

杨墨犁

DEV

负责UI和界面开发

付帅

DEV

负责实现前端的动态展示

王若愚

DEV

负责实现前端的动态展示

王开

DEV

负责数据库模型建立、控制器以及邮箱功能实现

王春阳

DEV

负责API文档、路由以及控制器实现

徐丞

DEV&TEST

负责数据库模型建立、单元测试以及控制器实现

协作:前后端通过后端制定的API文档进行统一交互;前后端内部则继续细分任务,其中前端的动态展示以及后端的Model层实现均采取了结对编程的方式,来保证项目的完成效率与正确性。

经验教训:

经验之谈

1.软件架构设计提高开发效率

在进行开发前,我们制定了API文档,规定了API各项参数与细节,使得前端后端可以完全独立开发,互相不受干扰与影响,专注于自己的技术领域,学习成本降低,开发效率提升。

2.任务的细化可以让每个队员都贡献力量

通过API文档,将项目任务细化为前端与后端。

后端采用rails框架,自带MVC结构,后端三人分别去做Model层、Controller以及Router

前端采用界面与JS代码分离开发的方式,将任务分为UI设计与界面实现、界面动态化展示。

于是任务以比较平均的方式细化到每个人身上,为每个人设计了自己的关注焦点,调动起团队的力量。

3.要有一个不写代码,专门解决问题的人

这个人就是PM。PM的职责不单单是设计项目技术方案,推动前后端进展,督促节点任务完成保证项目进度,还有为可能的技术难题做“预热”,提前查询技术难题的解决方案,做到心中有数,保证大方面上项目技术路线的可行性。

4.每周例会,不是形式

每周的例会推动项目不断进展。每次到周会前,项目都会“进展神速”,实现本周要求的任务。

每周例会主要议题有两个,第一个是该周目标与任务安排,第二个是介绍采用的新的技术方案or开发工具、开发方式。第一个议题,使每个队员明确自己的任务,任务明确,是一个开发人员进行开发的最大动力。第二个议题,使队员知道接下来将如何和队友合作,如何什么样的技术实现将要开发的功能。

比如,我们在讨论用户状态控制时,涉及到后端的Token存储、API调用、前端sessionStorage存储以及header传递身份信息的验证方式,将整个技术流程介绍完毕,前后端队员就理解如何更好的和对方配合了。

教训之谈:

1.API文档要保证最新且真实可用

作为最重要的团队文档,API文档应该被精心维护,有动态更新应及时告知队友。

团队开发中,比较浪费效率的一次就是后端更改了API的一个参数,没有及时更新API文档,导致前端开发队员苦调半天而无果。

2.前端重于后端

一开始,项目侧重于后端,因为数据的存储、API的提供、服务器环境的配置直接关系到项目能否顺利进行,因而比较看重。然而真正开发两周后,却发现,后端重要归重要,在一定规模层级之内,后端的开发也是最轻松的。

相比而言,前端开发才真是叫苦不迭,界面绘制已经很坑了,前端JavaScript代码更是难于编写与维护,因为写JS代码涉及到方方面面的相关知识!而且,前端不好看,对项目的用户体验、展示效果都是致命伤。所以在一轮迭代开发后期,项目侧重点是偏向了前端的。而如果一开始就能对这样的情况有所了解,我们会少走很多弯路。

五) 团队如何平衡 时间/质量/资源 争取如期完成任务的 

团队整体:PM发挥PM的作用,面对每天的时间,找到优先级,作出判断与分工。团队通过每天的scrum meeting进行总结,对项目安排进行相应调整

前后端开发各自内部:通过个人能力与时间等依据,每天制定计划分工与目标任务。

六) 代码工程质量及数据证明

团队代码的软件工程质量:

关于测试:本次项目单元测试总共有24个,包括单元测试与功能测试,代码覆盖率为92%。测试用例的编写使用的是rails自带的单元测试框架,同时使用fiddler4脚本测试所有的API是否能正确执行。

目前存在的尚待解决bug:

  1. 在进入网站页面时,页面有时会出现卡顿的情况

2. 由于登陆时没有做数据验证,所以一些非法的注册信息也可以注册成功

3. 在不同的浏览器或者不同大小的屏幕上可能会出现布局的问题

代码规范:由于rails本身对代码的规范有许多默认的约定,比如变量,常量的命名,路由,控制器,模型的命名等都有一套默认的规范,我们在进行后端的编写时遵从了rails本身默认的这些约定。并且,对api格式的规范还有注释的要求进行了统一规定。

关于文档:具体的文档已经发布在窝窝头的团队博客中了,包括后端设计文档,需求分析文档,api设计文档

三   团队项目的进展过程

开发期第一天:(均在学习,进展缓慢)

第二天(开始具体设计实现,进度加快)

第四天(进度明显减缓,前后端都进入到深度学习阶段)

第八天(进度稳定,前后端开发均在进行,但已经产生无效任务不知如何处理的情况)

第九天(后端进入测试修改阶段,但因为无效任务以及新增任务的影响,燃尽图已与实际情况有出入)

迭代末期(之前无效任务只能在此时更新,造成后期曲线急速下降,但后期实际上项目进入调试阶段,进度一直很平稳)

总结:

scrum在大致上反映了我们的项目进度趋势:前慢后快——前面处于学习阶段,学习成本导致进度迟缓,后期明显提速。

但因为项目开始前存在制定的无效任务,外加对TFS与backlogs相关的操作不熟悉,造成曲线与实际仍然有相当偏差。主要体现在无效任务未及时清理,当项目进行过程中产生新任务时并未及时添加,以及成员并未按时更新任务进度。

所有功能及最出众功能介绍,用户如何受益:

四  团队成员在M1 的角色和具体贡献

Member

角色

具体的, 可衡量的, 可验证的贡献

江昊

PM

负责统筹整体开发流程,及时调整需求以及监督进度

杨墨犁

DEV

2500行代码,负责UI和界面开发,scrum发布

付帅

DEV

1000行代码,负责实现前端的动态展示

王若愚

DEV

1000行代码,负责实现前端的动态展示

王开

DEV

400行代码,负责数据库模型建立、控制器以及邮箱功能实现,所有文档的审核

王春阳

DEV

400行代码,负责API文档、路由以及控制器实现,燃尽图管理

徐丞

DEV&TEST

800行代码,负责数据库模型建立、单元测试以及控制器实现

五  团队从用户那里得到了什么反馈,有什么样的bug?这是预料之中的还是没想到的?

如果现场评审成员发现了bug,但是我们项目小组的测试人员并没有发现这样的bug,那么对每一个bug,这个团队的成绩扣掉10分,扣到0 分后,继续扣,团队项目得分可以为负分

7)  总结,整个团队在Alpha阶段学到了什么,对软件工程的教育,对这个具体的课程有什么批评建议?

http://www.cnblogs.com/wowotoubuaa/p/4971388.html

Alpha阶段展示报告的更多相关文章

  1. 高级软件工程2017第6次作业--团队项目:Alpha阶段综合报告

    高级软件工程2017第6次作业--团队项目:Alpha阶段综合报告 Deadline:2017-10-30(周一)21:00pm (注:以下内容参考集大作业4,集大作业5,集大作业6,集大作业7 一. ...

  2. 第六次作业:Alpha阶段综合报告(Java-Team)

    团队:Java-Team 成员: 章辉宇(284) 吴政楠(286) 陈阳(PM:288) 韩华颂(142) 胡志权(143) github地址:https://github.com/WHUSE201 ...

  3. 高级软件工程2017第6次作业——团队项目:Alpha阶段综合报告

    1.版本测试报告 1.1在测试过程中总共发现了多少Bug?每个类别的Bug分别为多少个? Bug分类 Bug内容 Fixed 编辑博文时改变文字格式会刷新界面 Can't reproduced 无 N ...

  4. BugPhobia展示篇章:学霸在线系统Alpha阶段展示

    0x00:序言 1 universe, 9 planets, 204 countries,809 islands, 7 seas, and i had the privilege to meet yo ...

  5. Alpha阶段综合报告

    1.版本测试报告 1.1在测试过程中总共发现了多少Bug?每个类别的Bug分别为多少个? Bug分类 Bug内容 Fixed 编辑博文时改变文字格式会刷新界面 Can’t reproduced 无 N ...

  6. Alpha阶段展示

    程序员杀产品经理祭天(SacrificePM)团队 1.团队成员简介和个人博客地址 故事 我们队伍的建立过程稍具戏剧性,大家看我们也颇为奇怪,这么一支8人队伍是怎么诞生的呢?其实我们原本分属三组,而第 ...

  7. 秘制牛肉Alpha阶段项目展示

    秘制牛肉Alpha阶段项目展示 1.团队成员和个人博客 · 左顺:"我是左顺,秘制牛肉队开发人员". · 王尖兵:"C,java,html5都会一点的菜鸡,没做过团队项目 ...

  8. Alpha阶段项目展示博客

    烫烫烫烫烫(hotcode5)团队 1. 团队成员的简介和个人博客地址 刘畅 博客园ID:森高Slontia 身份:PM 个人介绍: 弹丸粉 || 小说创作爱好者 || 撸猫狂魔(x || 生命的价值 ...

  9. [对对子队]Alpha阶段项目展示博客

    Alpha阶段项目展示博客 1 团队成员的简介和个人博客地址 成员 头像 岗位 博客 个人介绍 黄贤昊 PM 17373253 喜欢玩游戏和做游戏,项目经验基本都和游戏相关,擅长摸鱼,偶尔敬业. 刘子 ...

随机推荐

  1. BurpSuite+SQLmap的一种另类扫描

    过年之后就忙的团团转.三月开始可以轻松一些,抽空写写最近瞎折腾的东西,本文只是描述工具的一种使用方法,无技术含量.(PS:这种做法,网上也有很多教程,本文只为记录). 由于公司使用的电脑都是win10 ...

  2. 【NodeJs】Nodejs系列安装

    nodejs安装—npm安装—(其他基于这俩项的另写) windows环境 1)nodejs安装 ①下载对应系统版本的Node.js:https://nodejs.org/en/download/ e ...

  3. STM32的AFIO时钟什么时候需要开启

    相比于普通单片机,STM32 拥有复杂的时钟系统,相应的控制器称为 RCC(Reset Clock Controller,复位与时钟控制器).每个外设都配备了外设时钟的开关,当我们不使用某个外设时,可 ...

  4. [COGS257]动态排名系统 树状数组套主席树

    257. 动态排名系统 时间限制:5 s   内存限制:512 MB [问题描述]给定一个长度为N的已知序列A[i](1<=i<=N),要求维护这个序列,能够支持以下两种操作:1.查询A[ ...

  5. matplotlib绑定到PyQt5(无菜单)

    很简单的实现matplotlib绑定到PyQt5 [知识点] import matplotlib matplotlib.use("Qt5Agg") from matplotlib. ...

  6. VC编译连接选项详解

    VC编译连接选项详解 大家可能一直在用VC开发软件,但是对于这个编译器却未必很了解.原因是多方面的.大多数情况下,我们只停留在“使用”它,而不会想去“了解”它.因为它只是一个工具,我们宁可把更多的精力 ...

  7. [glog]_[C/C++]_[使用glog来记录日志]

    glog 快速使用教程 场景 1.大部分程序由函数组成, 每个函数执行一段设计好的逻辑, 但是大部分的时候有可能出现意料之外的值, 这时候就很想知道这种意料以外的值是如何产生的, 这就需要一个函数调用 ...

  8. [NOIp2016]天天爱跑步 线段树合并

    [NOIp2016]天天爱跑步 LG传送门 作为一道被毒瘤出题人们玩坏了的NOIp经典题,我们先不看毒瘤的"动态爱跑步"和"天天爱仙人掌",回归一下本来的味道. ...

  9. noip2017 TG 游记

    嗨小朋友们大家好,还记得我是谁吗?我就是为GG代言的蒟蒻--xzz 今天呐我特别的要向HN的dalao们ZJ的巨佬们还有全国的神犇们问声好 为什么呢因为我们在2017年11月份来到了吔屎的长沙理工大学 ...

  10. 使用cJSON库解析JSON

    cJSON库的下载 cJSON是一个基于C的JSON解析库,这个库非常简单,只有cJSON.c和cJSON.h两个文件,支持JSON的解析和封装,需要调用时,只需要#include "cJS ...