SlideShare a Scribd company logo
1 of 31
Object Oriented Modeling and Design
Reference Books:
1. Grady Booch, James Rumbaugh, Ivar Jacobson “Unified
Modeling Language User Guide”, Addison-
Wesley
2. Rambaugh, “Object Oriented Modeling and Designing”. PHI
3. Bouch. “Object Oriented Analysis and Design with Applications”.
Addison Wesley.
4. Dan Pilone, Neil Pitman “UML 2.0 in a Nutshell”, O'Reilly
5. Schah, “Introduction to OOAD with UML and Unified Process”,
TMH
UNIT-I
NEW PARADIGMS
•Object –oriented mean:-
Organize s/w as a collection of discret objects that incorporate both data
structure & behavior
An object is a concept, abstraction, or thing with sharp boundaries and
meaning for an application
object is something that has:
-State -Behavior - Identity
• characteristic of object:-
1. identity:-
 Data is quantize into discrete ,distinguishable entity called object
 Ex:- window, car
2. Classification :-
What is CLASS?
 a collection of objects that share common properties, attributes, behavior and
semantics, in general.
 A collection of objects with the same data structure (attributes, state variables) and
behavior (function/code/operations) in the solution space.
 A blueprint or definition of objects.
 A factory for instantiating objects.
 The description of a collection of related components.
 Classification
– Grouping of common objects into a class Ex:- fruit
• Polymorphism:-
 The ability to hide many different implementations behind a single interface
 Same operation may behave differently on different classes
 Operation is an action or transfer that an object perform
 Specific implementation of an operation by a certain class is called method
• Inheritance :-
 Automatic duplication of super class attribute and behavior definitions in
subclass.
 Sharing of attribute & operation among classes based on hierarchical
relationship
Lawrence Chung CS6359.OT1: Module 1 5
Class Car
Attributes
 Model
 Location
Operations
 Start
 Accelerate
What is Object-Orientation
- Example of Abstraction and Encapsulation
Object –oriented thinking and rethinking
• Identification & organization of application domain concept rather than their
final representation in a programming language
1. modeling concept only ,not implementation
• Most focus on programming language implementation issues rather than
analysis and design object
• OO is not a programming technique
• Express concept clearly & communicate between developer and customer
2. object – oriented methodology:-
• Methodology consist building a model of an application domain & then
adding implementation detail to it during design of a system ,it’s known as
object – modeling technique (OMT)
• Steps:-
1. Analysis:-
-build a model of real-world situation sowing it’s important properties
- Understand the problem statement
- Object in model is application domain concept ,not computer implementation
2. System design:
-make higher level decision about overall architecture
- Target system is organized into subsystem based on analysis structure
&proposed architecture
3. Object design:
- Build design model based on analysis model but contain implementation detail
- Focus on data structure & algorithm needed to implement each class
4. Implementation :-
- Object classes & relationships of object design are translated into a particular
programming language ,d/b & h/w implementation
Object Modeling Technique (OMT)
• It is an object-oriented analysis, design, and implementation methodology
that focuses creating a model of objects from the real world and then using
this model to develop object-oriented software.
• OMT methodology uses three kinds of models to describe a system:
1. Object model - describes the objects in the system and their relationships;
2. Dynamic model - describes the interactions among objects in the system; and
3. Functional model - describes the data transformations of the system.
- Object model components:-
• Object:
- An object is a concept, abstraction, or thing with crisp boundaries and
meaning for the problem at hand.
- All objects have identity and are distinguishable.
• objects can belong to more than one class.
 Object –Oriented Themes
1. Abstraction
• focus on essential properties, ignore unimportant details
2. Encapsulation
• separate external, visible behavior from internal, hidden behavior
3. Combining data and behavior
• objects, not developers, decide how to carry out operations
4. Sharing
• similar operations and structures are implemented once.
5. Emphasis on object-structure rather than procedure structure
• behavior more stable than implementation
Itntroduction to UML, page 10
Modeling
• When you make a model you are making a mapping from the
problem domain to a representation of the system you are
modeling.
• When you work object-oriented the model tends to be close to the system
modeled, and a program execution can be regarded as a simulation of the
behavior of the system.
Reality
System
Itntroduction to UML, page 11
Why Do We Model?
• Models give us a template that guides us in constructing a
system.
• If you want to make a building you first make a blueprint of the
building to make, in the same way you should make a model of
the system you want to make. As the complexity of systems
increases, so does the importance of good modeling
techniques.
• Models help us visualize a system at different levels of
abstraction, this makes it easier to manage complexity and to
understand the system.
• We build models so that we can better understand the system
we are developing.
 The Importance of Modeling
