`
touchinsert
  • 浏览: 1315288 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

“七人分粥”- 介绍新书《软件过程管理》

阅读更多

近十年来,软件过程越来越成为人们关注的焦点,正在打破过去人们已经习惯的面向任务的思维方式,逐渐加强面向过程的思考,软件开发和维护的运作以过程为中心的方式在进行。正如软件工程领域领袖级人物、能力成熟度模型(CMM)奠基人瓦茨·汉弗菜(Watts Humphrey)所说,要解决软件危机,首要的任务是把软件活动视作可控的、可度量的和可改进的过程。

其实,通过下面这个“七人分粥”寓意的小故事,就很清楚地说明软件过程的重要性。

有7个人曾经住在一起,每天分一大桶粥。要命的是,粥每天都是不够的。

  1. 一开始,指定一人负责分粥事宜,很快大家发现,这个人为自己分的粥最多最好,于是推选出一个道德高尚的人出来分粥。强权就会产生,大家开始挖空心思去讨好他,搞得整个小团体乌烟瘴气,显然这个方法不行。
  2. 指定一个人分粥和一个人监督,起初比较公平,但到后来分粥的人与监督的人从权力制约走向“权力合作”,于是只有这两个人能吃饱,这种方法也失败了。
  3. 谁也信不过,干脆大家轮流主持分粥,每人一天。虽然看起来平等了,但是每人在一周中只有1天吃得饱,其余6天都吃不饱,而且每天粥还有剩的,这种方法造成资源浪费。
  4. 民主选举一个3人分粥委员会和一个4人监督委员会,实行集体领导,公平是做到了。但是,监督委员会经常提出各种议案,分粥委员会据理力争,等粥分完时,粥早就凉了,此方法效率太低。
  5. 最后想出来一个方法——每个人轮流值日分粥,但分粥的那个人要最后一个领粥。令人惊奇的是,结果7只碗里的粥每次都是一样多,就象用科学仪器量过一样。因为,每个主持分粥的人都认识到,如果每只碗里的粥不相同,他无疑将拿到那份最少的。

同样是7个人,不同的流程和方法,就会造成迥然不同的结果,包括效率、成本上的差异。从这个故事可以看出,有什么流程,就有什么结果,流程决定了结果。

业务流程重组(BPR是另外一个例子,许多企业通过业务重组拯救了自己或从经营业绩的低谷走出来。业务流程重组,就是改变过去纯目标管理的思想,强调管理过程的重要性,实现从职能管理到面向业务流程管理的转变。业务流程重组注重整体流程的优化,确定了“组织为流程而定,而不是流程为组织而定”的指导思想,充分发挥每个人在整个业务流程中的作用。

软件过程管理体现在过程模型、规范、问题处理方法和具体实践等一系列内容之上,但首先体现在组织的文化中,即建立过程管理的先进理念:
  • 以客户为导向、以过程为中心。
  • 好的过程就能产生好的产品。
  • 尊重流程,自上而下,依赖流程。
  • 只关注质量过程而不是质量结果。<!--[endif]-->

    过程管理的先进文化一旦在组织中建立起来,其他问题就迎刃而解。软件过程管理存在的最大障碍可能不在究竟用什么过程模型或过程管理系统,而是在于软件企业自身的传统的管理理念和思维方式,树立和保持企业全体人员的正确的、先进的理念,比推广一个管理工具要难得多。所以,软件过程管理得关键是建立正确的过程管理文化。

      在当今互联网蓬勃发展的时代,软件企业面临着巨大的挑战。顾客需求瞬息万变、全球性竞争环境和技术创新不断加速等,导致产品生命周期不断缩短、商业模式不稳定,软件过程管理必须适应这种变化,CMM没有几年前那么火热而开始受到了的一些冷落,敏捷过程管理越来越受到推崇。同时,IBM-Rational的统一过程(RUP)管理和微软的过程管理框架(MSF)在保持其核心内容的前提下,也在不断进行调整,加入新的内容,以适应软件商业模式和开发模式的变化。所以,从这个意义上说,没有一成不变的软件过程管理模式,也没有放之四海而皆准的、通用的软件过程管理模式。软件过程管理模式应该是在不断发展的,就每个具体的软件组织和企业,应该选择适合自己的过程管理模式,并且也可能不只是选择一种模式,而是选择多种模式,以一种模式为主,对其他模式兼收并蓄,形成更有效的软件过程自定义模式。

    本书正是从上述基本思想出发,来讨论软件过程管理,以期望对读者及其所在的软件组织有更大的启发和帮助。

    全书共10章,全面介绍了软件过程管理的各个方面,包括软件过程规范、软件过程的组织管理、项目管理、质量管理、需求管理等,最后介绍了软件过程评估和改进、软件过程管理实例。

    1 介绍了软件过程规范的内容、影响和作用,全面阐述了软件生命周期的过程需求和过程标准体系。最后介绍了基于UMLIDEF3Agent自适应、SOA等各种方法的软件过程建模。

    2 相继介绍了软件过程不成熟的特点、软件过程成熟的标准、能力成熟度模型(CMM/ CMMI)的基本内容、系统工程能力模型和集成化产品开发模型。并就过程成熟度级别及其特征、可视性和过程能力等展开讨论,包括CMM/CMMI过程域。最后介绍了软件过程文化、环境和过程框架等。

    3 软件过程组织管理的描述,包括组织过程焦点、过程定义、过程剪裁等。着重讨论了PSPTSP过程框架,包括工作流程、计划、设计与实践等具体内容。

    4 软件过程的需求管理,主要介绍了软件需求工程、需求开发和管理的模型、需求管理工作流程、需求获取的过程和方法、需求定义过程和需求的确认、跟踪和变更控制。

    5 描述了软件过程的技术架构及其层次、内容等,重点讨论了软件过程的资源管理、技术路线、问题解决的系统方法,包括原因分析和缺陷分析、决策分析与决定、技术解决计划的建立和实施、知识传递和各类过程管理的技术工具等。

    6 介绍了项目启动和项目实施过程序要解决各种问题。主要内容包括了项目的配置管理,风险分析,资源和成本估算,项目跟踪等。

    7 说明了质量控制的重要性,也介绍了控制软件质量的方法和手段。通过本章的学习可以基本掌握软件评审的方法和技术,以及软件缺陷的分析和有效移出。

    8 软件过程的集成管理,主要介绍了项目的集成管理流程。重点内容包括产品集成的过程管理、集成产品开发模式、产品及周期优化方法、IPD过程框架模式以及市场过程管理、流程重整、产品重整和新产品开发等。

    9 首先阐述了软件过程评估和改进的基本思想和方法,然后相继介绍了各种常用的评估和改进模型,如ISO/IEC 15504BootstrapTrilliumCMM/CMMI的评估体系以及质量改进范例、IDEAL模型、Raytheon方法、6 Sigma方法等过程改进模型和方法。

    10 通过具体实例进一步阐述了软件过程的管理,介绍了IBM-Rational 业务驱动开发的RUP、微软公司MSF、敏捷过程管理、面向构件的软件过程和软件过程的自定义体系。

    每一章的最后都有本章的小结和思考题,以便帮助读者理解每一章的内容。

    本书特别重视理论与实践相结合,使读者既能领会基本原理,又能掌握原理的实际应用。因此,它既适合软件公司中的软件工程师和管理人员阅读,也适合软件质量管理的专业人员和实践人员。同时,本书很适合作为计算机软件、软件工程学科大中专学校的教材。

    分享到:
    评论

    相关推荐

      软件工程课程设计报告--图书管理系统.doc

      在本软件工程课程设计报告中,我们关注的是一个图书管理系统,该系统旨在为师生提供便捷的图书借阅和管理服务。以下是对系统的关键特性和功能的详细阐述: 1. **核心功能** - 图书信息管理:系统能够存储和管理...

      软件测试-新书起航宝典

      软件测试是软件开发过程中的重要环节,确保产品的质量和稳定性,避免潜在的问题影响用户体验。 在软件测试中,我们需要理解几个关键概念。首先是测试目标,它是指通过测试希望达到的结果,如找出软件缺陷、验证功能...

      java新书介绍-JDK

      **Java新书介绍-JDK** 在Java编程领域,不断学习和掌握新的技术和工具至关重要,而JDK(Java Development Kit)作为Java开发的核心组件,始终扮演着举足轻重的角色。本篇文章将围绕一本以JDK为主题的最新图书进行...

      2011-6中国电力出版社新书-电力资料-软件·电子书-表格模板.xls

      2011-6中国电力出版社新书-电力资料-软件·电子书-表格模板.xls

      软件测试实例--大学图书管理系统

      本文将深入探讨一个具体的实例——“大学图书管理系统”的软件测试过程,旨在帮助学习者理解软件测试的基本原理和实践方法。 一、软件测试的重要性 软件测试是软件开发生命周期中的关键阶段,其主要目的是发现并...

      图书管理系统软件需求分析

      ### 图书管理系统软件需求分析知识点 #### 一、引言 **编写目的:** ...通过对这些知识点的详细介绍,我们可以清楚地了解到图书管理系统软件需求分析的主要内容,这对于项目的成功实施至关重要。

      图书馆管理系统--用户手册.docx

      综上所述,这份用户手册不仅详尽地介绍了图书馆管理系统的功能和性能指标,还提供了详细的安装与使用指导,对于系统的正常运行和维护具有重要的指导意义。通过这份手册,用户可以轻松掌握如何使用该系统来提高图书馆...

      《人工智能》--新书《实践人工智能从入门到进阶》大疆Tello-Gesture-Control案例.zip

      人工智能学习总结成果,希望可以帮到大家,有疑问欢迎随时沟通~ 人工智能学习总结成果,希望可以帮到大家,有疑问欢迎随时沟通~ 人工智能学习总结成果,希望可以帮到大家,有疑问欢迎随时沟通~ ...

      软件工程-图书管理系统

      《软件工程-图书管理系统》是基于VB.NET编程语言开发的一款应用程序,主要服务于管理员和读者两类用户,实现了图书的借阅、查询等一系列功能。这个系统充分体现了软件工程的思想,确保了在开发过程中的规范性和可...

      图书管理系统BIMS---条形码方式管理

      《图书管理系统BIMS---条形码方式管理》是一款基于Windowform平台、采用C#语言编写的教育性软件,主要用于帮助用户学习如何开发类似的系统。这个系统以条形码技术为核心,实现了对图书的高效管理。下面我们将深入...

      B-E00006-图书管理系统.rar

      《图书管理系统》是一款专为图书馆运营设计的软件应用,它集成了图书的入库、出库、借阅、归还、查询、统计等多种功能,旨在提高图书馆的管理效率和服务质量。图书管理系统通常包括以下几个核心模块: 1. 图书信息...

      图书馆新书介绍题录索引[文].pdf

      "图书馆新书介绍题录索引" 本次新书介绍题录索引所收录的图书,都是经典的文学作品和历史典籍,涵盖了神魔小说、纪传体通史、文学集、兵书、童话等多种体裁。下面是对每一本书的详细介绍: 一、《封神演义》 ...

      图书馆管理系统-软件项目管理.pdf

      《软件工程》实验报告主要探讨了图书馆管理系统在软件项目管理中的应用,涵盖了需求分析、工作量估算、项目进度安排等多个方面。以下是对这些知识点的详细解释: 1. **需求分析**: - 图书类别管理:包括增加、...

      SQL-数据库---图书管理系统.docx

      - **图书库存管理**:支持新书入库、旧书删除(无借阅记录的图书)。 - **借阅管理**:实现图书的借阅与归还操作,同步更新图书库存和借阅次数信息。 - **登录安全管理**:确保管理员账户的安全。 ### 3. 实验指导...

      图书管理E-R图,流程图,报告。。。

      在图书管理系统中,流程图可能包括读者借书、还书、续借的步骤,以及管理员添加新书、处理逾期罚款等操作。通过流程图,我们可以清晰地看到每个步骤的顺序,理解系统的逻辑流程,这对于优化业务流程和编写程序逻辑...

    Global site tag (gtag.js) - Google Analytics