`
oywl2008
  • 浏览: 1082419 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

快速软件开发》学习笔记 之一

 
阅读更多

第1章 软件开发策略

1.1 软件开发中的四维

任何软件项目,都有四个重要的维: peopleprocessproducttechnology为使项目能顺利进行,软件经理必须充分发挥这四维的作用。下表是对这四维的总结。

 

1-1软件开发中的四维

维度

如何优化

People

l  为团队挑选胜任称职的成员

l  选择合适的团队结构

l  使用恰当的人员激励措施

Process

l  采用标准的软件工程实践,避免开发过程失控

l  做好风险管理

l  为项目选择合适的生命期模型

l  形成良好的质量保证机制

l  选择客户导向的开发方法,使开发的产品真正满足客户需求

Product

l  较准确地估算product size(产品规模)和effort(工作量),以便制定出现实的进度安排

l  采取恰当措施防止软件开发过程中product sizeproduct scope失控

l  为产品设定合理的product characteristic(如内存占用、稳定性、可靠性等)。

Technology

l  选择恰当的、能确实提升生产率的工具(包括新的编程语言、新的开发实践、新的代码库等)

 

许多软件经理倾向于只关注这四维中的某一维而忽视其它维度,而高水平的软件经理却努力做到同时优化项目的四个维度。

1.2 软件开发的总体策略

一个软件进行的软件项目应该遵循如下的4点策略:

1.         Avoid classic mistakes. (避免典型错误)

2.         Apply development fundamentals. (采用软件开发的基础性实践)

3.         Manage risks to avoid catastrophic setbacks. (管理风险,以避免灾难性的结果)

4.         Apply schedule-oriented practices. (采用面向进度的实践)

4点策略可以用下图来形象地表示。

 

http://www.cnblogs.com/lijia821130/archive/2012/03/04/2379610.html

 

分享到:
评论

相关推荐

    基于Java语言的Android开发学习笔记设计源码

    在当今快速发展的移动互联网时代,Android开发成为了软件开发领域中的一个重要方向。特别是对于那些对Java语言有一定了解的开发者而言,基于Java的Android开发学习曲线相对友好。本学习笔记项目正是为了满足这些初学...

    VS.NET学习笔记

    2. **C#语言**:作为VS.NET的主要开发语言之一,C#是一种面向对象的、现代的编程语言,具有简洁的语法和强大的类型系统。掌握C#的基础语法、面向对象特性、泛型、委托和事件、异步编程等,对于使用VS.NET开发至关...

    基于Java语言的Android应用开发学习笔记

    在当今科技迅猛发展的时代,移动应用开发已成为软件开发领域的热点。特别是Android应用开发,由于其开源和跨平台的特性,受到了广泛的关注和应用。掌握基于Java语言的Android应用开发技能,不仅能够帮助开发者构建...

    Python学习笔记(强烈推荐)

    字符串操作,例如连接字符串,也是提升数据处理能力的关键点之一。作者不忘提醒读者,注释是提高代码可读性的有效工具,应当在编写代码的过程中合理运用。 在掌握了基本概念后,笔记进入了更高级的编程话题——函数...

    C++ 学习笔记 整理

    C++是一种强大的、通用的编程语言,被广泛应用于系统软件、应用软件、游戏开发、设备驱动、嵌入式系统等领域。这份"C++学习笔记"涵盖了C++的基础到高级概念,旨在帮助初学者和有一定经验的程序员深入理解并掌握C++。...

    基于Java语言的Android开发学习笔记整理与分享

    这份基于Java语言的Android开发学习笔记整理与分享资源集,旨在为所有有志于从事Android开发的学习者提供一个全面、系统、实用的学习平台,帮助他们少走弯路,更快地成长为Android开发领域的专业人才。通过本资源集...

    北大tensorflow学习笔记

    TensorFlow,由Google Brain团队开发,是一款强大的开源软件库,主要用于数值计算和大规模机器学习。在"北大tensorflow学习笔记"中,我们可以深入探索这个广泛应用于学术研究和工业实践的平台。 一、TensorFlow基础...

    《代码大全》学习笔记

    - **促进创新:** 软件是推动技术进步和创新的关键因素之一。 **1.3 小结** - 本章强调了理解软件创建的基础概念及其重要性。 #### 第二章 利用隐喻对编程进行更深刻的理解 **2.1 隐喻的重要性** - **促进理解...

    java学习笔记

    首先,书中从Java的历史和发展背景出发,解释了为什么Java能够成为全球广泛应用的编程语言之一。接着,它引导读者安装Java开发环境,包括JDK(Java Development Kit)和集成开发环境(IDE),如Eclipse或IntelliJ ...

    Groovy学习笔记 PDF版

    在《Groovy学习笔记》这本书中,你可能会学到如何快速入门Groovy,理解其基本语法,包括变量、控制流、类和对象的创建,以及如何利用Groovy的特性来提高开发效率。此外,书中可能还会涵盖Groovy在实际项目中的应用,...

    Live555 学习笔记

    ### Live555 学习笔记 #### 编译Live555 Live555是一个开源媒体流软件库,广泛应用于实时视频流传输。为了更好地理解和应用Live555,掌握其编译方法至关重要。 - **使用MingW进行编译**: - 在Live555的根目录下...

    SpringCloud学习笔记

    【SpringBoot核心特性】 SpringBoot是Spring框架的一个扩展,它旨在简化Spring应用程序的开发过程,...这份学习笔记涵盖了SpringBoot的基础特性和SpringCloud的负载均衡实践,对于深入理解这两个技术有极大的帮助。

    STM32学习笔记(一)

    总之,STM32学习笔记(一)是一个很好的起点,结合STM32固件库的使用教程,可以帮助初学者快速进入STM32的世界。在学习过程中,不断探索和实践,结合各种资源,可以逐步成为一名熟练的STM32开发者。

    JavaScript学习笔记.pdf

    JavaScript学习笔记是一本关于JavaScript编程语言的教材,该教材通过丰富的实例,系统地介绍了JavaScript的基础知识和实际应用技巧,帮助读者一步步掌握客户端编程技术。本书共分为九章,每一章都有其特定的主题,...

    Android程序开发学习笔记(手电筒软件设计).doc

    【Android程序开发学习笔记(手电筒软件设计)】 Android是一种开放源代码的移动操作系统,由Google领导的Open Handset Alliance开发,旨在提供一个统一且先进的移动设备平台。它的历史可以追溯到2008年,当时首款...

    Linux学习笔记——入门资料

    这份“Linux学习笔记”旨在帮助初学者快速掌握Linux的基础知识和操作技能,从而轻松入门。 一、Linux简介 Linux并非单一的操作系统,而是基于Linux内核的一系列发行版的统称,如Ubuntu、CentOS、Fedora等。它倡导...

    ORACLE经典学习笔记

    ### ORACLE经典学习笔记知识点概览 #### 第一章 ORACLE 命令 本章节主要介绍了Oracle数据库中常用的命令及其使用方法。 1. **查看参数文件**: `Desc v$parameter` - 这个命令用于查看Oracle的参数文件信息,通过...

    Eclipse插件开发学习笔记1-8章

    以下是对Eclipse插件开发学习笔记1-8章的主要知识点的详细说明: 1. **Eclipse平台简介** (03第1章 Eclipse平台简介.pdf) - Eclipse平台是基于OSGi服务框架的,它提供了插件化的架构,使得开发者可以轻松地添加、...

    新手C++学习笔记(仅供菜鸟成长参考).rar

    《新手C++学习笔记》是一份专为编程初学者打造的资源,旨在帮助那些刚刚踏入C++编程领域的“菜鸟”快速成长。这份笔记包含了前辈们的实践经验总结,具有很高的学习价值。文档以.doc格式存储,方便读者使用常见的文字...

Global site tag (gtag.js) - Google Analytics