Software Reuse in the Era of Opportunistic Design















- Slides: 15
Software Reuse in the Era of Opportunistic Design EECS/IT 811: Project Management Research Paper Presentation Christopher K Momolu 04/19/2021
Organization • • • Introduction Resources Advantages of Software reuse Examples or Implementations Summary Conclusions 2
Resource used • T. Mikkonen and A. Taivalsaari, “Software Reuse in the Era of Opportunistic Design” in IEEE Software, vol. 36, no. 03, pp. 105 -111, 2019, doi: 10. 1109/MS. 2008. 2884883 3
Introduction • • • Opportunistic Design A Silent Revolution in Software Development Internet of Things (Io. T) Implications for software Engineer Call to Action 4
Research Concept • Understanding the impact of software reuse • Developing the methodology of the process • Applying the process to our regular system development 5
What is Opportunistic Design? • Approach in which people develop new software systems • Through routinely reusing and combining components that were not designed to be used together. • Becoming very popular. 6
A silent revolution in software development • The era of reuse software (past 20 years) • World wide web • Software of unknown provenance (SOUP) 7
Internet of Things (Io. T) • Focus on the collection of large data by constructing a scalable cloud. • Transferring data over the internet 8
High level of Architecture 9
Implications for software engineering • Focuses on how reuse of software were view back in the 1980 s • Development from scratch 10
Call to action Challenges: • Systematic analysis of the compatibility of the most popular open-source components for key domain sand recommendations of best available components for each areas. • Study and definition of recommended reuse patterns and combinations of the most popular open-source components • Tools for visualizing the static and dynamic dependencies of all the “underwater” components in a tips-of-an-iceberg software 11
Example of implementation 12
Summary • Worldwide Web • Internet-based developer forum and opensource software repositories. • Opportunistic design are not automatically compatible. 13
Conclusions • Interest in reuse of software has increase by very corporation. • Software reusability will always bring about portability, flexibility, extensibility, predictivity, and reliability. • Reuse of software gives developers the ability to visualize the system or program they want to develop. 14
Thank you Questions & Answers 15