SlideShare a Scribd company logo
T.Y.B.Sc.(Comp. Sci.) Sem. I
Object Oriented Software Engineering
(OOSE)
CS-336
Faculty
Dr. Amit D. Kasliwal
Asst. Professor
Chapter 1
Object Oriented Concepts and Principles
 The Software Engineering is a systematic approach to the design,
development, operation and maintenance of a software.
 Series of processes, if followed can lead to development of a software.
 Based on functions or procedures with limited reusability of
programming structure.
 And sometimes also referred to as Traditional Software engineering.
 The size and complexity of software is increasing day by day.
 And traditional software engineering may not be effectively applicable.
 So we want to simplify the development process and to produce high
quality maintainable software to fulfill user requirements.
What is Object Orientation ?
 Object Orientation is viewing and modeling the real world entities as a
collection of interacting and interrelated objects.
 An object is a real world entity or element in an object oriented
environment that encapsulates (combine) data and the functionalities
to model real world.
 Object may have a physical or a conceptual existence such a,
 That distinguishes it from other objects.
 That determines the characteristic or properties as well as the values
of the properties that the object holds.
 That represents externally visible activities performed by an object
in terms of changes in its state.
 Objects can be modeled according to the needs of the application.
 In Object oriented environment, the software is developed by building
self modeled objects that can be easily replaced and reused.
 Object orientation encourage the world to view a software as a
cooperative and collaborating objects.
 An object is an entity that save it’s state (data) and offers several
methods (behaviors) to either examine or affect this states.
What is Object Orientation ?
 A Class represents a collection of objects having same characteristic or
properties that follows common behavior.
 Blueprint or description of the objects that can be created from it.
 Creation of an object as a part (member ) of a class is called instantiation.
That is “object is an instance of a class.”
 A set of objects with similar behavior & data/information may constitute
a class.
 In general, different objects of a class have some difference in the values
of the attributes.(and attributes are often referred as class data)
 A set of methods refers the behavior of the objects of the class.
 Let us consider a class named Book, with attribute subjectdescriptor ,
ISBN, booktitle , language, authorname , publisher and so on. Some of
its operations like addbook(), deletebook(), updatebook() & viewbook().
What is Object Orientation ?
What is Object Orientation ?
 So we can say, object orientation relies on two aspects i.e. Information
and Behavior.
 Information has a unique identity.
 It has a description of its structure used to create it.
 And has state to represent its current condition.
 Behavior is to answers the questions like,
 What can an object do?
 What we can do with the object?
 How a object can be use?
What is Object Orientation ?
 In Object orientation approach, encapsulation, polymorphism and
inheritance concepts as used.
 Encapsulation is the process of hiding information by combining the
data and operations.
 It allows to access the data only through the that operations which are
designed to operate on the data.
 Its keeps data safe and secure from external interventions.
What is Object Orientation ?
 Polymorphism is originally a Greek word that means the ability to take
multiple forms. The dictionary meaning is “many forms”.
 In object oriented, polymorphism implies using operations in different
ways, depending upon the instance they are operating upon.
 Like in the real world, the same operations may have different
meanings in different situations.
 Same data is sent to different objects irrespective of their class, but the
responses of objects may be different.
 Polymorphism allows objects with different internal structures to have
a common external interface.
 Polymorphism is particularly effective while implementing inheritance.
What is Object Orientation ?
 In object orientation, Inheritance allows creating new classes from
existing classes by extending and refining its capabilities.
 The existing classes are called the base / parent / super classes, and the
new classes are called the derived / child / sub classes.
 The subclass can inherit or derive the attributes and methods of the
super class /classes provided that the super-class allows so.
 Beside this, the subclass may add its own attributes and methods and
may modify any of the super-class methods.
 Following are the inheritance type.
 Single Inheritance Multiple Inheritance
 Multilevel Inheritance Hierarchical Inheritance
 Hybrid Inheritance
What is Object Orientation ?
What is Object Orientation ?
Object Oriented System Development
 In order to develop a system / software, a systematic approach should be
adopted satisfying two viewpoint, Internal and External
 In Internal viewpoint, everything about the software (from the developer
view) has to be maintain so that it can be easily modify, extend & reuse.
 With External viewpoint (From the user view), it has to be accurate in
result generation, reliable and easy to learn and adopt.
 And thus to satisfy the individual's viewpoint the , A use case driven
