推荐阅读
张生带上仆人阿梁,挑着圣贤书两大箱。
《张生记》;词:高晓松,曲:高晓松,唱:曹颖;2006
在为软件组织提供服务时,我一直采取拿来主义的做法,不拘泥于流派或风格,着力于细节和应用。如果硬要说出本书的几个主要思想来源,我认为应该是Ivar Jacobson、Alistair Cockburn、Peter 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
|
/ |