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

What's hot

CS6201 Software Reuse - Design Patterns
CS6201 Software Reuse - Design PatternsCS6201 Software Reuse - Design Patterns
CS6201 Software Reuse - Design PatternsKwangshin Oh
 
Presentation on component based software engineering(cbse)
Presentation on component based software engineering(cbse)Presentation on component based software engineering(cbse)
Presentation on component based software engineering(cbse)Chandan Thakur
 
Software Architectural mismatches
Software Architectural mismatchesSoftware Architectural mismatches
Software Architectural mismatchesMohammad Shawahneh
 
Solid Principles, for better cohesion and lower coupling
Solid Principles, for better cohesion and lower coupling Solid Principles, for better cohesion and lower coupling
Solid Principles, for better cohesion and lower coupling Mohammad Shawahneh
 
Software Architecture by Reuse, Composition and Customization
Software Architecture by Reuse, Composition and Customization  Software Architecture by Reuse, Composition and Customization
Software Architecture by Reuse, Composition and Customization Ivano Malavolta
 
C.R.U.I.S.E. - Component Reuse In Software Engineering
C.R.U.I.S.E. - Component Reuse In Software EngineeringC.R.U.I.S.E. - Component Reuse In Software Engineering
C.R.U.I.S.E. - Component Reuse In Software EngineeringVanilson Buregio
 
GENERATING SOFTWARE PRODUCT LINE MODEL BY RESOLVING CODE SMELLS IN THE PRODUC...
GENERATING SOFTWARE PRODUCT LINE MODEL BY RESOLVING CODE SMELLS IN THE PRODUC...GENERATING SOFTWARE PRODUCT LINE MODEL BY RESOLVING CODE SMELLS IN THE PRODUC...
GENERATING SOFTWARE PRODUCT LINE MODEL BY RESOLVING CODE SMELLS IN THE PRODUC...ijseajournal
 
term paper for cbd models
term paper for cbd modelsterm paper for cbd models
term paper for cbd modelsSukhdeep Singh
 
Software Architecture connectors - ActiveMQ analysis
Software Architecture connectors - ActiveMQ analysisSoftware Architecture connectors - ActiveMQ analysis
Software Architecture connectors - ActiveMQ analysisMohammad Shawahneh
 
Software Reuse: Challenges and Business Success
Software Reuse: Challenges and Business SuccessSoftware Reuse: Challenges and Business Success
Software Reuse: Challenges and Business SuccessUniversity of Zurich
 
Quality attributes in software architecture
Quality attributes in software architectureQuality attributes in software architecture
Quality attributes in software architectureHimanshu
 
Component Base Development
Component Base DevelopmentComponent Base Development
Component Base DevelopmentFrik khechoomian
 
Software component reuse repository
Software component reuse repositorySoftware component reuse repository
Software component reuse repositorySandeep Singh
 

What's hot (19)

Ch18
Ch18Ch18
Ch18
 
CS6201 Software Reuse - Design Patterns
CS6201 Software Reuse - Design PatternsCS6201 Software Reuse - Design Patterns
CS6201 Software Reuse - Design Patterns
 
Presentation on component based software engineering(cbse)
Presentation on component based software engineering(cbse)Presentation on component based software engineering(cbse)
Presentation on component based software engineering(cbse)
 
Software Architectural mismatches
Software Architectural mismatchesSoftware Architectural mismatches
Software Architectural mismatches
 
Basics of se
Basics of seBasics of se
Basics of se
 
Solid Principles, for better cohesion and lower coupling
Solid Principles, for better cohesion and lower coupling Solid Principles, for better cohesion and lower coupling
Solid Principles, for better cohesion and lower coupling
 
Software Reuse
Software ReuseSoftware Reuse
Software Reuse
 
Software Architecture by Reuse, Composition and Customization
Software Architecture by Reuse, Composition and Customization  Software Architecture by Reuse, Composition and Customization
Software Architecture by Reuse, Composition and Customization
 
C.R.U.I.S.E. - Component Reuse In Software Engineering
C.R.U.I.S.E. - Component Reuse In Software EngineeringC.R.U.I.S.E. - Component Reuse In Software Engineering
C.R.U.I.S.E. - Component Reuse In Software Engineering
 
GENERATING SOFTWARE PRODUCT LINE MODEL BY RESOLVING CODE SMELLS IN THE PRODUC...
GENERATING SOFTWARE PRODUCT LINE MODEL BY RESOLVING CODE SMELLS IN THE PRODUC...GENERATING SOFTWARE PRODUCT LINE MODEL BY RESOLVING CODE SMELLS IN THE PRODUC...
GENERATING SOFTWARE PRODUCT LINE MODEL BY RESOLVING CODE SMELLS IN THE PRODUC...
 
Ch19
Ch19Ch19
Ch19
 
software architecture
software architecturesoftware architecture
software architecture
 
term paper for cbd models
term paper for cbd modelsterm paper for cbd models
term paper for cbd models
 
Software Architecture connectors - ActiveMQ analysis
Software Architecture connectors - ActiveMQ analysisSoftware Architecture connectors - ActiveMQ analysis
Software Architecture connectors - ActiveMQ analysis
 
Component based software engineering
Component based software engineeringComponent based software engineering
Component based software engineering
 
Software Reuse: Challenges and Business Success
Software Reuse: Challenges and Business SuccessSoftware Reuse: Challenges and Business Success
Software Reuse: Challenges and Business Success
 
Quality attributes in software architecture
Quality attributes in software architectureQuality attributes in software architecture
Quality attributes in software architecture
 
Component Base Development
Component Base DevelopmentComponent Base Development
Component Base Development
 
