32 Questions
What is the main focus of software reuse?
Systematic software reuse
What does 'System reuse' involve in software engineering?
Reusing complete systems
Which type of reuse involves incorporating an application without any change into others?
Application reuse
What has there been a major switch to in the past 10 years in software engineering?
Systematic software reuse
What is one of the benefits of software reuse mentioned in the text?
Reduced process risk
Which type of reuse involves reusing components of an application from sub-systems to single objects?
Component reuse
What is the main aim of systematic software reuse?
Achieving better software more quickly and at lower cost
Why is bringing a system to market as early as possible important?
To reduce the margin of error in project cost estimation
What is one of the problems with software reuse described in the text?
Lack of tool support
How does reusing software contribute to lower development costs?
By making fewer lines of code have to be written
What is one benefit of reusing software components in terms of standards compliance?
Implementation of user interface standards
Why is effective use of specialists mentioned as a benefit of software reuse?
To improve dependability
What is a problem related to creating, maintaining, and using a component library for software reuse?
Not-invented-here syndrome
How does reusing software contribute to increased dependability?
'Reused software has been tried and tested in working systems'
'Populating a reusable component library' can be expensive because...
'Some software tools do not support reuse'
What is one problem with the reuse of software components in terms of maintenance costs?
'Finding, understanding, and adapting reusable components'
What does the dependability of a system reflect?
The user's degree of trust in the system
What attributes does dependability cover?
Reliability, availability, and security
Why may undependable systems be rejected by their users?
Because they are unreliable, unsafe, or insecure
What may happen if a system failure leads to economic losses or physical damage?
The costs of system failure may be very high
What is the most important system property for many computer-based systems?
Dependability
What are some related attributes to dependability?
Reliability and availability
What is the principal dependability property that reflects the system's ability to maintain the continuity of critical services in the presence of disruptive events?
Resilience
What is a judgment of how likely it is that the system can resist accidental or deliberate intrusions?
Security
Reflects the extent to which the system can be adapted to new requirements?
Maintainability
What is the probability that the system will be up and running and able to deliver useful services to users?
Availability
Which dependability property reflects a judgment of how well a system can maintain the continuity of its critical services in the presence of disruptive events?
Resilience
What reflects the extent to which user input errors can be avoided and tolerated?
Error tolerance
What reflects a judgment of how likely it is that the system will cause damage to people or its environment?
Safety
What reflects the extent to which the system can be repaired in the event of a failure?
Repairability
What reflects a judgment of how likely it is that the system can resist accidental or deliberate intrusions?
Security
What is a judgment of how likely it is that the system will cause damage to people or its environment?
Safety
Study Notes
Software Reuse
- The main focus of software reuse is to reduce the development time and cost by reusing existing software components.
- System reuse involves reusing a complete system or subsystems without any modification.
Types of Reuse
- Black-box reuse involves incorporating an application without any change into others.
- White-box reuse involves reusing components of an application from sub-systems to single objects.
Benefits of Software Reuse
- One of the benefits of software reuse is reduced development costs.
- Reusing software components contributes to lower development costs by reducing the amount of code that needs to be written and tested.
- Reusing software components also contributes to increased dependability.
Dependability
- Dependability reflects the system's ability to avoid failures and maintain the continuity of critical services in the presence of disruptive events.
- Attributes covered by dependability include availability, reliability, maintainability, and security.
- Undependable systems may be rejected by their users.
- System failure can lead to economic losses or physical damage.
Attributes of Dependability
- Availability is the probability that the system will be up and running and able to deliver useful services to users.
- Reliability reflects a judgment of how likely it is that the system can resist accidental or deliberate intrusions.
- Maintainability reflects the extent to which the system can be repaired in the event of a failure.
- Security reflects a judgment of how likely it is that the system can resist accidental or deliberate intrusions.
- Safety reflects a judgment of how likely it is that the system will cause damage to people or its environment.
- Fault tolerance reflects the extent to which the system can maintain the continuity of its critical services in the presence of disruptive events.
System Properties
- The most important system property for many computer-based systems is dependability.
- Related attributes to dependability include availability, reliability, maintainability, security, and safety.
Test your knowledge on software reuse, including topics like the reuse landscape, application frameworks, software product lines, and application system reuse. Understand the concept of designing systems by composing existing components used in other systems for better and quicker software development.
Make Your Own Quizzes and Flashcards
Convert your notes into interactive study material.
Get started for free