敏捷软件开发(影印版)
基本信息
- 作者: Robert C. MARTIN [作译者介绍]
- 丛书名: 开发大师系列
- 出版社:中国电力出版社
- ISBN:7508315030
- 上架时间:2003-5-29
- 出版日期:2003 年5月
- 开本:16开
- 页码:529
- 版次:1-1
- 所属分类:
计算机 > 软件工程及软件方法学 > 综合
编辑推荐
本书荣获2003年震撼大奖(Jolt Award),这是计算机图书领域的最权威奖项,本书是名副其实的计算机图书新科状元。
内容简介回到顶部↑
书籍
计算机书籍
[a href="http://www.china-pub.com/computers/common/info.asp?id=13569" target="_blank"][font color="#ff6600"]查看《敏捷软件开发》(中文版)[/font][/a]
本书荣获2003年震撼大奖(jolt award),这是计算机图书领域的最权威奖项,本书是名副其实的计算机图书新科状元。 敏捷开发指的是面向多变的需求,进行快速软件开发的能力。为达到敏捷的境界,我们不但需要能提供足够训练和反馈的实践,同时也需要用设计原理来保持软件的灵活性和可维护性,还需要懂得对具体的问题使用设计模式。本书将这三方面内容融为一体进行了讲述。 本书首先给出了那些原理、模式和实践,然后阐述了它们是怎样在众多实例中应用的。这些实例并不是完整的程序,而是设计的一部分。我们将看到设计者出现的错误,以及他们怎样发现并纠正错误。本书描述了他们苦思难点谋求解决的过程,这就是活生生的设计。 在本书中,作者以开发大师和教授的双重身份,用自己的独特见解和精致文体打通了读者的学习之路。
计算机书籍
[a href="http://www.china-pub.com/computers/common/info.asp?id=13569" target="_blank"][font color="#ff6600"]查看《敏捷软件开发》(中文版)[/font][/a]
本书荣获2003年震撼大奖(jolt award),这是计算机图书领域的最权威奖项,本书是名副其实的计算机图书新科状元。 敏捷开发指的是面向多变的需求,进行快速软件开发的能力。为达到敏捷的境界,我们不但需要能提供足够训练和反馈的实践,同时也需要用设计原理来保持软件的灵活性和可维护性,还需要懂得对具体的问题使用设计模式。本书将这三方面内容融为一体进行了讲述。 本书首先给出了那些原理、模式和实践,然后阐述了它们是怎样在众多实例中应用的。这些实例并不是完整的程序,而是设计的一部分。我们将看到设计者出现的错误,以及他们怎样发现并纠正错误。本书描述了他们苦思难点谋求解决的过程,这就是活生生的设计。 在本书中,作者以开发大师和教授的双重身份,用自己的独特见解和精致文体打通了读者的学习之路。
作译者回到顶部↑
本书提供作译者介绍
Robert C. Martin
Robert C. Martin (Uncle Bob) has been a software professional since 1970 and an international software consultant since 1990. He is founder and president of Object Mentor Inc., a team of experienced consultants who mentor their clients worldwide in the fields of C++, Java, .NET, OO, Patterns, UML, Agile Methodologies, and Extreme Programming. In 1995, Robert authored the best-selling book: Designing Object Oriented C++ A.. << 查看详细
Robert C. Martin (Uncle Bob) has been a software professional since 1970 and an international software consultant since 1990. He is founder and president of Object Mentor Inc., a team of experienced consultants who mentor their clients worldwide in the fields of C++, Java, .NET, OO, Patterns, UML, Agile Methodologies, and Extreme Programming. In 1995, Robert authored the best-selling book: Designing Object Oriented C++ A.. << 查看详细
目录回到顶部↑
foreword
preface
about the authors
list of design patterns
section 1 agile development
chapter 1 agile practices
the agile alliance
the manifesto of the agile alliance
principles
conclusion
bibliography
chapter 2 overview of extreme programming
the practices of extreme programming
customer team member
user stories
short cycles
acceptance tests
pair programming
test-driven development
collective ownership
preface
about the authors
list of design patterns
section 1 agile development
chapter 1 agile practices
the agile alliance
the manifesto of the agile alliance
principles
conclusion
bibliography
chapter 2 overview of extreme programming
the practices of extreme programming
customer team member
user stories
short cycles
acceptance tests
pair programming
test-driven development
collective ownership
前言回到顶部↑
Agile development is the ability to develop software quickly, in the face of rapidly changing requirements, In order to achieve this agility, we need to employ practices that provide the necessary discipline and feedback. We need to employ design principles that keep our software flexible and maintainable, and we need to know the design patterns that have been shown to balance those principles for specific problems. This book is an attempt to knit all three of these concepts together into a functioning whole.
This book describes those principles, patterns, and practices and then demonstrates, how they are applied by walking through dozens of different case studies. More importantly, the case studies are not presented as complete works. Rather, they are designs in progress. You will see the designers make mistakes, and you will observe how they identify the mistakes and eventually correct them. You will see them puzzle over conundrums and worry over ambiguities and trade-offs. You will see the act of design.
The Devil Is in the Details
This book contains a lot of Java and C++ code. I hope you will carefully read that code since, to a large degree, the code is the point of the book. The code is the actualization of what this book has to say.
There is a repeating pattern to this book. It consists of a series of case studies of varying sizes. Some are very small, and some require several chapters to describe. Each case study is preceded by material that is meant to prepare you for it. For example, the Payroll case study is preceded by chapters describing the object-oriented design principles and patterns used in the case study.
The book begins with a discussion of development practices and processes. That discussion is punctuated by a number of small case studies and examples. From there, the book moves on to the topic of design and design principles, and then to some design patterns, more design principles that govern packages, and more patterns. All of these topics are accompanied by case studies.
So prepare yourself to read some code and to pore over some UML diagrams. The book you are about to read is very technical, and its lessons, like the devil, are in the details.
k Little History Over six years ago, I wrote a book entitled Designing Object-Oriented C++ Applications using the Booch Method. It was something of magnum opus for me, and I was very pleased with the result and with the sales.
This book started out as a second edition to Designing, but that's not how it turned out. Very little remains of the original book in these pages. Little more than three chapters have been carried through, and those chapters have been massively changed. The intent, spirit, and many of the lessons of the book are the same. And yet, I've learned a tremendous amount about software design and development in the six years since Designing came out.
This bookreflects that learning.
What a half-decade! Designing came out just before the Intemet collided with the planet. Since then, the number of abbreviations we have to deal with has doubled. We have Design Patterns, Java, EJB, RMI, J2EE, XML, XSLT, HTML, ASP, JSP, Servlets, Application Servers, ZOPE, SOAP, C#, .NET, etc., etc. Let me tell you, it's been hard to keep the chapters of this book reasonably cmrent!
The Booch Connection
In 1997, I was approached by Grady Booch tohelp write the third edition of his amazingly successful Object Oriented Analysis and Design with Applications. I had worked with Grady before on some projects, and I had been an avid reader and contributor to his various works, including UML. So I accepted with glee. I asked my good friend Jim Newkirk to help out with the project.
Over the next two years, Jim and I wrote a number of chapters for the Booch book. Of course, that effort meant that I could not put as much effort into this book as I would have liked, but I felt that the Booch book was worth the contribution. Besides, this book was really just a second edition of Designing at the time, and my heart wasn't in it. If I was going to say something, I wanted to say something new and different.
Unfortunately, that version of the Booch book was not to be. It is hard to find the time to write a book during normal times. During the heady days of the ".com" bubble, it was nearly impossible. Grady got ever busier with Rational and with new ventures like Catapulse. So the project stalled. Eventually, I asked Grady and Addison-Wesley if I could have the chapters that Jim and I wrote to include in this book. They graciously agreed. So several of the case study and UML chapters came from that source.
The Impact of Extreme Programming
In late 1998, XP reared its head and challenged our cherished beliefs about software development. Should we crcate lots of UML diagrams prior to writing any code, or should we eschew any kind of diagrams and just write lots of code? Should we write lots of narrative documents that describe our design, or should we try to make the code harrative and expressive so that ancillary documents aren't necessary? Should we program in pairs? Should we write tests before we write production code? What should we do?
This revolution came at an opportune time for me. During the middle to late 90s, Object Mentor was helping quite a few companies with object-oriented (OO) design and project management issues. We were helping companies get their projects done. As part of that help, we instilled our own attitudes and practices into the teams.
Unfortunately, these attitudes and practices were not written down. Rather, they were an oral tradition that was passed from us to our customers.
By 1998, I realized that we needed to write down our process and practices so that we could better articulate them to our customers. So, I wrote many articles about process in the C++ Report.1 These articles missed the mark. They were informative, and in some cases entertaining, but instead of codifying the practices and attitudes 1. These articles are available in the "publications" section of http: //www. obi ec tmentor, com. There are four of them. The first
This book describes those principles, patterns, and practices and then demonstrates, how they are applied by walking through dozens of different case studies. More importantly, the case studies are not presented as complete works. Rather, they are designs in progress. You will see the designers make mistakes, and you will observe how they identify the mistakes and eventually correct them. You will see them puzzle over conundrums and worry over ambiguities and trade-offs. You will see the act of design.
The Devil Is in the Details
This book contains a lot of Java and C++ code. I hope you will carefully read that code since, to a large degree, the code is the point of the book. The code is the actualization of what this book has to say.
There is a repeating pattern to this book. It consists of a series of case studies of varying sizes. Some are very small, and some require several chapters to describe. Each case study is preceded by material that is meant to prepare you for it. For example, the Payroll case study is preceded by chapters describing the object-oriented design principles and patterns used in the case study.
The book begins with a discussion of development practices and processes. That discussion is punctuated by a number of small case studies and examples. From there, the book moves on to the topic of design and design principles, and then to some design patterns, more design principles that govern packages, and more patterns. All of these topics are accompanied by case studies.
So prepare yourself to read some code and to pore over some UML diagrams. The book you are about to read is very technical, and its lessons, like the devil, are in the details.
k Little History Over six years ago, I wrote a book entitled Designing Object-Oriented C++ Applications using the Booch Method. It was something of magnum opus for me, and I was very pleased with the result and with the sales.
This book started out as a second edition to Designing, but that's not how it turned out. Very little remains of the original book in these pages. Little more than three chapters have been carried through, and those chapters have been massively changed. The intent, spirit, and many of the lessons of the book are the same. And yet, I've learned a tremendous amount about software design and development in the six years since Designing came out.
This bookreflects that learning.
What a half-decade! Designing came out just before the Intemet collided with the planet. Since then, the number of abbreviations we have to deal with has doubled. We have Design Patterns, Java, EJB, RMI, J2EE, XML, XSLT, HTML, ASP, JSP, Servlets, Application Servers, ZOPE, SOAP, C#, .NET, etc., etc. Let me tell you, it's been hard to keep the chapters of this book reasonably cmrent!
The Booch Connection
In 1997, I was approached by Grady Booch tohelp write the third edition of his amazingly successful Object Oriented Analysis and Design with Applications. I had worked with Grady before on some projects, and I had been an avid reader and contributor to his various works, including UML. So I accepted with glee. I asked my good friend Jim Newkirk to help out with the project.
Over the next two years, Jim and I wrote a number of chapters for the Booch book. Of course, that effort meant that I could not put as much effort into this book as I would have liked, but I felt that the Booch book was worth the contribution. Besides, this book was really just a second edition of Designing at the time, and my heart wasn't in it. If I was going to say something, I wanted to say something new and different.
Unfortunately, that version of the Booch book was not to be. It is hard to find the time to write a book during normal times. During the heady days of the ".com" bubble, it was nearly impossible. Grady got ever busier with Rational and with new ventures like Catapulse. So the project stalled. Eventually, I asked Grady and Addison-Wesley if I could have the chapters that Jim and I wrote to include in this book. They graciously agreed. So several of the case study and UML chapters came from that source.
The Impact of Extreme Programming
In late 1998, XP reared its head and challenged our cherished beliefs about software development. Should we crcate lots of UML diagrams prior to writing any code, or should we eschew any kind of diagrams and just write lots of code? Should we write lots of narrative documents that describe our design, or should we try to make the code harrative and expressive so that ancillary documents aren't necessary? Should we program in pairs? Should we write tests before we write production code? What should we do?
This revolution came at an opportune time for me. During the middle to late 90s, Object Mentor was helping quite a few companies with object-oriented (OO) design and project management issues. We were helping companies get their projects done. As part of that help, we instilled our own attitudes and practices into the teams.
Unfortunately, these attitudes and practices were not written down. Rather, they were an oral tradition that was passed from us to our customers.
By 1998, I realized that we needed to write down our process and practices so that we could better articulate them to our customers. So, I wrote many articles about process in the C++ Report.1 These articles missed the mark. They were informative, and in some cases entertaining, but instead of codifying the practices and attitudes 1. These articles are available in the "publications" section of http: //www. obi ec tmentor, com. There are four of them. The first








点击看大图





加载中...

