1 IBM Software Group ® Essentials of Visual Modeling with UML 2.0 Module 3: Concepts of Object Orientation.

Slides:



Advertisements
Similar presentations
Informática II Prof. Dr. Gustavo Patiño MJ
Advertisements

Mastering Object-Oriented Analysis and Design with UML Module 2: Concepts of Object Orientation.
Object-oriented modeling Class/Object Diagrams
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
1 Generalizations Multiple Inheritance (finishing up Class Design) Class Design – Another Look – Part 11.
Solutions to Review Questions. 4.1 Define object, class and instance. The UML Glossary gives these definitions: Object: an instance of a class. Class:
Informática II Prof. Dr. Gustavo Patiño MJ
Object-Oriented Analysis and Design
2-1 © Prentice Hall, 2007 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
L3-1-S1 OO Concepts © M.E. Fayad SJSU -- CMPE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room.
Object Oriented Analysis and Design Using the UML
Slide 1 Systems Analysis & Design CS183 Spring Semester 2008 Dr. Jonathan Y. Clark Course Website:
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4 th Ed Chapter Chapter 1 Introduction to Object-Oriented Programming.
Object Oriented Concepts. Movement toward Objects Instead of data-oriented or process-oriented Analysis, many firms are now moving to object-oriented.
Sharif University of Technology Session # 7.  Contents  Systems Analysis and Design  Planning the approach  Asking questions and collecting data 
UML Class Diagrams: Basic Concepts. Objects –The purpose of class modeling is to describe objects. –An object is a concept, abstraction or thing that.
BACS 287 Basics of Object-Oriented Programming 1.
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright  Rational Software, all rights reserved 1 Object Oriented Analysis.
Shanghai Jiao Tong University 上海交通大学软件工程中心 Object Oriented Analysis and Design Introduction to Object Technology.
Chapter 13 (Online): Object-Oriented Databases
Object Oriented Analysis and Design Using the UML Version 4.2 Introduction to Object Orientation Prepared by:Kandarp R. Somaiya.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter Chapter 1 Introduction to Object-Oriented Programming and.
BCS 2143 Introduction to Object Oriented and Software Development.
OBJECT ORIENTED PROGRAMMING CONCEPTS ISC 560. Object-oriented Concepts  Objects – things names with nouns  Classes – classifications (groups) of similar.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 18. Review User interface Design principles Design Guidelines.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 3, Slide 1 February 20, 2004 Lecture 3: Introduction to Software Analysis and.
11 Chapter 11 Object-Oriented Databases Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
1 Object-Oriented Systems Development Bahrami © Irwin/ McGraw-Hill Chapter 2: Object Basics Object-Oriented Systems Development Using the Unified Modeling.
CS3773 Software Engineering Lecture 04 UML Class Diagram.
NI ©UNITEN 2000/01 1 Faculty of Applied Engineering and Urban Planning Software Engineering Department Class Diagram Faculty of Information system Technology.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 02. Objects,
Unit 3 Conceptual Data Modeling. Key Concepts Conceptual data modeling process Classes and objects Attributes Identifiers, candidate keys, and primary.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 03. Classes,
EC-241 Object-Oriented Programming LECTURE 9. Objectives: Introduction to Object Oriented Design Revise the basic principles of object orientation Unified.
BCS 2143 Object Oriented Design Using UML. Objectives Objects Interactions Finding Classes Relationship Between Classes Attribute and Operation Class.
Object Oriented Analysis & Design Using UML (CS-512) M-Tech CSE (Ist & 3rd Sem) Part Time Mr. Pawan Luthra Assistant Professor (CSE Deptt.) SBSSTC, Ferozepur.
Kal Bugrara, Ph.DSoftware Engineering Northeastern University Fundamentals Of Software Engineering Lecture V.
ITEC 3220A Using and Designing Database Systems Instructor: Prof Z. Yang Course Website: 3220a.htm
Chapter 6 Introduction to Defining Classes. Objectives: Design and implement a simple class from user requirements. Organize a program in terms of a view.
ITEC 3220A Using and Designing Database Systems Instructor: Gordon Turpin Course Website: Office: CSEB3020.
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright  Rational Software, all rights reserved 1 Object Oriented Analysis.
1 IBM Software Group ® Essentials of Visual Modeling with UML 2.0 Module 7: Other UML Diagrams.
Chapter 16 UML Class Diagrams 1CS6359 Fall 2012 John Cole.
Object Oriented Analysis and Design Using the UML
Didik Dwi h t t p : / / b l o g. e l e k t r o. u m. a c. i d / d i d i k Object Oriented Software Engineering.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix A Object-Oriented Analysis and Design A.1.
Concepts of Object Orientation lecture 1 –b. Objectives: Concepts of Object Orientation OOAD 2  Explain the basic principles of object orientation 
Modeling Your Application, Data or Service Creating Your UML Model.
Course Number: 1080 Session Length:60 Minutes Target Audience:caDSR Users and Metadata Consumers Trainer: Jennifer Brush NCICB Liaison.
Sadegh Aliakbary Sharif University of Technology Fall 2010.
2-1 © Prentice Hall, 2004 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Appendix 3 Object-Oriented Analysis and Design
Object-Oriented Modeling
The Movement To Objects
Systems Analysis and Design
Object-Oriented Analysis and Design
Concepts of Object Orientation
Today’s Objectives Define the Problem Domain
UML Class Diagrams: Basic Concepts
Object Oriented Analysis and Design Using the UML
Object Oriented Analysis and Design Using the UML
Chapter 20 Object-Oriented Analysis and Design
Appendix A Object-Oriented Analysis and Design
ITEC 3220A Using and Designing Database Systems
Appendix A Object-Oriented Analysis and Design
Appendix A Object-Oriented Analysis and Design
Presentation transcript:

1 IBM Software Group ® Essentials of Visual Modeling with UML 2.0 Module 3: Concepts of Object Orientation

2 Objectives  Describe abstraction, encapsulation, modularity, and hierarchy.  Describe the physical structure of a class.  Describe the relationship between a class and an object.  Define polymorphism and generalization.

3 Where Are We?  What is an object?  Four principles of OO  What is a class?  Polymorphism and generalization  Organizing model elements

4  Informally, an object represents an entity, either physical, conceptual, or software.  Physical entity  Conceptual entity  Software entity Truck Chemical Process Linked List What Is an Object?

5 A More Formal Definition  An object is an entity with a well-defined boundary and identity that encapsulates state and behavior.  State is represented by attributes and relationships.  Behavior is represented by operations, methods, and state machines. Object Operations Attributes

6 An Object Has State  State is a condition or situation during the life of an object, which satisfies some condition, performs some activity, or waits for some event.  The state of an object normally changes over time. Name: J Clark Employee ID: Date Hired: July 25, 1991 Status: Tenured Discipline: Finance Maximum Course Load: 3 classes Name: J Clark Employee ID: HireDate: 07/25/1991 Status: Tenured Discipline: Finance MaxLoad: 3 Professor Clark

7 An Object Has Behavior  Behavior determines how an object acts and reacts.  The visible behavior of an object is modeled by a set of messages it can respond to (operations that the object can perform). Professor Clark’s behavior Submit Final Grades Accept Course Offering Take Sabbatical Set Max Load Subm itFinalGrades() AcceptCourseOffering() TakeSabbatical() Professor Clark SetMaxLoad()

8 An Object Has Identity  Each object has a unique identity, even if the state is identical to that of another object. Professor “J Clark” teaches Biology

9 Where Are We?  What is an object?  Four principles of OO  What is a class?  Polymorphism and generalization  Organizing model elements

10 Basic Principles of Object Orientation Abstraction Hierarchy Object Orientation Encapsulation Modularity

11 What Is Abstraction?  The essential characteristics of an entity that distinguishes it from all other kinds of entities.  Defines a boundary relative to the perspective of the viewer.  Is not a concrete manifestation, denotes the ideal essence of something.

12 Example: Abstraction StudentProfessor Course Offering (9:00 a.m., Monday-Wednesday-Friday) Course (e.g. Algebra)

13 What Is Encapsulation? Improves Resiliency  Hides implementation from clients.  Clients depend on interface.

14 Encapsulation Illustrated  Professor Clark needs to be able to teach four classes in the next semester. SubmitFinalGrades() AcceptCourseOffering() TakeSabbatical() Professor Clark SetMaxLoad() Name: J Clark Employee ID: HireDate: 07/25/1991 Status: Tenured Discipline: Finance MaxLoad:4 SetMaxLoad(4)

15 What Is Modularity?  Breaks up something complex into manageable pieces.  Helps people understand complex systems.

16 Example: Modularity  For example, break complex systems into smaller modules. Billing System Course Registration System Course Catalog System Student Management System

17 What Is Hierarchy? Decreasing abstraction Increasing abstraction Asset RealEstate Savings BankAccount CheckingStock Security Bond Elements at the same level of the hierarchy should be at the same level of abstraction.

18 Representing Objects in the UML  An object is represented as a rectangle with an underlined name. J Clark : Professor : Professor Named Object Anonymous Object Professor J Clark