approach (Considering Object Orientation in the center) of software
engineering was prepared referred as Object Oriented Software
Development(OOSD) having SDLC consisting of three phases.
 Object Oriented analysis (OOA), Object Oriented Design (OOD) and
Object Oriented Construction (OOC)
Object Oriented System Development
 Object Oriented Analysis in OOSD concerned with determining the
system requirement, identifying classes and relationships between
classes in the required domain.
 OOA also identifies users (actors) and how they use the software.
 It always consider the scenario to help the analyst to understand the
requirements as mentioned by the end user.
 According the Ivor Jacobson, OOA works with use case diagram to
understand the scenario to describe end user’s interaction with
software.
 It helps in determining who does what in the interaction among objects
and what role end users plays by using their relationship.
 OOA supports collaboration that describes the interaction among
objects to achieve given goal.
Object Oriented Analysis
 In OOA, three analysis techniques Object modeling, Dynamic
modeling, and functional modeling are used.
 Object Modeling develops the static structure of the software in terms
of objects.
 It identifies the objects, the classes into which the objects can be
grouped into and the relationships between the objects.
 It also identifies the main attributes & operations of each class.
 It can be visualized in the following steps −
 Identify objects and group into classes and their relationships
 Define user object attributes
 Define the operations that should be performed on the classes
 Review glossary
Object Oriented Analysis
 Functional Modeling is the final component of OOA.
 It shows the processes that are performed within an object and how the
data changes as object moves between methods.
 It specifies the meaning of the operations of object modeling and the
actions of dynamic modeling.
 It corresponds to the data flow diagram of traditional analysis process.
 It has the following steps −
 Identify all the inputs and outputs
 Construct data flow diagrams showing functional dependencies
 State the purpose of each function
 Identify constraints
 Specify optimization criteria
Object Oriented Analysis
 In Dynamic Modeling, software’s behavior with respect to time and
external changes are prepared after the static behavior is analyzed.
 It is a way of describing how an individual object responds to events,
either internal events triggered by other objects, or external events
triggered by the outside world.
 It has following steps −
 Identify states of each object
 Identify events and analyze the applicability of actions
 Construct dynamic model diagram, comprising of state transition
diagrams
 Express each state in terms of object attributes
 Validate the state–transition diagrams drawn
Object Oriented Analysis
 The analysis model is not sufficiently formal but still we follows the
OOA to develop a software.
 Constructed software must be adapted to the implementation
environment such that it validate the analysis result.
 OOC phase use to identify the implementation environment.
 It helps in identifying and investigating the consequences that the
implementation environment will have after design.
 It incorporate conclusions and develop a first approach of a design
model.
 OOC uses process combining sub processes of designing, building
Model.
 It redefine the analysis model in the light of the actual implementation.
Object Oriented Construction
 In OOC, designing model decide how different issues such as DBMS,
programming language features, and distribution will be handled.
 It compose of blocks of code which are specific to class.
 In the Building model of OOC, developers attempt to implement
analysis model using programming language.
 It is used obtain a clear traceability to the analysis model.
 It works for final structure that should reflect how the implementation
environment has affected construction.
 E.g. if the programming language does not support inheritance, the
model must reflect how the inheritance is really implemented.
Object Oriented Construction
Development
Identifying the Classes and Object
 When we look around the problem of a software application, the objects
may be more difficult to comprehend.
 We can identify objects by examining the problem statement given for
the software with performing grammatical parse.
 Objects are determined by underlining each noun or noun clause and
entering it in a simple table. Also synonyms should be noted.
 If the object is required to implement a solution, then it is part of the
solution space.
 Objects can be External entities (e.g., other systems, devices, people) ,
Things (e.g., reports, displays, letters, signals), Occurrences or events
(e.g., a property transfer or the completion of a series of robot
movements), Roles (e.g., manager, engineer, salesperson), Organizational
units (e.g., division, group, team), Places (e.g., manufacturing floor or
loading dock) or Structures (e.g., sensors, four-wheeled vehicles, or
computers).
 The analysis process starts with the identification of a set of conceptual
classes – the categories of things which are of significance in the system
domain. A good understanding of the system domain is important.
 A class in a model is thing that represents a category of real-world entities
from the system domain.
 Although these may be tangible real world things, they may also be
