Search for books and compare prices on all major online booksellers with one click!

Home  About UsSuggest BookstoreRecommend Us 
    Title/Keywords ISBN  

Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process

AUTHOR: Craig Larman
ISBN: 0130925691

SHORT DESCRIPTION: The first edition of Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design quickly emerged as the leading OOA/D introduction; it has been translated into seven languages and adopted in universities and businesses...

Compare Price


HOME--->> Computers & Internet --->>Computer Science --->>Computer Science
 
Computer Science
         Editorial Review

Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process
- Book Review,
by Craig Larman


Amazon.com
Good software starts with a good design, and the subtitle of Applying UML and Patterns, "An Introduction to Object-Oriented Analysis and Design (OOA/D) and the Unified Process" reinforces that that's what this book is about.

The first edition of Applying UML and Patterns became a standard. The second edition uses the unified process (UP) as the iterative process within which OOA/D is introduced, and extends the case study used in the first edition. Other changes have been made to reflect the growing consensus on the most effective ways to work with OOA/D and patterns.

Although you will learn UML, this isn't what Applying UML and Patterns is all about. It's designed to teach you to think of software as a collection of objects with properties and to manipulate the relationships between them. This is far more profound.

The case study enables Craig Larman to carry the design through to Java code. In practice, you will need a basic understanding of OO programming to benefit from Applying UML and Patterns, though you needn't know Java--you can implement the designs in the OO language of your choice with equal facility.

When it comes right down to it, Applying UML and Patterns is all about providing you with a language in which to think about software design. This is quite different from learning a language in which to code a design.

A facility with OOA/D will enable you to design and discuss programs independent of code, to produce more elegant and maintainable software, and to take a 30,000-foot view of the way your software interacts with the world. In effect, it can shift your viewpoint from that of a mechanic to that more sophisticated viewpoint of an engineer. Recommended. --Steve Patient. Amazon.co.uk


Book Description
“People often ask me which is the best book to introduce them to the world of OO design. Ever since I came across it, ‘Applying UML and Patterns’ has been my unreserved choice.” —Martin Fowler, author, “UML Distilled” and “Refactoring” The first edition of “Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design” quickly emerged as the leading OOA/D introduction; translated to many languages and adopted in universities and businesses worldwide. In this second edition, well-known object technology and iterative methods leader Craig Larman refines and expands this text for developers and students new to OOA/D, the UML, patterns, use cases, iterative development, and related topics. The book helps newcomers to OOA/D learn how to “think in objects” by presenting three iterations of a single, cohesive case study, incrementally introducing the requirements and OOA/D activities, principles, and patterns that are most critical to success. It introduces the most frequently used UML diagramming notation, while emphasizing that OOA/D is much more than knowing UML notation. All case study iterations and skills are presented in the context of an “agile” version of the Unified Process -- a popular, modern iterative approach to software development. Throughout, Larman presents the topics in a fashion designed for learning and comprehension. Among the topics introduced in Applying UML and Patterns are: * requirements and use cases, * domain object modeling, * core UML, * designing objects with responsibilities, * “Gang of Four” and other design patterns, * mapping designs to code (using Java as an example), * layered architectures, * architectural analysis, * package design, * iterative development, * the Unified Process.Foreword by Philippe Kruchten, the lead architect of the Rational Unified Process. “Too few people have a knack for explaining things. Fewer still have a handle on software analysis and design. Craig Larman has both.” —John Vlissides, author, “Design Patterns” and “Pattern Hatching” “This edition contains Larman’s usual accurate and thoughtful writing. It is a very good book made even better.” —Alistair Cockburn, author, “Writing Effective Use Cases” and “Surviving OO Projects”


From the Author
Thank you for considering this book. Based on my experience both doing and mentoring OOA/D, I've tried to create a useful learning aid or introduction to object design, use cases, the UML, patterns, and iterative development with an agile or light version of the Unified Process. Please contact me if I can help with any questions related to its content or use in learning or teaching, at craiglarman.com.


From the Back Cover
"People often ask me which is the best book to introduce them to the world of OO design. Ever since I came across it Applying UML and Patterns has been my unreserved choice."—Martin Fowler, author, UML Distilled and Refactoring The first edition of Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design quickly emerged as the leading OOA/D introduction; it has been translated into seven languages and adopted in universities and businesses worldwide. In this second edition, well-known object technology and iterative methods leader Craig Larman refines and expands this text for developers and students new to OOA/D, the UML, patterns, use cases, iterative development, and related topics. Put simply, the book shows newcomers to OOA/D how to "think in objects." It does so by presenting three iterations of a single, cohesive case study, incrementally introducing the requirements and OOA/D activities, principles, and patterns that are most critical to success. It introduces the most frequently used UML diagramming notation, while emphasizing that OOA/D is much more than knowing UML notation. All case study iterations and skills are presented in the context of an "agile" version of the Unified Process -- a popular, modern iterative approach to software development. Throughout, Larman presents the topics in a fashion designed for learning and comprehension. Among the topics introduced in Applying UML and Patterns are: * requirements and use cases, * domain object modeling, * core UML, * designing objects with responsibilities, * "Gang of Four" and other design patterns, * mapping designs to code (using Java as an example), * layered architectures, * architectural analysis, * package design, * iterative development, and * the Unified Process. For a more detailed list of topics, please see the accompanying table of contents. Foreword by Philippe Kruchten, the lead architect of the Rational Unified Process. "Too few people have a knack for explaining things. Fewer still have a handle on software analysis and design. Craig Larman has both."—John Vlissides, author, Design Patterns and Pattern Hatching "This edition contains Larman's usual accurate and thoughtful writing. It is a very good book made even better."—Alistair Cockburn, author, Writing Effective Use Cases and Surviving OO Projects


