Case Studies in Object-Oriented Analysis and Design (Bk/Disk)

Overview

The analysis and design of large, complex software systems are not unlike mathematical proofs; they are presented as finished products. They may be documented with reams of paper or presented as finished models. Rarely, however, do software analysts or designers document the anatomy of their analysis or design. Case Studies in Object-Oriented Analysis and Design offers insight into how object-oriented analysis and design are done--for real systems. It goes beyond presenting terminology, notation, and model ...

See more details below
Available through our Marketplace sellers.
Other sellers (Hardcover)
  • All (10) from $1.99   
  • New (1) from $49.00   
  • Used (9) from $1.99   
Close
Sort by
Page 1 of 1
Showing All
Note: Marketplace items are not eligible for any BN.com coupons and promotions
$49.00
Seller since 2008

Feedback rating:

(172)

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
0133051374 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)
Page 1 of 1
Showing All
Close
Sort by
Sending request ...

Overview

The analysis and design of large, complex software systems are not unlike mathematical proofs; they are presented as finished products. They may be documented with reams of paper or presented as finished models. Rarely, however, do software analysts or designers document the anatomy of their analysis or design. Case Studies in Object-Oriented Analysis and Design offers insight into how object-oriented analysis and design are done--for real systems. It goes beyond presenting terminology, notation, and model structure and offers insight on analysis, design, and project management issues. Case Studies in Object-Oriented Analysis and Design provides the bridge between the introduction to OOA/OOD and a complex real-world application of the theory. Its topics include:

  • How to Find the Right Object
  • Building the Analysis Model
  • Documenting, Reviewing, and Revising the Analysis Model
  • Transitioning into Design
  • Building the Design Model
  • Implementation Issues
  • Transitioning to Object-Orientation

A hands-on, how-to book written for the practitioner, Case Studies in Object-Oriented Analysis and Design presents two realistic, in-depth case studies developed from user problem statement through object-oriented analysis, design, and into implementation. Techniques are applicable to virtually every version of object-oriented analysis and design. Included with the book is a case study diskette containing the case study models together with their implementations. A practical, down-to-earth introduction to object technology, this book can also be used as a template for your own object-oriented project.

Read More Show Less

Editorial Reviews

Booknews
An introductory anatomy of object-oriented analysis and design marking the muscle and bone of implementing a real system by studying two in-depth cases. Yourdon (developer of the "Yourdon method") and Argila (independent software engineering consultant) eschew complicated math and concentrate on the philosophy behind class and object identification and refinement, system structure and attributes, instance relationships, services, messages, design, and object-oriented transitioning including a 12-step program. 21 appendices contain most of the work products involved in the object-oriented analysis and design of the case study systems, and the volume is accompanied by a diskette featuring the case study programs. Includes illustrations and a pull-out flow chart. Annotation c. Book News, Inc., Portland, OR (booknews.com)
Read More Show Less

Product Details

  • ISBN-13: 9780133051377
  • Publisher: Prentice Hall Professional Technical Reference
  • Publication date: 7/18/1996
  • Series: YOURDON Press Computing Series
  • Edition description: Book and Disk
  • Edition number: 1
  • Pages: 384
  • Product dimensions: 8.22 (w) x 10.25 (h) x 1.01 (d)

Read an Excerpt

PREFACE: As a graduate student in mathematics, one of the authors was forced to endure the presentation of innumerable mathematical theorems. Each theorem was rigorously proved by a learned professor. Each proof was presented as a finished product-elegant and beautiful. As a student, however, the author found the proofs more obscure and confusing than elegant and beautiful!

On one occasion, while presenting a particularly long proof, the professor became confused and uncertain about the next step. With a somewhat pensive expression, he walked to a side blackboard, picked up a piece of chalk and began drawing a figure. He drew circles, arcs, lines and eventually, a look of recognition flashed across his face. He quickly erased what he had drawn, returned to the front of the classroom, and proceeded with the proof! But, as you might imagine, the students were more interested in what the professor had erased than what he was attempting to prove!

The analysis and design of large, complex software systems are not unlike mathematical proofs; they are usually presented as finished products. They may be documented with reams of paper or presented as finished models. Rarely, however, do software analysts or designers document the anatomy of their analysis or design. In the past, a savvy software manager could sneak into the offices of his workers, rummage through their trash cans, and pull out traces of their thinking. With the advent of CASE tools however, that's harder to do! And, few books on software analysis and design go deeply into heuristics.

