Software reuse, types, benefits, issues (Legal, Ethical, Technical) Krishna Veena Gundapuneni
Agenda What is software reuse Types Benefits Examples Issues – Legal – Ethical – Technical
What is software reuse? It’s a process of creating a software system from existing software rather than building it from scratch. It’s the process of implementing software systems using existing software assets. Also use of existing software knowledge to build new software
What is software reuse? Source code Requirements Proposals Specifications Design User manuals Test suites
Reuse types Application system reuse – The whole application is reused – DOS embedding in Microsoft Windows Sub-system reuse – Major sub-system of an application may be reused – Apache web server
Reuse types Module or object reuse – String class in java/C++ – You created custom Date class extending from Date – Inheritance Function reuse – Specific methods – C functions for string concatenation
Reuse types Non-code reuse – Design, Test suite etc – Reuse of DOS test suite for Windows Services reuse – Web services, SOA – aspx?SID=19 aspx?SID=19
Reuse benefits Reduce development costs Reduce development time Increase system reliability and quality Reduce overall process risk Effective use of specialists Organizational standards can be built in
Examples Apache web server – Sub system reuse DOS embedding in Microsoft Windows – system reuse String class in java/C++ - Modular reuse You created custom Date class extending from Date – Modular reuse/Inheritance C functions for string concatenation – Function reuse
Examples Reuse of DOS test suite for Windows – Non code reuse ails.aspx?SID=19 ails.aspx?SID=19 – Example for web services reuse
Issues Technical issues – Unknown bugs in the existing code – Existing code may have different standards than your company – Improper documentation – Lack of documentation on existing code
Issues Legal issues – Copy right related – Licensing requirements may not be clear – Ownership may be unclear – Anti-trust laws, Example: IE and Microsoft
Issues Ethical issues – Copy right violations – Code promoting indirectly copy right violations. Ex: Napster and music industry
References p-kj.htm p-kj.htm