Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design / Edition 1

Hardcover (Print)
Used and New from Other Sellers
Used and New from Other Sellers
from $1.99
Usually ships in 1-2 business days
(Save 97%)
Other sellers (Hardcover)
  • All (55) from $1.99   
  • New (7) from $1.99   
  • Used (48) from $1.99   
Close
Sort by
Page 1 of 1
Showing 1 – 6 of 7
Note: Marketplace items are not eligible for any BN.com coupons and promotions
$1.99
Seller since 2013

Feedback rating:

(76)

Condition:

New — never opened or used in original packaging.

Like New — packaging may have been opened. A "Like New" item is suitable to give as a gift.

Very Good — may have minor signs of wear on packaging but item works perfectly and has no damage.

Good — item is in good condition but packaging may have signs of shelf wear/aging or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Acceptable — item is in working order but may show signs of wear such as scratches or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Used — An item that has been opened and may show signs of wear. All specific defects should be noted in the Comments section associated with each item.

Refurbished — A used item that has been renewed or updated and verified to be in proper working condition. Not necessarily completed by the original manufacturer.

New
Hardcover New 0137488807.

Ships from: San Mateo, CA

Usually ships in 1-2 business days

  • Canadian
  • International
  • Standard, 48 States
  • Standard (AK, HI)
  • Express, 48 States
  • Express (AK, HI)
$45.00
Seller since 2014

Feedback rating:

(114)

Condition: New
Brand new.

Ships from: acton, MA

Usually ships in 1-2 business days

  • Standard, 48 States
  • Standard (AK, HI)
$50.00
Seller since 2014

Feedback rating:

(114)

Condition: New
Brand new.

Ships from: acton, MA

Usually ships in 1-2 business days

  • Standard, 48 States
  • Standard (AK, HI)
$60.00
Seller since 2008

Feedback rating:

(167)

Condition: New
0137488807 BRAND NEW NEVER USED IN STOCK 125,000+ HAPPY CUSTOMERS SHIP EVERY DAY WITH FREE TRACKING NUMBER

Ships from: fallbrook, CA

Usually ships in 1-2 business days

  • Standard, 48 States
  • Standard (AK, HI)
$62.82
Seller since 2014

Feedback rating:

(1)

Condition: New
0137488807 New Book. Please allow 4-14 business days to arrive. We will ship Internationally as well. Very Good Customer Service is Guaranteed!! Millions sold offline.

Ships from: Newport, United Kingdom

Usually ships in 1-2 business days

  • Canadian
  • International
  • Standard, 48 States
  • Standard (AK, HI)
$62.82
Seller since 2014

Feedback rating:

(1)

Condition: New
0137488807 New Book. Please allow 4-14 business days to arrive. We will ship Internationally as well. Very Good Customer Service is Guaranteed!! Millions sold offline.

Ships from: Newport, United Kingdom

Usually ships in 1-2 business days

  • Canadian
  • International
  • Standard, 48 States
  • Standard (AK, HI)
Page 1 of 1
Showing 1 – 6 of 7
Close
Sort by

Overview

Master the Unified Modeling Language, the new standard for object orientation.

It's not enough just to learn an object-oriented language. A proficient programmer must also have the ability to design robust, scalable, maintainable systems. Applying UML and Patterns was written especially to provide the foundation for a complete understanding of the object paradigm, and how to put it to practical use.

Applying UML and Patterns provides beginning object programmers with a detailed activity roadmap to guide them through each step of requirements, analysis, design, and coding. This book strongly emphasizes translating theoretical concepts to practical applications, including:
  • Mapping object-oriented diagrams directly to Java code
  • Expressing models using UML
  • Integrating patterns for analysis and design
  • Creating layered architectures
  • Building frameworks


Using a single integrated case study throughout the book, Applying UML and Patterns provides a comprehensive, hands-on approach that gives a thorough grounding to beginning and intermediate programmers.


Step-by-step introduction to the use of the Unified Modeling Language and patterns in the analysis, design and construction of software projects. One integrated case study based on the point-of-sale system is developed throughout as a means to clarify and define the software development process. Presents a concise review of the object-oriented analysis, design and development process then introduces the point-of-sale case study through development and understanding of the requirements' specification and use case process description. Continues with the analysis phase by building and expanding a conceptual model with attributes and associations. Defines behaviors via system sequence diagrams and contracts. Shifts from analysis to design with use cases, collaboration diagrams, responsibility patterns and class diagrams. Discusses visibility concepts and system design issues before going on to the construction and analysis phases. Shows how to map designs to code (Java), explains development cycle requirements, extends the conceptual model, and organizes elements and model behavior in state diagrams. Introduces additional patterns in the design phase and concludes with discussions of special topics related to UML notation, development process issues, frameworks, patterns and persistence.