intangible things such as events, roles and organizational units.
 The software developer often gains this through discussion with user.
 Possible classes for inclusion may thus emerge during the course of the
requirements process.
 However, there are a number of other techniques that you can use to help
identify appropriate classes from a requirements document.
 Inappropriately chosen classes may add complexity to later phases of the
development and could make the software difficult to maintain and/or
extend.
Identifying the Classes and Object
Classes and Object
Specifying the Attributes (With Visibility)
 Attributes describe an object that has been selected for inclusion in the
analysis model.
 It is the attributes that define the object clarifying what is meant by the
object in the context of the domain.
 To specify a meaningful set of attributes for an object, the analyst can
again study the requirement for the problem and select those things
that reasonably "belong" to the object.
 In addition, it must be the answered of the question "What data items
define this object in the context of the problem?"
 Each of the data items in the block could be
further defined to an elementary level, but
for our purposes, they constitute a reasonable
list of attributes for an object .
Defining Operations
 Operations define the behavior of an object and change the object’s
attributes in some way.
 Specifically, an operation changes one or more attribute values that are
contained within the object.
 Therefore, an operation must have knowledge of the nature of the
object's attributes
 It must be implemented in a manner that enables to manipulate the
data structures that have been derived from the attributes.
 Although many different types of operations exist, they can generally
be divided into three broad categories:
 operations that manipulate data in some way (e.g., adding, deleting,
reformatting, selecting),
 operations that perform a computation,
 operations that monitor an object for the occurrence of a controlling
event.
Finalizing the Object Definition
 The definition of operations is the last step in completing the
specification of an object.
 Operations were picked from a grammatical parse of the processing
narrative for the system.
 Additional operations may be determined by considering the "life
history" of an object and the messages that are passed among objects
defined for the system.
 The generic life history of an object can be defined by recognizing that
the object must be created, modified, manipulated or read in other
ways, and possibly deleted.
What is Object Orientation?

More Related Content

What's hot

Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12koolkampus
 
Ooad notes
Ooad notesOoad notes
Ooad notes
NancyJP
 
Architecture Design in Software Engineering
Architecture Design in Software EngineeringArchitecture Design in Software Engineering
Architecture Design in Software Engineering
cricket2ime
 
Oomd unit1
Oomd unit1Oomd unit1
Oomd unit1
VivekChaudhary93
 
CS8592 Object Oriented Analysis & Design - UNIT II
CS8592 Object Oriented Analysis & Design - UNIT IICS8592 Object Oriented Analysis & Design - UNIT II
CS8592 Object Oriented Analysis & Design - UNIT II
pkaviya
 
Collaboration Diagram
Collaboration DiagramCollaboration Diagram
Collaboration Diagram
fahad_uaar
 
UML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptxUML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptx
Nwabueze Obioma
 
Disk scheduling
Disk schedulingDisk scheduling
Disk scheduling
J.T.A.JONES
 
Ooad unit – 1 introduction
Ooad unit – 1 introductionOoad unit – 1 introduction
Ooad unit – 1 introduction
Babeetha Muruganantham
 
OOAD UNIT I UML DIAGRAMS
OOAD UNIT I UML DIAGRAMSOOAD UNIT I UML DIAGRAMS
OOAD UNIT I UML DIAGRAMS
Mikel Raj
 
Design patterns ppt
Design patterns pptDesign patterns ppt
Design patterns pptAman Jain
 
Uml in software engineering
Uml in software engineeringUml in software engineering
Uml in software engineering
Mubashir Jutt
 
classes & objects introduction
classes & objects introductionclasses & objects introduction
classes & objects introduction
Kumar
 
OO Development 3 - Models And UML
OO Development 3 - Models And UMLOO Development 3 - Models And UML
OO Development 3 - Models And UML
Randy Connolly
 
OOMD UNIT2.pdf
OOMD UNIT2.pdfOOMD UNIT2.pdf
OOMD UNIT2.pdf
SadikAmin3
 
CS8592-OOAD Lecture Notes Unit-1
CS8592-OOAD Lecture Notes Unit-1CS8592-OOAD Lecture Notes Unit-1
CS8592-OOAD Lecture Notes Unit-1
Gobinath Subramaniam
 
Object oriented modeling and design
Object oriented modeling and designObject oriented modeling and design
Object oriented modeling and design
jayashri kolekar
 
