zoukankan      html  css  js  c++  java
  • 构建之法阅读笔记04

    第五章 团队和流程

    团队和非团队:

      1.团队有一致的目标,团队要一起完成这个目标。

      2.团队成员有各自的分工,互相依赖合作,共同完成任务。

    软件团队模式:

      1.主治医师模式:“一个学生干活,其余学生跟着打酱油”。

      2. 明星模式:明星的光芒改过了团队其他人的总和。

      3. 社区模式:好处是“众人拾柴火焰高”,坏处是如果大家都只来烤火,不去拾柴;或者捡到的柴火质量太差,最后火也就熄灭了。

      4. 业余剧团模式。

      5.秘密团队,在秘密状态下进行,别人不知道他们具体在干什么。好处是:团队内部有几大的自由,没有外界的干扰,团队成员有几大的投入。

      6. 特工团队。由一些专业人士组成,负责解决一些棘手二又紧迫性的问题。

      7. 交响乐模式。当某个软件领域处于稳定成长阶段的时候,总舵大型软件公司开发团队结汇采取这种模式,例如微软公司的office软件。

      8. 爵士乐模式:不靠谱,没有现场指挥。没有模式,人数较少。

      9. 功能团队模式,具备不同能力的同时平等协作,共同完成一个功能。功能完成之后,这些人又重新组织和别的角色一起完成下一个功能。

      10. 官僚模式。 

     

    开发流程:我们在开发、运营、维护软件的过程中有很多技术、做法、习惯和思想。软件工程把这些相关的技术和过程统一到一个体系中,叫“软件开发流程”。

      1. 改了在写模式:适合于“只用一次”的程序,“看过了就扔”的原型,一些不使用的演示程序。

      2. 瀑布模型:分析-->设计-->实现(制造)-->销售-->维护的流程。使用范围:

        1)如果产品的定义非常稳定,但是产品的正确性非常重要,需要每一步的验证。

        2)产品模块之间的接口、输入和输出能够很好地用形式化的方法定义和验证。

        3)使用的技术非常成熟,团队成员都很熟悉这些技术。

        4)负责各个步骤的子团队分属不同的机构,火灾不同的地理位置,不可能做到频繁的交流。

        局限性:

        1)各步骤之间是分离的,但是软件生产过程中的各个步骤不能这样严格的分离出来。

        2)回溯修改很困难甚至不可能。

        3)最终产品知道最后才出现,但是软件的客户,甚至软件工程师本人都需要尽早知道产品的原型并适用。

      3. 瀑布模型的各种变形。

      4. Rational Unified Process 统一流程

        1)业务模型

        2)需求

        3)分析和设计

        4)实现

        5)测试

        6)部署

        7)配置和变更管理

        8)项目管理

        9)环境

        RUP把软件开发分成几个阶段:

          (1)初始化阶段:分析软件系统大概的构成,系统与外部系统的边界在哪里的,大致的成本和预算是多少,系统的风险主要来自哪里。

          (2)细化阶段:分析问题领域,建立健全的体系结构基础,编制项目计划,按优先级处理项目中的风险。

          (3)构造阶段:团队开发出所有功能及,并有序地把功能集成为经过各种测试验证过的产品。

          (4)交付阶段:团队的工作重点是确保软件能够满足最终用户的实际需求。

      5. 老板驱动的流程:开发流程事实上是由行政领导主导,或者有公司的老板驱动。

        1)当软件订单的获得不是主要靠技术实力,而是靠个人关系,或者暗箱操作的时候。

        2)大型企业内部,软件功能往往有行政体系来决定。

        3)有些老板比一般技术人员懂得市场和竞争。

        4)软件团队尚不成熟,不懂得如何对行政领导有技巧的说不。

      6. 渐进交付的流程,MVP和MBP:【开发-->发布-->听取反馈-->根据反馈做改进】

     

    阅读感受:

      以前我虽然知道一款软件的发布需要及其复杂的流程,制作一款软件并不比其他类的功能简单。但是我并没现有想过软件开发中会有哪些具体的流程,与其说没想道倒不如说想不到。这么多开发模式当我,我并不知道哪一个适合我,我有时哪一种,如果仅凭我的认识自然认为统一流程最好了,但是若是真的遇到实战项目,我真的可以做到吗?这个很难说。也许我应该向这方面努力,虽然我知道现阶段的我是不可能达到能够领导一个团队的水平的,至少我也得有这样的梦想。

  • 相关阅读:
    day113-django-Form组件常用字段和参数
    day112-django-Form组件-ajax提交给后台的Form验证
    day110-django-中间件和(socket:wsgiref、uwsgi)
    day111-django-初识Form组件(验证登录信息)
    day109-django-多对多、session保存用户信息到数据库和从数据库获取用户信息
    day108-django-路由分发、动态路由、伪静态、根据名称反向生成url
    软件测试基础
    Python并发编程之:多进程
    进程介绍(理论部分)
    网络编程
  • 原文地址:https://www.cnblogs.com/maosonglin/p/6616798.html
Copyright © 2011-2022 走看看