• A model is a simplification of reality.
• A model provides the blueprints of a system. Models may
encompass detailed plans, as well as more general plans that give
a 30,000-foot view of the system under consideration.
• A good model includes those elements that have broad effect and
omits those minor elements that are not relevant to the given level
of abstraction. Every system may be described from different
aspects using different models, and each model is therefore a
semantically closed abstraction of the system.
• A model may be structural, emphasizing the organization of the
system, or it may be behavioral, emphasizing the dynamics of the
system.
1. Models help us to visualize a system as it is or
as we want it to be.
2. Models permit us to specify the structure or
behavior of a system.
3. Models give us a template that guides us in
constructing a system.
4. Models document the decisions we have
made.
• We build models of complex systems because
we cannot cover such a system in its entirety.
 Principles of Modeling
1. The choice of what models to create has a profound influence
on how a problem is attacked and how a solution is shaped.
Choose your models well. The right models will brilliantly
illuminate the most wicked development problems, offering
insight that you simply could not gain otherwise; the wrong
models will mislead you, causing you to focus on irrelevant
issues.
2.Every model may be expressed at different levels of precision.
3.The best models are connected to reality.
4.No single model is sufficient. Every nontrivial system is best
approached through
5.a small set of nearly independent models.
 Object-Oriented Modeling
