SlideShare a Scribd company logo
Reusability VS Extensibility
&
Methodologies
By Sayyada Ayesha
041-BS-CS-2017
CONTENTS:
 The Differences between Reusability and Extensibility
as follows:
1. Definitions
2. Frameworks
3. UML
 Similarities
 Methodologies
WHAT IS REUSABILITY?
Reusability is the use of existing assets in some form
within the software product development process.
Assets are products and by products of the software
development life cycle and include code, software
components, test suites, designs and documentation. A
chunk of code is regularly organized using modules or
namespaces into layers. Objects and software
components offer a more advanced form of reusability.
WHAT IS EXTENSIBILITY?
Extensibility is a system design principle where the
implementation takes future growth into consideration.
It is a systemic measure of the ability to extend a
system and the level of effort required to implement
the extension. Extensions can be through the addition
of new functionality or through modification of existing
functionality. The central theme is to provide for
change typically enhancements while minimizing
impact to existing system functions.
REUSABILITY
 Reusability should be increased where possible
 Components should be designed to work on different
context.
 Generalize design as much as possible :
Use Frameworks, Patterns, and UML Collaborations.
 Design the system to contain hooks .
 Keep the design as simple as possible.
REUSE ANALYSIS, DESIGN, AND CODE
 Reuse existing artifacts when possible, to take
advantage of existing investment.
 Use Frameworks, Patterns, and UML Collaborations.
SOFTWARE FRAMEWORK
 Represented by its code. , a Framework is
 A set of classes, abstract classes and interfaces.
 A set of behaviors, spread over these classes.
 An incomplete application for a family of products.
 A set of hooks, where subclasses can insert their
specialized behavior.
 The expectations placed upon the subclasses.
 A logic decomposition of a problem
FRAMEWORK GOALS
 Reuse: code, design, domain analysis, and
documentation.
 Simplify software development.
 Reduce code writing.
 Allow inexperienced designers and programmers to
develop good software.
 Extract the knowledge of experimented designers
and programmers
REUSABILITY OF FRAMEWORK
 Reuse of framework components improves
developer productivity, as well as software
performance, reliability, and interoperability.
 The stable interfaces define generic components that
can be extended to create new applications.
EXTENSIBILITY OF FRAMEWORKS
 A framework enhances extensibility by providing
explicit hook methods for planned variability.
 Extensibility is essential to ensure rapid
customization of new application features.
REUSABILITY IN UML
We investigate reusability definition, assessment, and
analysis for the unified modeling language (UML),
focusing on using UML viaa tool prior to the
development of software(code). Thus, this work
concentrates on reusing a “design model” and
monitoring this reuse as the model is
transitionedintosoftware.
EXTENSIBILITY IN UML
 UML extensibility features are simple way to store
additional information in models
 Infact , they have a significant semantic impact in
expressive power of UML by allowing modelers to
extend UML with new modeling concepts.
 UML tools match domain components and
frameworks .These tools used for rapid development
using reusable assets .
SIMILARITIES
Extensibility and reusability have many emphasized properties in
common, including low coupling, modularity and high cohesion.
Software reusability is boosted by extensibility and refers to
software elements’ ability to construct for many different software
systems, which is motivated by the observation of software systems
often sharing common elements. Reusability together with
extensibility allows a technology to be transferred to another project
with less development and maintenance time, as well as enhanced
reliability and consistency
METHODOLOGIES IN OOAD
CRC, OOSD, OORASS
 CRC
Class Responsibility Collaborator
 OOSD
Object Oriented Structured Design
 OORASS
Object Oriented Role Analysis, Synthesis and
Structuring
CRC (Class Responsibility Collaborator)
How To Create CRCs ?
 Find classes.
 Find responsibilities.
 Define collaborators.
 Move the cards around.
Reusability Vs Extensibility and Methodologies in OOAD
OOSD (Object Oriented Structured Design)
“Goal of OOSD is to provide a single architectural
design notation that can support every software
design."
Properties
 OOSD notation is neutral.
 Designers can develop and use their own design and
design metrics within the framework of OOSD.
 OOSD supports a wide range of design philosophies.
Reusability Vs Extensibility and Methodologies in OOAD
OORASS (Object Oriented Role Analysis,
Synthesis and Structuring)
“OORASS is an analysis and design method which
emphasizes the role played by objects in the system."
Goals
 Total lifecycle support – Support For Lifecycle of the
software.
 Integrated description – Includes Formal Or Informal
