博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

第二次团队作业——预则立&&他山之石

Posted on 2016-10-16 21:33  yuaoi  阅读(341)  评论(4编辑  收藏  举报

一、预则立——团队计划

  • No Bug
    031402401鲍亮 031402402曹鑫杰 031402403常松 031402412林淋 031402418汪培侨 031402426许秋鑫

  • 选题确定

    本次软工实践我们最终还是选择自选题目,拼团项目——一起买。在听取了栋哥以及采访学长团队的建议后,经我们小组成员一致讨论后,我们项目的定位是一个基于校园环境下的拼团信息发布平台。通过采用C/S架构,服务器端采用pHp+Mysql开发,客户端采用Android平台开发。

  • 项目的用例图

  • 分工安排
学号 姓名 分工
031402401 鲍亮 项目管理、Android开发
031402402 曹鑫杰 Android开发、测试
031402403 常松 UI设计、文档
031402412 林淋 服务端开发、数据库设计
031402418 汪培侨 服务端开发、服务器测试
031402426 许秋鑫 Android开发、架构设计

分工原因:

队伍从现有的知识积累以及当前项目的需求出发,又结合了个人意愿,兴趣导向,最终决定分配了2名后端服务器开发,3名客户端开发,以及1名项目文档的主负责人。

当然这样分配的原因,为的就是让大家能够更加专注的投入于自己所负责的部分。但分工的界限不清晰,先完成的队员可以帮助进度慢的成员,一起学习。

借鉴了学长们采访时一点非常好的经验,每一个阶段都要一个非常明确的目标,这个目标往往会更偏向于某一个技术层面,那么这个技术层面的主导成员就会成为这个阶段的主要负责人,由他来制定以及发布这一周的计划,发布以及制定哪一个组员去负责何种任务,负责人有义务为其他成员的问题提供解答以及帮助。

以及学长的会议制度,每一周结束任务的时候开一次总结会议,由负责人进行本周汇报,队长进行审查与评估,以及各自的心得体会。每一周任务开始时,明确本周任务情况,并确定本周负责人,进行相应的任务划分。


  • 时间规划
时间 人员 工作
10.15-10.22 鲍亮 团队详细计划;分工安排
曹鑫杰、常松 需求大纲:划分不同的子功能,按照版本顺序将需求分类,功能逐步完善
林淋、许秋鑫 需求大纲审核、细节修改、大纲确定
汪培侨 需求初稿文档撰写
10.23-10.29 汪培侨 服务器环境搭建及测试、php编码规范
曹鑫杰、许秋鑫 完成Android编码规范,并发布总结;采用Android Studio开发工具,完成虚拟机、真机测试,调研适用于用户人群版本型号。针对本次项目学习常用控件
常松 学习UI设计,了解概念和设计模式;了解常用控件效果,调研主流设计风格;针对已有原型,进行UI设计,并与客户端编码人员进行可行性探讨。对于每个交互页面形成原型,以及确定实现方式
鲍亮、林淋 组织完成需求规格说明书最终版
10.30-10.31 鲍亮 组织进行对初步架构的讨论,并形成完整架构设计;学习项目管理,寻找样例心得;组织编写测试计划
曹鑫杰、许秋鑫 学习Android上的框架,并完成数据库与服务端交互的学习
汪培侨 学习PHP开发模式;选择较为简单的框架进行demo编写,并完成测试,形成总结
林淋 学习PHP开发模式;初步设计数据存放方式与表的形成,基本SQL语句编写
常松 UI改进方案
11.1-11.5 鲍亮 统筹项目进度;组织站立式会议;Android端编程
曹鑫杰 站立式会议重点记录;Android端编程
汪培侨 督促服务端编程进度;服务器端编程;测试改进
林淋 服务器端编程;测试改进;前端与服务器对接
许秋鑫 Android端编程
常松 Android端编程;测试建议;coding.net项目管理
11.6-11.19 鲍亮 统筹项目进度;收集用户反馈;改进测试计划
曹鑫杰、常松 寻找用户体验,收集问题;修改bug,完善代码;前端测试与改进
林淋、汪培侨 完善数据结构和信息;后台数据测试与改进
许秋鑫 项目管理与整合;Android端编程;测试改进
11.20-11.26 鲍亮 提出可完善增加的功能;召开会议,针对要完善的部分分配任务;测试正式版本;制定后期维护计划
曹鑫杰、许秋鑫 提出可完善增加的功能;根据确定的完善部分进行完善,攻克安卓方面的技术性难题
林淋、汪培侨 提出可完善增加的功能;根据分配的任务,修改数据库,服务器后端
常松 提出可完善增加的功能;完善UI;编写并发布用户手册
11.27-12.3 鲍亮 发布正式版本;作出开发总结
曹鑫杰、许秋鑫、林淋、汪培侨、常松 制定现场测试方案
12.4-12.19 鲍亮 为上线、现场演示做准备;了解并完成软件著作内容;完成项目总结
曹鑫杰、许秋鑫、林淋、汪培侨 为上线、现场演示做准备;最后的bug检查以及压力测试;完成开发总结
常松 修改完善用户手册,交付给用户使用;对成果进行评分,作出总结

二、他山之石——采访学长学姐

  • 采访对象

    2013级Mod4团队

  • 采访理由

学长帅,学姐漂亮,编程语言相近,都是采用了php+mysql作为后台开发,Android作为前段开发工具。能够给于菜鸟小组一定开发经验上的帮助。

  • 前期准备

一、项目选题

1.对我们的项目的建议?

二、项目开发经验

1.文档撰写注意事项?
2.这个实践肯定是一个learning by doing的过程,我想问一下当初你们是怎么样,边学边做的,比如服务器端,前端这些,给我一些建议,或者推荐的书籍或者视频?
3、有没有好的框架可以推荐?

三、团队组织方式

1.平时工作时是在一块还是分开各做各的? 
2.开会时主要讨论哪些问题?

四、团队成员协作

1.是否要制定代码规范供团队遵循,有什么可借鉴的规则吗? 
2.怎么协调队员间的工作

五、时间周期安排

1.如果团队某人的工作没跟上进度怎么办? 
2.会议举行的周期? 
3.每个阶段的工作,耗费的时间?

  • 采访过程

本次采访中,学长学姐非常热情地为我们提供了全方位的回答,伟光学长分享作为PM以及一个服务器开发人员的心得经验,炳坤学长分享了作为安卓开发人员的经验,林界学姐分享了作为UI设计以及文档主体负责人的体会经验。以下展现了本次采访Q&A过程

Q:需求文档如何撰写?
A:需求文档功能点描述清楚,功能拆分细一点,可以用原型设计辅助。

Q:平时工作时是在一块做还是分开各做个的?
A:平时在宿舍做,赶工的时候一起做,一起做效率更高,遇到交流的时候能马上交流。

Q:分享项目开发的经验?
A:1.前期文档要写好,需求分析很重要,磨刀不误砍材工。前期做好成本低,后期要进行大的调整代价很大。
2.项目分阶段主导。
3.对项目功能点进行拆分,有一个优先度。项目可以分版本进行功能迭代(每个版本功能要分好)。
4.项目开发过程中要对服务器进行测试,确保运行无误。
5.个人的情绪控制要处理好。

Q:怎么协调队员间的工作?
A:1.团队要进行合理分工,既照顾到能力较弱的队员,也要让能力更强的队员充分发挥他的作用。
2.队员的组织调整,时间协调,关系协调,团队的交流沟通等。
3.队员有困难要提出,协调处理。

Q:如果团队某人的工作没跟上进度怎么办?
A:分工要合理,但分工界线不要太清晰,先完成的队员可以帮助进度较慢的,一起学习。

Q:是否要制定代码规范?有什么可借鉴的规则吗?
A:先制定好编码规范,方便后期整合,编码规范可以上网搜索然后团队制定。

Q:编码过程有什么要注意的地方?
A:找轻量级的框架。数据库先不用外键,减轻负担。

Q:服务器端看了你们的博客是php+mysql的形式,学长学姐能给我们一些在服务器方面的经验和注意点吗?
A:推荐采用phpstudy这种轻量级的IDE,后端暴露接口的话无非就是增删改查,所以后端开发上手较快,用框架也挺好的。服务端有专门一个人来设计,比如说买服务器,在服务端搭好环境。服务端测试可以用post测试。

Q:你们有用什么框架吗?
A:后端没有,框架可能导致问题,安卓端可以采用一些框架,有专门的jar包和开源项目,会有一些比较炫的动画,可以去集成。网络连接就是安卓端和服务器连接端可以用volley框架,比较方便。

Q:ui设计有什么建议吗?
A:可以去网上找文档别人比较好的集成到一起,资源也可以网上找。

Q:对我们的项目的建议?
A:需求一定要做好,你们自选的题目,需求分析主要在于你们要达到什么样的效果,逻辑不要太复杂。你们服务器端的压力较大,电子商务app数据库设计比较复杂,可以分模块设计。安卓端也可以多分配一些人。第一个版本可以做简单一点,先看到成果,以后再修复bug,功能迭代。

Q:后期我们想要做实名制有办法吗?
A:没有地方拿接口只能自己做,可以做人脸识别,你们现在先把简单版本先做出来,这些后面再考虑。

Q:对软工实践课的感想?
A:比较后悔当时因为事情多而没有很认真的去做,软工实践课是我们现在觉得最有用的实践课,让我们学习到很多,团队的感情现在也很好,学弟们要好好珍惜这样学习的机会,这样的机会只有一次,如果还能再来一次,我们一定会非常认真的去做。

下面附上本次采访的几张美照

  • 采访总结,未来团队组织方式

一、项目选题

在团队选题的时候,学长给了我们阿尔法版本的提议,就是先实现出登录功能,发布信息,以及个人信息增删改操作,这样在前期就能感觉到了项目的具体实现功能的收获,这对于激励我们团队的进步是一个非常重要的因素。

二、项目开发经验

  1. 前期文档要写好,需求分析很重要,磨刀不误砍材工。前期做好成本低,后期要进行大的调整代价很大。
  2. 对项目功能点进行拆分,有一个优先度。功能拆分好可以把项目分版本做,先做好简单版本,然后进行功能迭代,不要一下追求完美导致任务过程取得反效果。
  3. 项目开发过程中要对服务器进行测试,确保运行无误。
  4. 个人的情绪控制要处理好。

三、团队组织方式

每个阶段,先有队长选出对应该阶段的负责人,然后由该阶段的负责人进行任务的细分,划分相应组员进行相应的任务工作,该负责人在本阶段有着最高的权利,要为本阶段的问题,以及组员遇到的困难提供相应的回答。让组员每一个都轮流成为一次PM。

四、团队成员协作

每个组员先完成本阶段负责人的分配任务完之后,去帮助其他进度相对较慢的队员协同完成任务,让能力强的人员相对照顾一下能力较弱的队员,让所有的队员在项目的过程都有所收货成长。

五、时间周期安排

时间周期的话,总的话觉得在团队计划已有说明,这里主要介绍团队的之后会议周期安排制度,每一个阶段结束的时候(即每周周六),由队长组织,本阶段负责人对本周任务进行总结汇报,队员发布本周心得。每一个阶段开始的时候(即任务发布),确立本周任务需求,讨论进行细分,选出负责人。

  • 团队采访心得体会

听了学长学姐地热情介绍,以及向我们解答一些技术上的问题之后,不知道为什么感觉像打了鸡血一样,有点迫不及待想要去写代码,但是还是得要明确需求后在去写,这样的效率才能倍增。接下来我们团队的成员,在接下去这周,除了根据需求制定出需求规格说明书任务之后,还要根据相应的任务分工,去实现一个小小的demo,为下一周的代码开发做准备。

git的团队计划提交到issue

由于我们团队用的是coding.net,所以对应到github的issue的时候,是讨论的这个功能。队员再次对git的协同开发进行一次小测试。

详情见链接

https://coding.net/u/Yuaoi/p/BuyTogether/topic/197102

本次任务人员分工

人员 任务分工 工作量比例
031402401鲍亮 项目建立、团队计划汇总上传、划分任务、用例图 16%
031402402曹鑫杰 录音整理,现场笔记 18%
031402403常松 团队计划、采访录音 16%
031402412林淋 团队计划、用例图 16%
031402418汪培侨 信息汇总、随笔撰写 18%
031402426许秋鑫 团队计划、联系受访者 16%