• In software, there are several ways to approach a model. The two most common
ways are from an algorithmic perspective and from an object-oriented
perspective.
• The traditional view of software development takes an algorithmic perspective.
In this approach, the main building block of all software is the procedure or
function. This view leads developers to focus on issues of control and the
decomposition of larger algorithms into smaller ones
• The contemporary view of software development takes an object-oriented
perspective.
• In this approach, the main building block of all software systems is the object
or class. Simply put, an object is a thing, generally drawn from the vocabulary
of the problem space or the solution space;
• a class is a description of a set of common objects. Every object has identity
(you can name it or otherwise distinguish it from other objects), state (there's
generally some data associated with it), and behavior (you can do things to the
object, and it can do things to other objects, as well).
Architecture of UML (4+1 view)
• software-intensive system demands that the system be viewed from a
number of perspectives.
• Different stakeholders end users, analysts, developers, system integrators,
testers, technical writers, and project managers each bring different agendas
to a project, and each looks at that system in different ways at different
times over the project's life.
• system's architecture artifact that can be used to manage these different
viewpoints and so control the iterative and incremental development of a
system throughout its life cycle.
• the architecture of a software-intensive system can best be described by five
interlocking views.
• Each view is a projection into the organization and structure of the system,
focused on a particular aspect of that system.
• use case view
- It encompasses the use cases that describe the behavior of the system as seen
by its end users, analysts, and testers.
- This view doesn't really specify the organization of a software system
- the static aspects of this view are captured in use case diagrams
- the dynamic aspects of this view are captured in interaction diagrams,
statechart diagrams, and activity diagrams.
• design view
- it encompasses the classes, interfaces, and collaborations that form the
vocabulary of the problem and its solution.
- This view primarily supports the functional requirements of the system, meaning
the services that the system should provide to its end users.
- With the UML, the static aspects of this view are captured in class diagrams and
object diagrams
- the dynamic aspects of this view are captured in interaction diagrams,
statechart diagrams, and activity diagrams.
• process view
- It encompasses the threads and processes that form the system's concurrency
and synchronization mechanisms.
- This view primarily addresses the performance, scalability, and throughput of
the system.
- With the UML, the static and dynamic aspects of this view are captured in the
same kinds of diagrams as for the design view, but with a focus on the
active classes that represent these threads and processes.
• implementation view
- It encompasses the components and files that are used to assemble and release
the physical system.
- This view addresses the configuration management of the system's releases,
made up of somewhat independent components and files that can be
assembled in various ways to produce a running system.
- With the UML, the static aspects of this view are captured in component
diagrams
- the dynamic aspects of this view are captured in interaction diagrams,
statechart diagrams, and activity diagrams.
• deployment view
- It encompasses the nodes that form the system's hardware topology on
which the system executes.
- This view addresses the distribution, delivery, and installation of the parts
that make up the physical system.
- the static aspects of this view are captured in deployment diagrams
- the dynamic aspects of this view are captured in interaction diagrams,
statechart diagrams, and activity diagrams.
RUP (Software Development Life Cycle)
• What is RUP
• A software development approach that is iterative, architecture-centric and
use-case driven
• RUP is process independent meaning that it is not tied to any particular
software development life cycle.
1. Use case driven
2. Architecture-centric
3. Iterative and incremental
• Use case driven means that use cases are used as a primary artifact for establishing the
desired behavior of the system, for verifying and validating the system's architecture,
for testing, and for communicating among the stakeholders of the project.
• Architecture-centric means that a system's architecture is used as a primary artifact for
conceptualizing, constructing, managing, and evolving the system under development.
• iterative process is one that involves managing a stream of executable releases , each
new release is focused on attacking and reducing the most significant risks to the
success of the project.
• Iterative Development Phases:
Inception: Understand what to build
– Vision, high-level requirements, business case
– Not detailed requirements
Elaboration: Understand how to build it
– Baseline architecture, most requirements detailed
– Not detailed design
Construction: Build the product
– Working product, system test complete
Transition: Validate solution
– Stakeholder acceptance
As An Effective Process, the RUP:
• Provides guidelines for efficient development of quality software
– Provides suggested flows of activities and assignment of roles to
artifacts
• Reduces risk and increases predictability
– Through iteration planning, risks aggressively attacked up front
• Captures and presents best practices – very detailed.
– Learn from other’s experiences
– The RUP is huge! Configurable to the project;.
– Contains disciplines – addressing all stakeholder concerns
• Provides roadmap for applying tools – it is NOT just a theory
– Suggests activity sequences;
– Adaptable for large and small projects.
• The RUP is a use-case driven, architecture-centric, iterative development
process!
C
O
N
T
E
N
T
S
T
R
U
C
T
U
R
E
T I M E
Inception: Know What to Build
• Prepare vision document and initial business case
– Include risk assessment and resource estimate
• Develop high-level project requirements
– Initial use-case and domain models (10-20% complete)
• Manage project scope
– Reduce risk by identifying all key requirements
– Acknowledge that requirements will change
• Manage change, use iterative process
Elaboration: Know How to Build It
• Detail requirements as necessary (~80% complete)
– Less essential requirements may not be fleshed out
• Produce an executable and stable architecture
– Define, implement and test interfaces of major components
– Identify dependencies on external components and systems. Integrate
shells/proxies of them.
– Some key components will be partially implemented
– Roughly 10% of code is implemented.
• Drive architecture with key use cases
– 20% of use cases drive 80% of the architecture
– Design, implement and test key scenarios for use cases
• Verify architectural qualities
– Reliability: Stress test
– Scalability and Performance: Load test
• Continuously assess business case, risk profile and development plan
Construction: Build The Product
• Complete requirements and design model
• Design, implement and test each component
– Prototype system and involve end users
– Incrementally evolve executable architecture to
complete system
• Build daily or weekly with automated build process
• Test each build
– Automate regression testing
– Load and stress test to ensure architectural integrity
• Deliver fully functional software (beta release)
– Includes training material, user and deployment
documentation
• Produce release descriptions
Transition: Deploy to End Users
• Produce incremental ‘bug-fix’ releases
• Update user manuals and deployment documentation
• Update release descriptions
• Execute cut-over
• Conduct “post-mortem” project analysis
• Development Cycles
Going through the four major phases is called a development cycle, and it results in one software
generation. The first pass through the four phases is called the initial development cycle. Unless the
life of the product stops, an existing product will evolve into its next generation by repeating the
same sequence of inception, elaboration, construction, and transition phases. This is the evolution
of the system, so the development cycles after the initial development cycles are its evolution
cycles.
• Process Workflows
The Rational Unified Process consists of nine process workflows.
1. Business modeling Describes the structure and dynamics of the organization
2. Requirements Describes the use case— based method for eliciting requirements
3. Analysis and design Describes the multiple architectural views
4. Implementation Takes into account software development, unit test, and integration
5. Test Describes test cases, procedures, and defect-tracking metrics
6. Deployment Covers the deliverable system configuration
7. Configuration management :Controls changes to and maintains the integrity of a project's artifacts
8. Project Management Describes various strategies of working with an iterative process
9. Environment Covers the necessary infrastructure required to develop a system
• Artifacts
Each Rational Unified Process activity has associated artifacts, either required as an input or
generated as an output. Some artifacts are used to direct input to subsequent activities, kept as
reference resources on the project, or generated in a format as contractual deliverables.
• Models
Models are the most important kind of artifact in the Rational Unified Process. A model is a
simplification of reality, created to better understand the system being created. In the
Rational Unified Process, there are nine models that collectively cover all the important
decisions that go into visualizing, specifying, constructing, and documenting a software-
intensive system.
1. Business model Establishes an abstraction of the organization
2. Domain model Establishes the context of the system
3. Use case model Establishes the system's functional requirements
4. Analysis model (optional)Establishes an idea design
5. Design model Establishes the vocabulary of the problem and its solution
6. Process model (optional) Establishes the system's concurrency and synchronization
mechanisms
7. Deployment model Establishes the hardware topology on which the system is executed
8. Implementation model Establishes the parts used to assemble and release the physical system
9. Test model Establishes the paths by which the system is validated and verified
• Other Artifacts
The Rational Unified Process's artifacts are categorized as either management artifacts or
technical artifacts. The Rational Unified Process's technical artifacts may be divided into four
main sets.
1. Requirements set Describes what the system must do
2. Design set Describes how the system is to be constructed
3. Implementation set Describes the assembly of developed software components
4. Deployment set Provides all the data for the deliverable configuration