Read More Show Less

Editorial Reviews

From Barnes & Noble

Fatbrain Review

Step-by-step introduction to the use of the Unified Modeling Language and patterns in the analysis, design and construction of software projects. One integrated case study based on the point-of-sale system is developed throughout as a means to clarify and define the software development process. Presents a concise review of the object-oriented analysis, design and development process then introduces the point-of-sale case study through development and understanding of the requirements' specification and use case process description. Continues with the analysis phase by building and expanding a conceptual model with attributes and associations. Defines behaviors via system sequence diagrams and contracts. Shifts from analysis to design with use cases, collaboration diagrams, responsibility patterns and class diagrams. Discusses visibility concepts and system design issues before going on to the construction and analysis phases. Shows how to map designs to code (Java), explains development cycle requirements, extends the conceptual model, and organizes elements and model behavior in state diagrams. Introduces additional patterns in the design phase and concludes with discussions of special topics related to UML notation, development process issues, frameworks, patterns and persistence.
Booknews
Provides a foundation for building object systems using object technology, for students and software developers. Covers requirements, analysis, design, and coding, with emphasis on design, illustrated by an ongoing case study. For developers with experience in an object- oriented programming language who are new to object-oriented analysis and design, students in computer science and software engineering courses who know basic object technology concepts, and those familiar with object-oriented analysis and design who want to learn Unified Modeling Language notation. Annotation c. by Book News, Inc., Portland, Or.
Read More Show Less

Product Details

  • ISBN-13: 9780137488803
  • Publisher: Prentice Hall Professional Technical Reference
  • Publication date: 5/1/1998
  • Edition description: Older Edition
  • Edition number: 1
  • Pages: 528
  • Product dimensions: 8.33 (w) x 10.36 (h) x 0.99 (d)

Meet the Author


Craig Larman has been developing software since 1978, and has been teaching object-oriented programming to adult students since 1986. He holds a B. Sc. and M. Sc. in computer science, and is the creator of the GRASP patterns, designed for users new to the object paradigm. He has personally taught and mentored more than 2,000 students, and is currently Principal Instructor at ObjectSpace, a company specializing in object technology.
Read More Show Less

Read an Excerpt

Preface


Congratulations and thank you for reading this book! You hold in your hands a practical guide and roadmap through the landscape of object-oriented analysis and design. Here is how it will benefit you.
Design robust and maintainable object systems.

First, the use of object technology is proliferating in the development of software-even more so with the widespread adoption of Java-and mastery of object-oriented analysis and design is critical for you to create robust and maintainable object-oriented systems. It also opens up new opportunities for you as an architect, analyst, and designer.
Follow a roadmap through requirements, analysis, design and coding.

Second, if you are new to object-oriented analysis and design, you are understandably challenged about how to proceed through this complex subject; this book presents a well-defined activity roadmap 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 object-oriented analysis and design 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 most importantly the GRASP patterns which communicatevery fundamental principles of responsibility assignment in object-oriented 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 people in the art of object-oriented analysis and design. 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 object-oriented analysis and design 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-oriented 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 system services layers. This is a matter of practical importance that is often overlooked.
Design a framework.

Finally, it shows you how to design an object-oriented framework and specifically applies this to the creation of a framework for persistent storage in a database.
Objectives
The overarching objective is this:

