Concepts of Object Orientation

Slides:



Advertisements
Similar presentations
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Advertisements

1 OBJECT-ORIENTED CONCEPTS. 2 What is an object?  An object is a software entity that mirrors the real world in some way.  A software object in OOP.
Informática II Prof. Dr. Gustavo Patiño MJ
Mastering Object-Oriented Analysis and Design with UML Module 2: Concepts of Object Orientation.
CIT731: Database Development Object Oriented Modeling (OOM)
Solutions to Review Questions. 4.1 Define object, class and instance. The UML Glossary gives these definitions: Object: an instance of a class. Class:
Unified Modeling Language
OOAD Placement Training 1 Prepared by G.Naveen Sundar, Karunya University.
Introduction To System Analysis and Design
Object Oriented Analysis and Design Using the UML
Slide 1 Systems Analysis & Design CS183 Spring Semester 2008 Dr. Jonathan Y. Clark Course Website:
WEL COME PRAVEEN M JIGAJINNI PGT (Computer Science) MCA, MSc[IT], MTech[IT],MPhil (Comp.Sci), PGDCA, ADCA, Dc. Sc. & Engg.
The chapter will address the following questions:
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.
1 Data Modeling : ER Model Lecture Why We Model  We build models of complex systems because we cannot comprehend any such system in its entirety.
11 1 Object oriented DB (not in book) Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Learning objectives: What.
Design Patterns OOD. Course topics Design Principles UML –Class Diagrams –Sequence Diagrams Design Patterns C#,.NET (all the course examples) Design Principles.
GENERAL CONCEPTS OF OOPS INTRODUCTION With rapidly changing world and highly competitive and versatile nature of industry, the operations are becoming.
BCS 2143 Introduction to Object Oriented and Software Development.
Welcome to OBJECT ORIENTED PROGRAMMIN Date: 10/09/2014 Prepared By Prepared By : VINAY ALEXANDER PGT(CS) KV jhagrakhand.
O BJECT O RIENTATION F UNDAMENTALS Prepared by: Gunjan Chhabra.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 18. Review User interface Design principles Design Guidelines.
CS 360 Lecture 6.  A model is a simplification of reality  We build models to better understand the system being developed.  We build models of complex.
3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 3, Slide 1 February 20, 2004 Lecture 3: Introduction to Software Analysis and.
Introduction To System Analysis and Design
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.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 02. Objects,
EC-241 Object-Oriented Programming LECTURE 9. Objectives: Introduction to Object Oriented Design Revise the basic principles of object orientation Unified.
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.
Design Model Lecture p6 T120B pavasario sem.
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.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 01. Concepts.
1 IBM Software Group ® Essentials of Visual Modeling with UML 2.0 Module 7: Other UML Diagrams.
Business Applications with Object-Oriented Paradigm (Modeling Concepts) Professor Chen School of Business Gonzaga University Spokane, WA
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.
Lecture 2: Review of Object Orientation. © Lethbridge/La ganière 2005 Chapter 2: Review of Object Orientation What is Object Orientation? Procedural.
Fundamentals of Visual Modeling with UML Module 1: Introduction to Object Technology.
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 
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.
Welcome to OBJECT ORIENTED PROGRAMMING Prepared By Prepared By : VINAY ALEXANDER PGT(CS) KV jhagrakhand.
Introduction to OOAD and UML
GOVT. ENGINEERING COLLEGE, AJMER. A SEMINAR PRESENTATION ON UNIFIED MODELING LANGUAGE(UML) SUBMITTED TO:-PRESENTED BY:- Dr. REENA DADHICHPALLAVI VASHISTHA.
Object Oriented Programming
Software Engineering Lecture 4 System Modeling The Analysis Stage.
Sachin Malhotra Saurabh Choudhary
The Movement To Objects
Systems Analysis and Design
Course Outcomes of Object Oriented Modeling Design (17630,C604)
CHAPTER 5 GENERAL OOP CONCEPTS.
Object-Oriented Analysis and Design
Programming in Java Sachin Malhotra, Chairperson, PGDM-IT, IMS Ghaziabad Saurabh Chaudhary, Dean, Academics, IMS Ghaziabad.
Object Oriented Programming
Object Oriented Concepts -I
Today’s Objectives Define the Problem Domain
Object Oriented Analysis and Design Using the UML
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
Appendix A Object-Oriented Analysis and Design
Chapter 6: Structured Vs. Object Oriented Analysis and Design.
ITEC 3220A Using and Designing Database Systems
Agenda Software development (SD) & Software development methodologies (SDM) Orthogonal views of the software OOSD Methodology Why an Object Orientation?
Presentation transcript:

