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

PDF
Identifying classes and objects ooad
PDF
Code optimization in compiler design
PPTX
Metrics for project size estimation
PPT
RichControl in Asp.net
PPTX
GUI components in Java
PPT
Flow oriented modeling
PPTX
Aspects of data mart
PPTX
Java awt (abstract window toolkit)
Identifying classes and objects ooad
Code optimization in compiler design
Metrics for project size estimation
RichControl in Asp.net
GUI components in Java
Flow oriented modeling
Aspects of data mart
Java awt (abstract window toolkit)

What's hot (20)

PPTX
Secure Hash Algorithm
PDF
Monitors
PPTX
Software Engineering- ERD DFD Decision Tree and Table
PPTX
software engineering
DOCX
Behavioural modelling
PPTX
Java RMI
PPTX
Chapter 8 ooad
PPS
Java rmi
PPTX
Model Based Software Architectures
PPT
Java layoutmanager
PPTX
Dynamic Programming Code-Optimization Algorithm (Compiler Design)
PPTX
JAVA AWT
PPTX
directory structure and file system mounting
PPTX
object oriented methodologies
PPT
Labels and buttons
PPTX
Peephole optimization techniques in compiler design
PPT
PPT
Uml class-diagram
PPTX
Constructor in java
PPTX
Advanced Structural Modeling
Secure Hash Algorithm
Monitors
Software Engineering- ERD DFD Decision Tree and Table
software engineering
Behavioural modelling
Java RMI
Chapter 8 ooad
Java rmi
Model Based Software Architectures
Java layoutmanager
Dynamic Programming Code-Optimization Algorithm (Compiler Design)
JAVA AWT
directory structure and file system mounting
object oriented methodologies
Labels and buttons
Peephole optimization techniques in compiler design
Uml class-diagram
Constructor in java
Advanced Structural Modeling
Ad

Similar to What is Object Orientation? (20)

PPT
Oomd unit1
PDF
Object oriented software engineering concepts
PPT
Unit 1( modelling concepts & class modeling)
PPTX
ooadunitiintroduction-150730050129-lva1-app6892.pptx
PPTX
Ooad unit – 1 introduction
PDF
Object Modelling Technique " ooad "
PPTX
Object Oriented Approach for Software Development
PPT
M01 Oo Intro
PPT
AI_Module_2_Engineering_Computer_Science.ppt
PDF
ppt_ooad.pdf
PDF
Handout on Object orienetd Analysis and Design
PPT
M01_OO_Intro.ppt
PPT
M01_OO_Intro.ppt
PPT
m211c25.ppt
PPT
Introduction of object oriented analysis & design by sarmad baloch
PPT
4.OOAD - INTRODUCTION the introduction.p
PPTX
Software_Engineering_Presentation (1).pptx
PPTX
Software Engineering and Project Management - Introduction, Modeling Concepts...
DOCX
Ooad notes
PPTX
Review of object orientation
Oomd unit1
Object oriented software engineering concepts
Unit 1( modelling concepts & class modeling)
ooadunitiintroduction-150730050129-lva1-app6892.pptx
Ooad unit – 1 introduction
Object Modelling Technique " ooad "
Object Oriented Approach for Software Development
M01 Oo Intro
AI_Module_2_Engineering_Computer_Science.ppt
ppt_ooad.pdf
Handout on Object orienetd Analysis and Design
M01_OO_Intro.ppt
M01_OO_Intro.ppt
m211c25.ppt
Introduction of object oriented analysis & design by sarmad baloch
4.OOAD - INTRODUCTION the introduction.p
Software_Engineering_Presentation (1).pptx
Software Engineering and Project Management - Introduction, Modeling Concepts...
Ooad notes
Review of object orientation
Ad

More from AMITJain879 (7)

PPTX
Object Oriented Testing
PPTX
Architectural Modeling
PPTX
Object Oriented Design
PPTX
Object Oriented Analysis
PPTX
Basic Behavioral Modeling
PPTX
Basic Structural Modeling
PPTX
Introduction to Unified Modeling Language
Object Oriented Testing
Architectural Modeling
Object Oriented Design
Object Oriented Analysis
Basic Behavioral Modeling
Basic Structural Modeling
Introduction to Unified Modeling Language

Recently uploaded (20)

PPTX
Transform Your Business with a Software ERP System
PPTX
Reimagine Home Health with the Power of Agentic AI​
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
Digital Strategies for Manufacturing Companies
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PPTX
history of c programming in notes for students .pptx
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPTX
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
iTop VPN Free 5.6.0.5262 Crack latest version 2025
PDF
medical staffing services at VALiNTRY
PPTX
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Transform Your Business with a Software ERP System
Reimagine Home Health with the Power of Agentic AI​
Operating system designcfffgfgggggggvggggggggg
Digital Strategies for Manufacturing Companies
How to Choose the Right IT Partner for Your Business in Malaysia
Upgrade and Innovation Strategies for SAP ERP Customers
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
history of c programming in notes for students .pptx
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
Softaken Excel to vCard Converter Software.pdf
Internet Downloader Manager (IDM) Crack 6.42 Build 41
iTop VPN Free 5.6.0.5262 Crack latest version 2025
medical staffing services at VALiNTRY
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
Design an Analysis of Algorithms II-SECS-1021-03
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
Lecture 3: Operating Systems Introduction to Computer Hardware Systems

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.