Ontologi
es
Reasonin
g
Components
Agents
Simulati
Introduction to Software Reuse
Riya Yadav
What is software reuse?
🖝Act: reuse of previously built software artifact/asset to fulfill need
in new development task or sub-task
🖝Field: study of methodologies, practices, processes, techniques,
languages, frameworks, CASE tools that foster and facilitate reuse
🖝Motivation:
🖝 Avoiding wasting time and money redoing same task over and over
🖝 Quality standard of previously completed task carries over to new
occurrences of same need
Requirements of
reusable software artifacts
🖝Common to special-purpose artifacts:
🖝 Usable: user-friendly
🖝 Reliable: conform to functional and non-functional requirements
🖝Additional for reuse:
🖝 Pervasively useful:
🖝 Fulfills a need that recurs across projects, domains, applications, concerns or
platforms
🖝 Adaptable:
🖝 Modular: useful by separable parts
🖝 Generic: useful as a whole in many different context
🖝 Understandable: documented,
🖝 Portable: platform independent
Reuse issues and dimensions
🖝Asset composition vs. asset mapping with meta-assets (generative)
🖝 ex. composing existing DLL vs. generating DLL from precise UML model
🖝 Transformations can be use for both
🖝Asset abstraction level
🖝Asset executability level:
🖝 ex, model, source code, bytecode, binary code
🖝Asset granularity level
🖝 ex. package, class, method
🖝Asset process stage
🖝Asset visibility
🖝 Black-box, i.e. reuse “as is” based on specification vs.
🖝 White-box, i.e. reuse with modifications based on
realization/implementation
🖝Asset built with reuse x asset built for reuse
🖝Asset reuse scope:
🖝 Across domains, across applications, within same application
Reuse sub-tasks
🖝Define boundaries of reusable assets (knowledge units with reuse
potential)
🖝Organize and structure reusable assets together with descriptive
and operational meta-data in searchable, persistent repositories
🖝Retrieve reusable assets
🖝Assemble/integrate reusable assets
🖝Adapt/modify reusable assets
Technical reuse inhibitors
🖝Current lack of:
🖝 Comprehensively reuse-oriented CASE tool
🖝 Model-level component libraries ready to reuse across platforms
🖝Immaturity of:
🖝 Comprehensive methodologies integrating multiple reuse techniques
🖝 KobrA 2002 integrates MDA, full-life cycle components with built-in contract
testing, product lines, patterns, object-orientation, top-down recursive
development
🖝 Only applied to a few real-world development projects
🖝 Standard languages to support model-level reuse:
🖝 UML2, OCL2, MOF2, XMI2 2003-2004
🖝 QVT for model-level mapping-based reuse 2005
🖝 Distributed architecture for third-party component publication, search
and access
🖝 Web services 2003
Non-technical inhibitors
🖝 Economical:
🖝 Cut-throat competition of software industry, especially start-up survival
🖝 Leads to obsession with time-to-market of next product or product release
🖝 Reuse ROI only long-term and almost impossible to precisely or objectively
estimate
🖝 Lack of business models for providers of components, non-code artifacts, non-
code abstract artifact mappings and generators
🖝 Organizational and managerial:
🖝 Effective leveraging of reuse requires costly software house organization re-
engineering, changing team structures, roles, incentives, productivity measures,
🖝 Educational and human resource:
🖝 Design for reuse and design from existing assets (as opposed to from scratch)
heavily under-taught
🖝 Developers with reuse skills hard to find
🖝 Psychological:
🖝 “Not invented here” syndrome
🖝 Hacker mentality: code worship, autistic character structure
🖝 Resistance to change habits
Reuse metrics
🖝Overcoming non-technical reuse inhibitors, especially economic ones,
requires estimating the cost-benefit of:
1. Reuse an available asset in an application development project
2. Pro-actively develop reusable assets for current and future projects
3. Launch an organization-wide systematic reuse program
🖝Pitfalls of the line of code metric:
🖝 Manually designed for reuse assets and automatically generated assets
larger than manually design for one-shot use assets with equivalent
functionalities for the application at hand
🖝 Versatile, multiple functionality components underused in any given
application
Thank You

More Related Content

