Provides practical guidance that shows developers how to produce UML models with minimal startup time, while maintaining traceability from user requirements through detailed design and coding. Softcover. DLC: Object-oriented methods (Computer science).
"synopsis" may belong to another edition of this title.
Doug Rosenberg, of ICONIX Software Engineering, Inc., has been providing system development tools and training for nearly two decades, with particular emphasis on object-oriented methods. He developed a Unified Booch/Rumbaugh/Jacobson design method in 1993 that preceded Rational's UML by several years. He has produced over a dozen multimedia training courses on object technology, including COMPREHENSIVE COM and COMPLETE CORBA, and is the author of several Addison-Wesley titles.
Kendall Scott is a UML trainer and consultant. With more than sixteen years of experience as a technical writer, he is skilled in converting complex, technical material into understandable and easy-to-use manuals.
Applied Use Case Driven Object Modeling with UML: An Annotated e-Commerce Example provides a practical, hands-on guide to putting use case methods to work in real-world situations. This companion workbook to Use Case Driven Object Modeling with UML bridges the gap between the theory presented in the authors' first book, and the practical issues involved in the development of an internet/e-commerce application.
Uniquely conceived as a workbook, featuring an e-commerce system for an on-line bookstore as a running example, the book dissects its design in detail, demonstrates the most common design mistakes, and reveals the correct solutions. The hands-on exercises give you the opportunity to detect, identify, and correct critical errors on your own, before reviewing the solutions provided in the book.
The workbook is structured around the proven ICONIX Process, a streamlined approach to UML modeling designed to avoid analysis paralysis without skipping analysis and design. It presents the four key phases of this minimalist approach to use case driven design: domain modeling; use case modeling; robustness analysis; and sequence diagramming. For each of these topics, the book provides an overview, detailed discussion, top 10 mistakes, and a set of exercises for honing object modeling and design skills.
Another unique aspect of this book is the three chapters on reviews. The authors devote a chapter each to requirements review; preliminary design review; and critical design review. This focus on "designing quality in" by teaching how to review UML models fills a major gap in the published literature.
The book shows you, by example, how to avoid more than 70 specific design errors as shown in the "Top 10" error lists on the inside covers and within each chapter. With the information, examples, and exercises in this book, you will develop the knowledge and skills you need to apply use case modeling more effectively to your next application.
Theory, in Practice
In our first book, Use Case Driven Object Modeling with UML, we suggested that the difference between theory and practice was that in theory there is no difference between theory and practice, but in practice, there is. In that book, we attempted to reduce OOAD modeling theory to a practical subset that was easy to learn and pretty much universally applicable, based on our experience in teaching this material to people working on hundreds of projects since about 1993.
Now, two years after hitting the shelves, that book is in its fifth printing. But even though our work has been favorably received, it seems like the job isn't all the way done yet. "We need to see more use case and UML modeling examples" is a phrase we've been hearing fairly often over the last couple of years. And, as we've used the first book as the backbone of training workshops where we apply the theory to real client projects, it's become clear that the process of reviewing the models is critically important and not well understood by many folks.
So, although we present a fairly extensive example in our first book, we convinced Addison-Wesley to let us produce this companion workbook, in which we dissect the design of an Internet bookstore, step-by-step, in great detail. This involves showing many common mistakes, and then showing the relevant pieces of the model with their mistakes corrected. We chose an Internet Bookstore because it's relevant to many of today's projects in the Web-driven world, and because we've been teaching workshops using this example and, as a result, had a rich source of classroom UML models with real student mistakes in them.
We collected some of our favorite mistakes--that is, the kind of mistakes we saw getting repeated over and over again--and built this workbook around those models. And then we added three new chapters about reviews--one on requirements reviews, one on preliminary design reviews, and one on critical design reviews. What really makes this book unique, though, is the fact that you, the reader, get to correct the mistakes. The Premise
After we give you an overview of the ICONIX process, in Chapter 1, four of the seven subsequent chapters address the four key phases of the process in some detail. The format of each of these chapters is as follows:
The first part describes the essence of domain modeling (Chapter 2), use case modeling (Chapter 3), robustness analysis (Chapter 5), or sequence diagrams (Chapter 7), and places the material in the context of the "big picture" of the process.
The next section describes the key elements of the given phase. Each of these sections is basically a condensed version of an associated chapter in Use Case Driven Object Modeling with UML, with some new information added within each chapter.
The following section describes the top 10 mistakes that our students tend to make during workshops where we teach the process. We've added five new Top 10 lists in this book: Top 10 robustness analysis errors, Top 10 sequence diagramming errors, and Top 10 mistakes to avoid for each of the three "review" chapters.
The final section presents a set of five exercises for you to work, to test your knowledge of the material in the chapter.
The following aspects are common to each set of exercises:
There's a red box, with a red label, at the top of each right-hand page. For the domain modeling and use case exercises, this label takes the form Exercise X; for the robustness analysis and sequence diagram exercises, the label takes the form of a use case name. (We'll explain the significance of this soon.)
There are three or four mistakes on each right-hand page. Each mistake has a "Top 10" logo next to it that indicates which rule is being violated.
The left-hand page on the flip side of each "red" page has a black box, with a black label, at the top. Corrections to the errors presented on the associated "bad" page are explicitly indicated; explanations of the mistakes appear at the bottom of the page.
Your task is to write corrections on each "bad" exercise page before you flip it over to see the "good" exercise diagram.
Chapter 2 presents classes used by 10 sample use cases. Chapter 3 presents fragments from all of those use cases. Chapters 5 and 7 present diagrams connected with five of the use cases. The idea is that you'll move from a partial understanding of the use cases through to sequence diagrams that present full text, and some of the associated elements of the detailed design, for each use case.
What about the other three chapters, you ask?
Chapter 4 describes how to perform requirements review, which involves trying to ensure that the use cases and the domain model work together to address the customers' functional requirements.
Chapter 6 describes how to perform preliminary design review (PDR), which involves trying to ensure that robustness diagrams exist for all use cases (and are consistent with those use cases), the domain model has a fairly rich set of attributes that correspond well with whatever prototypes are in place (and all of the objects needed by the use cases are represented in that model), and the development team is ready to move to detailed design.
Chapter 8 describes how to perform critical design review (CDR), which involves trying to ensure that the "how" of detailed design, as shown on sequence diagrams, matches up well with the "what" that the use cases specify, and that the detailed design is of sufficient depth to facilitate a relatively small and seamless leap into code.
All three of these chapters offer overviews, details, and top 10 lists, but we don't make you work any more exercises. What these reviews have in common is the goal of ensuring consistency of the various parts of the model, as expressed on the "good" exercise diagrams.
The appendix wraps things up in a nice bow by offering a report that shows the "good" model in its entirety--all of the class diagrams, use case text, robustness diagrams, and sequence diagrams represented in the body of the book, plus some other stuff too.
Cool premise, isn't it? We're not aware of another book like this one, and we're hoping you'll find it useful in your efforts to apply use case driven object modeling with UML.
0201432897P04302001
Preface
We've written this book with the following presumptions about you, the reader:
You'd like to write some code, eventually, but you've decided that first you're going to do good, thorough OO analysis and design, expressed in the UML.
You'd like to write this code during the useful life of your project.
You'd like this code to meet the requirements of your users (in other words, you'd like to be use case driven in your modeling efforts).
You'd like a solid, maintainable, resilient OO architecture within which to organize your code.
This book is designed to help you get from point A (use cases) to point B (code) in the most efficient manner possible, using an approach that's been proven to work on a wide variety of projects. In short, I'm aiming to answer the following question:
Theory vs. Practice
The difference between theory and practice is that, in theory, there is no difference between theory and practice.
More specifically: the reason this book is subtitled A Practical Approach is that the three amigos--Grady Booch, Jim Rumbaugh, and Ivar Jacobson--write what amounts to OO theory, even in the new (as I write this) Unified Modeling Language User Guide.
Allow me to explain.
The cold, hard reality of the world of software development is that there is simply never enough time for modeling. This means that even though the UML generally provides at least three different ways to describe a given aspect of development, project schedules usually make it impractical to use more than one, let alone all three. To make things worse, just trying to decide whether to use this UML technique or that one can be incredibly time-consuming. Therefore, I offer a simplified view that makes no attempt to cover everything that the UML offers. Some of the more esoteric topics that I don't talk about, or mention but don't discuss in detail, are activity diagrams, deployment diagrams, use case collaborations, multilevel statecharts, and types and roles. Rather, I'm presenting a streamlined approach to software development that includes a minimal set of diagrams and techniques that you can use to get from use cases to code quickly and efficiently. You can always elect to use other aspects of the UML if you find them helpful; my approach is flexible and open.
In a couple of cases, where they make the job easier, I use extensions to standard UML. I make no apologies for doing this: the UML was designed to be extensible, and rightly so. The extensions that I advocate in this book work--they save time and money, and yield good results as well. The positive results associated with my years of teaching experience, in connection with dozens of projects in a wide range of industries, support that last statement.
Organization of This Book
This book has eight chapters. Let's start with our desired destination (code, of course) and work backwards.
Before we can get to code, which I address in Chapter 8, Implementation, we need to have a complete set of classes with accompanying attributes and methods.
We have only enough information to make good decisions about which classes are responsible for which methods while we are drawing sequence diagrams (the subject of Chapter 5, Interaction Modeling). So, we need to do a sequence diagram for every use case. We will allocate methods to classes as we do this. Before we can draw a sequence diagram for a use case, we need to have a pretty good idea what objects will be participating in that use case, and what functions the system will perform as a result of user actions. We get this information from robustness diagrams, which result from Robustness Analysis (Chapter 4). will discover new objects and add attributes to classes as we draw robustness diagrams.
Before we draw a robustness diagram, though, we need to describe system usage in the context of the object model; in other words, we need to write use case text, following the guidelines I present in Chapter 3, Use Case Modeling. We also need to explicitly name our "boundary objects," which the "actors" will use to interface with our new system, and account for special cases of behavior. We will discover new objects as we do these things.
Before we can write use case text, we need to identify the main abstractions present in the problem domain. In other words, we need a domain model (thus, Chapter 2: Domain Modeling).
Chapter 1 describes the overall approach. Chapter 6 discusses collaboration diagrams and state diagrams, which are optional within the approach. And Chapter 7 talks about how to deal with requirements throughout a project. We've used a portfolio trading and accounting system as an example throughout the book. You can find the Rational Rose model for this example at http://www.iconixsw.com/BookExample.html.
We'd like to highlight two features that we think help make this book unique in the world of OO.
"Top 10" lists appear at the end of each chapter after Chapter 1. These summarize the points I make within the preceding text in ways that I hope you will find to be handy for repeated reference.
"Analysis paralysis" alerts are scattered throughout the main text. I've written these to highlight those points in a software development project at which it's all to easy to get bogged down in nonproductive activities.
I should also point out that this book is considerably more fun, not to mention funnier, than most OO books.
"About this title" may belong to another edition of this title.
FREE shipping within U.S.A.
Destination, rates & speedsSeller: SecondSale, Montgomery, IL, U.S.A.
Condition: Good. Item in good condition. Textbooks may not include supplemental items i.e. CDs, access codes etc. Seller Inventory # 00080011662
Quantity: 1 available
Seller: SecondSale, Montgomery, IL, U.S.A.
Condition: Acceptable. Item in good condition. Textbooks may not include supplemental items i.e. CDs, access codes etc. Seller Inventory # 00038412920
Quantity: 1 available
Seller: Wonder Book, Frederick, MD, U.S.A.
Condition: Very Good. Very Good condition. A copy that may have a few cosmetic defects. May also contain light spine creasing or a few markings such as an owner's name, short gifter's inscription or light stamp. Seller Inventory # P12A-04679
Quantity: 1 available
Seller: Wonder Book, Frederick, MD, U.S.A.
Condition: Good. Good condition. A copy that has been read but remains intact. May contain markings such as bookplates, stamps, limited notes and highlighting, or a few light stains. Seller Inventory # V17I-00618
Quantity: 1 available
Seller: Better World Books, Mishawaka, IN, U.S.A.
Condition: Good. 1st. Used book that is in clean, average condition without any missing pages. Seller Inventory # GRP16270935
Quantity: 1 available
Seller: Better World Books, Mishawaka, IN, U.S.A.
Condition: Very Good. 1st. Used book that is in excellent condition. May show signs of wear or have minor defects. Seller Inventory # 12311633-75
Quantity: 1 available
Seller: ThriftBooks-Atlanta, AUSTELL, GA, U.S.A.
Paperback. Condition: As New. No Jacket. Pages are clean and are not marred by notes or folds of any kind. ~ ThriftBooks: Read More, Spend Less 0.8. Seller Inventory # G0201432897I2N00
Quantity: 1 available
Seller: ThriftBooks-Atlanta, AUSTELL, GA, U.S.A.
Paperback. Condition: Very Good. No Jacket. May have limited writing in cover pages. Pages are unmarked. ~ ThriftBooks: Read More, Spend Less 0.8. Seller Inventory # G0201432897I4N00
Quantity: 1 available
Seller: Once Upon A Time Books, Siloam Springs, AR, U.S.A.
paperback. Condition: Acceptable. This is a used book. It may contain highlighting/underlining and/or the book may show heavier signs of wear . It may also be ex-library or without dustjacket. This is a used book. It may contain highlighting/underlining and/or the book may show heavier signs of wear . It may also be ex-library or without dustjacket. Seller Inventory # mon0001106409
Quantity: 1 available
Seller: AwesomeBooks, Wallingford, United Kingdom
Condition: Very Good. This book is in very good condition and will be shipped within 24 hours of ordering. The cover may have some limited signs of wear but the pages are clean, intact and the spine remains undamaged. This book has clearly been well maintained and looked after thus far. Money back guarantee if you are not satisfied. See all our books here, order more than 1 book and get discounted shipping. . Seller Inventory # 7719-9780201432893
Quantity: 2 available