In: Computer Science
Question 2 [20 Marks]
Software engineering has been more focused on original development. However, it is now recognised that to achieve better software, more quickly and at lower cost, we need to adopt a design process that is based on systematic software reuse. Discuss the concept of software reuse and include in your discussion the benefits and problems that arise.
>>Answer
>>Given
Software Reuse Concept:-
The concept of software reuse is using existing software in a systematic manner and by modifying the existing software we get a new software with some advance functionalities.
While making a software some steps needs to be follow:-
1. Planning:- It is the initial step of making a software. It takes too much time to do planning for a software. It hepls us to reach our desired goals.
2. Feasibility Study:- In this process the planner should have to think in all the aspects - psychological, conceptual skills, labour cost, time to develop software, maintanenace cost, legal, technical factors to complete the project without any issue.
3. Design:- This step involves a planner and developer. Before making a software it is important for software designer to kept clients requirements in their mind to reach the expected results.
4. Developing Software:- After the step of designing a software, developer starts developing a software according to the design.
5. Testing:- Before the step of implemention, it is necessary to test the software. If any error or warning occurs then fix it to implement it.
6. Implementation:- It is considered as final step. In this step the software is handed over to the client.
7. Maintenance:- It is necessary for any software to update and tested on time to time for future enhancement of the software.
Benefits of Software Reuse:-
1. It reduces sotware developing cost.
2. By using the source code of the existing model, it is easy to develop new software.
3. It takes less time to develop software.
4. It provides more flexibility.
5. It increases reliability.
Problems arises in Software Reuse:-
1. It requires deeply understanding of existing software before developng new software with the use of old source code.
2. Maintenance cost is higher.
3. Every old source code is not portable. It means that source code is supporting in previous software but not in the new software.