SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Software Reuse
Indu Sharma
HOD(CSE)
CPTC,Rajsamand
Introduction
 Today, complex, high quality computer-
based-systems must be built in a very
short time periods. This results in a
organized approach to reuse.
 Component-Based-Software-Engineering
(CBSE) is a process that emphasizes the
design and construction of computer-
based systems using reusable
components.
Types of Software Reuse
 Software component reuse, does not just mean the
reuse of code. It also includes the reuse of
specifications and designs.
 Types of Software reuse:
 Code components: functions, modules,
subsystems etc.
 Abstract Products: specifications, designs etc
 The potential gains from reusing specifications may
be greater than reusing code component. Code
contains low-level detail which may specialize it to
such extent that it cannot be reused. Designs or
specifications are more abstract and hence more
widely applicable.
Different levels of Reuse
 The reuse of software can be
considered at a no. of different levels:
i. Application system reuse: The whole of
an application system may be reused.
For this the software must be portable i.e.
it should execute on different platforms.
ii. Sub-system reuse: Major sub-systems of
an application may be reuse.
Different levels of Reuse
iii. Module or object reuse: Components of a
system representing a collection of
functions may be reuse. For eg., a C++
object implementing a binary tree may be
reused in different applications.
iv. Function reuse: Software components
which implement a single function, such
as mathematical functions, may be
reused.
Advantages of Reuse
 A systematic reuse in the development
process leads to the following advantages:
i. System reliability is increased: These
components have been tested in operational
systems and have therefore been exposed to
realistic operating conditions.
ii. Overall process risk is reduced: Less
uncertainty in the costs of reusing that
component than in the costs of development. It
reduces uncertainties in project cost estimation.
Advantages of Reuse
iii. Effective use can be made of specialists:
Instead of application specialists doing
the same work on different projects,
these specialists can develop reusable
components which encapsulate their
knowledge.
iv. Standard Compliance: Organizational
standards can be embodied in reusable
components. Eg. user interfaces.
Advantages of Reuse
v. Software development time can be
reduced: Reusing components speeds
up system production because both
development and validation time should
be reduced.
Design
System
Architecture
Specify
Components
Search for
reusable
components
Incorporate
discovered
components
How reuse can be incorporated into
the system development process?
Fig: Reuse in a standard development
process
The system designer completes a high-level design and
specifications of the components of that design. These
specifications are used to find components to reuse. These
may be incorporated at the architectural level or at more
detailed design levels.
Outline
System
Architecture
Search for
reusable
components
Modify requirements
according to
discovered
components
Architectural
design
How reuse can be incorporated into
the system development process?
Fig: Reuse driven development process
Search for
reusable
components
Specify system
components
based on reusable
components
How reuse can be incorporated into
the system development process?
 In second case reusability drives the design
process.
 Rather than design then search for reusable
components, engineers first search for
reusable components. They base their design
on these components
 Disadvantages of second approach:
 Requirements compromise
 The design may be less efficient than a special
purpose design.
Conditions for software
development with reuse
 There are three conditions for software
development with reuse:
i. It must be possible to find appropriate reusable
components. Organizations need a base of
properly catalogued and documented reusable
components.
ii. The reuser of the components must have
confidence that the components will behave as
specified and will be reliable. All components in
an organization’s catalogue should be certified
that they have reached some quality standards.
Conditions for software
development with reuse
iii. The components must have associated
documentation to help the reuser
understand them and adapt them to a
new application. The documentation
should include information about where
components have been reused and any
reuse problems which have been found.
Difficulties in development
with reuse
 The reuse costs may sometimes be greater
than the cost of re-implementing the
component.
 Some s/w engineers sometimes prefer to
rewrite components as they believe that they
can improve on the reusable components.
 Maintaining a component library and ensuring
that s/w developers can use this library can
be expensive. Our current techniques for
classifying, cataloguing, and retrieving s/w
components are immature.
Difficulties in development
with reuse
 Finding, understanding, and adapting reusable
components: Software components have to be
discovered in a library, understand, and
sometimes adapted to work in a new
environment. Engineers must be reasonably
confident of finding a component in library before
they will make include a component search as
part of their normal development process.
 CASE tools do not support development with