This situation is particularly egregious in the area of object-oriented analysis and design. Although there arenumerous books on the subject (and more coming out all the time!), few go beyond presenting the terminology, notation and structure of their own unique models. And, when it comes to the genesis of the process establishing an initial set of objects guidance is superficial at best. Yet the wrong choice of objects can have a profound impact on the success of the whole object-oriented development process. As one C++ instructor recently lamented about a class, "These guys are just hacking at the object level! They'll never get any of the object-oriented benefits out of this stuff."

The authors fervently believe that object-oriented analysis and design are real, with real benefits to be gained. But we also believe, quoting H. L. Mencken, that "for every complex and difficult problem there is a simple solution. And it is always wrong." Analyzing and designing large, complex software systems is difficult. Period. Object-oriented approaches don't make analysis and design easier than earlier methods.

They help us build a better product; they help us improve productivity-but they're no panacea. What's missing from the object-oriented analysis and design practitioner's literature, we feel, is more insight into how object- oriented analysis and design are done-for real systems. That's what we've tried to present in this book. Although we present a solution to the case study problems, the nature of the solution is far less important than how we arrived at it. Our principal contribution, we feel, is in presenting insight not technique. Unfortunately, readers seeking the beauty and elegance of a mathematical proof will have to look elsewhere.

After an introduction to the case study problems, we present a synthesis of OOA and OOD methods to develop an analysis model and design model. Separate chapters are devoted to each of the building blocks of the OOA model (Subject Layer, Object-Class Layer, Structure Layer, Attribute Layer and Service Layer), as well as the various components of the OOD model (Problem Domain Component, Human Interaction Component, Task Management Component and Data Management Component). Additional chapters provide some comments on analysis, design and project management issues.

We have produced object-oriented analysis and design models using the notation of the Coad and Yourdon technique. Our methodology however, differs significantly from the Coad and Yourdon approach. Indeed, we have taken advantage of components of other object-oriented methodologies e.g., Ivar Jacobson's ObectOry approach for the discussion of messages between objects where they provided useful illuminations. We believe that the principles demonstrated in this book are applicable to object-oriented analysis and design in general.

We also took advantage of older, more classical structured analysis methodologies; the entity-relationship diagram and event-response model of both case studies proved particularly useful for discovering relevant objects, as well as for providing a deeper understanding of the interactions between objects. Indeed, we strayed even further afield than structured analysis. For instance, a purely linguistic analysis of the narrative user specifications of the two case studies provided a very methodical approach for identifying candidate objects for further investigation.

While object-oriented enthusiasts may have a favorite methodology e.g., Booch, Rumbaugh, Jacobson, Shlaer-Mellor or Coad and Yourdon we have found that there is general acceptance of the notion that one might be able to borrow ideas and concepts from all of them to attack a problem effectively. On the other hand, the notion of using the older, structured methodologies may well offend the purists in the object-oriented camp, who might argue that the same results could have been achieved without any reference whatsoever to textbooks written before the dawn of the object-oriented era. For most veteran software engineers, though, a more pragmatic approach is typically required-especially when faced with a difficult problem that must be solved within the constraints of a tight schedule and budget. From this perspective, it seems foolish to eliminate useful concepts, tools and techniques that have served us well in the past. Though time, money and space prevented us from tackling a problem the size of "Star Wars," we have, nevertheless, selected two very realistic case studies and applied the principles of object-oriented analysis and design to them. One case study has a predominant reactive view and should be of interest to readers in the real-time, embedded systems area. The other case study has a predominant data view and should be of interest to readers in the MIS community. We decided to present both case studies in this book; it is interesting and instructive to see how object-oriented techniques can be applied in such different environments. The reader should be able to make a personal judgment about the relevance and applicability of object-oriented methods to different environments.

Because they are larger than the typical "tic-tac-toe" game exercises one often finds in a software engineering textbook, any serious attempt to analyze and design the case study problems in this book will present some non-trivial difficulties. The authors have used both case studies in numerous seminars and workshops during the past few years; we have been constantly amazed by the degree of intense debate and discussion they create with our students. We believe that the case study designs have been developed to the point where these two systems can be delivered to programmers for implementation. Although we have not discussed implementation issues, we have created Visual Basic(tm) prototypes for both case studies.

However, because of the size of the two case studies, we have not provided fully coded solutions. Since this is not a book that explains object- oriented principles and theory in great detail, we have been forced to make some assumptions about you, the reader. We assume that you are a software engineer with some level of exposure to both structured analysis methodologies and object-oriented analysis/design methodologies. However, we assume that your exposure to OOA and OOD has been limited, at most, to reading one of the popular books in the field, or perhaps to some limited training in a seminar or workshop.