19 Where Are We?  What is an object?  Four principles of OO  What is a class?  Polymorphism and generalization  Organizing model elements

20 What Is a Class?  A class is a description of a set of objects that share the same attributes, operations, relationships, and semantics.  An object is an instance of a class.  A class is an abstraction in that it  Emphasizes relevant characteristics.  Suppresses other characteristics.

21 A Sample Class Class Course Properties Name Location Days offered Credit hours Start time End time Behavior Add a student Delete a student Get course roster Determine if it is full

22 Representing Classes in the UML  A class is represented using a rectangle with three compartments:  The class name  The structure (attributes)  The behavior (operations) Professor - name - employeeID : UniqueId - hireDate - status - discipline - maxLoad + submitFinalGrade() + acceptCourseOffering() + setMaxLoad() + takeSabbatical() + teachClass()

23 The Relationship between Classes and Objects  A class is an abstract definition of an object.  It defines the structure and behavior of each object in the class.  It serves as a template for creating objects.  Classes are not collections of objects. Professor Professor Meijer Professor Torpie Professor Allen

24 What Is an Attribute?  An attribute is a named property of a class that describes the range of values that instances of the property may hold.  A class may have any number of attributes or no attributes at all. Attributes Student - name - address - studentID - dateOfBirth

25 Attributes in Classes and Objects Class Objects Student - name - address - studentID - dateOfBirth :Student - name = “M. Modano” - address = “123 Main St.” - studentID = 9 - dateOfBirth = “03/10/1967” :Student - name = “D. Hatcher” - address = “456 Oak Ln.” - studentID = 2 - dateOfBirth = “12/11/1969”

26 What Is an Operation?  A service that can be requested from an object to effect behavior. An operation has a signature, which may restrict the actual parameters that are possible.  A class may have any number of operations or none at all. Operations Student + get tuition() + add schedule() + get schedule() + delete schedule() + has prerequisites()

27 Where Are We?  What is an object?  Four principles of OO  What is a class?  Polymorphism and generalization  Organizing model elements

28 What Is Polymorphism?  The ability to hide many different implementations behind a single interface. Manufacturer A Manufacturer B Manufacturer C OO Principle: Encapsulation Remote Control

29 Example: Polymorphism StockBondMutual Fund getCurrentValue() financialInstrument.getCurrentValue() getCurrentValue()

30 What Is Generalization?  A relationship among classes where one class shares the structure and/or behavior of one or more classes.  Defines a hierarchy of abstractions in which a subclass inherits from one or more superclasses.  Single inheritance.  Multiple inheritance.  Is an “is a kind of” relationship.

31 Example: Single Inheritance  One class inherits from another. Checking Savings Superclass (parent) Subclasses (children) Generalization Relationship Ancestor Account - balance - name - number + withdraw() + createStatement() Descendents

32 Example: Multiple Inheritance  A class can inherit from several other classes. Use multiple inheritance only when needed and always with caution! FlyingThingAnimal HorseWolfBirdHelicopterAirplane Multiple Inheritance

33 What Is Inherited? Inheritance leverages the similarities among classes.  A subclass inherits its parent’s attributes, operations, and relationships.  A subclass may:  Add additional attributes, operations, relationships.  Redefine inherited operations. (Use caution!)  Common attributes, operations, and/or relationships are shown at the highest applicable level in the hierarchy.

34 Where Are We?  What is an object?  Four principles of OO  What is a class?  Polymorphism and generalization  Organizing model elements

35  A general purpose mechanism for organizing elements into groups.  A model element that can contain other model elements.  A package can be used:  To organize the model under development.  As a unit of configuration management. What Is a Package? University Artifacts

36 A Package Can Contain Classes  The package, University Artifacts, contains one package and five classes. University Artifacts CourseOffering Schedule Professor CourseStudent Artifacts

37 Diagram Depiction  Each diagram has a frame, a heading compartment in the upper left corner, and a contents area.  If the frame provides no additional value, it may be omitted and the border of the diagram area provided by the tool will be the implied frame.

38 Review  What is an object?  What are the four principles of object orientation? Describe each.  What is a class? How are classes and objects related?  What is an attribute? An operation?  Define polymorphism. Provide an example of polymorphism.  What is generalization?  Why use packages?

39 Exercise: Principles of Object Orientation  The “OO Quiz Show” Rules  Everyone in the class is assigned a number.  The instructor displays a question.  The instructor calls out a number.  If the student answers the question correctly, the class continues to the next question.  If the student does not answer the question correctly, the class goes back to the beginning.  The game is over when all questions have been answered correctly.

40