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.

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.
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.
Informática II Prof. Dr. Gustavo Patiño MJ
2-1 © Prentice Hall, 2007 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Object Oriented Analysis and Design Using the UML
UML Class Diagram and Packages Written by Zvika Gutterman Adam Carmi.
Introduction to Object Modeling
Chapter 14 (Web): Object-Oriented Data Modeling
7M701 1 Class Diagram advanced concepts. 7M701 2 Characteristics of Object Oriented Design (OOD) objectData and operations (functions) are combined 
Class Diagram & Object Diagram
Page 1  Copyright © 1997 by Rational Software Corporation Class Diagrams A class diagram shows the existence of classes and their relationships in the.
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH 1 Object-Oriented Analysis and Design - CDT309 Period 4, Spring 2008 Object-oriented concepts.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
7M822 UML Class Diagrams advanced concepts 15 September 2008.
2-1 © Prentice Hall, 2004 Chapter 2: Introduction to Object Orientation (Adapted) Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra,
Chapter 14: Object-Oriented Data Modeling
UML Class Diagrams: Basic Concepts. Objects –The purpose of class modeling is to describe objects. –An object is a concept, abstraction or thing that.
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.
Object Oriented Analysis and Design Using the UML Version 4.2 Introduction to Object Orientation Prepared by:Kandarp R. Somaiya.
Page 1 What is the UML? UML stands for Unified Modeling Language The UML combines the best of the best from – Data Modeling concepts (Entity Relationship.
1 A Student Guide to Object- Orientated Systems Chapter 4 Objects and Classes: the basic concepts.
OBJECT AND CLASES: THE BASIC CONCEPTS Pertemuan 8 Matakuliah: Konsep object-oriented Tahun: 2009.
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.
Database Management System Prepared by Dr. Ahmed El-Ragal Reviewed & Presented By Mr. Mahmoud Rafeek Alfarra College Of Science & Technology Khan younis.
3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 3, Slide 1 February 20, 2004 Lecture 3: Introduction to Software Analysis and.
UML Diagrams: Class Diagrams The Static Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
CS3773 Software Engineering Lecture 04 UML Class Diagram.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 02. Objects,
© 2009 Pearson Education, Inc. Publishing as Prentice Hall 1 Chapter 15: Object-Oriented Data Modeling Modern Database Management 9 h Edition Jeffrey A.
CHAPTER 13: OBJECT-ORIENTED DATA MODELING (OVERVIEW) © 2013 Pearson Education, Inc. Publishing as Prentice Hall 1 Modern Database Management 11 th Edition.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 03. Classes,
The Static Analysis Model Class Diagrams Prof. Hany H. Ammar, CSEE, WVU, and Dept. of Computer Science, Faculty of Computers and Information, Cairo University.
UML Class Diagram Trisha Cummings. What we will be covering What is a Class Diagram? Essential Elements of a UML Class Diagram UML Packages Logical Distribution.
EC-241 Object-Oriented Programming LECTURE 9. Objectives: Introduction to Object Oriented Design Revise the basic principles of object orientation Unified.
What is a Structural Model?
Lecture 1: UML Class Diagram September 12, UML Class Diagrams2 What is a Class Diagram? A class diagram describes the types of objects in the system.
Object-Oriented Data Modeling
Design Model Lecture p6 T120B pavasario sem.
Relationships Relationships between objects and between classes.
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright  Rational Software, all rights reserved 1 Object Oriented Analysis.
Page 1  Copyright © 1997 by Rational Software Corporation Putting the UML to Work The ESU University wants to computerize their registration system –
Object Oriented Analysis and Design using the UML Use-Case Analysis Adapted by Dr. Spiegel from Slides Provided by Rational Software.
Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A.
Object Oriented Analysis and Design Using the UML
1 IBM Software Group ® Essentials of Visual Modeling with UML 2.0 Module 3: Concepts of Object Orientation.
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.
Object Modeling THETOPPERSWAY.COM. Object Modelling Technique(OMT)  Building a model of an application domain and then adding implementation.
Class Diagram Lecture # 1. Class diagram A Class Diagram is a diagram describing the structure of a system shows the system's classes Attributes operations.
COP 4331 – OOD&P Lecture 7 Object Concepts. What is an Object Programming language definition: An instance of a class Design perspective is different.
Concepts of Object Orientation lecture 1 –b. Objectives: Concepts of Object Orientation OOAD 2  Explain the basic principles of object orientation 
Software Modelling Class Diagram. Class Diagrams The main building block in object oriented modeling They are used both for general conceptual modeling.
2-1 © Prentice Hall, 2004 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
UML Diagrams: Class Diagrams The Static Analysis Model
Object-Oriented Modeling
Concepts of Object Orientation
UML SEQUENCE AND CLASS DIAGRAMS
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
Object Oriented Analysis and Design Using the UML Version 4.2
UML Class Diagrams: Basic Concepts
Object Oriented Analysis and Design Using the UML
Seminar 3 UML Class Diagram.
Lec 3: Object-Oriented Data Modeling
Object Oriented Analysis and Design Using the UML
Chapter 20 Object-Oriented Analysis and Design
Understand and Use Object Oriented Methods
Presentation transcript:

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

Object Oriented Design and Modelling Object Oriented Fundamentals. Objects and object classes. Object oriented design process. Importance of modelling. Principles of modelling. Object oriented modelling.

Objects Oriented Fundamentals Object Class Attribute Operation Interface (Polymorphism) Component Package Subsystem Relationships

Object An object is an entity that has a state and a defined set of operations which operate on that state. The state is represented as a set of object attributes. Informally, an object represents an entity, either physical, conceptual, or software. An object has an identity, a state, and a behavior. An object is a concept, abstraction, or thing with sharp boundaries and meaning for an application. Objects are entities in a software system which represent instances of real-world and system entities. Object is a particular instance of a class. Objects are created according to some object class definition.

Properties of Objects Object refers to an individual object. Each of object has a unique identity. even if all of its attribute values are the same The state of an object is composed of a set of fields (data fields), or attributes types or values. Each field has a name, a type, and a value. Behaviors means how an object acts an reacts. They are defined by methods. Each method has a name, a type, and a value. Each method may or may not return a value.

Properties of Objects Contd… Two objects are equal if their states are equal. Two objects are identical if they are the same objects. The values of the fields are mutable. Methods that do not modify the state of the object are called accessors. Methods that modify the state of the object are called mutators. Objects can be mutable or immutable.

Truck Chemical Process Linked List What is an Object? Informally, an object represents an entity, either physical, conceptual, or software Physical entity Conceptual entity Software entity

: Professor Professor Clark a + b = 10 ProfessorClark : Professor ProfessorClark Class Name Only Object Name Only Class and Object Name (stay tuned for classes) Representing Objects An object is represented as rectangles with underlined names Class name Only Object name Only Class and Object name

Interacting objects

Object Diagram with two instances

Object Classes Class (or object class) refers to a set of objects that share a common structure and a common behavior. A class is a description of a group of objects with common properties (attributes), behavior (operations), relationships, and semantics. Object classes are serve as templates for objects. They may be used to create objects. Object classes may inherit attributes and services from other object classes.

Properties of Object Classes A class defines -- the names and types of all fields the names, types, implementations of all methods The values of the fields are not defined or fixed in the class definition. The values of the fields are mutable. Each instance of the class has its own state. Different instances of the class may have different states. The implementations of methods are defined in the class definition and fixed for a given object. Values of methods are immutable

a + b = 10 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 Sample Class

Professor Professor Clark a + b = 10 Representing Classes A class is represented using a compartmented rectangle

Professor name empID create( ) save( ) delete( ) change( ) Class Name Attributes Operations Class Compartments A class is comprised of three sections The first section contains the class name The second section shows the structure (attributes) The third section shows the behavior (operations)

Objects Class Professor SmithProfessor JonesProfessor Mellon Professor 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 Objects are grouped into classes

Class Diagram with two classes

:CourseOffering number = 101 startTime = 900 endTime = 1100 :CourseOffering number = 104 startTime = 1300 endTime = 1500 CourseOffering number startTime endTime Class Attribute Object Attribute Value What is an Attribute?

CourseOffering addStudent deleteStudent getStartTime getEndTime Class Operation What is an Operation?

Manufacturer A Manufacturer B Manufacturer C OO Principle: Encapsulation What is Polymorphism? The ability to hide many different implementations behind a single interface

TubePyramidCube Shape Draw Move Scale Rotate > Realization relationship What is an Interface? Interfaces formalize polymorphism Interfaces support “plug-and-play” architectures

TubePyramidCube Shape Draw Move Scale Rotate > TubePyramidCube Shape Elided/Iconic Representation (“lollipop”) Canonical (Class/Stereotype) Representation (stay tuned for realization Interface Representations

Source File Name > Executable Name OO Principle: Encapsulation What is a Component? A non-trivial, nearly independent, and replaceable part of a system that fulfills a clear function in the context of a well-defined architecture A component may be A source code component A run time components or An executable component > Component Name Component Interface

Package Name OO Principle: Modularity What is a Package? A package is a general purpose mechanism for organizing elements into groups A model element which can contain other model elements Uses Organize the model under development A unit of configuration management

OO Principles: Encapsulation and Modularity > Subsystem Name Interface Realization Subsystem What is a Subsystem? A combination of a package (can contain other model elements) and a class (has behavior) Realizes one or more interfaces which define its behavior

Component Name Design ModelImplementation Model > Component Name Component Interface OO Principles: Encapsulation and Modularity Subsystems and Components Components are the physical realization of an abstraction in the design Subsystems can be used to represent the component in the design

Relationships Association Aggregation Composition Dependency Generalization Realization

Professor University Works for Class Association Association Name ProfessorUniversity EmployerEmployee Role Names Relationships: Association Models a semantic connection among classes

StudentSchedule Whole Aggregation Part Relationships: Aggregation A special form of association that models a whole-part relationship between an aggregate (the whole) and its parts

StudentSchedule Whole Aggregation Part Relationships: Composition A form of aggregation with strong ownership and coincident lifetimes The parts cannot survive the whole/aggregate

Association: Multiplicity and Navigation Multiplicity defines how many objects participate in a relationships The number of instances of one class related to one instance of the other class Specified for each end of the association Associations and aggregations are bi-directional by default, but it is often desirable to restrict navigation to one direction If navigation is restricted, an arrowhead is added to indicate the direction of the navigation

Association: Multiplicity * 0..* 1 * Unspecified Exactly one Zero or more (many, unlimited) One or more Zero or one Specified range Multiple, disjoint ranges 2, 4..6

StudentSchedule 10..* Multiplicity Navigation Example: Multiplicity and Navigation

ClientSupplier Package ClientPackageSupplierPackage Client Supplier Class Dependency relationship Component Relationships: Depend ency A relationship between two model elements where a change in one may cause a change in the other Non-structural, “using” relationship

Relationships: 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 Generalization is an “is-a-kind of” relationship

Account balance name number Withdraw() CreateStatement() Checking Withdraw() Savings GetInterest() Withdraw() Superclass (parent) Subclasses Generalizatio n Relationship Ancestor Descendents Example: Single Inheritance One class inherits from another

AirplaneHelicopterWolfHorse FlyingThingAnimal Bird multiple inheritance Use multiple inheritance only when needed, and always with caution ! Example: Multiple Inheritance A class can inherit from several other classes

Component Interface Use CaseUse-Case Realization Elided form Class Interface Subsystem Interface Canonical form Relationships: Realization One classifier serves as the contract that the other classifier agrees to carry out Found between: Interfaces and the classifiers that realize them Use cases and the collaborations that realize them

Any Queries?????

Thank You