团队与软件开发模型-团队1

 
 $-----------------------------------------------$
 $                                                               $
 $ 团队:P-Players                                $
 $ 队长:邓嘉                                          $
 $ 成员:邓嘉、黄星宇、邓晓华          $
 $ 日期:2009年07月11日                   $
 $                                                               $
 $-----------------------------------------------$   
 

一、问题:
    软件开发中的团队和开发过程有哪些类型?

二、问题分析:
    对于这个问题,我们团队讨论之后,将按两个如下两个问题回答:“A.软件开发中的团队有哪些类型?”、“B.软件开发中的开发过程有哪些类型?”。其中,对于第二小问中“开发过程的类型”我们将其理解为“开发过程的模型”。

三、问题回答:


 A.软件开发中的团队有哪些类型?


        答:我们从工作形式、规模大小、组织形式三个角度进行划分。
  1、按工作形式:
   ·独立的专职团队:独立于企业日常运营,保持独立性财务目标,完善现有产品线。
   ·跨部门临时团队:开发与日常工作并行,部门协调机制,产品技术改进。
   ·技术改进团队,范围最小,方式灵活,把握项目运行的时机。

  2、按规模大小:
   ·小作坊开发模式:由三五个人组成,每人负责一块儿,交互不多,定期把代码拷贝到一块联调。开发人员测试、客户测试,没有专门测试人员。没有 妥善的源码、bug管理。
   ·正规的团队化开发:人数不限,有专门的源码、bug管理机制。源代码要能追溯到任意版本,代码共享、bug管理用专门软件,使用文档要要管起来,所有人都只能修改同一份文档,看同一份文档,而且文档也要能回归。

  3、按组织形式:
   ·垂直团队组织:垂直团队由多面手组成。用例分配给了个人或小组,然后由他们从头至尾地实现用例。
   ·水平团队组织:水平团队由专家组成。此类团队同时处理多个用例,每个成员都从事用例中有关其自身的方面。
   ·混合团队组织:混合团队由专家和多面手共同组成。多面手继续操作一个用例的整个开发过程,支持并处理多个使用例中各部分的专家们一起工作。

 

 


 B.软件开发中的开发过程有哪些类型?


 答:软件的开发过程是指产品从被用户提出需求,然后经过计划、分析、设计、编码、测试直至成型移交和维护。它可以分为以下几类:
  1、瀑布模型 (V模型、喷泉模型 ):从上一项活动接收该项活动的工作对象,作为输入,利用这一输入实施该项活动应完成的内容;给出该项活动的工作成果,作为输出传给下一项活动;对该项活动实施的工作进行评审,若其工作得到确认,则继续下一项活动,否则返回前项,甚至更前项的活动进行返工。优点是:通过阶段评审,将开发过程纳入正确轨道,严格的计划性保证软件产品的按时交付。缺点是缺乏灵活性,不能适应用户需求的改变,随着软件规模和复杂性的增加,软件产品成功的机率大幅下降。

  2、螺旋模型:每一圈是一个阶段,每个阶段里又有一些活动。优点是风险分析可使一些极端困难的问题和可能导致费用过高的问题被更改或取消 用户评价为需求的变更带来柔性;缺点是需要开发人员具有相当丰富的风险评估经验和专门知识,要求用户参与阶段评价,对用户来说比较困难,不易取得好的效果。
 
  3、原型模型(锯齿模型、快速原型):立项以后先提交原型给用户,在用户试用的基础上进行需求调查与原形修改,强调用户对软件功能和使用性能的评价设计、修改原型与试用交替进行。优点是:开发者与用户充分交流,可以澄清模糊需求,需求定义比其他模型好得多,开发过程与用户培训过程同步。缺点是开发者在不熟悉的领域中不易分清主次,原型不切题,产品原型在一定程度上限制了开发人员的创新。

  4、构件组装模型 (增量模型):应用软件可用预先编好的、功能明确的产品部件定制而成, 并可用不同版本的部件实现应用的扩展和更新。利用模块化方法,将复杂的难以维护的系统分解为互相独立、协同工作的部件,并努力使这些部件可反复重用。 突破时间、空间及不同硬件设备的限制,利用客户和软件之间统一的接口实现跨平台的互操作。优点是:构件组装模型导致了软件的复用,提高了软件开发的效率。缺点是:可重用性和软件高效性不易协调。缺乏通用的组装结构标准,而自定义的组装结构标准引入较大的风险。

  5、统一软件过程RUP模型:RUP中有9个核心工作流,分为6个核心过程工作流(Core Processn Workflows)和3个核心支持工作流(Core Supporting Workflows)。尽管6个核心过程工作流可能使人想起传统瀑布模型中的几个阶段,但应注意迭代过程中的阶段是完全不同的,这些工作流在整个生命周期中一次又一次被访问。9个核心工作流在项目中轮流被使用,在每一次迭代中以不同的重点和强度重复。 
  
  6、高层示图:分为子个阶段,初始、细化、构造和移交。一个产品一个生命周期,产品可以分为若干个,每次都要经过这么一个阶段,这个阶段的时候又分为四步,构建阶段又分为若干个叠带。做这个的时候有一个问题,你在做RUP的时候,小的项目象XP,大的项目像IOP,也是一个重量的学习方法。如果把迭代画的太小了,画不好,自己没有很多经验,自己控制不好的话,很容易变成不断的修代码,从头到尾全部修一遍,很折腾的。理论上是很完善的,操作起来有点麻烦。你把理论搞清楚,对你是有用的。公司不要套用这个东西,否则花费是很大的。
 
  7、微软的PCM模型:微软产品生命周期模型。

  8、并发任务过程模型:关注于多个任务的并发执行,表示为一系列的主要技术活动、任务及它们的相关状态。并发过程模型是由客户要求、管理决策、评审结果驱动的。该模型不是将软件工程活动限定为一个顺序的事件序列,而是定义了一个活动网络。网络上的每一个活动均可于其它活动同时发生。这种模型可以提供一个项目的当前状态的准确视图。


  9、形式化方法模型:包含了一组活动,他们导致了计算机软件的数学规约。形式化方法使得软件工程师们能够通过应用一个严格的数学符号体系来规约、开发、和验证基于计算机的系统。 这种方法的一个变种,称为净室软件工程,已经被一些组织所采用。在开发中使用形式化方法时,它们提供了一种机制,能够消除使用其它软件过程模型难以克服的很多问题。二义性、不完整性、不一致性能被更容易地发现和纠正,而不是通过专门的评审,是通过对应用的数学分析。 形式化方法提供了可以产生无缺陷软件的承诺。

  10、第四代技术(4GT)过程模型:一系列的软件工具的使用。优点是缩短了软件开发时间,提高了建造软件的效率。对很多不同的应用领域提供了一种可行性途径和解决方案。缺点是:   用工具生成的源代码可能是“低效”的。生成的大型软件的可维护性目前还令人怀疑。在某些情况下可能需要更多的时间。


四、小结
    此次学习内容是我们小队第一次合作。虽然是第一次,但是热血的我们仨很快的便融入了团队。在这一天,我们为团队取了队名,选了队长,申请了团队的邮箱、解决老师的问题……一天的工作量真的很大,但是我们都合理有序的完成了,希望今后有我们团队能茁壮成长!
 

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值