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.
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 Patterns
Kwangshin 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 mismatches
Mohammad 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 Reuse
Software ReuseSoftware Reuse
Software Reuse
prince mukherjee
 
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 Engineering
Vanilson 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 analysis
Mohammad Shawahneh
 
Component based software engineering
Component based software engineeringComponent based software engineering
Component based software engineering
Charotar University Of Science And Technology,Gujrat
 
Software Reuse: Challenges and Business Success
Software Reuse: Challenges and Business SuccessSoftware Reuse: Challenges and Business Success
Software Reuse: Challenges and Business Success
University 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 Development
Frik khechoomian
 
Software component reuse repository
Software component reuse repositorySoftware component reuse repository
Software component reuse repository
Sandeep 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 OOAD
Shivani Kapoor
 
Design Engineering is a topic of software engineering of second year fourth s...
Design Engineering is a topic of software engineering of second year fourth s...Design Engineering is a topic of software engineering of second year fourth s...
Design Engineering is a topic of software engineering of second year fourth s...
38aartidhage
 
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 dhfbdhbffdvf
puttipavan23022023
 
Advanced Software Engineering.ppt
Advanced Software Engineering.pptAdvanced Software Engineering.ppt
Advanced Software Engineering.ppt
Rvishnupriya2
 
A FRAMEWORK STUDIO FOR COMPONENT REUSABILITY
A FRAMEWORK STUDIO FOR COMPONENT REUSABILITYA FRAMEWORK STUDIO FOR COMPONENT REUSABILITY
A FRAMEWORK STUDIO FOR COMPONENT REUSABILITY
cscpconf
 
CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3
SIMONTHOMAS S
 
Slides chapter 9
Slides chapter 9Slides chapter 9
Slides chapter 9
Priyanka Shetty
 
Object Oriented Approach for Software Development
Object Oriented Approach for Software DevelopmentObject Oriented Approach for Software Development
Object Oriented Approach for Software Development
Rishabh 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 Patterns
Juan Lopez
 
Introduction to Object Oriented Programming.pdf
Introduction to Object Oriented Programming.pdfIntroduction to Object Oriented Programming.pdf
Introduction to Object Oriented Programming.pdf
ManishBej3
 
Software_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptxSoftware_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptx
ArifaMehreen1
 
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
Shri Shankaracharya College, Bhilai,Junwani
 
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
KarthigaiSelviS3
 
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
nimmik4u
 
Lecture1422914635
Lecture1422914635Lecture1422914635

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
 
Design Engineering is a topic of software engineering of second year fourth s...
Design Engineering is a topic of software engineering of second year fourth s...Design Engineering is a topic of software engineering of second year fourth s...
Design Engineering is a topic of software engineering of second year fourth s...
 
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
 

Recently uploaded

Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Zilliz
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
Pixlogix Infotech
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 

Recently uploaded (20)

Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 

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.