More Related Content

Similar to Object Oriented Modeling Techniques

Architecture of Object Oriented Software Engineering
Architecture of Object Oriented Software EngineeringArchitecture of Object Oriented Software Engineering
Architecture of Object Oriented Software EngineeringSandesh Jonchhe
 
Object oriented analysis
Object oriented analysisObject oriented analysis
Object oriented analysisMahesh Bhalerao
 
CS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and AnswerCS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and AnswerGobinath Subramaniam
 
Object oriented methodologies
Object oriented methodologiesObject oriented methodologies
Object oriented methodologiesnaina-rani
 
fdocuments.in_unit-2-ooad.ppt
fdocuments.in_unit-2-ooad.pptfdocuments.in_unit-2-ooad.ppt
fdocuments.in_unit-2-ooad.pptRAJESH S
 
Object-Oriented Analysis and Design
Object-Oriented Analysis and DesignObject-Oriented Analysis and Design
Object-Oriented Analysis and DesignRiazAhmad786
 
[RPL2] Pertemuan 3 - UML dan USECASE VIEW
[RPL2] Pertemuan 3 - UML dan USECASE VIEW[RPL2] Pertemuan 3 - UML dan USECASE VIEW
[RPL2] Pertemuan 3 - UML dan USECASE VIEWrizki adam kurniawan
 
Chapter 6 Object Modeling .pptxInformation Technology Project Management
Chapter 6 Object Modeling .pptxInformation Technology Project ManagementChapter 6 Object Modeling .pptxInformation Technology Project Management
Chapter 6 Object Modeling .pptxInformation Technology Project ManagementAxmedMaxamuudYoonis
 
chapter06-120827115400-phpapp01.pdf
chapter06-120827115400-phpapp01.pdfchapter06-120827115400-phpapp01.pdf
chapter06-120827115400-phpapp01.pdfAxmedMaxamuud6
 
Object Oriented Approach for Software Development
Object Oriented Approach for Software DevelopmentObject Oriented Approach for Software Development
Object Oriented Approach for Software DevelopmentRishabh Soni
 
Design Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxKarthigaiSelviS3
 
Object analysis and design
Object analysis and designObject analysis and design
Object analysis and designAnand Grewal
 
System software design1
System software design1System software design1
System software design1PrityRawat2
 

Similar to Object Oriented Modeling Techniques (20)

Architecture of Object Oriented Software Engineering
Architecture of Object Oriented Software EngineeringArchitecture of Object Oriented Software Engineering
Architecture of Object Oriented Software Engineering
 
OOSD_UNIT1 (1).pptx
OOSD_UNIT1 (1).pptxOOSD_UNIT1 (1).pptx
OOSD_UNIT1 (1).pptx
 
2 uml
2 uml2 uml
2 uml
 
Software Design - SDLC Model
Software Design - SDLC ModelSoftware Design - SDLC Model
Software Design - SDLC Model
 
Object oriented analysis
Object oriented analysisObject oriented analysis
Object oriented analysis
 
CS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and AnswerCS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and Answer
 
Introduction to OOAD
Introduction to OOADIntroduction to OOAD
Introduction to OOAD
 
Object oriented methodologies
Object oriented methodologiesObject oriented methodologies
Object oriented methodologies
 
fdocuments.in_unit-2-ooad.ppt
fdocuments.in_unit-2-ooad.pptfdocuments.in_unit-2-ooad.ppt
fdocuments.in_unit-2-ooad.ppt
 
Object-Oriented Analysis and Design
Object-Oriented Analysis and DesignObject-Oriented Analysis and Design
Object-Oriented Analysis and Design
 
Jeet ooad unit-2
Jeet ooad unit-2Jeet ooad unit-2
Jeet ooad unit-2
 
ppt_ooad.pdf
ppt_ooad.pdfppt_ooad.pdf
ppt_ooad.pdf
 