Concepts of Object Orientation

What Is Object Technology? A set of principles guiding software construction together with languages, databases, and other tools that support those principles. Object-oriented technology (OOT) is a software design model in which objects contain both data and the instructions that work on the data. OOAD

Best Practices Implementation Object technology helps implement these Best Practices. Develop Iteratively: tolerates changing requirements, integrates elements progressively, facilitates reuse. Model Visually: easy understanding, easy modification. OOAD

Strengths of Object Technology Provides a single paradigm A single language used by users, analysts, designers, and implementers Facilitates architectural and code reuse Models more closely reflect the real world More accurately describes corporate entities Decomposed based on natural partitioning Easier to understand and maintain Provides stability A small change in requirements does not mean massive changes in the system under development Is adaptive to change OOAD

What Is a Model? A model is a simplification of reality. OOAD

Why Do We Model? We build models to better understand the system we are developing. Modeling achieves four aims. It: Helps us to visualize a system as we want it to be. Permits us to specify the structure or behavior of a system. Gives us a template that guides us in constructing a system. Documents the decisions we have made. We build models of complex systems because we cannot comprehend such a system in its entirety. OOAD

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

A More Formal Definition Attributes 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 OOAD

An Object Has State The state of an object is one of the possible conditions in which the object may exist. The state of an object normally changes over time. Name: J Clark Employee ID: 567138 HireDate: 07/25/1991 Status: Tenured Discipline: Finance MaxLoad: 3 Name: J Clark Employee ID: 567138 Date Hired: July 25, 1991 Status: Tenured Discipline: Finance Maximum Course Load: 3 classes Professor Clark OOAD

An Object Has Behavior Behavior determines how an object acts and reacts. The visible behavior of an object is modeled by the set of messages it can respond to (operations the object can perform). AcceptCourseOffering() SubmitFinalGrades() Professor Clark’s behavior Submit Final Grades Accept Course Offering Take Sabbatical Maximum Course Load: 3 classes SetMaxLoad() TakeSabbatical() Professor Clark OOAD

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 Professor “J Clark” teaches Biology OOAD

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

Basic Principles of Object Orientation Abstraction Encapsulation Modularity Hierarchy OOAD

Defines a boundary relative to the perspective of the viewer What Is Abstraction? The essential characteristics of an entity that distinguish 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 OOAD

Example: Abstraction Student Professor Course Offering (9:00 AM, Monday-Wednesday-Friday) Course (e.g., Algebra) OOAD

What Is Encapsulation? Hide implementation from clients. Clients depend on interface. Improves Resiliency OOAD

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

What Is Modularity? Modularity is the breaking up of something complex into manageable pieces. Modularity helps people to understand complex systems. OOAD

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

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

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. Class + attribute + operation() OOAD

Representing Classes in the UML A class is represented using a rectangle with compartments. Professor name employeeID : UniqueID hireDate status discipline maxLoad + submitFinalGrade() + acceptCourseOffering() + setMaxLoad() + takeSabbatical() Professor J Clark OOAD

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 Torpie Professor Meijer Professor Allen OOAD

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

What Is an Operation? An operation is the implementation of a service that can be requested from any object of the class to affect behavior. A class may have any number of operations or none at all. Student + getTuition() + addSchedule() + getSchedule() + deleteSchedule() + hasPrerequisites() Operations OOAD

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

Example: Polymorphism shapeArea.getCurrentValue() getCurrentValue() getCurrentValue() getCurrentValue() Square Circle Triangle OOAD