推荐阅读

张生带上仆人阿梁,挑着圣贤书两大箱。

《张生记》;词:高晓松,曲:高晓松,唱:曹颖;2006

 

在为软件组织提供服务时,我一直采取拿来主义的做法,不拘泥于流派或风格,着力于细节和应用。如果硬要说出本书的几个主要思想来源,我认为应该是Ivar JacobsonAlistair CockburnPeter Coad和高焕堂。

下面是我推荐大家阅读的需求和设计书籍和资料。这些书籍和资料我当然都读过,否则就没有资格在此处推荐了。您可能会发现,一些有名的著作如Brooks的“The Mythical Man-Month”、GoF的“Design Patterns”等不在其中,不是因为我没有读过——事实上,需求和设计书籍只要有中文译本或者英文版能有渠道找到电子版,绝大多数我都阅读过。只是我认为,对于需求和设计技能的提升,阅读以下推荐的资料帮助更大。

另外要说的是,要用发展的眼光看问题,不能搞“原教旨主义”。某种思想或方法起源于某人,不意味着某人最初对该思想或方法的认识永远是最正确的,也不意味着某人在以后的岁月中针对该思想或方法发表的各种观点都是正确的。Ivar Jacobson的“Object-Oriented Software Engineering”出版于1992年,Peter Coad的“Java Modeling In Color With UML”出版于1999年,Alistair Cockburn的“Writing Effective Use Cases”出版于2001年。不否认这些书中思想的光芒,但毕竟世界在进步,在实践的大浪淘沙之下,有些细节值得商议。小教派式的“教主崇拜”,由一些编辑捧出来的圈子文化以及廉价“大牛”、“大仙”、“大神”式的称呼,不值得提倡。鉴于此,本书不会称呼先行者们为“大师”、“大牛”、“大仙”、“大神”,我想他们的贡献不会因此埋没。

书名

ISBN

出版年

作者

中译本

Software Reuse: Architecture, Process and Organization for Business Success

978-0201924763

1997

Ivar Jacobson

M. Griss

P. Jonsson

软件复用:结构、过程和组织

Use Cases: Requirements in Context: 2nd Edition

978-0321154989

2003

Daryl Kulak

用例:通过背景环境获取需求

Writing Effective Use Cases

978-0201702255

2000

Alistair Cockburn

编写有效用例

Exploring Requirements: Quality Before Design

978-0932633132

1989

Donald C. Gause

Gerald M. Weinberg

探索需求—设计前的质量

Mastering the Requirements Process: Getting Requirements Right (3rd Edition)

978-0321815743

2012

Suzanne Robertson

James Robertson

掌握需求过程(3)

Positioning: The Battle for Your Mind

978-0071373586

2000

Al Ries

Jack Trout

定位

Serious Creativity: Using the Power of Lateral Thinking to Create New Ideas

978-0887306358

1993

Edward De Bono

严肃的创造力

历史深处的忧虑

978-7108010186

1997

林达

/

为什么是市场

978-7508601045

2004

秋风

/

Case Studies in Object-Oriented Analysis and Design

978-0133051377

1996

Edward Yourdon

Carl A. Argila

实用面向对象软件工程教程

Object Models: Strategies, Patterns, and Applications (2nd Edition)

978-0138401177

1996

Peter Coad

David North

Mark Mayfield

对象模型:策略、模式与应用(第2版)

Java Modeling In Color With UML: Enterprise Components and Process

978-0130115102

1999

Peter Coad

Jeff de Luca

Eric Lefebvre

彩色UML建模

Analysis Patterns: Reusable Object Models

978-0201895421

1997

Martin Fowler

分析模式:可复用的对象模型

Object-Oriented Software Construction (2nd Edition)

978-0136291558

1997

Bertrand Meyer

/

The Data Model Resource Book, Vol. 1: A Library of Universal Data Models for All Enterprises

978-0471380238

2001

Len Silverston

数据模型资源手册(卷1

The Data Model Resource Book, Vol. 2: A Library of Data Models for Specific Industries

978-0471353485

2001

Len Silverston

数据模型资源手册(卷2

The Data Model Resource Book, Vol. 3: Universal Patterns for Data Modeling (Volume 3)

978-0470178454

2008

Len Silverston

Paul Agnew

数据模型资源手册(卷3)—数据模型通用模式

Model Driven Architecture with Executable UML

978-0521537711

2004

Chris Raistrick

Paul Francis

John Wright

Colin Carter

Ian Wilkie

MDA与可执行UML

Holub on Patterns: Learning Design Patterns by Looking at Code

978-1850158479

2004

Allen Holub

设计模式初学者指南

Data Model Patterns

978-0932633743

2011

David C. Hay

/

Domain-Driven Design: Tackling Complexity in the Heart of Software

978-0321125217

2003

Eric Evans

领域驱动设计

Pattern-Oriented Software Architecture Volume 1: A System of Patterns

978-0471958697

1996

Frank Buschmann

Regine Meunier

面向模式的软件架构,卷1:模式系统

Pattern-Oriented Software Architecture Volume 2: Patterns for Concurrent and Networked Objects

978-0471606956

2000

Douglas Schmidt

Michael Stal

面向模式的软件架构,卷2:并发和联网对象模式

Pattern-Oriented Software Architecture Volume 3: Patterns for Resource Management

978-0470845257

2004

Michael Kircher

Prashant Jain

面向模式的软件架构,卷3:资源管理模式

Pattern-Oriented Software Architecture Volume 4: A Pattern Language for Distributed Computing

978-0470059029

2007

Frank Buschmann

Kevin Henney

面向模式的软件架构,卷4:分布式计算的模式语言

Pattern Oriented Software Architecture Volume 5: On Patterns and Pattern Languages

978-0471486480

2007

Frank Buschmann

Kevin Henney

面向模式的软件架构,卷5:模式与模式语言

Pattern Languages of Program Design

978-0201607345

1995

James O. Coplien

Douglas Schmidt

程序设计的模式语言,卷1

Pattern Languages of Program Design 2

978-0201895278

1996

John Vlissides

James O. Coplien

程序设计的模式语言,卷2

Pattern Languages of Program Design 3

978-0201310115

1997

Robert C. Martin

Dirk Riehle

程序设计的模式语言,卷3

Pattern Languages of Program Design 4

978-0201433043

1999

Brian Foote

Neil Harrison

程序设计的模式语言,卷4

Pattern Languages of Program Design 5

978-0321321947

2006

Dragos Manolescu

Markus Voelter

程序设计模式语言,卷5

OMG Unified Modeling Language Version 2.5

 

2015

OMG

/

UML Distilled: A Brief Guide to the Standard Object Modeling Language (3rd Edition)

978-0321193681

2003

Martin Fowler

UML精粹(第3版)

Practical UML Statecharts in C/C++: Event-Driven Programming for Embedded Systems

978-0750687065

2008

Miro Samek

/

Objects, Components, and Frameworks with UML: The Catalysis

 

978-0201310122

1998

Desmond Francis D'Souza

Alan Cameron Wills

 

UML对象、组件和框架—Catalysis方法

Working With Objects:The Ooram Software Engineering Method

978-0134529301

1998

Wold Reenskaug

Trygve Reenskaug

O. A. Lehne

 

/