About the Author
CRAIG LARMAN serves as Director of Process and Methodology at Valtech, a leading international e-business consulting group. He is known throughout the international software community as an expert in object technologies, patterns, the UML, modeling, and iterative development. Since the 1980s, Larman has been helping people learn objects and iterative development, having personally guided thousands of developers. He is also the co-author of Java 2 Performance and Idiom Guide, and holds a B.Sc. and M.Sc. in Computer Science from Simon Fraser University in Vancouver, B.C.


Excerpt. © Reprinted by permission. All rights reserved.
PrefaceThank you for reading this book! This is a practical introduction to object-oriented analysis and design (OOA/D), and to related aspects of iterative development. I am grateful that the first edition was received as a popular introduction to OOA/D throughout the world, translated into many languages. Therefore, this second edition builds upon and refines-rather than replaces-the content in the first. I want to sincerely thank all the readers of the first edition. Here is how the book will benefit you.Design robust and maintainable object systems.First, the use of object technology has proliferated in the development of software, and mastery of OOA/D is critical for you to create robust and maintainable object systems. Follow a roadmap through requirements, analysis, design, and coding.Second, if you are new to OOA/D, you are understandably challenged about how to proceed through this complex subject; this book presents a well-defined roadmap-the Unified Process-so that you can move in a step-by-step process from requirements to code.Use the UML to illustrate analysis and design models.Third, the Unified Modeling Language (UML) has emerged as the standard notation for modeling; so it is useful for you to be conversant in it. This book teaches the skills of OOA/D using the UML notation.Improve designs by applying the "gang-of-four" and GRASP design patterns.Fourth, design patterns communicate the "best practice" idioms and solutions that object-oriented design experts apply in order to create systems. In this book you will learn to apply design patterns, including the popular "gang-of-four" patterns, and the GRASP patterns which communicate fundamental principles of responsibility assignment in object design. Learning and applying patterns will accelerate your mastery of analysis and design.Learn efficiently by following a refined presentation.Fifth, the structure and emphasis in this book is based on years of experience in training and mentoring thousands of people in the art of OOA/D. It reflects that experience by providing a refined, proven, and efficient approach to learning the subject so your investment in reading and learning is optimized.Learn from a realistic exercise.Sixth, it exhaustively examines a single case study-to realistically illustrate the entire OOA/D process, and goes deeply into thorny details of the problem; it is a realistic exercise.Translate to code.Seventh, it shows how to map object design artifacts to code in Java.Design a layered architecture.Eighth, it explains how to design a layered architecture and relate the graphical user interface layer to domain and technical services layers. Design a framework.Finally, it shows you how to design an object-oriented framework and applies this to the creation of a framework for persistent storage in a database.ObjectivesThe overarching objective is this:Help students and developers create object designs through the application of a set of explainable principles and heuristics.By studying and applying the information and techniques presented here, you will become more adept at understanding a problem in terms of its processes and concepts, and designing a solid solution using objects.Intended AudienceThis book is an introduction to OOA/D, related requirements analysis, and to iterative development with the Unified Process as a sample process; it is not meant as an advanced text. It is for the following audience: Developers and students with experience in an object-oriented programming language, but who are new—or relatively new—to object-oriented analysis and design. Students in computer science or software engineering courses studying object technology. Those with some familiarity in OOA/D who want to learn the UML notation, apply patterns, or who want to sharpen and deepen their analysis and design skills.PrerequisitesSome prerequisite knowledge is assumed—and necessary—to benefit from this book: Knowledge and experience in an object-oriented programming language such as Java, C#, C++, or Smalltalk. Knowledge of fundamental object technology concepts, such as class, instance, interface, polymorphism, encapsulation, interfaces, and inheritance.Fundamental object technology concepts are not defined.Java ExamplesIn general, the book presents code examples in Java or discusses Java implementations, due to its widespread familiarity. However, the ideas presented are applicable to most—if not all—object-oriented programming languages.Book OrganizationThe overall strategy in the organization of this book is that analysis and design topics are introduced in an order similar to that of a software development project running across an "inception" phase (a Unified Process term) followed by three iterations. The inception phase chapters introduce the basics of requirements analysis. Iteration 1 introduces fundamental OOA/D and how to assign responsibilities to objects. Iteration 2 focuses on object design, especially on introducing some high-use "design patterns." Iteration 3 introduces a variety of subjects, such as architectural analysis and framework design.Web-Related Resources Please see www.craiglarman.com for articles related to object technology, patterns, and process. Some instructor resources can be found at www.phptr.com/larmanEnhancements to the First EditionWhile retaining the same core as the first edition, the second is refined in many ways, including: Use cases are updated to follow the very popular approach of Cockburn01. The well-known Unified Process (UP) is used as the example iterative process within which to introduce OOA/D. Thus, all artifacts are named according to UP terms, such as Domain Model. New requirements in the case study, leading to a third iteration. Updated treatment of design patterns. Introduction to architectural analysis. Introduction of Protected Variations as a GRASP pattern. A 50/50 balance between sequence and collaboration diagrams. The latest UML notation updates. Discussion of some practical aspects of drawing using whiteboards or UML CASE tools.About the AuthorCraig Larman serves as Director of Process for Valtech, an international consulting company with divisions in Europe, Asia, and North America, specializing in e-business systems development, object technologies, and iterative development with the Unified Process. Since the mid 1980s, Craig has helped thousands of developers to apply object-oriented programming, analysis, and design, and assisted organizations adopt iterative development practices.After a failed career as a wandering street musician, he built systems in APL, PL/I, and CICS in the 1970s. Starting in the early 1980s-after a full recovery- he became interested in artificial intelligence (having little of his own), natural language processing, and knowledge representation, and built knowledge systems with Lisp machines, Lisp, Prolog, and Smalltalk. He plays bad lead guitar in his part-time band, the Changing Requirements (it used to be called the Requirements, but some band members changed...).He holds a B.Sc. and M.Sc. in computer science from Simon Fraser University in Vancouver, Canada.Craig can be reached at clarman@acm.org and www.craiglarman.com


