Siêu thị PDFTải ngay đi em, trời tối mất

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
PREMIUM
Số trang
388
Kích thước
7.7 MB
Định dạng
PDF
Lượt xem
1866

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

Tải ngay đi em, còn do dự, trời tối mất!