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