PPT
Advanced Software Engineering.ppt
PPTX
Software reuse ppt.
PPTX
software reuse [PPT] 2.ppt seminar for btech
PPT
Software Reuse
PPTX
Introduction to database m Chapter 9.pptx
PDF
C.R.U.I.S.E. - Component Reuse In Software Engineering
PPTX
Ch15 software reuse
PPTX
Domain and Reuse Engineering.pptx
Advanced Software Engineering.ppt
Software reuse ppt.
software reuse [PPT] 2.ppt seminar for btech
Software Reuse
Introduction to database m Chapter 9.pptx
C.R.U.I.S.E. - Component Reuse In Software Engineering
Ch15 software reuse
Domain and Reuse Engineering.pptx

Similar to software Engineering required documents for you (20)

PDF
ODTUG Technical Journal - The Reusability Test - Fusion Column July 2010
PPTX
Ch15 - Software Reuse
PPT
Chapter -1.ppt
PDF
Object Oriented Software Engineering and Software Reuse
PPT
SOFTWARE REUSABILITY in software engineering.ppt
PPTX
Software Reuse.pptx
PPTX
Reuse landscape
PPT
Software Reuse.ppt
PPTX
Software Reuse
PPTX
Software reuse is the use of existing artifacts to build new software compone...
PDF
Approaches and Challenges of Software Reusability: A Review of Research Liter...
PPTX
for Software engineering students Lecture(15-16)Software-Reuse (1).pptx
PDF
A Survey of Software Reusability
PPT
OO analysis_Lecture12.ppt
PPT
Ch18
PPTX
Software Reuse: Challenges and Business Success
PDF
ANIn Ahmedabad May 2024 | Reusability Using Agile by Pratik Patel
PDF
PPTX
Software component reuse repository
ODTUG Technical Journal - The Reusability Test - Fusion Column July 2010
Ch15 - Software Reuse
Chapter -1.ppt
Object Oriented Software Engineering and Software Reuse
SOFTWARE REUSABILITY in software engineering.ppt
Software Reuse.pptx
Reuse landscape
Software Reuse.ppt
Software Reuse
Software reuse is the use of existing artifacts to build new software compone...
Approaches and Challenges of Software Reusability: A Review of Research Liter...
for Software engineering students Lecture(15-16)Software-Reuse (1).pptx
A Survey of Software Reusability
OO analysis_Lecture12.ppt
Ch18
Software Reuse: Challenges and Business Success
ANIn Ahmedabad May 2024 | Reusability Using Agile by Pratik Patel
Software component reuse repository
Ad

Recently uploaded (20)