SE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour DiagramsSE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour Diagrams
Amr E. Mohamed
 
Object oriented testing
Object oriented testingObject oriented testing
Object oriented testing
Haris Jamil
 
Architecture business cycle
Architecture business cycleArchitecture business cycle
Architecture business cycleHimanshu
 

What's hot (20)

Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12
 
Ooad notes
Ooad notesOoad notes
Ooad notes
 
Architecture Design in Software Engineering
Architecture Design in Software EngineeringArchitecture Design in Software Engineering
Architecture Design in Software Engineering
 
Oomd unit1
Oomd unit1Oomd unit1
Oomd unit1
 
CS8592 Object Oriented Analysis & Design - UNIT II
CS8592 Object Oriented Analysis & Design - UNIT IICS8592 Object Oriented Analysis & Design - UNIT II
CS8592 Object Oriented Analysis & Design - UNIT II
 
Collaboration Diagram
Collaboration DiagramCollaboration Diagram
Collaboration Diagram
 
UML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptxUML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptx
 
Disk scheduling
Disk schedulingDisk scheduling
Disk scheduling
 
Ooad unit – 1 introduction
Ooad unit – 1 introductionOoad unit – 1 introduction
Ooad unit – 1 introduction
 
OOAD UNIT I UML DIAGRAMS
OOAD UNIT I UML DIAGRAMSOOAD UNIT I UML DIAGRAMS
OOAD UNIT I UML DIAGRAMS
 
Design patterns ppt
Design patterns pptDesign patterns ppt
Design patterns ppt
 
Uml in software engineering
Uml in software engineeringUml in software engineering
Uml in software engineering
 
classes & objects introduction
classes & objects introductionclasses & objects introduction
classes & objects introduction
 
OO Development 3 - Models And UML
OO Development 3 - Models And UMLOO Development 3 - Models And UML
OO Development 3 - Models And UML
 
OOMD UNIT2.pdf
OOMD UNIT2.pdfOOMD UNIT2.pdf
OOMD UNIT2.pdf
 
CS8592-OOAD Lecture Notes Unit-1
CS8592-OOAD Lecture Notes Unit-1CS8592-OOAD Lecture Notes Unit-1
CS8592-OOAD Lecture Notes Unit-1
 
Object oriented modeling and design
Object oriented modeling and designObject oriented modeling and design
Object oriented modeling and design
 
SE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour DiagramsSE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour Diagrams
 
Object oriented testing
Object oriented testingObject oriented testing
Object oriented testing
 
Architecture business cycle
Architecture business cycleArchitecture business cycle
Architecture business cycle
 

Similar to What is Object Orientation?

Object-oriented modeling and design.pdf
Object-oriented modeling and  design.pdfObject-oriented modeling and  design.pdf
Object-oriented modeling and design.pdf
SHIVAM691605
 
Object Oriented Approach for Software Development
Object Oriented Approach for Software DevelopmentObject Oriented Approach for Software Development
Object Oriented Approach for Software Development
Rishabh Soni
 
Object oriented software engineering concepts
Object oriented software engineering conceptsObject oriented software engineering concepts
Object oriented software engineering conceptsKomal Singh
 
Handout on Object orienetd Analysis and Design
Handout on Object orienetd Analysis and DesignHandout on Object orienetd Analysis and Design
Handout on Object orienetd Analysis and Design
SAFAD ISMAIL
 
Bt8901 objective oriented systems1
Bt8901 objective oriented systems1Bt8901 objective oriented systems1
Bt8901 objective oriented systems1
Techglyphs
 
OOAD unit1 introduction to object orientation
 OOAD unit1 introduction to object orientation OOAD unit1 introduction to object orientation
OOAD unit1 introduction to object orientationDr Chetan Shelke
 
Software_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptxSoftware_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptx
ArifaMehreen1
 
Assignment 1 SYD601 2012 rick_danby completed with audio
Assignment 1 SYD601 2012 rick_danby completed with audioAssignment 1 SYD601 2012 rick_danby completed with audio
Assignment 1 SYD601 2012 rick_danby completed with audio
RickNZ
 
502 Object Oriented Analysis and Design.pdf
502 Object Oriented Analysis and Design.pdf502 Object Oriented Analysis and Design.pdf
502 Object Oriented Analysis and Design.pdf
PradeepPandey506579
 
