SlideShare a Scribd company logo
1 of 27
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

Distributed objects & components of corba
Distributed objects & components of corbaDistributed objects & components of corba
Distributed objects & components of corbaMayuresh Wadekar
 
5.4 randomized datastructures
5.4 randomized datastructures5.4 randomized datastructures
5.4 randomized datastructuresKrish_ver2
 
Software engineering : Layered Architecture
Software engineering : Layered ArchitectureSoftware engineering : Layered Architecture
Software engineering : Layered ArchitectureMuhammed Afsal Villan
 
Fill area algorithms
Fill area algorithmsFill area algorithms
Fill area algorithmsKumar
 
software Engineering process
software Engineering processsoftware Engineering process
software Engineering processRaheel Aslam
 
distributed shared memory
 distributed shared memory distributed shared memory
distributed shared memoryAshish Kumar
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration ManagementPratik Tandel
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9koolkampus
 
Flow oriented modeling
Flow oriented modelingFlow oriented modeling
Flow oriented modelingramyaaswin
 
Software Measurement and Metrics.pptx
Software Measurement and Metrics.pptxSoftware Measurement and Metrics.pptx
Software Measurement and Metrics.pptxubaidullah75790
 
Distributed Systems Real Life Applications
Distributed Systems Real Life ApplicationsDistributed Systems Real Life Applications
Distributed Systems Real Life ApplicationsAman Srivastava
 
Interface specification
Interface specificationInterface specification
Interface specificationmaliksiddique1
 
unit 5 Architectural design
 unit 5 Architectural design unit 5 Architectural design
unit 5 Architectural designdevika g
 
Software Engineering :Behavioral Modelling - I Sequence diagram
Software Engineering :Behavioral Modelling - I Sequence diagram Software Engineering :Behavioral Modelling - I Sequence diagram
Software Engineering :Behavioral Modelling - I Sequence diagram Ajit Nayak
 
software-project-management-unit-2.ppt
software-project-management-unit-2.pptsoftware-project-management-unit-2.ppt
software-project-management-unit-2.pptMaanbahadurkhadka
 
Software requirements specification
Software requirements specificationSoftware requirements specification
Software requirements specificationlavanya marichamy
 

What's hot (20)

Distributed objects & components of corba
Distributed objects & components of corbaDistributed objects & components of corba
Distributed objects & components of corba
 
5.4 randomized datastructures
5.4 randomized datastructures5.4 randomized datastructures
5.4 randomized datastructures
 
Software engineering : Layered Architecture
Software engineering : Layered ArchitectureSoftware engineering : Layered Architecture
Software engineering : Layered Architecture
 
Fill area algorithms
Fill area algorithmsFill area algorithms
Fill area algorithms
 
software Engineering process
software Engineering processsoftware Engineering process
software Engineering process
 
distributed shared memory
 distributed shared memory distributed shared memory
distributed shared memory
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
 
Chap3 RE elicitation
Chap3 RE elicitationChap3 RE elicitation
Chap3 RE elicitation
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9
 
Flow oriented modeling
Flow oriented modelingFlow oriented modeling
Flow oriented modeling
 
Software Measurement and Metrics.pptx
Software Measurement and Metrics.pptxSoftware Measurement and Metrics.pptx
Software Measurement and Metrics.pptx
 
Distributed Systems Real Life Applications
Distributed Systems Real Life ApplicationsDistributed Systems Real Life Applications
Distributed Systems Real Life Applications
 
Interface specification
Interface specificationInterface specification
Interface specification
 
Graph mining ppt
Graph mining pptGraph mining ppt
Graph mining ppt
 
unit 5 Architectural design
 unit 5 Architectural design unit 5 Architectural design
unit 5 Architectural design
 
Software Engineering :Behavioral Modelling - I Sequence diagram
Software Engineering :Behavioral Modelling - I Sequence diagram Software Engineering :Behavioral Modelling - I Sequence diagram
Software Engineering :Behavioral Modelling - I Sequence diagram
 
software-project-management-unit-2.ppt
software-project-management-unit-2.pptsoftware-project-management-unit-2.ppt
software-project-management-unit-2.ppt
 
3. challenges
3. challenges3. challenges
3. challenges
 
Software requirements specification
Software requirements specificationSoftware requirements specification
Software requirements specification
 
CS6601 DISTRIBUTED SYSTEMS
CS6601 DISTRIBUTED SYSTEMSCS6601 DISTRIBUTED SYSTEMS
CS6601 DISTRIBUTED SYSTEMS
 

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.pdfSHIVAM691605
 
Object Oriented Approach for Software Development
Object Oriented Approach for Software DevelopmentObject Oriented Approach for Software Development
Object Oriented Approach for Software DevelopmentRishabh 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 DesignSAFAD ISMAIL
 
Bt8901 objective oriented systems1
Bt8901 objective oriented systems1Bt8901 objective oriented systems1
Bt8901 objective oriented systems1Techglyphs
 
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).pptxArifaMehreen1
 
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 audioRickNZ
 
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.pdfPradeepPandey506579
 
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 DesignIJOAEM
 
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
 
Ooad notes
Ooad notesOoad notes
Ooad notesNancyJP
 

Similar to What is Object Orientation? (20)

Oomd unit1
Oomd unit1Oomd unit1
Oomd unit1
 
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
 
Ooad unit – 1 introduction
Ooad unit – 1 introductionOoad unit – 1 introduction
Ooad unit – 1 introduction
 
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
 
Ooad notes
Ooad notesOoad notes
Ooad notes
 
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
 

More from AMITJain879

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

More from AMITJain879 (8)

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
 
Basic Structural Modeling
Basic Structural ModelingBasic Structural Modeling
Basic Structural Modeling
 
Introduction to Unified Modeling Language
Introduction to Unified Modeling LanguageIntroduction to Unified Modeling Language
Introduction to Unified Modeling Language
 

Recently uploaded

What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 

Recently uploaded (20)

What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 

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.