[RPL2] Pertemuan 3 - UML dan USECASE VIEW
[RPL2] Pertemuan 3 - UML dan USECASE VIEW[RPL2] Pertemuan 3 - UML dan USECASE VIEW
[RPL2] Pertemuan 3 - UML dan USECASE VIEW
 
Software design
Software designSoftware design
Software design
 
Chapter 6 Object Modeling .pptxInformation Technology Project Management
Chapter 6 Object Modeling .pptxInformation Technology Project ManagementChapter 6 Object Modeling .pptxInformation Technology Project Management
Chapter 6 Object Modeling .pptxInformation Technology Project Management
 
chapter06-120827115400-phpapp01.pdf
chapter06-120827115400-phpapp01.pdfchapter06-120827115400-phpapp01.pdf
chapter06-120827115400-phpapp01.pdf
 
Object Oriented Approach for Software Development
Object Oriented Approach for Software DevelopmentObject Oriented Approach for Software Development
Object Oriented Approach for Software Development
 
Design Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptx
 
Object analysis and design
Object analysis and designObject analysis and design
Object analysis and design
 
System software design1
System software design1System software design1
System software design1
 

Recently uploaded

EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM TRACKING WITH GOOGLE ANALYTICS.pptx
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM  TRACKING WITH GOOGLE ANALYTICS.pptxEMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM  TRACKING WITH GOOGLE ANALYTICS.pptx
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM TRACKING WITH GOOGLE ANALYTICS.pptxthyngster
 