Object Modelling Technique " ooad "
Object Modelling Technique  " ooad "Object Modelling Technique  " ooad "
Object Modelling Technique " ooad "
AchrafJbr
 
Object-Oriented Analysis and Design
Object-Oriented Analysis and DesignObject-Oriented Analysis and Design
Object-Oriented Analysis and Design
IJOAEM
 
Object oriented programming
Object oriented programmingObject oriented programming
Object oriented programming
sureshmoharana2013
 
Object oriented analysis
Object oriented analysisObject oriented analysis
Object oriented analysisMahesh Bhalerao
 
Java Progamming Paradigms, OOPS Concept, Introduction to Java, Structure of J...
Java Progamming Paradigms, OOPS Concept, Introduction to Java, Structure of J...Java Progamming Paradigms, OOPS Concept, Introduction to Java, Structure of J...
Java Progamming Paradigms, OOPS Concept, Introduction to Java, Structure of J...
Sakthi Durai
 
Java Programming Paradigms Chapter 1
Java Programming Paradigms Chapter 1 Java Programming Paradigms Chapter 1
Java Programming Paradigms Chapter 1
Sakthi Durai
 
CS3391 -OOP -UNIT – I NOTES FINAL.pdf
CS3391 -OOP -UNIT – I  NOTES FINAL.pdfCS3391 -OOP -UNIT – I  NOTES FINAL.pdf
CS3391 -OOP -UNIT – I NOTES FINAL.pdf
AALIM MUHAMMED SALEGH COLLEGE OF ENGINEERING
 
Object Oriented Database
Object Oriented DatabaseObject Oriented Database
Object Oriented Database
Megan Espinoza
 
object oriented methodologies
object oriented methodologiesobject oriented methodologies
object oriented methodologies
Amith Tiwari
 
Unit1 jaava
Unit1 jaavaUnit1 jaava
Unit1 jaavamrecedu
 

Similar to What is Object Orientation? (20)

Object-oriented modeling and design.pdf
Object-oriented modeling and  design.pdfObject-oriented modeling and  design.pdf
Object-oriented modeling and design.pdf
 
Object Oriented Approach for Software Development
Object Oriented Approach for Software DevelopmentObject Oriented Approach for Software Development
Object Oriented Approach for Software Development
 
Object oriented software engineering concepts
Object oriented software engineering conceptsObject oriented software engineering concepts
Object oriented software engineering concepts
 
Handout on Object orienetd Analysis and Design
Handout on Object orienetd Analysis and DesignHandout on Object orienetd Analysis and Design
Handout on Object orienetd Analysis and Design
 
Bt8901 objective oriented systems1
Bt8901 objective oriented systems1Bt8901 objective oriented systems1
Bt8901 objective oriented systems1
 
OOAD unit1 introduction to object orientation
 OOAD unit1 introduction to object orientation OOAD unit1 introduction to object orientation
OOAD unit1 introduction to object orientation
 
Software_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptxSoftware_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptx
 
Assignment 1 SYD601 2012 rick_danby completed with audio
Assignment 1 SYD601 2012 rick_danby completed with audioAssignment 1 SYD601 2012 rick_danby completed with audio
Assignment 1 SYD601 2012 rick_danby completed with audio
 
502 Object Oriented Analysis and Design.pdf
502 Object Oriented Analysis and Design.pdf502 Object Oriented Analysis and Design.pdf
502 Object Oriented Analysis and Design.pdf
 
Object Modelling Technique " ooad "
Object Modelling Technique  " ooad "Object Modelling Technique  " ooad "
Object Modelling Technique " ooad "
 
Object-Oriented Analysis and Design
Object-Oriented Analysis and DesignObject-Oriented Analysis and Design
Object-Oriented Analysis and Design
 
Lecture 1
Lecture 1Lecture 1
Lecture 1
 
Object oriented programming
Object oriented programmingObject oriented programming
Object oriented programming
 
Object oriented analysis
Object oriented analysisObject oriented analysis
Object oriented analysis
 
Java Progamming Paradigms, OOPS Concept, Introduction to Java, Structure of J...
Java Progamming Paradigms, OOPS Concept, Introduction to Java, Structure of J...Java Progamming Paradigms, OOPS Concept, Introduction to Java, Structure of J...
Java Progamming Paradigms, OOPS Concept, Introduction to Java, Structure of J...
 
