Week1 Team Homework #1 from Z.XML-总结学长经验教训
谭传奇学长:
我们的弯路可能是,一开始没有从最基础的部分开始迭代开发,一开始就想的太远了一些,每一步开的有点太大了,所以可能有些东西最后就连不上,也没有能够按时完成。如果可以先做出一个能用的版本,然后再不断完善,至少不会跳票,但我们可能有的部分做的足够好,有的关键部分就没时间做,结果就是整个东西无法发布
王安然学长:
经过第一次迭代开发,团队合作的很多问题暴露出来。
- 设计不足。一个软件工程的设计到实施,其实是很重要一步。在我们的项目中,为了满足游戏设计的需求,我们的软件工程设计中保留了很多的可扩展性,但是却没有足够关注到细节,没有给出所有具体的要求。在实施工程的时候经常发现有的问题在设计中找不到参考,导致开发人员的效率低下。
- 开发人员水平有限。分配任务的时候经常有说这个事儿做不到,或者压根不知道怎么做;验收工作频出意外,DEV写了一个模块之后,验收的时候发现模块质量不行,代码质量低是其次,无法按照给定的接口工作。
- 工作分配及目标不够明确,PM在分工时,没有对各项工作进行足够细致的描述,也没有设立一个明确的短期目标,使得开发人员对自己的工作目标模糊,没有验收时标准的参考。
- 在M1阶段,开发人员工作时和相关模块开发人员、PM的联系太少,总是PM下达任务,Dev之间缺乏联系。对于工作目标中模糊的部分采用了模糊处理,验收时代码没有达到预期的效果。M2阶段效果好了一些。
- 有关游戏制作的特殊性。游戏制作大家都是第一次,一个游戏玩起来基本的逻辑也许不复杂,但是难在它对交互效果要求极高,如果只能满足基本的逻辑正确而交互效果极差,那这段代码必然失败。为了提供一个优秀的游戏体验,好的美工重要,开发人员要写出交互效果良好的代码也很重要。开发人员自身需要有一定交互设计功底,并且有美术功底或者有美工的指导,这是我们的大部分组员都缺乏的,这也导致了后期的用户评价都是“游戏很好玩,但是不协调,不好看”。程序员,有心无力,没办法……
- 错误的预估了项目的大小。我们都没有制作游戏的经验,没有想到,这样一款比较简单的游戏都需要这么大的工作量。这导致了最后的跳票。
- 另外,工程项目本身也存在很多问题,使用跨平台C++游戏引擎编写的一个不好就是我们没捣鼓出来配合VS进行代码质量管理的有效方法。而且游戏程序的测试也相当复杂,我们仅能采用大量测试工程来分开游戏单位测试,保证没有意外错误和运行效果,最低限度是保证代码逻辑功能正确。
学长感受: 我们觉得碰到这种情况,就应该把游戏设计那人吊起来,把文档写到游戏逻辑的每个角落,每个效果都有动画演示和运算函数,然后大家照着文档开始干,缺一否则皆不能安天下。否则光干游戏设计的人工作量也不够大。
总结
从各位学长的经验教训来看,开发一个游戏确实很麻烦。我们小组目前的计划也是开发一个游戏。所以学长的经验对我们来说,十分有帮助。重要的一点是,PM的规划,DEV的执行有严重的脱节。程序编写一开始设想的过大,在大的里面又想很多细节的东西。根据学长描述,导致开发效率较低。
我们希望能借鉴学长提出的思路,对于一个项目,先进行基本的,最简单版本开发。然后再扩展程序。计划通过3~4次快速的迭代开发,使得程序由简单变复杂。由能用变好用。在debug方面,我们希望对于整个程序进行分块,然后编写自动补全函数的辅助debug代码。来并行调试。这个样子可以使得每个人负责的程序有效的,正确的完成。
编辑:肖俊鹏
Week1 Team Homework #1 from Z.XML-总结学长经验教训的更多相关文章
- Week1 Team Homework #1 from Z.XML-对于学长项目《shield star》的思考和看法
试用了一下学长黄杨等人开发的<shield star>游戏. 其实作为一个学弟,我对cocos2d-x引擎还算是比较了解,所以对于这样一款很“典型 ...
- Week1 Team Homework #2 from Z.XML-Introduction of team member with photos
<Z.XML Introduction of each team member, with photos Z=周敏轩; X=肖俊鹏&薛亚杰; M= 毛宇 & 马辰; L= 李孟 ...
- Week1 Team Homework #1 from Z.XML-项目选择思路--基于对曾经大作业项目的思考
这两天试玩了一下去年学长的满分工程<shield star>游戏,再结合了一下他们团队的博客记录,有一种非常牛逼的感觉.具体对于这款游戏的一些思考和看法,毛大神已经说的很好了.因此,这里主 ...
- Week 1 Team Homework #3 from Z.XML-软件工程在北航
任务名称:软件工程在北航 任务要求:要求我们采访往届师兄师姐,收集他们对于软件工程这门课程的反馈.具体作业链接http://www.cnblogs.com/jiel/p/3311403.html 任务 ...
- Week1 Team Homework #2 Introduction of team member with photos
小组成员介绍 组长:黄剑锟 11061164 组员:顾泽鹏 11061160 组员:周辰光 11061154 组员:龚少波 11061167 组 ...
- 团队博客作业Week1 Team Homework #3软件工程在北航
这次我们采访了一位大四的学姐,让她简单地谈了谈去年学习软件工程的经历和感受. 在完成软件工程大作业的过程中,由于计划安排与实际脱节,导致时间前松后紧,平均每周花在这门课上的时间大约有8个小时. 项目完 ...
- Week1 Team Homework #1: Study the projects done by previous student groups
我们研究了学长的项目:百度3D地图API的调用.下面是我们对该项目的一些看法: 优点: 界面清晰 各类之间调用及其他关系容易理清. 缺点: 前段html代码过于冗杂,很多(div)块间的层次关系不 ...
- Week1 Team Homework #3: 软件工程在北航
在组内成员的共同努力,我们采访了几个学长学姐,顺利完成任务.反馈信息如下: 平均每周花在这门课上的时间 平均写的代码总行数 学到的最有用的部分 最没用的部分 <软件工程>最应该改进的地方 ...
- Week1 Team Homework #2: Introduction of each team member
王洛书 我是来自浙江的王洛书.热爱历史,热爱美食,热爱代码,热爱博物馆.很喜欢软件工程这门课的上课方式,也很喜欢组里的这些同学.希望能大家一起努力,在这门课上真正地收获能力上的提升! 陈睿翊
随机推荐
- Es6的那些事
现在看招聘网站上的要求,作为前端er~都要熟悉甚至精通(滑稽脸)es6,项目中也经常用,啥let,const,尤其是用react的同学,肯定对解构赋值不会陌生,今天逛淘宝前端的博客,看到一篇名为Es6 ...
- Mybaties保存后自动获取主键ID
<!-- 插入记录 --> <insert id="saveTvTypeBatch" useGeneratedKeys="true" keyP ...
- Java的内存--存储(1)
有次去面试,面试官突然问我这个问题,当时我只知道怎么写最优化,但是具体不知道为什么那样写,身价立马下降哦 1. 以下开发习惯,你怎么看? for(int i=0;i<2;i++){ Person ...
- Layui上传文件以及数据表格
layui对于一些前端小白来说,例如我,真的非常的好用,不用去花很多很多的心思在前端美化中,并且提高了很大的工作效率.所以建议一些觉得自己前端技术不是很强,但是想让前端美化一点的可以使用layui. ...
- webpack 4.14配置详解
1.安装nodejs 官网下载nodejs,安装时可能会爆 2503错误,解决办法是:使用管理员命令执行安装文件.cmd ->命令提示符(管理员)-> 输入: msiexec /packa ...
- Linux 必会
一.一般命令:1.cd 进入磁盘文件夹2.ls- 查看当前文件夹包含哪些文件,注意-后面的3.pwd 立刻知道目前所在哪个文件及4.mkdir 创建文件夹5.touch touch命令用于修改文件或者 ...
- Java源码解析——集合框架(五)——HashMap源码分析
HashMap源码分析 HashMap的底层实现是面试中问到最多的,其原理也更加复杂,涉及的知识也越多,在项目中的使用也最多.因此清晰分析出其底层源码对于深刻理解其实现有重要的意义,jdk1.8之后其 ...
- PHP基础 (麦子学院 第二阶段)
zendstudio 10.0破解版,新建完项目后,首先修改项目的编码方式,统一改成utf-8 (选中项目,再右键properties:Text file encoding).修改字体大小. apac ...
- 8.1 编写USB鼠标驱动程序,并测试
学习目标:编写USB鼠标驱动程序,并测试(将USB鼠标的左键当作L按键,将USB鼠标的右键当作S按键,中键当作回车按键). 一.怎么写USB设备驱动程序?步骤如下: 1. 首先先定义全局变量usb_d ...
- (数据科学学习手册28)SQL server 2012中的查询语句汇总
一.简介 数据库管理系统(DBMS)最重要的功能就是提供数据查询,即用户根据实际需求对数据进行筛选,并以特定形式进行显示.在Microsoft SQL Serve 2012 中,可以使用通用的SELE ...