{Pooja: 9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...
{Pooja:  9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...{Pooja:  9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...
{Pooja: 9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...Pooja Nehwal
 
Digi Khata Problem along complete plan.pptx
Digi Khata Problem along complete plan.pptxDigi Khata Problem along complete plan.pptx
Digi Khata Problem along complete plan.pptxTanveerAhmed817946
 
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...Suhani Kapoor
 
Low Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service Bhilai
Low Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service BhilaiLow Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service Bhilai
Low Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service BhilaiSuhani Kapoor
 
100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptxAnupama Kate
 
From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...Florian Roscheck
 
Brighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingBrighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingNeil Barnes
 
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...Suhani Kapoor
 
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改atducpo
 
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130Suhani Kapoor
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfLars Albertsson
 
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 
定制英国白金汉大学毕业证(UCB毕业证书) 成绩单原版一比一
定制英国白金汉大学毕业证(UCB毕业证书)																			成绩单原版一比一定制英国白金汉大学毕业证(UCB毕业证书)																			成绩单原版一比一
定制英国白金汉大学毕业证(UCB毕业证书) 成绩单原版一比一ffjhghh
 
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdfKantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdfSocial Samosa
 
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...soniya singh
 

Recently uploaded (20)

EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM TRACKING WITH GOOGLE ANALYTICS.pptx
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM  TRACKING WITH GOOGLE ANALYTICS.pptxEMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM  TRACKING WITH GOOGLE ANALYTICS.pptx
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM TRACKING WITH GOOGLE ANALYTICS.pptx
 
{Pooja: 9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...
{Pooja:  9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...{Pooja:  9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...
{Pooja: 9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...
 
Digi Khata Problem along complete plan.pptx
Digi Khata Problem along complete plan.pptxDigi Khata Problem along complete plan.pptx
Digi Khata Problem along complete plan.pptx
 
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
 
Low Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service Bhilai
Low Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service BhilaiLow Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service Bhilai
Low Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service Bhilai
 
100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx
 
From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...
 
Brighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingBrighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data Storytelling
 
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
 
E-Commerce Order PredictionShraddha Kamble.pptx
E-Commerce Order PredictionShraddha Kamble.pptxE-Commerce Order PredictionShraddha Kamble.pptx
E-Commerce Order PredictionShraddha Kamble.pptx
 
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
 
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
 
VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...
VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...
VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...
 
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdf
 
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
 
定制英国白金汉大学毕业证(UCB毕业证书) 成绩单原版一比一
定制英国白金汉大学毕业证(UCB毕业证书)																			成绩单原版一比一定制英国白金汉大学毕业证(UCB毕业证书)																			成绩单原版一比一
定制英国白金汉大学毕业证(UCB毕业证书) 成绩单原版一比一
 
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdfKantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
 
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
 
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
 

Object Oriented Modeling Techniques

  • 1. Object Oriented Modeling and Design Reference Books: 1. Grady Booch, James Rumbaugh, Ivar Jacobson “Unified Modeling Language User Guide”, Addison- Wesley 2. Rambaugh, “Object Oriented Modeling and Designing”. PHI 3. Bouch. “Object Oriented Analysis and Design with Applications”. Addison Wesley. 4. Dan Pilone, Neil Pitman “UML 2.0 in a Nutshell”, O'Reilly 5. Schah, “Introduction to OOAD with UML and Unified Process”, TMH
  • 3. NEW PARADIGMS •Object –oriented mean:- Organize s/w as a collection of discret objects that incorporate both data structure & behavior An object is a concept, abstraction, or thing with sharp boundaries and meaning for an application object is something that has: -State -Behavior - Identity • characteristic of object:- 1. identity:-  Data is quantize into discrete ,distinguishable entity called object  Ex:- window, car 2. Classification :- What is CLASS?  a collection of objects that share common properties, attributes, behavior and semantics, in general.  A collection of objects with the same data structure (attributes, state variables) and behavior (function/code/operations) in the solution space.
  • 4.  A blueprint or definition of objects.  A factory for instantiating objects.  The description of a collection of related components.  Classification – Grouping of common objects into a class Ex:- fruit • Polymorphism:-  The ability to hide many different implementations behind a single interface  Same operation may behave differently on different classes  Operation is an action or transfer that an object perform  Specific implementation of an operation by a certain class is called method • Inheritance :-  Automatic duplication of super class attribute and behavior definitions in subclass.  Sharing of attribute & operation among classes based on hierarchical relationship
  • 5. Lawrence Chung CS6359.OT1: Module 1 5 Class Car Attributes  Model  Location Operations  Start  Accelerate What is Object-Orientation - Example of Abstraction and Encapsulation
  • 6. Object –oriented thinking and rethinking • Identification & organization of application domain concept rather than their final representation in a programming language 1. modeling concept only ,not implementation • Most focus on programming language implementation issues rather than analysis and design object • OO is not a programming technique • Express concept clearly & communicate between developer and customer 2. object – oriented methodology:- • Methodology consist building a model of an application domain & then adding implementation detail to it during design of a system ,it’s known as object – modeling technique (OMT) • Steps:- 1. Analysis:- -build a model of real-world situation sowing it’s important properties - Understand the problem statement - Object in model is application domain concept ,not computer implementation
  • 7. 2. System design: -make higher level decision about overall architecture - Target system is organized into subsystem based on analysis structure &proposed architecture 3. Object design: - Build design model based on analysis model but contain implementation detail - Focus on data structure & algorithm needed to implement each class 4. Implementation :- - Object classes & relationships of object design are translated into a particular programming language ,d/b & h/w implementation
  • 8. Object Modeling Technique (OMT) • It is an object-oriented analysis, design, and implementation methodology that focuses creating a model of objects from the real world and then using this model to develop object-oriented software. • OMT methodology uses three kinds of models to describe a system: 1. Object model - describes the objects in the system and their relationships; 2. Dynamic model - describes the interactions among objects in the system; and 3. Functional model - describes the data transformations of the system. - Object model components:- • Object: - An object is a concept, abstraction, or thing with crisp boundaries and meaning for the problem at hand. - All objects have identity and are distinguishable. • objects can belong to more than one class.
  • 9.  Object –Oriented Themes 1. Abstraction • focus on essential properties, ignore unimportant details 2. Encapsulation • separate external, visible behavior from internal, hidden behavior 3. Combining data and behavior • objects, not developers, decide how to carry out operations 4. Sharing • similar operations and structures are implemented once. 5. Emphasis on object-structure rather than procedure structure • behavior more stable than implementation
  • 10. Itntroduction to UML, page 10 Modeling • When you make a model you are making a mapping from the problem domain to a representation of the system you are modeling. • When you work object-oriented the model tends to be close to the system modeled, and a program execution can be regarded as a simulation of the behavior of the system. Reality System
  • 11. Itntroduction to UML, page 11 Why Do We Model? • Models give us a template that guides us in constructing a system. • If you want to make a building you first make a blueprint of the building to make, in the same way you should make a model of the system you want to make. As the complexity of systems increases, so does the importance of good modeling techniques. • Models help us visualize a system at different levels of abstraction, this makes it easier to manage complexity and to understand the system. • We build models so that we can better understand the system we are developing.
  • 12.  The Importance of Modeling • A model is a simplification of reality. • A model provides the blueprints of a system. Models may encompass detailed plans, as well as more general plans that give a 30,000-foot view of the system under consideration. • A good model includes those elements that have broad effect and omits those minor elements that are not relevant to the given level of abstraction. Every system may be described from different aspects using different models, and each model is therefore a semantically closed abstraction of the system. • A model may be structural, emphasizing the organization of the system, or it may be behavioral, emphasizing the dynamics of the system.
  • 13. 1. Models help us to visualize a system as it is or as we want it to be. 2. Models permit us to specify the structure or behavior of a system. 3. Models give us a template that guides us in constructing a system. 4. Models document the decisions we have made. • We build models of complex systems because we cannot cover such a system in its entirety.
  • 14.  Principles of Modeling 1. The choice of what models to create has a profound influence on how a problem is attacked and how a solution is shaped. Choose your models well. The right models will brilliantly illuminate the most wicked development problems, offering insight that you simply could not gain otherwise; the wrong models will mislead you, causing you to focus on irrelevant issues. 2.Every model may be expressed at different levels of precision. 3.The best models are connected to reality. 4.No single model is sufficient. Every nontrivial system is best approached through 5.a small set of nearly independent models.
  • 15.  Object-Oriented Modeling • In software, there are several ways to approach a model. The two most common ways are from an algorithmic perspective and from an object-oriented perspective. • The traditional view of software development takes an algorithmic perspective. In this approach, the main building block of all software is the procedure or function. This view leads developers to focus on issues of control and the decomposition of larger algorithms into smaller ones • The contemporary view of software development takes an object-oriented perspective. • In this approach, the main building block of all software systems is the object or class. Simply put, an object is a thing, generally drawn from the vocabulary of the problem space or the solution space; • a class is a description of a set of common objects. Every object has identity (you can name it or otherwise distinguish it from other objects), state (there's generally some data associated with it), and behavior (you can do things to the object, and it can do things to other objects, as well).
  • 16. Architecture of UML (4+1 view) • software-intensive system demands that the system be viewed from a number of perspectives. • Different stakeholders end users, analysts, developers, system integrators, testers, technical writers, and project managers each bring different agendas to a project, and each looks at that system in different ways at different times over the project's life. • system's architecture artifact that can be used to manage these different viewpoints and so control the iterative and incremental development of a system throughout its life cycle. • the architecture of a software-intensive system can best be described by five interlocking views. • Each view is a projection into the organization and structure of the system, focused on a particular aspect of that system.
  • 17.
  • 18. • use case view - It encompasses the use cases that describe the behavior of the system as seen by its end users, analysts, and testers. - This view doesn't really specify the organization of a software system - the static aspects of this view are captured in use case diagrams - the dynamic aspects of this view are captured in interaction diagrams, statechart diagrams, and activity diagrams. • design view - it encompasses the classes, interfaces, and collaborations that form the vocabulary of the problem and its solution. - This view primarily supports the functional requirements of the system, meaning the services that the system should provide to its end users. - With the UML, the static aspects of this view are captured in class diagrams and object diagrams - the dynamic aspects of this view are captured in interaction diagrams, statechart diagrams, and activity diagrams.
  • 19. • process view - It encompasses the threads and processes that form the system's concurrency and synchronization mechanisms. - This view primarily addresses the performance, scalability, and throughput of the system. - With the UML, the static and dynamic aspects of this view are captured in the same kinds of diagrams as for the design view, but with a focus on the active classes that represent these threads and processes. • implementation view - It encompasses the components and files that are used to assemble and release the physical system. - This view addresses the configuration management of the system's releases, made up of somewhat independent components and files that can be assembled in various ways to produce a running system. - With the UML, the static aspects of this view are captured in component diagrams - the dynamic aspects of this view are captured in interaction diagrams, statechart diagrams, and activity diagrams.
  • 20. • deployment view - It encompasses the nodes that form the system's hardware topology on which the system executes. - This view addresses the distribution, delivery, and installation of the parts that make up the physical system. - the static aspects of this view are captured in deployment diagrams - the dynamic aspects of this view are captured in interaction diagrams, statechart diagrams, and activity diagrams.
  • 21. RUP (Software Development Life Cycle) • What is RUP • A software development approach that is iterative, architecture-centric and use-case driven • RUP is process independent meaning that it is not tied to any particular software development life cycle. 1. Use case driven 2. Architecture-centric 3. Iterative and incremental • Use case driven means that use cases are used as a primary artifact for establishing the desired behavior of the system, for verifying and validating the system's architecture, for testing, and for communicating among the stakeholders of the project. • Architecture-centric means that a system's architecture is used as a primary artifact for conceptualizing, constructing, managing, and evolving the system under development. • iterative process is one that involves managing a stream of executable releases , each new release is focused on attacking and reducing the most significant risks to the success of the project.
  • 22. • Iterative Development Phases: Inception: Understand what to build – Vision, high-level requirements, business case – Not detailed requirements Elaboration: Understand how to build it – Baseline architecture, most requirements detailed – Not detailed design Construction: Build the product – Working product, system test complete Transition: Validate solution – Stakeholder acceptance
  • 23. As An Effective Process, the RUP: • Provides guidelines for efficient development of quality software – Provides suggested flows of activities and assignment of roles to artifacts • Reduces risk and increases predictability – Through iteration planning, risks aggressively attacked up front • Captures and presents best practices – very detailed. – Learn from other’s experiences – The RUP is huge! Configurable to the project;. – Contains disciplines – addressing all stakeholder concerns • Provides roadmap for applying tools – it is NOT just a theory – Suggests activity sequences; – Adaptable for large and small projects. • The RUP is a use-case driven, architecture-centric, iterative development process!
  • 25. Inception: Know What to Build • Prepare vision document and initial business case – Include risk assessment and resource estimate • Develop high-level project requirements – Initial use-case and domain models (10-20% complete) • Manage project scope – Reduce risk by identifying all key requirements – Acknowledge that requirements will change • Manage change, use iterative process
  • 26. Elaboration: Know How to Build It • Detail requirements as necessary (~80% complete) – Less essential requirements may not be fleshed out • Produce an executable and stable architecture – Define, implement and test interfaces of major components – Identify dependencies on external components and systems. Integrate shells/proxies of them. – Some key components will be partially implemented – Roughly 10% of code is implemented. • Drive architecture with key use cases – 20% of use cases drive 80% of the architecture – Design, implement and test key scenarios for use cases • Verify architectural qualities – Reliability: Stress test – Scalability and Performance: Load test • Continuously assess business case, risk profile and development plan
  • 27. Construction: Build The Product • Complete requirements and design model • Design, implement and test each component – Prototype system and involve end users – Incrementally evolve executable architecture to complete system • Build daily or weekly with automated build process • Test each build – Automate regression testing – Load and stress test to ensure architectural integrity • Deliver fully functional software (beta release) – Includes training material, user and deployment documentation • Produce release descriptions
  • 28. Transition: Deploy to End Users • Produce incremental ‘bug-fix’ releases • Update user manuals and deployment documentation • Update release descriptions • Execute cut-over • Conduct “post-mortem” project analysis
  • 29. • Development Cycles Going through the four major phases is called a development cycle, and it results in one software generation. The first pass through the four phases is called the initial development cycle. Unless the life of the product stops, an existing product will evolve into its next generation by repeating the same sequence of inception, elaboration, construction, and transition phases. This is the evolution of the system, so the development cycles after the initial development cycles are its evolution cycles. • Process Workflows The Rational Unified Process consists of nine process workflows. 1. Business modeling Describes the structure and dynamics of the organization 2. Requirements Describes the use case— based method for eliciting requirements 3. Analysis and design Describes the multiple architectural views 4. Implementation Takes into account software development, unit test, and integration 5. Test Describes test cases, procedures, and defect-tracking metrics 6. Deployment Covers the deliverable system configuration 7. Configuration management :Controls changes to and maintains the integrity of a project's artifacts 8. Project Management Describes various strategies of working with an iterative process 9. Environment Covers the necessary infrastructure required to develop a system • Artifacts Each Rational Unified Process activity has associated artifacts, either required as an input or generated as an output. Some artifacts are used to direct input to subsequent activities, kept as reference resources on the project, or generated in a format as contractual deliverables.
  • 30. • Models Models are the most important kind of artifact in the Rational Unified Process. A model is a simplification of reality, created to better understand the system being created. In the Rational Unified Process, there are nine models that collectively cover all the important decisions that go into visualizing, specifying, constructing, and documenting a software- intensive system. 1. Business model Establishes an abstraction of the organization 2. Domain model Establishes the context of the system 3. Use case model Establishes the system's functional requirements 4. Analysis model (optional)Establishes an idea design 5. Design model Establishes the vocabulary of the problem and its solution 6. Process model (optional) Establishes the system's concurrency and synchronization mechanisms 7. Deployment model Establishes the hardware topology on which the system is executed 8. Implementation model Establishes the parts used to assemble and release the physical system 9. Test model Establishes the paths by which the system is validated and verified
  • 31. • Other Artifacts The Rational Unified Process's artifacts are categorized as either management artifacts or technical artifacts. The Rational Unified Process's technical artifacts may be divided into four main sets. 1. Requirements set Describes what the system must do 2. Design set Describes how the system is to be constructed 3. Implementation set Describes the assembly of developed software components 4. Deployment set Provides all the data for the deliverable configuration