Java Programming Paradigms Chapter 1
Java Programming Paradigms Chapter 1 Java Programming Paradigms Chapter 1
Java Programming Paradigms Chapter 1
 
CS3391 -OOP -UNIT – I NOTES FINAL.pdf
CS3391 -OOP -UNIT – I  NOTES FINAL.pdfCS3391 -OOP -UNIT – I  NOTES FINAL.pdf
CS3391 -OOP -UNIT – I NOTES FINAL.pdf
 
Object Oriented Database
Object Oriented DatabaseObject Oriented Database
Object Oriented Database
 
object oriented methodologies
object oriented methodologiesobject oriented methodologies
object oriented methodologies
 
Unit1 jaava
Unit1 jaavaUnit1 jaava
Unit1 jaava
 

More from AMITJain879

Object Oriented Testing
Object Oriented TestingObject Oriented Testing
Object Oriented Testing
AMITJain879
 
Architectural Modeling
Architectural ModelingArchitectural Modeling
Architectural Modeling
AMITJain879
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
AMITJain879
 
Object Oriented Analysis
Object Oriented AnalysisObject Oriented Analysis
Object Oriented Analysis
AMITJain879
 
Basic Behavioral Modeling
Basic Behavioral ModelingBasic Behavioral Modeling
Basic Behavioral Modeling
AMITJain879
 
Advanced Structural Modeling
Advanced Structural ModelingAdvanced Structural Modeling
Advanced Structural Modeling
AMITJain879
 
Introduction to Unified Modeling Language
Introduction to Unified Modeling LanguageIntroduction to Unified Modeling Language
Introduction to Unified Modeling Language
AMITJain879
 

More from AMITJain879 (7)

Object Oriented Testing
Object Oriented TestingObject Oriented Testing
Object Oriented Testing
 
Architectural Modeling
Architectural ModelingArchitectural Modeling
Architectural Modeling
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
 
Object Oriented Analysis
Object Oriented AnalysisObject Oriented Analysis
Object Oriented Analysis
 
Basic Behavioral Modeling
Basic Behavioral ModelingBasic Behavioral Modeling
Basic Behavioral Modeling
 
Advanced Structural Modeling
Advanced Structural ModelingAdvanced Structural Modeling
Advanced Structural Modeling
 
Introduction to Unified Modeling Language
Introduction to Unified Modeling LanguageIntroduction to Unified Modeling Language
Introduction to Unified Modeling Language
 

Recently uploaded

Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Globus
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
Strategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptxStrategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptx
varshanayak241
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
IES VE
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
vrstrong314
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 

Recently uploaded (20)

Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
Strategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptxStrategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptx
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 

