Thư viện tri thức trực tuyến
Kho tài liệu với 50,000+ tài liệu học thuật
© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Object Oriented Analysis and Design—Using UML
Nội dung xem thử
Mô tả chi tiết
OBJECT ORIENTED ANALYSIS AND DESIGN
Using UML
About the Authors
Dr D Jeya Mala is currently Associate Professor in Thiagarajar College of Engineering, Madurai,
with a rich teaching and research experience of more than 12 years. She has been teaching courses like
Object Oriented Analysis and Design (OOAD), Software Engineering and Software Testing. She has
successfully guided numerous Software Development-based projects for The Great Mind Challenge
(TGMC) contest, an Academic Initiative of IBM. As a researcher, she has investigated the practical
aspects of Software Engineering and Object Oriented Paradigms for effective software development.
Her work on Software Testing has fetched several grants from the University Grants Commission
(UGC) under Major Research Project scheme.
In addition, Dr Jeya Mala is a member of the Computer Society of India (CSI) and an invited member
of the American Council for an Energy Efficient Economy (ACEEE). She holds a vital role in forming
the reviewers’ board in journals like IEEE Transactions on Software Engineering, Elsevier–Information
Sciences, and International Journal of Metaheuristics, among others. She has also been listed in Marquis
Who’s Who List in 2011. She has completed certification on Software Testing Fundamentals, Brain
Bench Certification on Java 1.1 programming, IBM certification as Associate Developer Websphere
Application Studio. She is a proud recipient of several laurels from international corporations like
Honeywell, IBM and Microsoft for her remarkable contributions in the field of Software Development
and Object Orientation.
Dr S Geetha is currently Associate Professor in Thiagarajar College of Engineering, Madurai.
Having a rich teaching and research experience of more than 12 years, she has been successfully
teaching courses like OOAD, Algorithms and Information Security. She has also guided several
Software Development-based projects for The Great Mind Challenge (TGMC) contest, an Academic
Initiative of IBM.
Dr Geetha is a member of the Computer Society of India (CSI) and an invited member of International
Conference on Applicable Computer Science and Technology (ICACST). She is also credited for holding
a prominent role in forming the reviewers’ board in journals like IEEE Transactions on Information
Forensics and Security, Image Processing, Elsevier–Information Sciences, and International Journal of
Multimedia Tools and Applications, among others.
OBJECT ORIENTED ANALYSIS AND DESIGN
Using UML
D Jeya Mala
Associate Professor
Thiagarajar College of Engineering
Madurai, Tamil Nadu
Affiliated to Anna University
S Geetha
Associate Professor
Thiagarajar College of Engineering
Madurai, Tamil Nadu
Affiliated to Anna University
New Delhi
McGraw Hill Education (India) Private Limited
NEW DELHI
McGraw Hill Education Offices
New York St Louis San Francisco Auckland Bogotá Caracas
Kuala Lumpur Lisbon London Madrid Mexico City Milan Montreal
San Juan Santiago Singapore Sydney Tokyo Toronto
McGraw Hill Education (India) Private Limited
Published by McGraw Hill Education (India) Private Limited
P-24, Green Park Extension, New Delhi 110016
Object Oriented Analysis and Design—Using UML
Copyright © 2013 by McGraw Hill Education (India) Private Limited.
No part of this publication can be reproduced or distributed in any form or by any means, electronic, mechanical,
photocopying, recording, or otherwise or stored in a database or retrieval system without the prior written
permission of the publishers. The program listings (if any) may be entered, stored and executed in a computer
system, but they may not be reproduced for publication.
This edition can be exported from India only by the publishers,
McGraw Hill Education (India) Private Limited
ISBN (13) : 978-1-25900674-6
ISBN (10) : 1-25-900674-3
Vice President and Managing Director: Ajay Shukla
Head—Higher Education Publishing and Marketing: Vibha Mahajan
Publishing Manager—SEM & Tech. Ed.: Shalini Jha
Asst Sponsoring Editor: Smruti Snigdha
Editorial Researcher: Amiya Mahapatra
Copy Editor: Preyoshi Kundu
Manager—Production Systems: Satinder S Baveja
Sr Production Executive: Suhaib Ali
Asst General Manager—Higher Education Marketing: Vijay Sarathi
Sr Product Specialist: Tina Jajoriya
Sr Graphic Designer—Cover: Meenu Raghav
General Manager—Production: Rajender P Ghansela
Manager—Production: Reji Kumar
Information contained in this work has been obtained by McGraw Hill Education (India), from sources
believed to be reliable. However, neither McGraw Hill Education (India) nor its authors guarantee the accuracy
or completeness of any information published herein, and neither McGraw Hill Education (India) nor its
authors shall be responsible for any errors, omissions, or damages arising out of use of this information. This
work is published with the understanding that McGraw Hill Education (India) and its authors are supplying
information but are not attempting to render engineering or other professional services. If such services are
required, the assistance of an appropriate professional should be sought.
Typeset at Print-O-World, 2579, Mandir Lane, Shadipur, New Delhi 110 008, and printed at
Cover Printer :
Contents
Foreword xi
Preface xiii
1. Rational Unified Process 1
1.1 Basics of Software Development Process 2
1.2 Introduction to RUP 5
1.3 Components of Rational Unified Process 6
1.4 Life Cycle Phases of Unified Process Model 6
1.5 Application of Object Oriented Diagrams in RUP 11
Summary 12
Multiple-Choice Questions 13
Exercises 14
2. Rationale for Object Oriented Development 16
2.1 Structured Approach Versus Object Oriented Approach 17
2.2 Object Orientation in Software Development Process 20
2.3 Flavors of Object Orientation 22
2.4 Basic Entities In Object Orientation 23
2.5 Object Oriented Constructs 29
2.6 Factors Favoring the Choice of Object Oriented Development 37
Summary 41
Multiple-Choice Questions 45
Exercises 47
3. OOAD—Identification of Classes and Objects 48
3.1 Object Oriented Analysis of Problem Domain 49
3.2 Object Oriented Analysis Techniques for Classes and Objects Identification 53
3.3 Object Oriented Design of Problem Domain 62
3.4 Design Principles in Object Oriented Design 63
3.5 Design Patterns in Classes and Objects Identification and Refinement 65
Summary 79
Multiple-Choice Questions 81
Exercises 84
4. Modeling with UML 86
4.1 Analysis and Design Phase 87
4.2 Object Oriented Analysis and Design with UML 91
4.3 Visual Modeling 92
4.4 Systems of Graphical Notation 93
4.5
UML as an Effective Modeling Tool 95
4.6 Understanding UML Diagrams 97
4.7 Support for OOA and OOD 99
4.8 Presence of So Many Diagrams in UML 101
4.9 Scope of UML 101
Summary 104
Multiple-Choice Questions 105
Exercises 106
5. Object Oriented Analysis—Scenario-Based Models 108
5.1 Use Case Analysis 109
5.2 Primary Use Case Diagram 110
5.3 Secondary Use Case Diagram 111
5.4 Notations Used in Use Case Diagram 112
5.5 Purpose of Use Case Diagram 119
5.6 Guidelines to Draw Use Case Diagrams 120
Summary 129
Multiple-Choice Questions 130
Exercises 134
6. Object Oriented Design—Logical Model 136
6.1 UML Class Diagram 137
6.2 Basic Notations Used in Class Diagrams 138
6.3 Purpose 164
6.4 Guidelines for Constructing Class Diagram 164
Summary 170
Multiple-Choice Questions 171
Exercises 173
7. Interaction Diagrams 178
7.1 Interaction Diagrams 179
Summary 201
Multiple-Choice Questions 202
Exercises 204
8. Object Oriented Design—Behavioral Design 207
8.1 State Charts 208
8.2 Activity Diagrams 215
Summary 232
Multiple-Choice Questions 233
Exercises 235
Contents
9. Object Oriented Design—Physical Diagrams 236
9.1 Package Diagrams 237
9.2 Component Diagrams 244
9.3 Deployment Diagrams 251
Summary 258
Multiple-Choice Questions 259
Exercises 262
10. Object Oriented Development—Samples 264
10.1 Applying Classes and Objects in the Real World 265
10.2 IT Service Help Desk 265
10.3 Insurance Claim Management System 300
10.4 Workflow Management System 312
10.5 Desktop Application/Tool Development—Preclean Tool 342
References 361
Index 365
Contents
Foreword
It gives me immense pleasure in writing the foreword for this brilliant book on Object Oriented Analysis
and Design or OOAD, by my colleagues, who have been involved in on-field research and classroom
teaching experience for more than a decade. It is worth mentioning that this book is the outcome of
their dedicated work in this area down the years.
To write a book on a subject like OOAD requires skill and thorough knowledge. Being an
expert on the subject, Dr Jeya Mala and Dr Geetha have succeeded in compiling this book in a very
comprehensive manner, and at the same time, explained the theory by maintaining a student-friendly
approach throughout the book.
Object Oriented Analysis and Design Using UML discusses the concept of OOAD from its
elementary stage; beginning with a basic introduction on Rational Unified Process, followed by the
significance of object oriented development. With this as the backdrop, students are next introduced
to the object oriented analysis-based models. The latter chapters deal with more advanced concepts on
modeling using Unified Modeling Language (UML), object oriented development models, interaction
models, behavioral models, and physical models. The last chapter brings together all the topics and
concepts learnt with the help of case studies taken from real-life problems. This will help students get
acquainted with practical knowledge.
One of the highlights of Object Oriented Analysis and Design Using UML is the self-explanatory
feature of its diagrams and flow charts at every instance of theory. This is an advantage since it will
help students and programmers translate their ideas into meaningful codes and programs smoothly.
Detailed explanations of diagrams like use case diagrams and their advantages and weaknesses,
UML class diagram, sequence diagram, collaboration diagram along with activity diagram, package
diagram, component diagram, and deployment diagram will prove to be an extremely helpful guide
in understanding the concepts. This will consequently help system analysts present their software
development process accurately so that students and programmers can perform their coding effortlessly.
I am sure this book will act as a strong foundation for all Computer Science, Information Technology
and Computer Application students, and help teachers in nurturing an interest in the minds of the
students.
Wishing Dr Jeya Mala and Dr Geetha all the good luck and hope the venture proves to be a great
success!
Dr R Rajaram
Former Dean CSE/IT/MCA
Thiagarajar College of Engineering, Madurai
Preface
Introduction
In today’s world, computerized systems and software have grown to become inseparable; the latter
being the tool that drives the former. Sadly, software is not available naturally to everyone. People
have to write it, understand it, analyze it, use it, and update it for changes in future versions. It is this
intertwining aspect between the humans and the programming world that positions modeling complex
systems on levels of construction, that are higher than “normal” programming languages. This also
puts forth the need for methodologies to guide software engineers and programmers in coping with the
modeling process itself.
In order to devise a high-level modeling approach, an expert diagrammatic reasoning is required.
But explanations with the help of only diagrams or flow charts are not enough. Languages of diagrams
are equally important which can be understood with the help of computerized support for validation
and analysis.
Over the years, Structured Analysis (SA), and Object Oriented Analysis (OOA) have assumed a
prominent position in high-level approaches. SA was started in the late 1970s by DeMarco, Yourdon
and others, and is based on “lifting” classical procedural programming concepts up to the modeling
level graphically. The result calls for modeling system structure by functional decomposition and flow
of information, depicted by data flow diagrams. Object Oriented Analysis and Design (also known as
Object Oriented Modeling) came into existence in the late 1980s. The basic idea for system structure
was to “lift” concepts from object-oriented programming up to modeling level, graphically.
Over the last 78 years, object oriented methodologists have been meticulously working with each
other at close quarters. They have successfully formulated a general Unified Modeling Language
(UML), in the hope of bringing together the best of the various object oriented modeling approaches.
This is a breakthrough achievement since more and more software engineers can now claim more kinds
of software that are best developed and available in object oriented fashion.
For capturing system structure, the UML indeed adopts a diagrammatic language for classes
and objects that is based on the entity relationship approach. For early stage behavioral analysis, it
recommends use cases and utilizes sequence diagrams. For full constructive specification of behavior,
on the other hand, it adopts state charts, as modified in the aforementioned executable object modeling
work.
The recent wave of UML popularity will bring forth a stream of books, papers, reports, seminars and
tools describing, utilizing and elaborating upon the UML. Among the many books that are available in
the market, this book distinguishes itself by the way the ideas are organized and presented.
About the Book
Object Oriented Analysis and Design explains the subject with the help of UML while maintaining
the interest of the students through an innovative approach to the subject. The book is designed to
provide the readers with a set of chapters that they can grasp theoretically and also apply in the real
world. Systems analysis and design are activities that should take place in the context of object oriented
approach. The first four chapters set the development of information systems based on object oriented
paradigm, in this context.
Every chapter in the book begins with a concept map and learning objectives which provide a clear
picture of the topics that will follow in the subsequent pages along with pointing out their importance.
This is an added advantage since it sets a strong foundation and a perspective on the subject of object
orientation. The chapter-end questions are structured as Remember, Understand, Apply, Analysis and
Create to test students’ level of understanding. The worked out examples given in Chapter 10 will be
of great help to both students as well as course instructors. The knowledge gathered by both can be
applied to any application domain. The examples provided are not a closed set of example; instead
they have been selected from diverse company projects, thus, making it part of practical knowledge.
Therefore, the solutions provided can be used for any similar type of application. Altogether, these
features make this book a helpful, complete and comprehensive material in the object oriented method
of software development.
This book will prove to be an extremely helpful study material for students undertaking courses in
Computer Science, Information Technology and Computer Application. It will also be useful to those
who want to understand how business information systems are developed or programmers who want
to learn how the tools of UML help in design. Business analysts and clients who need to communicate
with the system developers on a daily basis can also refer to this book.
Object Oriented Analysis and Design Using UML deals with the most practical aspects of the UML
diagrams, role of each diagram, notations to draw them, and how to apply them using realistic case
studies. UML provides a common ground for business and technical professionals. The examples
and case studies given at appropriate places are very practical and useful for establishing a common
language. They also describe critical business systems by breaking down the diagrams, and clearly
explaining why and how they can be used.
Salient Features of the Book
Easy to read, compelling, and consistent language
In-depth coverage of all important topics like Software Development Life Cycle, Identification of
Objects and Classes, Object Oriented Diagrams, UML and its Applications
Practical approach applied in case studies, examples, and real-life situations
Concept map at the beginning of each chapter; enabling students to visualize the hierarchy of
concepts
Preface
Unique graded exercises
Categorized into Remember, Understand, Apply, and Analyze
Explains conversion of pseudo-code UML examples into programming examples
Chapter Organization
The book consists of 10 chapters. Chapter 1 introduces the reader to various software life cycle
developments, and specifically the significance of Rational Unified Process of developing software
and the related concepts. Chapter 2 points out the way OOA differentiates itself from SA, and the
rationale for the choice of object orientation, along with the classes, abstractions and the instances.
Chapter 3 explains how the real-world modeling is incorporated and also the OOA and OOD
portions of identifying classes and instances in a system. Chapter 4 gives an overall view of the
UML modeling tool, the support offered for object oriented-based software development compared
to that of other visual modeling tools. Chapters 5 to 8 discuss in detail the various diagramming
elements available in UML in a systematic way, i.e., the symbols available, the usage and application
of each notation. All these diagrams are explained with the help of case studies, which run throughout
the book. This gives a better and complete understanding of all the UML diagrams. Chapter 9 is
dedicated to discussing package diagram, component diagram, and deployment diagram with the help
of case studies. Chapter 10 is exclusively written to present four specific case studies varying from
desktop application, intranet-based application, client-server application, and of course, a web-based
application. These problems are picked up from real-time projects that will facilitate students during
their internship in various companies. The complete object oriented-based analysis and design of
these systems including the possible set of UML diagrams are also provided.
Web Supplements
Following supplements are available for students and instructors at
http://www.mhhe.com/jeya_mala/ooad
Rational Rose Tool Kit – Guide to use it for UML Diagrams (Integrated with book)
Chapter wise Quiz
Link to Reference Material
Case Studies
PowerPoint Slides
Link to authors’ video
Acknowledgements
We thank the following reviewers for providing us with invaluable support, ideas and suggestions:
Rajeev Pande University Institute of Technology, RGPV
Snehal Gandhi Sarvajanik College of Engineering & Technology, Surat, Gujarat
M Rajesh Babu Dr. NGP Institute of Technology, Coimbatore, Chennai
A Chitra Devi P S N Engineering College, Tirunelveli, Tamil Nadu
S Ramakrishnan Dr Mahalingam College of Engineering & Technology,
Pollachi, Tamil Nadu
Preface