160 likes | 347 Views
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?.
E N D
Software reuse, types, benefits, issues (Legal, Ethical, Technical) Krishna VeenaGundapuneni
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 • http://www.webservicex.net/WCF/ServiceDetails.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 • http://www.webservicex.net/WCF/ServiceDetails.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 • http://www.baz.com/kjordan/swse625/htm/tp-kj.htm