What is Object Orientation?

  • 1. T.Y.B.Sc.(Comp. Sci.) Sem. I Object Oriented Software Engineering (OOSE) CS-336 Faculty Dr. Amit D. Kasliwal Asst. Professor
  • 2. Chapter 1 Object Oriented Concepts and Principles  The Software Engineering is a systematic approach to the design, development, operation and maintenance of a software.  Series of processes, if followed can lead to development of a software.  Based on functions or procedures with limited reusability of programming structure.  And sometimes also referred to as Traditional Software engineering.  The size and complexity of software is increasing day by day.  And traditional software engineering may not be effectively applicable.  So we want to simplify the development process and to produce high quality maintainable software to fulfill user requirements.
  • 3. What is Object Orientation ?  Object Orientation is viewing and modeling the real world entities as a collection of interacting and interrelated objects.  An object is a real world entity or element in an object oriented environment that encapsulates (combine) data and the functionalities to model real world.  Object may have a physical or a conceptual existence such a,  That distinguishes it from other objects.  That determines the characteristic or properties as well as the values of the properties that the object holds.  That represents externally visible activities performed by an object in terms of changes in its state.  Objects can be modeled according to the needs of the application.
  • 4.  In Object oriented environment, the software is developed by building self modeled objects that can be easily replaced and reused.  Object orientation encourage the world to view a software as a cooperative and collaborating objects.  An object is an entity that save it’s state (data) and offers several methods (behaviors) to either examine or affect this states. What is Object Orientation ?
  • 5.  A Class represents a collection of objects having same characteristic or properties that follows common behavior.  Blueprint or description of the objects that can be created from it.  Creation of an object as a part (member ) of a class is called instantiation. That is “object is an instance of a class.”  A set of objects with similar behavior & data/information may constitute a class.  In general, different objects of a class have some difference in the values of the attributes.(and attributes are often referred as class data)  A set of methods refers the behavior of the objects of the class.  Let us consider a class named Book, with attribute subjectdescriptor , ISBN, booktitle , language, authorname , publisher and so on. Some of its operations like addbook(), deletebook(), updatebook() & viewbook(). What is Object Orientation ?
  • 6. What is Object Orientation ?
  • 7.  So we can say, object orientation relies on two aspects i.e. Information and Behavior.  Information has a unique identity.  It has a description of its structure used to create it.  And has state to represent its current condition.  Behavior is to answers the questions like,  What can an object do?  What we can do with the object?  How a object can be use? What is Object Orientation ?
  • 8.  In Object orientation approach, encapsulation, polymorphism and inheritance concepts as used.  Encapsulation is the process of hiding information by combining the data and operations.  It allows to access the data only through the that operations which are designed to operate on the data.  Its keeps data safe and secure from external interventions. What is Object Orientation ?
  • 9.  Polymorphism is originally a Greek word that means the ability to take multiple forms. The dictionary meaning is “many forms”.  In object oriented, polymorphism implies using operations in different ways, depending upon the instance they are operating upon.  Like in the real world, the same operations may have different meanings in different situations.  Same data is sent to different objects irrespective of their class, but the responses of objects may be different.  Polymorphism allows objects with different internal structures to have a common external interface.  Polymorphism is particularly effective while implementing inheritance. What is Object Orientation ?
  • 10.  In object orientation, Inheritance allows creating new classes from existing classes by extending and refining its capabilities.  The existing classes are called the base / parent / super classes, and the new classes are called the derived / child / sub classes.  The subclass can inherit or derive the attributes and methods of the super class /classes provided that the super-class allows so.  Beside this, the subclass may add its own attributes and methods and may modify any of the super-class methods.  Following are the inheritance type.  Single Inheritance Multiple Inheritance  Multilevel Inheritance Hierarchical Inheritance  Hybrid Inheritance What is Object Orientation ?
  • 11. What is Object Orientation ?
  • 12. Object Oriented System Development  In order to develop a system / software, a systematic approach should be adopted satisfying two viewpoint, Internal and External  In Internal viewpoint, everything about the software (from the developer view) has to be maintain so that it can be easily modify, extend & reuse.  With External viewpoint (From the user view), it has to be accurate in result generation, reliable and easy to learn and adopt.  And thus to satisfy the individual's viewpoint the , A use case driven approach (Considering Object Orientation in the center) of software engineering was prepared referred as Object Oriented Software Development(OOSD) having SDLC consisting of three phases.  Object Oriented analysis (OOA), Object Oriented Design (OOD) and Object Oriented Construction (OOC)
  • 13. Object Oriented System Development
  • 14.  Object Oriented Analysis in OOSD concerned with determining the system requirement, identifying classes and relationships between classes in the required domain.  OOA also identifies users (actors) and how they use the software.  It always consider the scenario to help the analyst to understand the requirements as mentioned by the end user.  According the Ivor Jacobson, OOA works with use case diagram to understand the scenario to describe end user’s interaction with software.  It helps in determining who does what in the interaction among objects and what role end users plays by using their relationship.  OOA supports collaboration that describes the interaction among objects to achieve given goal. Object Oriented Analysis
  • 15.  In OOA, three analysis techniques Object modeling, Dynamic modeling, and functional modeling are used.  Object Modeling develops the static structure of the software in terms of objects.  It identifies the objects, the classes into which the objects can be grouped into and the relationships between the objects.  It also identifies the main attributes & operations of each class.  It can be visualized in the following steps −  Identify objects and group into classes and their relationships  Define user object attributes  Define the operations that should be performed on the classes  Review glossary Object Oriented Analysis
  • 16.  Functional Modeling is the final component of OOA.  It shows the processes that are performed within an object and how the data changes as object moves between methods.  It specifies the meaning of the operations of object modeling and the actions of dynamic modeling.  It corresponds to the data flow diagram of traditional analysis process.  It has the following steps −  Identify all the inputs and outputs  Construct data flow diagrams showing functional dependencies  State the purpose of each function  Identify constraints  Specify optimization criteria Object Oriented Analysis
  • 17.  In Dynamic Modeling, software’s behavior with respect to time and external changes are prepared after the static behavior is analyzed.  It is a way of describing how an individual object responds to events, either internal events triggered by other objects, or external events triggered by the outside world.  It has following steps −  Identify states of each object  Identify events and analyze the applicability of actions  Construct dynamic model diagram, comprising of state transition diagrams  Express each state in terms of object attributes  Validate the state–transition diagrams drawn Object Oriented Analysis
  • 18.  The analysis model is not sufficiently formal but still we follows the OOA to develop a software.  Constructed software must be adapted to the implementation environment such that it validate the analysis result.  OOC phase use to identify the implementation environment.  It helps in identifying and investigating the consequences that the implementation environment will have after design.  It incorporate conclusions and develop a first approach of a design model.  OOC uses process combining sub processes of designing, building Model.  It redefine the analysis model in the light of the actual implementation. Object Oriented Construction
  • 19.  In OOC, designing model decide how different issues such as DBMS, programming language features, and distribution will be handled.  It compose of blocks of code which are specific to class.  In the Building model of OOC, developers attempt to implement analysis model using programming language.  It is used obtain a clear traceability to the analysis model.  It works for final structure that should reflect how the implementation environment has affected construction.  E.g. if the programming language does not support inheritance, the model must reflect how the inheritance is really implemented. Object Oriented Construction
  • 21. Identifying the Classes and Object  When we look around the problem of a software application, the objects may be more difficult to comprehend.  We can identify objects by examining the problem statement given for the software with performing grammatical parse.  Objects are determined by underlining each noun or noun clause and entering it in a simple table. Also synonyms should be noted.  If the object is required to implement a solution, then it is part of the solution space.  Objects can be External entities (e.g., other systems, devices, people) , Things (e.g., reports, displays, letters, signals), Occurrences or events (e.g., a property transfer or the completion of a series of robot movements), Roles (e.g., manager, engineer, salesperson), Organizational units (e.g., division, group, team), Places (e.g., manufacturing floor or loading dock) or Structures (e.g., sensors, four-wheeled vehicles, or computers).
  • 22.  The analysis process starts with the identification of a set of conceptual classes – the categories of things which are of significance in the system domain. A good understanding of the system domain is important.  A class in a model is thing that represents a category of real-world entities from the system domain.  Although these may be tangible real world things, they may also be intangible things such as events, roles and organizational units.  The software developer often gains this through discussion with user.  Possible classes for inclusion may thus emerge during the course of the requirements process.  However, there are a number of other techniques that you can use to help identify appropriate classes from a requirements document.  Inappropriately chosen classes may add complexity to later phases of the development and could make the software difficult to maintain and/or extend. Identifying the Classes and Object
  • 24. Specifying the Attributes (With Visibility)  Attributes describe an object that has been selected for inclusion in the analysis model.  It is the attributes that define the object clarifying what is meant by the object in the context of the domain.  To specify a meaningful set of attributes for an object, the analyst can again study the requirement for the problem and select those things that reasonably "belong" to the object.  In addition, it must be the answered of the question "What data items define this object in the context of the problem?"  Each of the data items in the block could be further defined to an elementary level, but for our purposes, they constitute a reasonable list of attributes for an object .
  • 25. Defining Operations  Operations define the behavior of an object and change the object’s attributes in some way.  Specifically, an operation changes one or more attribute values that are contained within the object.  Therefore, an operation must have knowledge of the nature of the object's attributes  It must be implemented in a manner that enables to manipulate the data structures that have been derived from the attributes.  Although many different types of operations exist, they can generally be divided into three broad categories:  operations that manipulate data in some way (e.g., adding, deleting, reformatting, selecting),  operations that perform a computation,  operations that monitor an object for the occurrence of a controlling event.
  • 26. Finalizing the Object Definition  The definition of operations is the last step in completing the specification of an object.  Operations were picked from a grammatical parse of the processing narrative for the system.  Additional operations may be determined by considering the "life history" of an object and the messages that are passed among objects defined for the system.  The generic life history of an object can be defined by recognizing that the object must be created, modified, manipulated or read in other ways, and possibly deleted.