Problem 1
What major technical and nontechnical factors hinder software reuse? Do you personally reuse much software and, if not, why not?
Problem 2
List the benefits of software reuse and explain why the expected lifetime of the software should be considered when planning reuse.
Problem 4
Explain what is meant by “inversion of control” in application frameworks. Explain why this approach could cause problems if you integrated two separate systems that were originally created using the same application framework.
Problem 6
Most desktop software, such as word processing software, can be configured in a number of different ways. Examine software that you regularly use and list the configuration options for that software. Suggest difficulties that users might have in configuring the software. Microsoft Office (or one of its open-source alternatives) is a good example to use for this exercise.
Problem 7
Why have many large companies chosen ERP systems as the basis for their organizational information system? What problems may arise when deploying a large-scale ERP system in an organization?
Problem 8
What are the significant benefits offered by the application system reuse approach when compared with the custom software development approach?
Problem 9
Explain why adaptors are usually needed when systems are constructed by integrating application systems. Suggest three practical problems that might arise in writing adaptor software to link two application systems.
Problem 10
The reuse of software raises a number of copyright and intellectual property issues. If a customer pays a software contractor to develop a system, who has the right to reuse the developed code? Does the software contractor have the right to use that code as a basis for a generic component? What payment mechanisms might be used to reimburse providers of reusable components? Discuss these issues and other ethical issues associated with the reuse of software.