reuse. It may be difficult or impossible to
integrate these tools with a component library
system.
Reusability Enhancement
Initial component Reusable
component
Name
Generaliz-
ation
Operation
Generaliz-
ation
Exception
Generaliz-
ation
Component
Certification
Fig: The process of reusability enhancement
Reusability Enhancement
 Adapting a component to make it
reusable may involve making
difference types of changes:
i. Name Generalization: The names used
in the component may be modified so
that they are neutral rather than direct
reflection of some specific application
entity.
Reusability Enhancement
ii. Operation Generalization: Involve adding
operations to a component or removing
operations which are very specific to
some application domain.
iii. Exception Generalization: This may
involve checking each component to see
which exceptions it might generate and
including these operations in the
component interface.
Reusability Enhancement
 After the generalization the quality of
the generalized components should be
checked. It requires program
inspections or testing. The component
may be certified as having reached the
required quality standards.

Weitere ähnliche Inhalte

Was ist angesagt?

Software project management Software economics
Software project management Software economicsSoftware project management Software economics
Software project management Software economicsREHMAT ULLAH
 
Improving software economics
Improving software economicsImproving software economics
Improving software economicsdeep sharma
 
Software re engineering
Software re engineeringSoftware re engineering
Software re engineeringdeshpandeamrut
 
HCI 3e - Ch 7: Design rules
HCI 3e - Ch 7:  Design rulesHCI 3e - Ch 7:  Design rules
HCI 3e - Ch 7: Design rulesAlan Dix
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineeringDarshit Metaliya
 
Evolving role of Software,Legacy software,CASE tools,Process Models,CMMI
Evolving role of Software,Legacy software,CASE tools,Process Models,CMMIEvolving role of Software,Legacy software,CASE tools,Process Models,CMMI
Evolving role of Software,Legacy software,CASE tools,Process Models,CMMInimmik4u
 
Context model
Context modelContext model
Context modelUbaid423
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9koolkampus
 
Software Re-Engineering
Software Re-EngineeringSoftware Re-Engineering
Software Re-EngineeringSaqib Raza
 
Project control and process instrumentation
Project control and process instrumentationProject control and process instrumentation
Project control and process instrumentationKuppusamy P
 
HCI 3e - Ch 13: Socio-organizational issues and stakeholder requirements
HCI 3e - Ch 13:  Socio-organizational issues and stakeholder requirementsHCI 3e - Ch 13:  Socio-organizational issues and stakeholder requirements
HCI 3e - Ch 13: Socio-organizational issues and stakeholder requirementsAlan Dix
 
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
 
Human computer interaction-Memory, Reasoning and Problem solving
Human computer interaction-Memory, Reasoning and Problem solvingHuman computer interaction-Memory, Reasoning and Problem solving
Human computer interaction-Memory, Reasoning and Problem solvingN.Jagadish Kumar
 
HCI 3e - Ch 20: Ubiquitous computing and augmented realities
HCI 3e - Ch 20:  Ubiquitous computing and augmented realitiesHCI 3e - Ch 20:  Ubiquitous computing and augmented realities
HCI 3e - Ch 20: Ubiquitous computing and augmented realitiesAlan Dix
 
Software Engineering unit 3
Software Engineering unit 3Software Engineering unit 3
Software Engineering unit 3Abhimanyu Mishra
 

Was ist angesagt? (20)

Software Evolution
Software EvolutionSoftware Evolution
Software Evolution
 
Software project management Software economics
Software project management Software economicsSoftware project management Software economics
Software project management Software economics
 
Improving software economics
Improving software economicsImproving software economics
Improving software economics
 
Software re engineering
Software re engineeringSoftware re engineering
Software re engineering
 
software engineering
software engineeringsoftware engineering
software engineering
 
HCI 3e - Ch 7: Design rules
HCI 3e - Ch 7:  Design rulesHCI 3e - Ch 7:  Design rules
HCI 3e - Ch 7: Design rules
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineering
 
Evolving role of Software,Legacy software,CASE tools,Process Models,CMMI
Evolving role of Software,Legacy software,CASE tools,Process Models,CMMIEvolving role of Software,Legacy software,CASE tools,Process Models,CMMI
Evolving role of Software,Legacy software,CASE tools,Process Models,CMMI
 
