[PDF] [PDF] Object-Oriented Analysis Design and Implementation





Previous PDF Next PDF



Object-Oriented Analysis and Design with Applications

of: Object-oriented analysis and design with applications / Grady. Booch 2nd ed. Includes bibliographical references and index. ISBN 0-201-89551-X (hardback : 



Object-Oriented Analysis Design and Implementation

ISBN 978-3-319-24280-4 (eBook) one more book on the topic of Object-Oriented Analysis and Design (OOAD). The ... B. Eckel Thinking in Java



OBJECT-ORIENTED ANALYSIS AND DESIGN

Object-oriented analysis and design with applications / Grady Booch. -. 2nd ed. Fourth this edition introduces several new application examples.



Object-Oriented Analysis and Design with Applications

3rd ed. p. cm. Rev. ed. of: Object-oriented analysis and design with applications / Grady. Booch 2nd ed. Includes bibliographical references and index.



Download Ebook Object Oriented Analysis And Design With

Thank you very much for reading Object Oriented Analysis And Design With Applications Grady Booch. Maybe you have knowledge that people have search 



Download Ebook Object Oriented Analysis And Design James

OOAD is a technical method of analyzing and designing an application based on that system's object models (the logical components of the system that interact ..



Object-Oriented Analysis & Design

Advantages/Disadvantages of Object-Oriented Analysis . one another to design applications and computer programs. ... End of ebook preview.



Access Free Object Oriented Analysis And Design With Applications

we offer the ebook compilations in this website. It will unquestionably ease you to look guide Object Oriented Analysis And Design. With Applications Grady 



Read PDF Object Oriented Analysis And Design Objective Question

Aug 31 2022 You might not require more era to spend to go to the ebook inauguration as skillfully as search for them. In some cases



Read Online Object Oriented Analysis And Design Home

Recognizing the pretension ways to get this ebook Object Oriented Analysis And Design Home Department Of is additionally useful. You have remained in right 



OBJECT-ORIENTED ANALYSIS AND DESIGN

This book provides practical guidance on the construction of object-oriented systems Its specific goals are: • To provide a sound understanding of the fundamental concepts of the object model • To facilitate a mastery of the notation and process of object-oriented analysis and design



Concept based notes Software Engineering

Object-Oriented Analysis & Design 4 Some of its operations can be defined as follows: findArea() method to calculate area findCircumference() method to calculate circumference scale() method to increase or decrease the radius During instantiation values are assigned for at least some of the attributes



The Object-Oriented Thought Process - pearsoncmgcom

The Object-Oriented Thought Process Fourth Edition informit com/devlibrary Developer’s Library Developer’s Librarybooks are designed to provide practicing programmers with unique high-quality references and tutorials on the programming languages and technologies they use in their daily work



Object Oriented Design - University of Colorado Boulder

OO techniques can be used in analysis (requirements) as well as design The methods and notations are similar In OO analysis we model the problem domain while in OO design we model the solution domain Often structures created during OO analysis are subsumed (reused extended) in the structures produced by OO design



OBJECT ORIENTED ANALYSIS AND DESIGN

Object-oriented analysis and design (OOAD) is a software engineering approach that models a system as a group of interacting objects •Analysis —understanding finding and describing concepts in the problem domain •Design —understanding and defining software solution/objects that represent the analysis concepts and will eventually be



LECTURE NOTES ON OBJECT ORIENTED ANALYSIS &DESIGN - VEMU

OBJECT ORIENTED ANALYSIS &DESIGN (15A05503) III B TECH I SEMESTER (JNTUA-R15) DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING VEMU INSTITUTE OF TECHNOLOGY:: P KOTHAKOTA Chittoor-Tirupati National Highway P Kothakota Near Pakala Chittoor (Dt ) AP - 517112 (Approved by AICTE New Delhi Affiliated to JNTUA Ananthapuramu



[PDF] Object-Oriented Analysis and Design with Applications - GitHub Pages

of: Object-oriented analysis and design with applications / Grady Booch 2nd ed Includes bibliographical references and index ISBN 0-201-89551-X (hardback : 



[PDF] OBJECT-ORIENTED ANALYSIS AND DESIGN

Object-oriented analysis and design with applications / Grady Booch - 2nd ed Fourth this edition introduces several new application examples



[PDF] Object-Oriented Analysis Design and Implementation

From core foundational and theoretical material to final-year topics and applications UTiCS books take a fresh concise and modern approach and are ideal for 







[PDF] Object Oriented Analysis And Design Pdf

This is why we give the ebook compilations in this website It will totally ease you to look guide Object Oriented Analysis And Design Pdf as you such as





Object oriented design with applications: Guide books

Design strategies and knowledge in object-oriented programming Human-Computer Interaction 10:2 (129-169) Online publication date: 1-Sep-1995 Herbsleb J 

What is Object-Oriented Analysis and Design (OOAD)?

    Q.9 Explain in short the Object Oriented Analysis. Ans. Object-Oriented Analysis and Design(OOAD) is a software engineering approach that models a system as a group of interacting objects.

Which is the best book for Object Oriented Analysis and design?

    Ian Sommerville, “Software Engineering”, 10th Edition, Pearson India, 2018. 3. Grady Booch, “Object-Oriented Analysis and Design with Applications”, Pearson India, 3rd Edition, 2015. 4. James Rumbaugh, “Object-Oriented Modeling and Design with UML”, 2nd Edition , Pearson Prentice Hall, 2005. 5.

What is activity diagram & Object Oriented Analysis & Design?

    The Activity diagram defines the major activities that are happening in the system. The Object-Oriented Analysis and Design is one of the main methodologies for developing high quality object-oriented systems. The object oriented methodology will help to reuse the existing built-in functions or models in a much easier way.

What is object oriented programming?

    The object-oriented paradigm took its shape from the initial concept of a new programming approach, while the interest in design and analysis methods came much later.

Undergraduate Topics in Computer Science

Object-Oriented

Analysis, Design

and Implementation Brahma DathanSarnath RamnathAn Integrated ApproachSecond Edition

Undergraduate Topics in Computer Science

Undergraduate Topics in Computer Science (UTiCS) delivers high-quality instruc-tional content for undergraduates studying in all areas of computing and informationscience. From core foundational and theoretical material tofinal-year topics and

applications, UTiCS books take a fresh, concise, and modern approach and are ideal for self-study or for a one- or two-semester course. The texts are all authored by established experts in theirfields, reviewed by an international advisory board, and contain numerous examples and problems. Many include fully worked solutions. More information about this series at http://www.springer.com/series/7592

Brahma Dathan•Sarnath Ramnath

Object-Oriented Analysis,

Design and Implementation

An Integrated Approach

Second Edition

123
Brahma DathanDepartment of Information and Computer

Science

Metropolitan State University

St. Paul, MN

USASarnath RamnathDepartment of Computer Science

and Information Technology

St. Cloud State University

St. Cloud, MN

USA A co-publication with the Universities Press (India) Private Ltd., licensed for sale in all countries outside of India, Pakistan, Bhutan, Bangladesh, Sri Lanka, Nepal, The Maldives, Middle East, Malaysia, Indonesia and Singapore. Sold and distributed within these territories by the Universities Press (India) Private Ltd.

ISSN 1863-7310 ISSN 2197-1781 (electronic)

Undergraduate Topics in Computer Science

ISBN 978-3-319-24278-1 ISBN 978-3-319-24280-4 (eBook)

DOI 10.1007/978-3-319-24280-4

Library of Congress Control Number: 2015950443

Springer Cham Heidelberg New York Dordrecht London ©Universities Press (India) Private Ltd. 2010, 2015

This work is subject to copyright. All rights are reserved by the Publishers, whether the whole or part

of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations,

recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission

or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar

methodology now known or hereafter developed. The use of general descriptive names, registered names, trademarks, service marks, etc. in this

publication does not imply, even in the absence of a specific statement, that such names are exempt from

the relevant protective laws and regulations and therefore free for general use.

The publishers, the authors and the editors are safe to assume that the advice and information in this

book are believed to be true and accurate at the date of publication. Neither the publishers nor the

authors or the editors give a warranty, express or implied, with respect to the material contained herein or

for any errors or omissions that may have been made.

Printed on acid-free paper

Springer International Publishing AG Switzerland is part of Springer Science+Business Media

(www.springer.com)Series editorIan MackieAdvisory BoardSamson Abramsky, University of Oxford, Oxford, UKKarin Breitman, Pontifical Catholic University of Rio de Janeiro, Rio de Janeiro, Brazil

Chris Hankin, Imperial College London, London, UK

Dexter Kozen, Cornell University, Ithaca, USA

Andrew Pitts, University of Cambridge, Cambridge, UK Hanne Riis Nielson, Technical University of Denmark, Kongens Lyngby, Denmark Steven Skiena, Stony Brook University, Stony Brook, USA

Iain Stewart, University of Durham, Durham, UK

Preface to the Second EditionThe second edition of the book includes revisions based on the feedback receivedfrom a number of sources on thefirst edition. The case-study-based approach to the

principles of object-oriented design has been mostly well-received. There were two suggestions that we felt needed action on our part:

1. A complete reference for UML.

Thefirst edition was built on the pedagogical philosophy that the tools of the trade would be presented on an as-needed basis. Accordingly, UML diagrams were introduced in the context of case studies, and we avoided discussing the UML diagrams that were not needed. Some readers felt that the book was incomplete without connecting the content to the remainder of UML.

2. The need for a conclusion.

Although each chapter ended with a conclusion that connected the material with previous chapters, some readers and critics felt that a concluding chapter would be useful.

Chapter

13in the new edition addresses both these issues. In this chapter we have

attempted to provide a concise introduction to the remainder of UML diagrams. In keeping with our philosophy, we have avoided presenting simply the technicalities of the diagrams with disjointed examples and gone with a holistic approach. We have used the OMG classification of the UML diagrams as the six views of object-oriented system, and explained the role played by each view. We have then discussed the diagrams that represent each view and connected these views to the case studies presented in the book. We hope that this chapter will both provide the user with a concise introduction to all of UML and also round off the text by connecting all aspects of object-oriented design. The authors wish to thank everyone who used thefirst edition in their class- rooms and those who provided valuable feedback. Special thanks are due to v

Sreelatha Menon for editorial support. Brahma Dathan wishes to thank his wife,Asha, and his children, Anupama and Alok, for the many hours that would haveotherwise been spent with them. They were incredibly patient and understanding.

Brahma Dathan

Sarnath RamnathviPreface to the Second Edition

Preface to the First EditionAt least some people reading the title of this book may wonder why there should beone more book on the topic of Object-Oriented Analysis and Design (OOAD). Theshort answer to this question is that in our teaching of the subject for over a decade,we have not been able tofind a suitable textbook on this topic at our respective

universities. We wrote up a long answer to the above question in a paper published in the

2008 SIGCSE conference. (So, if you are not satisfied with this preface, we hope

you will consider reading our paper.) To summarise some of the observations and experiences in that paper, we note that our approach has always been tofind ways to give a comprehensive introduction to thefield of OOAD. Over the years thefield has become quite vast, comprising diverse topics such as design process and principles, documentation tools (Unified Modelling Language), refactoring and design and architectural patterns. In our experience, for most students the experi- ence is incomplete without implementation, so, that is one more addition to the laundry list of topics to be covered in the course. It was impossible tofind a single book that gave a balanced coverage of all these topics in a manner that is understandable to an average college student. There are, of course, a number of books, some of them are profound that cover one or more of the above topics quite well. Besides their specialised nature, these books are primarily not meant to be textbooks. Expecting our students to read parts of these books and assimilate the material was not a realistic option for us. This text is the result of our efforts over several years and provides the following:

1. A sound footing on object-oriented concepts such as classes, objects, interfaces,

inheritance, polymorphism, dynamic linking, etc.

2. A good introduction to the stage of requirements analysis.

3. Use of UML to document user requirements and design.

4. An extensive treatment of the design process. The design step is, arguably, the

most demanding activity (from an intellectual perspective) in the OOAD pro- cess. It is thus imperative that the student go through the design of complete systems. For pedagogical reasons we have kept the systems simple, yet vii sufficiently interesting to offer design choices. Going through these design exercises should help the student gain confidence to undertake reasonably complex designs.

5. Coverage of implementation issues. The reader willfind critical excerpts from

the implementation in Java. But he/she would be well advised to remember that this is not a book on Java. (More on this later.)

6. Appropriate use of design and architectural patterns.

7. Introduction to the art and craft of refactoring.

8. Pointers to resources that further the reader's knowledge.

It is important to remember what this book isnotabout.

1. It is not a book on Java. While the appendix has a short tutorial on the language

and most of the code in the book is in Java, we do not cover constructs for the sake of teaching the language. Coverage is limited to the extent needed for understanding the implementation and for highlighting object-oriented concepts.

2. It does not cover software engineering concepts such as project management,

agile technology, etc.

3. It does not treat UML extensively. Although we mention the various types of

UML diagrams, many of them are not expanded because an occasion does not arise for such an undertaking.

4. It is not a catalogue of design patterns or refactoring techniques. We cover only

those patterns that arise naturally in our case studies. It has been our experience that design pattern discussions without a meaningful context are not well received by students.

Who willfind this book useful?

Although the material in this text has primarily evolved out of a course taught for computer science senior undergraduates, others without a formal computer science background may alsofind this handy. In our program, students taking this are expected to have completed a course in data structures, but the material in this text does not require an intimate knowledge of the intricacies of any of these. A programmer who has used and is familiar with the APIs for some of the data structures could easily handle the material in the text. However, a certain amount of maturity with the programming process is needed, and for a typical undergraduate student this is usually obtained through a data structures course. All the main case studies used for this book have been implemented by the authors using Java. The text is liberally peppered with snippets of code wherever we felt that a more'concrete'feel for the design would be helpful. Most of these snippets are short and should be fairly self-explanatory and easy to read. Familiarity with a Java-like syntax and a broad understanding of the structure of Java would

certainly be extremely helpful. The reader not familiar with Java but havingviiiPreface to the First Edition

significant software experience, need not, however, be deterred by this and can get a good feel of the entire OOAD process even without examining the code.

How to use this as computer science text?

There clearly are several ways of structuring a computer science program, and the way in which this text could be used would depend on that structure.

The text is divided into three parts:

•Part Iprovides a thorough coverage of object-oriented ideas. •Part IIintroduces the concepts of object-oriented analysis, design, implemen- tation and refactoring. •Part IIIdeals with more advanced design issues and approaches. Part I, which comprises Chapters 1 through 4, gives a broad and solid foundation in concepts that are central to OOAD. The amount of time spent on covering these materials would vary considerably, depending on the program structure. Part II begins in Chapter 5 with three useful design patterns. This part also includes Chapters 6 through 8, which introduces thefirst case study involving the analysis, design and implementation of a simple library system. This is a critical choice since the entire process of design is being introduced through this case study. We chose this application because it met the following three major goals we had in selecting the case study: (i) the system should be simple so that it can be covered from analysis to implementation in a reasonable amount of time; (ii) students have an intuitive understanding of the application; (iii) several areas can be'naturally' touched upon within the scope of the case study. Several areas are touched upon in this case study and it would be pedagogically useful to emphasise these in the classroom.

•The importance of (and the quirks associated with) precisely specifyingrequirements and creating use case model.

•The design process. We naturally progress from the use case model to the theprocess of identifying classes and assigning responsibilities and coming up withsequence diagrams to implement use cases. The case study explores options inthe design, which can result in lively discussions and contribute to studentlearning.

•The data is stored on stable storage so as to give students a sense of com-pleteness. In this process, the student can see how the language quirks areaffecting the implementation.

•The case study incorporates several design patterns in the code: Facade, Iterator,Adapter, Singleton and Factory.

•Chapter 8 introduces refactoring and applies it to the completed design. This isdone to underscore the fact that an awareness of refactoring is integral to thedesign process.Preface to the First Editionix

Covering this case study and assigning a similar project for students would be, inour opinion, essential. The amount of time spent on discussing these materialswould depend on the background of the students.

Part III covers more advanced topics and spans Chapters 9 through 12. Chapter 9 introduces the use of inheritance in design and also extends the case study. The use of inheritance was deliberately avoided in the main case study, not only to keep the case study simple, but also to ensure that the issues associated with the use of inheritance can be dealt with in context. The extension involves some inheritance hierarchies that allow us to illustrate sound object-oriented principles including the Liskov Substitution Principleand theOpen-Closed Principle.A natural extension to the library system case study leads to a discussion of the Visitor pattern. Chapter 10 deals with the second case study, which is from the domain of electronic devices that are controlled by software. Our example concerns a microwave oven that allows the user to perform the most common functions. To keep the case study manageable we have restricted the microwave functionality, but the model is enough for our purpose. Here we introduce the concept of states,finite state machines and state transition diagrams and compare and contrast it with the use case model. In this context, we introduce the State and Observer patterns. The third case study, in Chapter 11, is an interactive program that can be used for creatingfigures. The objective here is to also examine the creation of larger systems that may require decomposition into subsystems. Before presenting the case study, the student is familiarised with the Model-View-Controller architecture. During the course of the case study, the student learns the Bridge, Command and Composite patterns. Chapter 12 shows how to design an object-oriented system for a distributed environment. As more and more applications become available remotely, we believe it is important for students to learn how to design and implement a dis- tributed, object-oriented system. We have focused on Java Remote Method Invocation and the implementation of web-based systems using Java Servlets. To keep the discussion within reasonable size, we have left out other technologies such as ASP.NET and some important topics such as CORBA and distributed garbage collection. Normally, while each case study is being discussed, we expect students to work on similar projects. This may be adapted as necessary to suit each situation. Presenting the topics in this integrated manner using case studies has been very helpful in giving students a complete picture of the OOAD process. We hope that by writing this textboot we have, in some small way, contribute to the advancement of the discipline.xPreface to the First Edition

AcknowledgmentsThe following individuals at Universities Press and Springer deserve special thanks:Madhu Reddy, Manoj Karthikeyan and Beverley Ford for help with the negotia-tions and the contract, and Sreelatha Menon for her efficient editorial work.

Brahma Dathan would like to thank his wife, Asha, and children, Anupama and Alok, for their support during the several years it took to complete this project. Sarnath would like to thank his family, friends and colleagues for their encouragement and support during the years he worked on the project. The authors would like to thank Dr. Bina Ramamurthy for her helpful sugges- tions on an early draft of the book. As we mentioned earlier, the book was shaped by our experience in teaching the subject over a fairly long period of time. Although the courses have stabilised now, the current form does not resemble much the original version taught a decade, or even four years ago. We experimented with the topics (adding, deleting, empha- sising, de-emphasising and rearranging) and changed the pedagogical approach, moving from a theory-first-practice-later approach to a more case-study-based approach. Needless to say, we did all this at the expense of our students, but they took it all in good spirit. Many of our students also provided valuable, creative criticisms on different versions of the manuscript of the book. We cannot thank our students, past and present, enough!

Brahma Dathan

Sarnath RamnathPreface to the First Editionxi

ContentsPart I Basic Object-Oriented Concepts1 Introduction........................................ 3

1.1 What Is Object-Oriented Development? . . . . . . . . . . . . . . . . 4

1.2 Key Concepts of Object-Oriented Design . . . . . . . . . . . . . . . 5

1.3 Other Related Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.3.1 Modular Design and Encapsulation . . . . . . . . . . . . 7

1.3.2 Cohesion and Coupling . . . . . . . . . . . . . . . . . . . . 7

1.3.3 Modifiability and Testability. . . . . . . . . . . . . . . . . 8

1.4 Benefits and Drawbacks of the Paradigm . . . . . . . . . . . . . . . 8

1.5 History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.6 Discussion and Further Reading . . . . . . . . . . . . . . . . . . . . . 10

1.7 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2 Basics of Object-Oriented Programming................... 13

2.1 The Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.2 Implementing Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.2.1 Constructors . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.2.2 Printing an Object . . . . . . . . . . . . . . . . . . . . . . . . 22

2.2.3 Static Members. . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.3 Programming with Multiple Classes. . . . . . . . . . . . . . . . . . . 25

2.4 Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

2.4.1 Implementation of StudentLinkedList. . . . . . . . . . . 30

2.4.2 Array Implementation of Lists. . . . . . . . . . . . . . . . 33

2.5 Abstract Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

2.6 Comparing Objects for Equality . . . . . . . . . . . . . . . . . . . . . 36

2.7 A Notation for Describing Object-Oriented Systems . . . . . . . 37

2.7.1 Class Diagrams. . . . . . . . . . . . . . . . . . . . . . . . . . 41

2.7.2 Use Cases and Use Case Diagrams . . . . . . . . . . . . 41

2.7.3 Sequence Diagrams . . . . . . . . . . . . . . . . . . . . . . . 42

xiii

2.8 Discussion and Further Reading . . . . . . . . . . . . . . . . . . . . . 452.9 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

3 Relationships Between Classes........................... 49

3.1 Association. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

3.1.1 Characteristics of Associations . . . . . . . . . . . . . . . 51

3.2 Inheritance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

3.2.1 An Example of a Hierarchy . . . . . . . . . . . . . . . . . 53

3.2.2 Inheriting from an Interface . . . . . . . . . . . . . . . . . 58

3.2.3 Polymorphism and Dynamic Binding. . . . . . . . . . . 59

3.2.4 Protected Fields and Methods . . . . . . . . . . . . . . . . 65

3.2.5 TheObjectClass . . . . . . . . . . . . . . . . . . . . . . . 67

3.3 Genericity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

3.4 Discussion and Further Reading . . . . . . . . . . . . . . . . . . . . . 69

3.4.1 A Generalised Notion of Conformance. . . . . . . . . . 70

3.5 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

4 Language Features for Object-Oriented Implementation........ 75

4.1 Organising the Classes. . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

4.1.1 Creating the Files . . . . . . . . . . . . . . . . . . . . . . . . 76

4.1.2 Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

4.1.3 Protected Access and Package Access . . . . . . . . . . 77

4.2 Collection Classes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

4.3 Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

4.4 Run-Time Type Identification. . . . . . . . . . . . . . . . . . . . . . . 81

4.4.1 Reflection: Using theClassObject . . . . . . . . . . . 82

4.4.2 Using theinstanceofOperator. . . . . . . . . . . . . 83

4.4.3 Downcasting. . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

4.5 Graphical User Interfaces: Programming Support. . . . . . . . . . 85

4.5.1 The Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

4.5.2 Event Handling. . . . . . . . . . . . . . . . . . . . . . . . . . 88

4.5.3 More on Widgets and Layouts . . . . . . . . . . . . . . . 91

4.5.4 Drawing Shapes . . . . . . . . . . . . . . . . . . . . . . . . . 93

4.5.5 Displaying a Piece of Text . . . . . . . . . . . . . . . . . . 93

4.6 Long-Term Storage of Objects . . . . . . . . . . . . . . . . . . . . . . 94

4.6.1 Storing and Retrieving Objects . . . . . . . . . . . . . . . 96

4.6.2 Issues in Storing and Retrieving Objects. . . . . . . . . 97

4.6.3 The Java Serialization Mechanism. . . . . . . . . . . . . 99

4.7 Discussion and Further Reading . . . . . . . . . . . . . . . . . . . . . 101

4.8 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104xivContents

Part II Introduction to Object-Oriented Analysis, Design,

Implementation and Refactoring

5 Elementary Design Patterns............................ 109

5.1 Iterator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

5.1.1 Iterator Implementation . . . . . . . . . . . . . . . . . . . . 113

5.2 Singleton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

5.2.1 Subclassing Singletons. . . . . . . . . . . . . . . . . . . . . 117

5.3 Adapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

5.4 Discussion and Further Reading . . . . . . . . . . . . . . . . . . . . . 124

5.5 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

6 Analysing a System................................... 129

6.1 Overview of the Analysis Phase . . . . . . . . . . . . . . . . . . . . . 130

quotesdbs_dbs20.pdfusesText_26
[PDF] object oriented approach

[PDF] object oriented design patterns

[PDF] object oriented javascript pdf

[PDF] object oriented javascript tutorial point

[PDF] object oriented php junade ali pdf

[PDF] object oriented php peter lavin

[PDF] object oriented programming paradigm

[PDF] object oriented programming with abap objects

[PDF] object oriented programming with abap objects pdf

[PDF] objective c o'reilly pdf

[PDF] objective of education for all

[PDF] objective of water pollution project pdf

[PDF] objective proficiency 2nd edition pdf download

[PDF] objective proficiency student's book pdf download

[PDF] objective proficiency student's book pdf free download