Software component reuse repository
Software component reuse repositorySoftware component reuse repository
Software component reuse repository
 

Similar to Reusability Vs Extensibility and Methodologies in OOAD

Reusibility vs Extensibility in OOAD
Reusibility vs Extensibility in OOADReusibility vs Extensibility in OOAD
Reusibility vs Extensibility in OOADShivani Kapoor
 
from-analysis-to-design-the-art-of-object-oriented-programming-2023-6-5-5-17-...
from-analysis-to-design-the-art-of-object-oriented-programming-2023-6-5-5-17-...from-analysis-to-design-the-art-of-object-oriented-programming-2023-6-5-5-17-...
from-analysis-to-design-the-art-of-object-oriented-programming-2023-6-5-5-17-...Data & Analytics Magazin
 
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvfUNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvfputtipavan23022023
 
Advanced Software Engineering.ppt
Advanced Software Engineering.pptAdvanced Software Engineering.ppt
Advanced Software Engineering.pptRvishnupriya2
 
A FRAMEWORK STUDIO FOR COMPONENT REUSABILITY
A FRAMEWORK STUDIO FOR COMPONENT REUSABILITYA FRAMEWORK STUDIO FOR COMPONENT REUSABILITY
A FRAMEWORK STUDIO FOR COMPONENT REUSABILITYcscpconf
 
CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3SIMONTHOMAS S
 
Object Oriented Approach for Software Development
Object Oriented Approach for Software DevelopmentObject Oriented Approach for Software Development
Object Oriented Approach for Software DevelopmentRishabh Soni
 
Tech challenges in a large scale agile project
Tech challenges in a large scale agile projectTech challenges in a large scale agile project
Tech challenges in a large scale agile projectHarald Soevik
 
Design Issue(Reuse) in Software Engineering SE14
Design Issue(Reuse) in Software Engineering SE14Design Issue(Reuse) in Software Engineering SE14
Design Issue(Reuse) in Software Engineering SE14koolkampus
 
Dependency Injection, Design Principles and Patterns
Dependency Injection, Design Principles and PatternsDependency Injection, Design Principles and Patterns
Dependency Injection, Design Principles and PatternsJuan Lopez
 
Introduction to Object Oriented Programming.pdf
Introduction to Object Oriented Programming.pdfIntroduction to Object Oriented Programming.pdf
Introduction to Object Oriented Programming.pdfManishBej3
 
Software_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptxSoftware_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptxArifaMehreen1
 
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
 
Function Oriented and Object Oriented Design,Modularization techniques
Function Oriented and Object Oriented Design,Modularization techniquesFunction Oriented and Object Oriented Design,Modularization techniques
Function Oriented and Object Oriented Design,Modularization techniquesnimmik4u
 
Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"
Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"
Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"GlobalLogic Ukraine
 

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

Reusibility vs Extensibility in OOAD
Reusibility vs Extensibility in OOADReusibility vs Extensibility in OOAD
Reusibility vs Extensibility in OOAD
 
from-analysis-to-design-the-art-of-object-oriented-programming-2023-6-5-5-17-...
from-analysis-to-design-the-art-of-object-oriented-programming-2023-6-5-5-17-...from-analysis-to-design-the-art-of-object-oriented-programming-2023-6-5-5-17-...
from-analysis-to-design-the-art-of-object-oriented-programming-2023-6-5-5-17-...
 
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvfUNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
 
Advanced Software Engineering.ppt
Advanced Software Engineering.pptAdvanced Software Engineering.ppt
Advanced Software Engineering.ppt
 
A FRAMEWORK STUDIO FOR COMPONENT REUSABILITY
A FRAMEWORK STUDIO FOR COMPONENT REUSABILITYA FRAMEWORK STUDIO FOR COMPONENT REUSABILITY
A FRAMEWORK STUDIO FOR COMPONENT REUSABILITY
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
 
CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3
 
Slides chapter 9
Slides chapter 9Slides chapter 9
Slides chapter 9
 
Object Oriented Approach for Software Development
Object Oriented Approach for Software DevelopmentObject Oriented Approach for Software Development
Object Oriented Approach for Software Development
 
Tech challenges in a large scale agile project
Tech challenges in a large scale agile projectTech challenges in a large scale agile project
Tech challenges in a large scale agile project
 
Design Issue(Reuse) in Software Engineering SE14
Design Issue(Reuse) in Software Engineering SE14Design Issue(Reuse) in Software Engineering SE14
Design Issue(Reuse) in Software Engineering SE14
 
Dependency Injection, Design Principles and Patterns
Dependency Injection, Design Principles and PatternsDependency Injection, Design Principles and Patterns
Dependency Injection, Design Principles and Patterns
 
Introduction to Object Oriented Programming.pdf
Introduction to Object Oriented Programming.pdfIntroduction to Object Oriented Programming.pdf
Introduction to Object Oriented Programming.pdf
 
Software_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptxSoftware_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptx
 
Object oriented analysis and design unit- v
Object oriented analysis and design unit- vObject oriented analysis and design unit- v
Object oriented analysis and design unit- v
 
M046056672
M046056672M046056672
M046056672
 
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
 
Function Oriented and Object Oriented Design,Modularization techniques
Function Oriented and Object Oriented Design,Modularization techniquesFunction Oriented and Object Oriented Design,Modularization techniques
Function Oriented and Object Oriented Design,Modularization techniques
 
Lecture1422914635
Lecture1422914635Lecture1422914635
Lecture1422914635
 
Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"
Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"
Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"
 

Recently uploaded

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 

Recently uploaded (20)

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 

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.
  • 18.
  • 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.
  • 21.
  • 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.