Help students and developers create better object-oriented 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 Audience
This book is for the following audience:

  • Developers 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 object-oriented analysis and design who want to learn the Unified Modeling Language notation, apply patterns, or who want to sharpen and deepen their analysis and design skills.

    Prerequisites
    Some prerequisite knowledge is assumed-and necessary-to benefit from this book:

  • Knowledge and experience in an object-oriented programming language such as C++, Java, or Smalltalk.
  • Knowledge of fundamental object technology concepts, such as class, instance, interface, polymorphism, encapsulation, and inheritance.
    Fundamental object technology concepts are not defined.

    Book Organization
    The overall strategy in the organization of this book is that object-oriented analysis and design topics are introduced in an order similar to that of a software development project running across two iterative development cycles. The first development cycle introduces analysis and design. In the second development cycle, new analysis and design topics are presented and existing ones are explored more deeply.
    Figure 1. The organization of the book follows that of a development project.

    Motivation for this Book
    Object technology holds great promise, but its potential will not be fully realized without the appropriate skills. It is my goal to promote the successful adoption of object technology through the skillful activity of object-oriented analysis and design, and to promote the acquisition of related abilities, because I observe these are critical for the successful creation and maintenance of significant systems.

    Acknowledgments
    Thanks to all the users and students of the UML and object-oriented analysis and design who I have tried to assist; they are my best teachers.
    Special thanks to the reviewers of this book (or portions), including Kent Beck, Jens Coldewey, Clay Davis, Tom Heruska, Luke Hohmann, David Norris, David Nunn, Brett Schuchert, and the entire Mercury team. Thanks to Grady Booch for reviewing a tutorial related to this work, and to Jim Rumbaugh for some feedback related to the relationship between the UML and process.
    For insightful feedback on process and models, thanks to Todd Girvin, John Hebley, Tom Heruska, David Norris, David Nunn, Charles Rego, and Raj Wall.
    Many thanks to Grady Booch, Ivar Jacobson, and Jim Rumbaugh for the development of the Unified Modeling Language; creating an open, standard notation in the current Tower of Babel environment is most welcome. In addition, I have learned much from their teachings.
    Thanks to my colleague Jef Newsom for providing the case study Java solution. Thanks to my publisher at Prentice-Hall, Paul Becker, for believing that this would be a worthwhile project.
    Finally, a special thanks to Graham Glass for opening a door.

    About the Author
    Craig Larman has a B.Sc. and M.Sc. in computing science and since 1978 has been developing large and small software systems on platforms ranging from mainframes to microcomputers, using software technologies ranging from 4GLs to logic programming to object-oriented programming.
    In the early 1980s he fell in love with artificial intelligence and knowledge systems programming techniques, from which he received his first exposure to object-oriented programming (in Lisp). He has taught and worked with object-oriented programming in Lisp since 1984, Smalltalk since 1986, C++ since 1991, and recently Java, in conjunction with teaching a variety of object-oriented analysis and design methods. He has assisted over 2,000 students in learning object technology topics.
    He is currently Principal Instructor at ObjectSpace, a company specializing in distributed computing, agents, and object technology.
    Craig may be reached at clarman@acm.org
Read More Show Less

Table of Contents

I. INTRODUCTION.

1. Object-Oriented Analysis and Design.
2. Introduction to a Development Process.
3. Defining Models and Artifacts.

II. PLAN AND ELABORATE PHASE.

4. Case Study: Point-of-Sale.
5. Understanding Requirements.
6. Use Cases: Describing Processes.
7. Ranking and Scheduling Use Cases.
8. Starting a Development Cycle.

III. ANALYZE PHASE (1).

9. Building a Conceptual Model.
10. Conceptual Model-Adding Associations.
11. Conceptual Model-Adding Attributes.
12. Recording Terms in the Glossary.
13. System Behavior-System Sequence Diagrams.
14. System Behavior-Contracts.

IV. DESIGN PHASE (1).

15. From Analysis to Design.
16. Describing Real Use Cases.
17. Collaboration Diagrams.
18. GRASP: Patterns for Assigning Responsibilities.
19. Designing a Solution with Objects and Patterns.
20. Determining Visibility.
21. Design Class Diagrams.
22. Issues in System Design.

V. CONSTRUCT PHASE (1).

23. Mapping Designs To Code.
24. Program Solution In Java.

VI. ANALYZE PHASE (2).

25. Choosing Development Cycle 2 Requirements.
26. Relating Multiple Use Cases.
27. Extending the Conceptual Model.
28. Generalization.
29. Packages: Organizing Elements.
30. Polishing the Conceptual Model.
31. Conceptual Model-Summary.
32. System Behavior.
33. Modeling Behavior in State Diagrams.

VII. DESIGN PHASE (2).

34. GRASP: More Patterns for Assigning Responsibilities.
35. Designing with More Patterns.

VIII. SPECIAL TOPICS.

36. Other UML Notation.
37. Development Process Issues.
38. Frameworks, Patterns, and Persistence.
Appendix A. Recommended Readings.
Appendix B. Sample Development Activities and Models.
Bibliography.
Glossary.
Index.
Read More Show Less

Preface

Congratulations and thank you for reading this book! You hold in your hands a practical guide and roadmap through the landscape of object-oriented analysis and design. Here is how it will benefit you.
Design robust and maintainable object systems.

First, the use of object technology is proliferating in the development of software-even more so with the widespread adoption of Java-and mastery of object-oriented analysis and design is critical for you to create robust and maintainable object-oriented systems. It also opens up new opportunities for you as an architect, analyst, and designer.
Follow a roadmap through requirements, analysis, design and coding.

Second, if you are new to object-oriented analysis and design, you are understandably challenged about how to proceed through this complex subject; this book presents a well-defined activity roadmap 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 object-oriented analysis and design 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 most importantly the GRASP patterns which communicate very fundamental principles of responsibility assignment in object-oriented 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 people in the art of object-oriented analysis and design. 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 object-oriented analysis and design 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-oriented 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 system services layers. This is a matter of practical importance that is often overlooked.
Design a framework.

Finally, it shows you how to design an object-oriented framework and specifically applies this to the creation of a framework for persistent storage in a database.
Objectives
The overarching objective is this:

Help students and developers create better object-oriented 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 Audience
This book is for the following audience:

  • Developers 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 object-oriented analysis and design who want to learn the Unified Modeling Language notation, apply patterns, or who want to sharpen and deepen their analysis and design skills.

    Prerequisites
    Some prerequisite knowledge is assumed-and necessary-to benefit from this book:

  • Knowledge and experience in an object-oriented programming language such as C++, Java, or Smalltalk.
  • Knowledge of fundamental object technology concepts, such as class, instance, interface, polymorphism, encapsulation, and inheritance.
    Fundamental object technology concepts are not defined.

    Book Organization
    The overall strategy in the organization of this book is that object-oriented analysis and design topics are introduced in an order similar to that of a software development project running across two iterative development cycles. The first development cycle introduces analysis and design. In the second development cycle, new analysis and design topics are presented and existing ones are explored more deeply.
    Figure 1. The organization of the book follows that of a development project.

    Motivation for this Book
    Object technology holds great promise, but its potential will not be fully realized without the appropriate skills. It is my goal to promote the successful adoption of object technology through the skillful activity of object-oriented analysis and design, and to promote the acquisition of related abilities, because I observe these are critical for the successful creation and maintenance of significant systems.

    Acknowledgments
    Thanks to all the users and students of the UML and object-oriented analysis and design who I have tried to assist; they are my best teachers.
    Special thanks to the reviewers of this book (or portions), including Kent Beck, Jens Coldewey, Clay Davis, Tom Heruska, Luke Hohmann, David Norris, David Nunn, Brett Schuchert, and the entire Mercury team. Thanks to Grady Booch for reviewing a tutorial related to this work, and to Jim Rumbaugh for some feedback related to the relationship between the UML and process.
    For insightful feedback on process and models, thanks to Todd Girvin, John Hebley, Tom Heruska, David Norris, David Nunn, Charles Rego, and Raj Wall.
    Many thanks to Grady Booch, Ivar Jacobson, and Jim Rumbaugh for the development of the Unified Modeling Language; creating an open, standard notation in the current Tower of Babel environment is most welcome. In addition, I have learned much from their teachings.
    Thanks to my colleague Jef Newsom for providing the case study Java solution. Thanks to my publisher at Prentice-Hall, Paul Becker, for believing that this would be a worthwhile project.
    Finally, a special thanks to Graham Glass for opening a door.

    About the Author
    Craig Larman has a B.Sc. and M.Sc. in computing science and since 1978 has been developing large and small software systems on platforms ranging from mainframes to microcomputers, using software technologies ranging from 4GLs to logic programming to object-oriented programming.
    In the early 1980s he fell in love with artificial intelligence and knowledge systems programming techniques, from which he received his first exposure to object-oriented programming (in Lisp). He has taught and worked with object-oriented programming in Lisp since 1984, Smalltalk since 1986, C++ since 1991, and recently Java, in conjunction with teaching a variety of object-oriented analysis and design methods. He has assisted over 2,000 students in learning object technology topics.
    He is currently Principal Instructor at ObjectSpace, a company specializing in distributed computing, agents, and object technology.
Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star

(0)

4 Star

(0)

3 Star

(0)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

 
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously
Sort by: Showing all of 4 Customer Reviews
  • Anonymous

    Posted November 30, 2001

    Best Book on Unified Modelling Language

    I find this book to be very informative for all those indivisuals who are interested in learning UML. This book was used as a reference book in my bachelors degree in a design course. The best part of this book is the detail with which even minor things like Concept model is explained + the way in which all Designs Patterns are explained. Way to go!!!

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted May 10, 2001

    too much of a textbook

    This book seems to have all the terminology and covers all the concepts, but I couldn't digest the information because the presentation was pure textbook drone. If you are looking for a more conversational style of text, developer to developer, which is to the point, this book is NOT a good buy. On the other hand, if you like formatted text boxes and meaningless bullet points with textbased prose, this is right on the money. One redeeming feature of the book is its many examples of UML diagrams and OO artifacts.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted September 18, 2000

    Sort of an UML/OO guide for Dummys

    After reading through chapter one I was involved. I expected this to be another average text book reading, but it shocked me. My initial thought after reading this was it can actually help me to understand my job responsibilities better. As a Business Analyst I must apply the methods in this book on a daily basis, and the way the information is outlined and the illustrations the author provides are great guides to enhancing the knowledge you need to know and may already know. So this is a must for those who use OO technology on a frequent basis.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted December 21, 1999

    solid

    good cover to cover...easy to understand... lacks a small bit of consistency in examples...this book used in many colleges... A great place to start...

    Was this review helpful? Yes  No   Report this review
Sort by: Showing all of 4 Customer Reviews

If you find inappropriate content, please report it to Barnes & Noble
Why is this product inappropriate?
Comments (optional)