unit 3 Design 1
unit 3 Design 1unit 3 Design 1
unit 3 Design 1
 
Context model
Context modelContext model
Context model
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9
 
Software reengineering
Software reengineeringSoftware reengineering
Software reengineering
 
Software Re-Engineering
Software Re-EngineeringSoftware Re-Engineering
Software Re-Engineering
 
Project control and process instrumentation
Project control and process instrumentationProject control and process instrumentation
Project control and process instrumentation
 
HCI 3e - Ch 13: Socio-organizational issues and stakeholder requirements
HCI 3e - Ch 13:  Socio-organizational issues and stakeholder requirementsHCI 3e - Ch 13:  Socio-organizational issues and stakeholder requirements
HCI 3e - Ch 13: Socio-organizational issues and stakeholder requirements
 
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)
 
Human computer interaction-Memory, Reasoning and Problem solving
Human computer interaction-Memory, Reasoning and Problem solvingHuman computer interaction-Memory, Reasoning and Problem solving
Human computer interaction-Memory, Reasoning and Problem solving
 
HCI 3e - Ch 20: Ubiquitous computing and augmented realities
HCI 3e - Ch 20:  Ubiquitous computing and augmented realitiesHCI 3e - Ch 20:  Ubiquitous computing and augmented realities
HCI 3e - Ch 20: Ubiquitous computing and augmented realities
 
Software Engineering unit 3
Software Engineering unit 3Software Engineering unit 3
Software Engineering unit 3
 

Ähnlich wie Software resuse

Advanced Software Engineering.ppt
Advanced Software Engineering.pptAdvanced Software Engineering.ppt
Advanced Software Engineering.pptRvishnupriya2
 
Introduction to database m Chapter 9.pptx
Introduction to database m Chapter 9.pptxIntroduction to database m Chapter 9.pptx
Introduction to database m Chapter 9.pptxMohammedNouh7
 
A Methodology To Manage Victim Components Using Cbo Measure
A Methodology To Manage Victim Components Using Cbo MeasureA Methodology To Manage Victim Components Using Cbo Measure
A Methodology To Manage Victim Components Using Cbo Measureijseajournal
 
An Approach to Calculate Reusability in Source Code Using Metrics
An Approach to Calculate Reusability in Source Code Using MetricsAn Approach to Calculate Reusability in Source Code Using Metrics
An Approach to Calculate Reusability in Source Code Using MetricsIJERA Editor
 
A Survey of Software Reusability
A Survey of Software ReusabilityA Survey of Software Reusability
A Survey of Software ReusabilityIJERA Editor
 
Architecture support for component
Architecture support for component Architecture support for component
Architecture support for component Saransh Garg
 
Developing reusable software components for distributed embedded systems
Developing reusable software components for distributed embedded systemsDeveloping reusable software components for distributed embedded systems
Developing reusable software components for distributed embedded systemseSAT Publishing House
 
Software Reuse.ppt
Software Reuse.pptSoftware Reuse.ppt
Software Reuse.pptgdfgdfgdf1
 
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
 
IRJET- Code Reuse & Reusability of the Software
IRJET- Code Reuse & Reusability of the SoftwareIRJET- Code Reuse & Reusability of the Software
IRJET- Code Reuse & Reusability of the SoftwareIRJET Journal
 
Component Base Development
Component Base DevelopmentComponent Base Development
Component Base DevelopmentFrik khechoomian
 
Software engineering introduction
Software engineering introductionSoftware engineering introduction
Software engineering introductionVishal Singh
 

Ähnlich wie Software resuse (20)

Advanced Software Engineering.ppt
Advanced Software Engineering.pptAdvanced Software Engineering.ppt
Advanced Software Engineering.ppt
 
M 3.1 reuse
M 3.1 reuseM 3.1 reuse
M 3.1 reuse
 
Software Reuse
Software ReuseSoftware Reuse
Software Reuse
 
Introduction to database m Chapter 9.pptx
Introduction to database m Chapter 9.pptxIntroduction to database m Chapter 9.pptx
Introduction to database m Chapter 9.pptx
 