A background like this would be sufficient for you to work on a "tiny" problem, but probably not adequate to tackle your first mission-critical object-oriented application at your job. This book is intended to provide the bridge between that first introduction to OOA and OOD and a complex real-world application of the theory.

Finally, the authors encourage readers to tell us how this material is being used, what problems have been encountered and what successes have been achieved! Our e-mail addresses are below. From time to time, we may post revisions to the materials on our WEB sites, also given below.

Ed Yourdon
New York City
e-mail: yourdon@acm.org
WWW: ...
Read More Show Less

Table of Contents

Preface
Notation and Conventions
Acknowledgments
1 Introduction 1
2 The Case Studies 19
3 Finding and Keeping Good Objects 29
4 Class and Object Identification 39
5 Class and Object Refinement 45
6 Dealing with Complexity: Identifying Structure 69
7 Dealing with Complexity: Identifying Subjects 81
8 Things Objects Remember: Identifying Attributes 87
9 Identifying Instance Relationships 95
10 Things Objects Do and Say: Identifying Services and Messages 103
11 Quality Issues - Completeness/Consistency of the Analysis Model 135
12 Documenting the Analysis Model 141
13 Reviewing and Revising the Analysis Model 147
14 Transitioning into Design 151
15 Problem Domain Issues 161
16 Specifying the Human Interface 167
17 Task Management Issues 177
18 Specifying Database Design 181
19 Quality Issues at the Design Level 187
20 Documenting and Reviewing the Design Model 193
21 Implementation Issues 195
22 Transitioning to Object-Orientation - A Twelve-Step Program 205
Preface to the Appendices 211
App. A Case Study Description for Elevator Control System 211
App. B Case Study Description for Small Bytes Subscription System 215
App. C Phrase-Frequency Analysis for Elevator Control System 219
App. D Phrase-Frequency Analysis for Small Bytes Subscription System 223
App. E OOA/OOD Worksheet for Elevator Control System 227
App. F OOA/OOD Worksheet for Small Bytes Subscription System 235
App. G 3-View Models for Elevator Control System 241
App. H 3-View Models for Small Bytes Subscription System 251
App. I OOA Model for Elevator Control System 257
App. J OOA Model for Small Bytes Subscription System 279
App. K EROI Diagram Notation 301
App. L EROI Diagrams for Elevator Control System 305
App. M EROI Diagrams for Small Bytes Subscription System 309
App. N Problem Domain Component (PDC) for Elevator Control System 317
App. O Problem Domain Component (PDC) for Small Bytes Subscription System 319
App. P Human Interaction Component (HIC) for Elevator Control System 321
App. Q Human Interaction Component (HIC) for Small Bytes Subscription System 323
App. R Task Management Component (TMC) for Elevator Control System 333
App. S Data Management Component (DMC) for Small Bytes Subscription System 335
App. T Partial List of Workshop Groups 337
App. U Case Studies Diskette 339
Index 343
Read More Show Less

Preface

As a graduate student in mathematics, one of the authors was forced to endure the presentation of innumerable mathematical theorems. Each theorem was rigorously proved by a learned professor. Each proof was presented as a finished product--elegant and beautiful. As a student, however, the author found the proofs more obscure and confusing than elegant and beautiful!

On one occasion, while presenting a particularly long proof, the professor became confused and uncertain about the next step. With a somewhat pensive expression, he walked to a side blackboard, picked up a piece of chalk and began drawing a figure. He drew circles, arcs, lines and eventually, a look of recognition flashed across his face. He quickly erased what he had drawn, returned to the front of the classroom, and proceeded with the proof! But, as you might imagine, the students were more interested in what the professor had erased than what he was attempting to prove!

The analysis and design of large, complex software systems are not unlike mathematical proofs; they are usually presented as finished products. They may be documented with reams of paper or presented as finished models. Rarely, however, do software analysts or designers document the anatomy of their analysis or design. In the past, a savvy software manager could sneak into the offices of his workers, rummage through their trash cans, and pull out traces of their thinking. With the advent of CASE tools however, that's harder to do! And, few books on software analysis and design go deeply into heuristics.

This situation is particularly egregious in the area of object-oriented analysis and design. Although there are numerous books on the subject (and more coming out all the time!), few go beyond presenting the terminology, notation and structure of their own unique models. And, when it comes to the genesis of the process establishing an initial set of objects guidance is superficial at best. Yet the wrong choice of objects can have a profound impact on the success of the whole object-oriented development process. As one C++ instructor recently lamented about a class, "These guys are just hacking at the object level! They'll never get any of the object-oriented benefits out of this stuff."