Buy from Amazon     Compare Prices



         Book Review

Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process
- Book Reviews,
by Craig Larman

Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process

ANNOTATION

This is the book that teaches introductory 00AD by using a single case study throughout the book (for the first edition, often cited as a strong advantage). Since OOAD ideas must be communicated in some language, the popular UML diagramming notation is also taught, as a vehicle for expressing OOAD thoughts.

FROM THE PUBLISHER

The first edition of Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design quickly emerged as the leading OOA/D introduction; it has been translated into seven languages and adopted in universities and businesses worldwide. In this second edition, well-known object technology and iterative methods leader Craig Larman refines and expands this text for developers and students new to OOA/D, the UML, patterns, use cases, iterative development, and related topics.

Put simply, the book shows newcomers to OOA/D how to "think in objects." It does so by presenting three iterations of a single, cohesive case study, incrementally introducing the requirements and OOA/D activities, principles, and patterns that are most critical to success. It introduces the most frequently used UML diagramming notation, while emphasizing that OOA/D is much more than knowing UML notation. All case study iterations and skills are presented in the context of an "agile" version of the Unified Process -- a popular, modern iterative approach to software development. Throughout, Larman presents the topics in a fashion designed for learning and comprehension.

Among the topics introduced in Applying UML and Patterns are: * requirements and use cases, * domain object modeling, * core UML, * designing objects with responsibilities, * "Gang of Four" and other design patterns, * mapping designs to code (using Java as an example), * layered architectures, * architectural analysis, * package design, * iterative development, and * the Unified Process. For a more detailed list of topics, please see the accompanying table of contents.

Foreword by Philippe Kruchten, the lead architect of the Rational Unified Process.

"Too few people have a knack for explaining things. Fewer still have a handle on software analysis and design. Craig Larman has both."—John Vlissides, author, Design Patterns and Pattern Hatching

"This edition contains Larman's usual accurate and thoughtful writing. It is a very good book made even better."—Alistair Cockburn, author, Writing Effective Use Cases and Surviving OO Projects

SYNOPSIS

This is the book that teaches introductory 00AD by using a single case study throughout the book (for the first edition, often cited as a strong advantage). Since OOAD ideas must be communicated in some language, the popular UML diagramming notation is also taught, as a vehicle for expressing OOAD thoughts.

AUTHOR DESCRIPTION

Craig Larman serves as Director of Process and Methodology at Valtech, a leading international e-business consulting group. He is known throughout the international software community as an expert in object technologies, patterns, the UML, modeling, and iterative development. Since the 1980s, Larman has been helping people learn objects and iterative development, having personally guided thousands of developers. He is also the co-author of Java 2 Performance and Idiom Guide, and holds a B.Sc. and M.Sc. in Computer Science from Simon Fraser University in Vancouver, B.C.

ACCREDITATION

CRAIG LARMAN serves as Director of Process and Methodology at Valtech, a leading international e-business consulting group. He is known throughout the international software community as an expert in object technologies, patterns, the UML, modeling, and iterative development. Since the 1980s, Larman has been helping people learn objects and iterative development, having personally guided thousands of developers. He is also the co-author of Java 2 Performance and Idiom Guide, and holds a B.Sc. and M.Sc. in Computer Science from Simon Fraser University in Vancouver, B.C.


Buy from Barnes & Noble     Compare Prices




HOME  |  Recommend bookstore  |  Rate bookstore  |  Link to us  |  Report bug  |  Contact us
Copyright© 2003 - 2005, PowerBookSearch.com. All Rights Reserved.