Software Reuse 1
Get ready!
1 Before you read the passage, talk about these questions.
How can software reuse help with the software crisis?
2 What are different software reuse techniques?
Reading
2 Read the journal article. Then, choose the correct answers.
1 What is the purpose of the article?
A to explain the historical development of software reuse
B to suggest that engineers practice software reuse
C to list different types of software that can be reused
D to discuss the legal issues involved in software reuse
2 Which of the following is NOT a benefit of software reuse?
A elimination of usage problems
B increased productivity for software companies
C stimulation of software companies
D improved development of compositional software
3 What is a problem with white-box reuse?
A It uses unreliable source codes.
B It leads to mistakes in software development.
C It does not support mass development of new software.
D It is limited in scope.
Vocabulary
3 Match the words or phrases with the definitions (A-G).
1. scope
2. source code
3. substance
4. ad hoc
5. COTS
6. technique
7. product
A unmodified from its original state _______________________
B a skill or specific method _______________________
C the extent or area that something covers _____________________
D the components, concepts, and procedures of something
______________________
E done in a particular instance only _____________________
F something that is available for purchase _____________________
G a list of commands to be executed in a computer program ______________
Vocabulary
4 Read the sentence pairs. Choose which word or phrase best fits each
blank.
1 software reuse / software crisis
A) The ______________ is created by a rising demand for new
applications.
B) ___________is the practice of recycling pieces of code into new
applications.
2 approach / usage
A) A(n) _______________ is a way of dealing with something.
B) Something’s ______________________ is how it’s utilized.
3 black-box reuse / white-box reuse
A) ______________________ requires engineers to modify software.
B) _______________________does not require engineers to modify
software.
4 compositional / generative
A) ______________ software can easily be reused in new systems.
B) _______________ software can be used to create new programs.
Reading
5 Listen and read the journal article again. What are the benefits of
black-box reuse? Use the words below to fill in the gaps.
1. modifications
2. code
3. time
Black-box reuse saves engineers _____________because they do not need to
make ______________ to the ___________________.
Listening
6 Listen to a conversation between two software engineers. Mark the
following statements as True or False.
1. The man was unhappy with the software reuse on a previous project. True False
2. The woman practiced white box reuse on her last project. True False
3. The woman recommends that the man try black-box reuse. True False
Listening
7 Listen again and complete the conversation.
Engineer 1: Hey can you help me with something?
Engineer 2: Sure. What do you need help with?
Engineer 1: I'm thinking about 1) ___________________ _________________ _______________
on a new project. But I never tried that before.
Engineer 2: I did 2) ______________________ __________________ - _________________
______________________ on my last application.
Engineer 1: Did it work well for you?
Engineer 2: Yeah, it was great. It really saved me a lot of 3)___________________
________________ ____________________ _____________________ .
Engineer 1: Huh. Would you recommend black-box reuse?
Engineer 2: Yeah, it was okay. I used 4) ________________ ______________ _____________
were for sale. They were more suited to the project I was working on.
Engineer 1: Is it possible to get source codes for free?
Engineer 2: I think so, but they 5) _________________ ______________ ______________
as specific as the kind I used.
Engineer 1: I could just do some 6) __________________ ________________
______________________ .
Engineer 2: Yeah. It would take more time than black-box reuse. But I think it would
still save you time in the long run.
Engineer 1: Do you think software reuse is a good idea? Or should I just write the code myself?
Engineer 2: Try the reuse. If it doesn't work out, you can start from scratch on your next project.
Engineer 1: I guess that's true. I'll look into getting the codes I need. Thanks for your help.
Speaking
8 Complete the conversation below based on Task 7, with the phrases
given. Then, take roles and act it out.
USE LANGUAGE SUCH AS:
Do you know ...
Is it possible to ... ?
I can ...
Student A: You are an engineer. Talk to Student B about:
• his or her opinion on software reuse
• different types of software reuse
• what he or she recommends
Student B: You are an engineer. Talk to Student A about software reuse.
1. Would you recommend white-box reuse?
2. Do you know anything about reusing?
3. Is it possible to do black-box reuse without paying for the software
pieces?
4. Did it work well for you?
5. I can do ad hoc application if I have to, but I'd prefer not to.
A: ___________________________________________________
B: I reused some source code on the last application I developed.
A: __________________________________________________
B: It really saved me a lot of time on the project.
A: ___________________________________________________
B: No. You'll save more time if you can find codes to reuse without having
to change them.
A: ____________________________________________________
B: Yes, but I've never tried that.
A: _____________________________________________________
B: It would take more time than black-box reuse, but I think it would still
save you time in the long run.
Lesson taken from Career Path Software Engineering Textbook by Virginia Evans, Jenny Dooley and Enrico
Ponteli, USA 2014.