The authors fervently believe that object-oriented analysis and design are real, with real benefits to be gained. But we also believe, quoting H. L. Mencken, that "for every complex and difficult problem there is a simple solution. And it is always wrong." Analyzing and designing large, complex software systems is difficult. Period. Object-oriented approaches don't make analysis and design easier than earlier methods.

They help us build a better product; they help us improve productivity--but they're no panacea. What's missing from the object-oriented analysis and design practitioner's literature, we feel, is more insight into how object- oriented analysis and design are done--for real systems. That's what we've tried to present in this book. Although we present a solution to the case study problems, the nature of the solution is far less important than how we arrived at it. Our principal contribution, we feel, is in presenting insight not technique. Unfortunately, readers seeking the beauty and elegance of a mathematical proof will have to look elsewhere.

After an introduction to the case study problems, we present a synthesis of OOA and OOD methods to develop an analysis model and design model. Separate chapters are devoted to each of the building blocks of the OOA model (Subject Layer, Object-Class Layer, Structure Layer, Attribute Layer and Service Layer), as well as the various components of the OOD model (Problem Domain Component, Human Interaction Component, Task Management Component and Data Management Component). Additional chapters provide some comments on analysis, design and project management issues.

We have produced object-oriented analysis and design models using the notation of the Coad and Yourdon technique. Our methodology however, differs significantly from the Coad and Yourdon approach. Indeed, we have taken advantage of components of other object-oriented methodologies e.g., Ivar Jacobson's ObectOry approach for the discussion of messages between objects where they provided useful illuminations. We believe that the principles demonstrated in this book are applicable to object-oriented analysis and design in general.

We also took advantage of older, more classical structured analysis methodologies; the entity-relationship diagram and event-response model of both case studies proved particularly useful for discovering relevant objects, as well as for providing a deeper understanding of the interactions between objects. Indeed, we strayed even further afield than structured analysis. For instance, a purely linguistic analysis of the narrative user specifications of the two case studies provided a very methodical approach for identifying candidate objects for further investigation.

While object-oriented enthusiasts may have a favorite methodology e.g., Booch, Rumbaugh, Jacobson, Shlaer-Mellor or Coad and Yourdon we have found that there is general acceptance of the notion that one might be able to borrow ideas and concepts from all of them to attack a problem effectively. On the other hand, the notion of using the older, structured methodologies may well offend the purists in the object-oriented camp, who might argue that the same results could have been achieved without any reference whatsoever to textbooks written before the dawn of the object-oriented era. For most veteran software engineers, though, a more pragmatic approach is typically required--especially when faced with a difficult problem that must be solved within the constraints of a tight schedule and budget. From this perspective, it seems foolish to eliminate useful concepts, tools and techniques that have served us well in the past. Though time, money and space prevented us from tackling a problem the size of "Star Wars," we have, nevertheless, selected two very realistic case studies and applied the principles of object-oriented analysis and design to them. One case study has a predominant reactive view and should be of interest to readers in the real-time, embedded systems area. The other case study has a predominant data view and should be of interest to readers in the MIS community. We decided to present both case studies in this book; it is interesting and instructive to see how object-oriented techniques can be applied in such different environments. The reader should be able to make a personal judgment about the relevance and applicability of object-oriented methods to different environments.

Because they are larger than the typical "tic-tac-toe" game exercises one often finds in a software engineering textbook, any serious attempt to analyze and design the case study problems in this book will present some non-trivial difficulties. The authors have used both case studies in numerous seminars and workshops during the past few years; we have been constantly amazed by the degree of intense debate and discussion they create with our students. We believe that the case study designs have been developed to the point where these two systems can be delivered to programmers for implementation. Although we have not discussed implementation issues, we have created Visual Basicâ„¢ prototypes for both case studies.

However, because of the size of the two case studies, we have not provided fully coded solutions. Since this is not a book that explains object- oriented principles and theory in great detail, we have been forced to make some assumptions about you, the reader. We assume that you are a software engineer with some level of exposure to both structured analysis methodologies and object-oriented analysis/design methodologies. However, we assume that your exposure to OOA and OOD has been limited, at most, to reading one of the popular books in the field, or perhaps to some limited training in a seminar or workshop.

A background like this would be sufficient for you to work on a "tiny" problem, but probably not adequate to tackle your first mission-critical object-oriented application at your job. This book is intended to provide the bridge between that first introduction to OOA and OOD and a complex real-world application of the theory.

Finally, the authors encourage readers to tell us how this material is being used, what problems have been encountered and what successes have been achieved!
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

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