A Methodology To Manage Victim Components Using Cbo Measure
A Methodology To Manage Victim Components Using Cbo MeasureA Methodology To Manage Victim Components Using Cbo Measure
A Methodology To Manage Victim Components Using Cbo Measure
 
An Approach to Calculate Reusability in Source Code Using Metrics
An Approach to Calculate Reusability in Source Code Using MetricsAn Approach to Calculate Reusability in Source Code Using Metrics
An Approach to Calculate Reusability in Source Code Using Metrics
 
D502023439
D502023439D502023439
D502023439
 
D502023439
D502023439D502023439
D502023439
 
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
 
Ch16.pptx
Ch16.pptxCh16.pptx
Ch16.pptx
 
A Survey of Software Reusability
A Survey of Software ReusabilityA Survey of Software Reusability
A Survey of Software Reusability
 
Architecture support for component
Architecture support for component Architecture support for component
Architecture support for component
 
Developing reusable software components for distributed embedded systems
Developing reusable software components for distributed embedded systemsDeveloping reusable software components for distributed embedded systems
Developing reusable software components for distributed embedded systems
 
Software Reuse.ppt
Software Reuse.pptSoftware Reuse.ppt
Software Reuse.ppt
 
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
 
IRJET- Code Reuse & Reusability of the Software
IRJET- Code Reuse & Reusability of the SoftwareIRJET- Code Reuse & Reusability of the Software
IRJET- Code Reuse & Reusability of the Software
 
Component Base Development
Component Base DevelopmentComponent Base Development
Component Base Development
 
Ch15 software reuse
Ch15 software reuseCh15 software reuse
Ch15 software reuse
 
Software engineering introduction
Software engineering introductionSoftware engineering introduction
Software engineering introduction
 
M046056672
M046056672M046056672
M046056672
 

Mehr von Indu Sharma Bhardwaj (18)

E model
E modelE model
E model
 
E commerce
E commerceE commerce
E commerce
 
Ui design final
Ui design finalUi design final
Ui design final
 
Testing
TestingTesting
Testing
 
Software re engineering
Software re engineeringSoftware re engineering
Software re engineering
 
Software project management 3
Software project management 3Software project management 3
Software project management 3
 
Software project management
Software project managementSoftware project management
Software project management
 
Software process and project metrics
Software process and project metricsSoftware process and project metrics
Software process and project metrics
 
Software maintenance
Software maintenanceSoftware maintenance
Software maintenance
 
Risk analysis
Risk analysisRisk analysis
Risk analysis
 
Design final
Design finalDesign final
Design final
 
Debugging
DebuggingDebugging
Debugging
 
10 common english mistakes
10 common english mistakes10 common english mistakes
10 common english mistakes
 
3. jvm
3. jvm3. jvm
3. jvm
 
6. static keyword
6. static keyword6. static keyword
6. static keyword
 
4. method overloading
4. method overloading4. method overloading
4. method overloading
 
2. hello java
2. hello java2. hello java
2. hello java
 
1 .java basic
1 .java basic1 .java basic
1 .java basic
 

Kürzlich hochgeladen

ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYKayeClaireEstoconing
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Celine George
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)cama23
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxCarlos105
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxAshokKarra1
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...Postal Advocate Inc.
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptxiammrhaywood
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomnelietumpap1
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfSpandanaRallapalli
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management systemChristalin Nelson
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONHumphrey A Beña
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSJoshuaGantuangco2
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfphamnguyenenglishnb
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptxmary850239
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfMr Bounab Samir
 
FILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipinoFILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipinojohnmickonozaleda
 

Kürzlich hochgeladen (20)

ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptx
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choom
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdf
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management system
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
 
FILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipinoFILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipino
 

