`
oywl2008
  • 浏览: 1051701 次
  • 性别: 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

 

分享到:
评论

相关推荐

    VS.NET学习笔记

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

    C++ 学习笔记 整理

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

    北大tensorflow学习笔记

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

    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格式存储,方便读者使用常见的文字...

    软件工程学习笔记的资料发的

    - **系统性**:软件开发是一个系统化的过程。 - **泛域性**:可以应用于多个领域。 - **依附性**:依赖于硬件环境。 - **非损性**:复制时不会损坏原版。 - **复制性**:容易被复制。 - **演化性**:随着需求...

    Android学习笔记之开发环境搭建(Eclipse和NetBeans)

    【Android学习笔记之开发环境搭建(Eclipse和NetBeans)】 Android开发对于初学者来说,第一步通常是搭建开发环境。本文将详细介绍如何在Eclipse和NetBeans中设置Android开发环境,以便进行应用程序的编写和调试。 ...

    编程学习笔记

    这篇编程学习笔记旨在为初学者提供一个全面而基础的指引,尤其适合那些对编程一无所知的新手。它涵盖了多种编程语言和技术,旨在帮助你快速踏入编程世界的大门。 首先,我们从“01.System[windows,Linux]”开始,这...

    Altium Designer学习笔记(1)

    Altium Designer 是一款广泛应用于电子设计领域的软件,它集成了电路原理图绘制、PCB 设计与仿真等功能于一体,是电子工程师进行硬件开发的重要工具之一。在实际工作中,经常会遇到各种各样的技术难题,例如 PCB ...

Global site tag (gtag.js) - Google Analytics