An Introduction to Object-Oriented Systems Analysis and Design with UML and the Unified Process McGraw-Hill, 2004 Stephen R. Schach [email protected] 8 — Unit AChapter OverviewThe Design WorkflowThe Design Workflow (contd)Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12Slide 13Traditional versus Object-Oriented DesignTraditional versus Object-Oriented Design (contd)Slide 16Formats of the AttributesFormats of the Attributes (contd)Formats of Attributes of Osbert OglesbyFormats of Attributes of Osbert Oglesby (contd)Slide 21Slide 22Formats of Attributes of MSG Case StudyFormats of Attributes of MSG Case Study (contd)Allocation of Operations to ClassesAllocation of Operations to Classes (contd)Slide 27Slide 28Responsibility-Driven DesignSlide 30Responsibility-Driven Design (contd)Slide 32Slide 33InheritanceInheritance (contd)Slide 36Slide 37Slide 38Slide 39Slide 40Allocation of Operations: Osbert OglesbySlide 42Slide 8A.1Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction toObject-Oriented Systems Analysis and Design with UML and the Unified Process McGraw-Hill, 2004Stephen R. [email protected] 8A.2Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. CHAPTER 8 — Unit ATHE OBJECT-ORIENTED DESIGN WORKFLOWSlide 8A.3Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter OverviewThe Design WorkflowTraditional versus Object-Oriented DesignFormats of the AttributesAllocation of Operations to ClassesAllocation of Operations: Osbert Oglesby Case StudyCRC CardsSlide 8A.4Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. The Design WorkflowThe input to the design workflow is the set of analysis workflow artifacts–These artifacts are iterated and incremented until they can be used by the programmersA major aspect of this iteration and incrementation is –The identification of operations, and –Their allocation to the appropriate classesSlide 8A.5Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. The Design Workflow (contd)Many other decisions have to be made as part of the design workflow, including–Choice of programming language–Deciding how much of existing information systems to reuse in the new information system–Level of portability–The allocation of each software component to its hardware componentSlide 8A.6Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. The Design Workflow (contd)The case studies in this book are small-scale information systems–Under 5,000 lines of Java or C++ code in lengthThe Unified Process was designed for developing large-scale information systems–500,000 lines of code or more–These information systems are at least 100 times larger than the case studies presented in this bookTherefore, many aspects of the Unified Process are inapplicable to the two case studies in this bookSlide 8A.7Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. The Design Workflow (contd)During the analysis workflow, a large information system is partitioned into analysis packages–Each analysis package consists of a set of related classes that can be implemented as a single unit–Example: »Accounts payable, accounts receivable, and general ledger are typical analysis packagesThe concept underlying analysis packages is:–It is easier to develop smaller information systems than larger information systems–A large information system will be easier to develop if it can be decomposed into independent packagesSlide 8A.8Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. The Design Workflow (contd)The idea of decomposing a large workflow into independent smaller workflows is carried forward to the design workflowThe objective is to break up the upcoming implementation workflow into manageable pieces –SubsystemsIt does not make sense to break up the two case studies into subsystems—they are just too smallSlide 8A.9Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. The Design Workflow (contd)Reasons why subsystems are utilized–It is easier to implement a number of smaller subsystems than one large system–If the subsystems are independent, they can be implemented by programming teams working in parallel»The information system as a whole can then be delivered soonerSlide 8A.10Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. The Design Workflow (contd)The architecture of an information system includes –The various component modules–How they fit together–The allocation of components to subsystemsThe task of designing the architecture is specialized–It is performed by an information system architectSlide 8A.11Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. The Design Workflow (contd)The architect needs to make trade-offs–Every information system must satisfy its functional requirements (the use cases)–It also must satisfy its nonfunctional requirements, including»Portability, reliability, robustness, maintainability, and security–It must do all these things within budget and within the time constraintThe architect must assist the client by laying out the trade-offsSlide 8A.12Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. The Design Workflow (contd)It is usually impossible to satisfy all the requirements, functional and nonfunctional, within the cost and time constraints–Some sort of compromises have to be madeThe client has to –Relax some of the requirements;–Increase the budget; and/or–Move the delivery deadlineSlide 8A.13Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. The Design Workflow (contd)The architecture of an information system is critical–The requirements workflow can be fixed during the analysis workflow–The analysis workflow can be fixed during the design workflow–The design workflow can be fixed during the implementation workflowBut there is no way to recover from suboptimal architecture–The architecture must immediately be redesignedSlide 8A.14Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Traditional versus Object-Oriented DesignIn the traditional paradigm, the design phase consists of –Architectural design »The information system is
View Full Document