Software resuse

  • 2. Introduction  Today, complex, high quality computer- based-systems must be built in a very short time periods. This results in a organized approach to reuse.  Component-Based-Software-Engineering (CBSE) is a process that emphasizes the design and construction of computer- based systems using reusable components.
  • 3. Types of Software Reuse  Software component reuse, does not just mean the reuse of code. It also includes the reuse of specifications and designs.  Types of Software reuse:  Code components: functions, modules, subsystems etc.  Abstract Products: specifications, designs etc  The potential gains from reusing specifications may be greater than reusing code component. Code contains low-level detail which may specialize it to such extent that it cannot be reused. Designs or specifications are more abstract and hence more widely applicable.
  • 4. Different levels of Reuse  The reuse of software can be considered at a no. of different levels: i. Application system reuse: The whole of an application system may be reused. For this the software must be portable i.e. it should execute on different platforms. ii. Sub-system reuse: Major sub-systems of an application may be reuse.
  • 5. Different levels of Reuse iii. Module or object reuse: Components of a system representing a collection of functions may be reuse. For eg., a C++ object implementing a binary tree may be reused in different applications. iv. Function reuse: Software components which implement a single function, such as mathematical functions, may be reused.
  • 6. Advantages of Reuse  A systematic reuse in the development process leads to the following advantages: i. System reliability is increased: These components have been tested in operational systems and have therefore been exposed to realistic operating conditions. ii. Overall process risk is reduced: Less uncertainty in the costs of reusing that component than in the costs of development. It reduces uncertainties in project cost estimation.
  • 7. Advantages of Reuse iii. Effective use can be made of specialists: Instead of application specialists doing the same work on different projects, these specialists can develop reusable components which encapsulate their knowledge. iv. Standard Compliance: Organizational standards can be embodied in reusable components. Eg. user interfaces.
  • 8. Advantages of Reuse v. Software development time can be reduced: Reusing components speeds up system production because both development and validation time should be reduced.
  • 9. Design System Architecture Specify Components Search for reusable components Incorporate discovered components How reuse can be incorporated into the system development process? Fig: Reuse in a standard development process The system designer completes a high-level design and specifications of the components of that design. These specifications are used to find components to reuse. These may be incorporated at the architectural level or at more detailed design levels.
  • 10. Outline System Architecture Search for reusable components Modify requirements according to discovered components Architectural design How reuse can be incorporated into the system development process? Fig: Reuse driven development process Search for reusable components Specify system components based on reusable components
  • 11. How reuse can be incorporated into the system development process?  In second case reusability drives the design process.  Rather than design then search for reusable components, engineers first search for reusable components. They base their design on these components  Disadvantages of second approach:  Requirements compromise  The design may be less efficient than a special purpose design.
  • 12. Conditions for software development with reuse  There are three conditions for software development with reuse: i. It must be possible to find appropriate reusable components. Organizations need a base of properly catalogued and documented reusable components. ii. The reuser of the components must have confidence that the components will behave as specified and will be reliable. All components in an organization’s catalogue should be certified that they have reached some quality standards.
  • 13. Conditions for software development with reuse iii. The components must have associated documentation to help the reuser understand them and adapt them to a new application. The documentation should include information about where components have been reused and any reuse problems which have been found.
  • 14. Difficulties in development with reuse  The reuse costs may sometimes be greater than the cost of re-implementing the component.  Some s/w engineers sometimes prefer to rewrite components as they believe that they can improve on the reusable components.  Maintaining a component library and ensuring that s/w developers can use this library can be expensive. Our current techniques for classifying, cataloguing, and retrieving s/w components are immature.
  • 15. Difficulties in development with reuse  Finding, understanding, and adapting reusable components: Software components have to be discovered in a library, understand, and sometimes adapted to work in a new environment. Engineers must be reasonably confident of finding a component in library before they will make include a component search as part of their normal development process.  CASE tools do not support development with reuse. It may be difficult or impossible to integrate these tools with a component library system.
  • 16. Reusability Enhancement Initial component Reusable component Name Generaliz- ation Operation Generaliz- ation Exception Generaliz- ation Component Certification Fig: The process of reusability enhancement
  • 17. Reusability Enhancement  Adapting a component to make it reusable may involve making difference types of changes: i. Name Generalization: The names used in the component may be modified so that they are neutral rather than direct reflection of some specific application entity.
  • 18. Reusability Enhancement ii. Operation Generalization: Involve adding operations to a component or removing operations which are very specific to some application domain. iii. Exception Generalization: This may involve checking each component to see which exceptions it might generate and including these operations in the component interface.
  • 19. Reusability Enhancement  After the generalization the quality of the generalized components should be checked. It requires program inspections or testing. The component may be certified as having reached the required quality standards.