PPTX
sac 451hinhgsgshssjsjsjheegdggeegegdggddgeg.pptx
PDF
Votre score augmente si vous choisissez une catégorie et que vous rédigez une...
PPTX
IMPACT OF LANDSLIDE.....................
PDF
[EN] Industrial Machine Downtime Prediction
DOCX
Factor Analysis Word Document Presentation
PPTX
Business_Capability_Map_Collection__pptx
PPTX
QUANTUM_COMPUTING_AND_ITS_POTENTIAL_APPLICATIONS[2].pptx
PPTX
New ISO 27001_2022 standard and the changes
PPTX
Leprosy and NLEP programme community medicine
PDF
Data Engineering Interview Questions & Answers Cloud Data Stacks (AWS, Azure,...
PPTX
Lesson-01intheselfoflifeofthekennyrogersoftheunderstandoftheunderstanded
PDF
Introduction to the R Programming Language
PDF
OneRead_20250728_1808.pdfhdhddhshahwhwwjjaaja
PPT
Image processing and pattern recognition 2.ppt
PDF
Capcut Pro Crack For PC Latest Version {Fully Unlocked 2025}
PPTX
SET 1 Compulsory MNH machine learning intro
PPTX
Steganography Project Steganography Project .pptx
PDF
Microsoft Core Cloud Services powerpoint
PDF
Global Data and Analytics Market Outlook Report
PPTX
Phase1_final PPTuwhefoegfohwfoiehfoegg.pptx
sac 451hinhgsgshssjsjsjheegdggeegegdggddgeg.pptx
Votre score augmente si vous choisissez une catégorie et que vous rédigez une...
IMPACT OF LANDSLIDE.....................
[EN] Industrial Machine Downtime Prediction
Factor Analysis Word Document Presentation
Business_Capability_Map_Collection__pptx
QUANTUM_COMPUTING_AND_ITS_POTENTIAL_APPLICATIONS[2].pptx
New ISO 27001_2022 standard and the changes
Leprosy and NLEP programme community medicine
Data Engineering Interview Questions & Answers Cloud Data Stacks (AWS, Azure,...
Lesson-01intheselfoflifeofthekennyrogersoftheunderstandoftheunderstanded
Introduction to the R Programming Language
OneRead_20250728_1808.pdfhdhddhshahwhwwjjaaja
Image processing and pattern recognition 2.ppt
Capcut Pro Crack For PC Latest Version {Fully Unlocked 2025}
SET 1 Compulsory MNH machine learning intro
Steganography Project Steganography Project .pptx
Microsoft Core Cloud Services powerpoint
Global Data and Analytics Market Outlook Report
Phase1_final PPTuwhefoegfohwfoiehfoegg.pptx
Ad

software Engineering required documents for you

  • 2. What is software reuse? 🖝Act: reuse of previously built software artifact/asset to fulfill need in new development task or sub-task 🖝Field: study of methodologies, practices, processes, techniques, languages, frameworks, CASE tools that foster and facilitate reuse 🖝Motivation: 🖝 Avoiding wasting time and money redoing same task over and over 🖝 Quality standard of previously completed task carries over to new occurrences of same need
  • 3. Requirements of reusable software artifacts 🖝Common to special-purpose artifacts: 🖝 Usable: user-friendly 🖝 Reliable: conform to functional and non-functional requirements 🖝Additional for reuse: 🖝 Pervasively useful: 🖝 Fulfills a need that recurs across projects, domains, applications, concerns or platforms 🖝 Adaptable: 🖝 Modular: useful by separable parts 🖝 Generic: useful as a whole in many different context 🖝 Understandable: documented, 🖝 Portable: platform independent
  • 4. Reuse issues and dimensions 🖝Asset composition vs. asset mapping with meta-assets (generative) 🖝 ex. composing existing DLL vs. generating DLL from precise UML model 🖝 Transformations can be use for both 🖝Asset abstraction level 🖝Asset executability level: 🖝 ex, model, source code, bytecode, binary code 🖝Asset granularity level 🖝 ex. package, class, method 🖝Asset process stage 🖝Asset visibility 🖝 Black-box, i.e. reuse “as is” based on specification vs. 🖝 White-box, i.e. reuse with modifications based on realization/implementation 🖝Asset built with reuse x asset built for reuse 🖝Asset reuse scope: 🖝 Across domains, across applications, within same application
  • 5. Reuse sub-tasks 🖝Define boundaries of reusable assets (knowledge units with reuse potential) 🖝Organize and structure reusable assets together with descriptive and operational meta-data in searchable, persistent repositories 🖝Retrieve reusable assets 🖝Assemble/integrate reusable assets 🖝Adapt/modify reusable assets
  • 6. Technical reuse inhibitors 🖝Current lack of: 🖝 Comprehensively reuse-oriented CASE tool 🖝 Model-level component libraries ready to reuse across platforms 🖝Immaturity of: 🖝 Comprehensive methodologies integrating multiple reuse techniques 🖝 KobrA 2002 integrates MDA, full-life cycle components with built-in contract testing, product lines, patterns, object-orientation, top-down recursive development 🖝 Only applied to a few real-world development projects 🖝 Standard languages to support model-level reuse: 🖝 UML2, OCL2, MOF2, XMI2 2003-2004 🖝 QVT for model-level mapping-based reuse 2005 🖝 Distributed architecture for third-party component publication, search and access 🖝 Web services 2003
  • 7. Non-technical inhibitors 🖝 Economical: 🖝 Cut-throat competition of software industry, especially start-up survival 🖝 Leads to obsession with time-to-market of next product or product release 🖝 Reuse ROI only long-term and almost impossible to precisely or objectively estimate 🖝 Lack of business models for providers of components, non-code artifacts, non- code abstract artifact mappings and generators 🖝 Organizational and managerial: 🖝 Effective leveraging of reuse requires costly software house organization re- engineering, changing team structures, roles, incentives, productivity measures, 🖝 Educational and human resource: 🖝 Design for reuse and design from existing assets (as opposed to from scratch) heavily under-taught 🖝 Developers with reuse skills hard to find 🖝 Psychological: 🖝 “Not invented here” syndrome 🖝 Hacker mentality: code worship, autistic character structure 🖝 Resistance to change habits
  • 8. Reuse metrics 🖝Overcoming non-technical reuse inhibitors, especially economic ones, requires estimating the cost-benefit of: 1. Reuse an available asset in an application development project 2. Pro-actively develop reusable assets for current and future projects 3. Launch an organization-wide systematic reuse program 🖝Pitfalls of the line of code metric: 🖝 Manually designed for reuse assets and automatically generated assets larger than manually design for one-shot use assets with equivalent functionalities for the application at hand 🖝 Versatile, multiple functionality components underused in any given application