首页 > 代码库 > 第三次小组报告

第三次小组报告

卢晓东:趁着五一小短假期间阅读了这三章,让我感觉想要成为一名软件工程师的路还要很长,在我面前就出现了一条分叉路:即是成为一名个人能力优异但不顾及团队成员理解与否的程序员还是个人能力一般但会结合团队人员的理解能力去编程的程序员,如果两者都能取长补短呢?或许太过于理想化了,每个人对于程序都有自己独特的程序风格,即便是使用同一种规格下的编程风格,但是每个人执行起来总会添加有自己的东西,像是变量名的取向,函数的调用,还有类似的等等。如果是我的话,可能会选后者,毕竟以后加入了团队以后,首要的宗旨是服从团队的安排,不要抱着个人英雄主义的想法,因为这会让团队内部存在瑕疵,或许一开始还没什么,但久而久之存在的问题就会越来越多,等到最后补不过来的时候,团队就等于完结了。为什么现在的创业团队这么容易解散?因为看不到业绩,看不到继续下去的希望,就会有想退出的想法,一旦有人开始退出了,剩余的也就不想继续了,以至于一个团队就这样名存实亡了。生活中的团队是如此,软件工程中的团队也是如此吧?

吴诗远:

第三章 软件工程师的成长

1.个人能力的衡量与发展

初级软件工程师如何成长:
(1)积累软件开发 相关的只是,提升技术技能。例如:对java、c、c++,c#的掌握,诊断\提高效能的技术,对设备驱动程序、内核调试器的掌握;对于某一开发平台的掌握

(2)积累问题领域的知识和经验

(3)对通用的软件设计思想和软件工程思想的理解

(4)提升职业技能

(5)实际成果

2.职业之路——考级之路

计算机等级考试和全国计算机技术与软件专业技术资格考试

 

第四章 两人合作

1.代码规范

“代码规范”可以分为两个部分:
1.代码风格规范。主要是文字上的规定,看似表面文章,实际上非常重要。

2.代码设计规范。牵涉到程序设计,模块之间的关系、设计模式等方方面面的通用原则。

代码风格的原则是:简明 易读 无二义性

包括 缩进、行宽、括号、断行于空白的{}行、分行、命名、下划线、大小写、注释

代码设计规范:函数、goto、错误处理、如何处理c++中的类、代码复审、结对编程、

两人合作的不同阶段和技巧

1.萌芽阶段 2.磨合极端 3.规范阶段 4、创造阶段 5、解体阶段

第五章 团队和流程

软件团队的模式:

(1)主治医师模式

(2)明星模式

(3)社区模式

(4)业余剧团模式

(5)秘密团队

(6)特工团队

(7)交响乐团模式

(8)爵士乐模式

(9)功能团队模式

(10)官僚模式

开发流程:
(1)写了再改模式

(2)瀑布模式

李凯城:

第四第五章着重讲了合作的重要性,从两人合作到团队合作,编程开发都不是一件容易的事情,要注意许多要点。

代码书写的规范。

你写的代码不仅仅是给机器看的,给你看的,也是给其他人看的,是给合作的队友看的,在写的过程中要注意规范,要注意缩进、行宽、对齐等格式。

代码设计的规范。

函数中,你就只实现函数的具体功能,如构造函数,简单初始化所有数据成员即可。

代码复审。

找出代码的编辑错误、逻辑错误、算法错误跟潜在错误。

合作需要讲究技巧,要运用合理的方式影响合作的对方,尽量运用逻辑加感情,使对方能快速地接受。

从两个人上升到团队,在团队中,你需要做好自己负责的事情,在有余力的情况下尽量可以帮助其他人,一个复杂的项目是需要许多人一起共同完成的,

你负责的可能是其中的一小部分,却是不可缺少的存在,只有每个人各司其职,才能完成项目的开发。

杨嘉豪:

第八章:需求分析

这一章主要讲述了软件需求的类型、利益相关者、获取用户需求的常用方法和步骤、竞争性需求分析的框架NABCD、四象限方法、项目计划和估计的技术。

确认软件需求有以下步骤:1.获取和引导需求、2.分析和定义需求、3.验证需求、4.在软件产品的生命周期中管理需求。

第九章:项目经理

这一章主要讲述了团队角色分工、项目经理的由来和要求、项目经理和其他经理的区别、软件项目中的风险和风险管理、PM的专业能力。

PM的能力要求:1.观察、理解和快速学习能力、2.分析管理能力、3.一定的专业能力、4.自省的能力

奚佳峰:

敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。

核心原则

1.主张简单 2.拥抱变化 3.可持续性 4.递增的变化 5.令投资最大化 6.有目的的建模 7.多种模型 8.高质量的工作 9.快速反馈 10.轻装前行

王彦凯:

敏捷流程:第一步:找出完成产品需要做的事情——Product Backlog

     第二步:决定当前的冲刺需要解决的事情——Sprint Backlog

     第三步:冲刺(Sprint)

     第四步:得到软件的一个增量版本,发布给用户。然后在此基础上又进一步计划增量的新功能和改进。

Agile是一股思潮,或者说是一种价值观,它涵盖了好几种软件开发的方法论;这些方法论又是建立在许多行之有效的最佳实践方法之上的

第三次小组报告