Description Of Everything.
 Separation of concerns – Programs Should be
Understandable in parts.
 Reuse – Should Implement Reusability on every asset
of the product.
Reusability Vs Extensibility and Methodologies in OOAD

More Related Content

KEY
TDD refresher
PPTX
Apresentando ferramentas CASE
PPTX
Reusibility vs Extensibility in OOAD
PDF
Design Engineering is a topic of software engineering of second year fourth s...
PDF
Enhancing Software Development Efficiency: The Role of Design Patterns in Cod...
PDF
Code Craftsmanship Checklist
PDF
Design concepts in concepts of engineering design
PDF
from-analysis-to-design-the-art-of-object-oriented-programming-2023-6-5-5-17-...
TDD refresher
Apresentando ferramentas CASE
Reusibility vs Extensibility in OOAD
Design Engineering is a topic of software engineering of second year fourth s...
Enhancing Software Development Efficiency: The Role of Design Patterns in Cod...
Code Craftsmanship Checklist
Design concepts in concepts of engineering design
from-analysis-to-design-the-art-of-object-oriented-programming-2023-6-5-5-17-...

Similar to Reusability Vs Extensibility and Methodologies in OOAD (20)

PPTX
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
PPT
Advanced Software Engineering.ppt
PDF
A FRAMEWORK STUDIO FOR COMPONENT REUSABILITY
PDF
Domain Driven Design
PPTX
CS8494 SOFTWARE ENGINEERING Unit-3
PPT
Slides chapter 9
PDF
FRAMEWORKS BETWEEN COMPONENTS AND OBJECTS
PPTX
REPORTER (KUTAT-LADAG-4A).pptx..........
PPTX
Object Oriented Approach for Software Development
PPT
Chapter 6 Software Engineering Design.ppt
PPT
Chapter 6 Design in software Engineeing.ppt
PPTX
software Design in software engineering1
PPTX
Thankyou.ppt bba 6th sem mdu ppt final x
PDF
Python_a_programming_language_for_Students.pdf
PDF
Tech challenges in a large scale agile project
PPT
Design Issue(Reuse) in Software Engineering SE14
PPT
Design Concepts software engineering.ppt
PPTX
Dependency Injection, Design Principles and Patterns
PDF
Introduction to Object Oriented Programming.pdf
PPTX
Software_Engineering_Presentation (1).pptx
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
Advanced Software Engineering.ppt
A FRAMEWORK STUDIO FOR COMPONENT REUSABILITY
Domain Driven Design
CS8494 SOFTWARE ENGINEERING Unit-3
Slides chapter 9
FRAMEWORKS BETWEEN COMPONENTS AND OBJECTS
REPORTER (KUTAT-LADAG-4A).pptx..........
Object Oriented Approach for Software Development
Chapter 6 Software Engineering Design.ppt
Chapter 6 Design in software Engineeing.ppt
software Design in software engineering1
Thankyou.ppt bba 6th sem mdu ppt final x
Python_a_programming_language_for_Students.pdf
Tech challenges in a large scale agile project
Design Issue(Reuse) in Software Engineering SE14
Design Concepts software engineering.ppt
Dependency Injection, Design Principles and Patterns
Introduction to Object Oriented Programming.pdf
Software_Engineering_Presentation (1).pptx
Ad

Recently uploaded (20)

PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Cloud computing and distributed systems.
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
Spectroscopy.pptx food analysis technology
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPT
Teaching material agriculture food technology
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Empathic Computing: Creating Shared Understanding
PDF
KodekX | Application Modernization Development
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
cuic standard and advanced reporting.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Cloud computing and distributed systems.
Advanced methodologies resolving dimensionality complications for autism neur...
Spectroscopy.pptx food analysis technology
Reach Out and Touch Someone: Haptics and Empathic Computing
MYSQL Presentation for SQL database connectivity
Understanding_Digital_Forensics_Presentation.pptx
Network Security Unit 5.pdf for BCA BBA.
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Teaching material agriculture food technology
Programs and apps: productivity, graphics, security and other tools
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Unlocking AI with Model Context Protocol (MCP)
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Agricultural_Statistics_at_a_Glance_2022_0.pdf
MIND Revenue Release Quarter 2 2025 Press Release
Empathic Computing: Creating Shared Understanding
KodekX | Application Modernization Development
Building Integrated photovoltaic BIPV_UPV.pdf
cuic standard and advanced reporting.pdf
Ad

Reusability Vs Extensibility and Methodologies in OOAD

  • 1. Reusability VS Extensibility & Methodologies By Sayyada Ayesha 041-BS-CS-2017
  • 2. CONTENTS:  The Differences between Reusability and Extensibility as follows: 1. Definitions 2. Frameworks 3. UML  Similarities  Methodologies
  • 3. WHAT IS REUSABILITY? Reusability is the use of existing assets in some form within the software product development process. Assets are products and by products of the software development life cycle and include code, software components, test suites, designs and documentation. A chunk of code is regularly organized using modules or namespaces into layers. Objects and software components offer a more advanced form of reusability.
  • 4. WHAT IS EXTENSIBILITY? Extensibility is a system design principle where the implementation takes future growth into consideration. It is a systemic measure of the ability to extend a system and the level of effort required to implement the extension. Extensions can be through the addition of new functionality or through modification of existing functionality. The central theme is to provide for change typically enhancements while minimizing impact to existing system functions.
  • 5. REUSABILITY  Reusability should be increased where possible  Components should be designed to work on different context.  Generalize design as much as possible : Use Frameworks, Patterns, and UML Collaborations.  Design the system to contain hooks .  Keep the design as simple as possible.
  • 6. REUSE ANALYSIS, DESIGN, AND CODE  Reuse existing artifacts when possible, to take advantage of existing investment.  Use Frameworks, Patterns, and UML Collaborations.
  • 7. SOFTWARE FRAMEWORK  Represented by its code. , a Framework is  A set of classes, abstract classes and interfaces.  A set of behaviors, spread over these classes.  An incomplete application for a family of products.  A set of hooks, where subclasses can insert their specialized behavior.  The expectations placed upon the subclasses.  A logic decomposition of a problem
  • 8. FRAMEWORK GOALS  Reuse: code, design, domain analysis, and documentation.  Simplify software development.  Reduce code writing.  Allow inexperienced designers and programmers to develop good software.  Extract the knowledge of experimented designers and programmers
  • 9. REUSABILITY OF FRAMEWORK  Reuse of framework components improves developer productivity, as well as software performance, reliability, and interoperability.  The stable interfaces define generic components that can be extended to create new applications.
  • 10. EXTENSIBILITY OF FRAMEWORKS  A framework enhances extensibility by providing explicit hook methods for planned variability.  Extensibility is essential to ensure rapid customization of new application features.
  • 11. REUSABILITY IN UML We investigate reusability definition, assessment, and analysis for the unified modeling language (UML), focusing on using UML viaa tool prior to the development of software(code). Thus, this work concentrates on reusing a “design model” and monitoring this reuse as the model is transitionedintosoftware.
  • 12. EXTENSIBILITY IN UML  UML extensibility features are simple way to store additional information in models  Infact , they have a significant semantic impact in expressive power of UML by allowing modelers to extend UML with new modeling concepts.  UML tools match domain components and frameworks .These tools used for rapid development using reusable assets .
  • 13. SIMILARITIES Extensibility and reusability have many emphasized properties in common, including low coupling, modularity and high cohesion. Software reusability is boosted by extensibility and refers to software elements’ ability to construct for many different software systems, which is motivated by the observation of software systems often sharing common elements. Reusability together with extensibility allows a technology to be transferred to another project with less development and maintenance time, as well as enhanced reliability and consistency
  • 15. CRC, OOSD, OORASS  CRC Class Responsibility Collaborator  OOSD Object Oriented Structured Design  OORASS Object Oriented Role Analysis, Synthesis and Structuring
  • 16. CRC (Class Responsibility Collaborator)
  • 17. How To Create CRCs ?  Find classes.  Find responsibilities.  Define collaborators.  Move the cards around.
  • 19. OOSD (Object Oriented Structured Design) “Goal of OOSD is to provide a single architectural design notation that can support every software design."
  • 20. Properties  OOSD notation is neutral.  Designers can develop and use their own design and design metrics within the framework of OOSD.  OOSD supports a wide range of design philosophies.
  • 22. OORASS (Object Oriented Role Analysis, Synthesis and Structuring) “OORASS is an analysis and design method which emphasizes the role played by objects in the system."
  • 23. Goals  Total lifecycle support – Support For Lifecycle of the software.  Integrated description – Includes Formal Or Informal Description Of Everything.  Separation of concerns – Programs Should be Understandable in parts.  Reuse – Should Implement Reusability on every asset of the product.