Presentation is loading. Please wait.

Presentation is loading. Please wait.

January 25, 2006copyright Thomas Pole 2003-2005, all rights reserved 1 Software Reuse: History 1980 to 2005 History: Changes to Software Reuse Driven by.

Similar presentations


Presentation on theme: "January 25, 2006copyright Thomas Pole 2003-2005, all rights reserved 1 Software Reuse: History 1980 to 2005 History: Changes to Software Reuse Driven by."— Presentation transcript:

1 January 25, 2006copyright Thomas Pole 2003-2005, all rights reserved 1 Software Reuse: History 1980 to 2005 History: Changes to Software Reuse Driven by Technology Change

2 January 25, 2006copyright Thomas Pole 2003-2005, all rights reserved 2 Agenda Introductions Administrative Issues Reuse, an historical overview Break “Software Factories”, Chapter 1: Introduction Q&A

3 January 25, 2006copyright Thomas Pole 2003-2005, all rights reserved 3 Overview There are many dimensions along which we can trace the history of reuse: –Software Development Life Cycle (SDLC) Model Prototyping, Iterative, ESP, etc. –Requirements/Specification Method –Business Model We will examine Reuse history along the implementation technology dimension. –Concentrating on source code and later life cycle objects. Not reuse of requirements or designs.

4 January 25, 2006copyright Thomas Pole 2003-2005, all rights reserved 4 Reusable Software Implementation History Mid 1980’s –Mature Third Generation Programming Languages Late 1980’s –Early Object Oriented Languages and SQL DB Early 1990’s –Mature OO Languages, Source Code Libraries Mid 1990’s –Early DIAE Component Packaging Late 1990’s –Mature DIAE Components, Cross-Protocol Bridges 2000-2005 –Early Service Oriented Architecture Products

5 January 25, 2006copyright Thomas Pole 2003-2005, all rights reserved 5 Mid 1980’s: Third Generation Programming Languages More portable then earlier machine specific assembly languages Source code still required to be language, OS and platform specific (I/O packages, math libraries). Object Libraries and Executables relatively non- portable. Reuse Successes: –Limited source code reuse for high value: e.g. math libraries.

6 January 25, 2006copyright Thomas Pole 2003-2005, all rights reserved 6 Late 1980’s: Early Object Oriented Languages Common Lisp Object System (CLOS), C++ Interpreters. Improved encapsulation/packaging technology advances source code reuse. Packaging and common object models promoted development of language “bindings”. –Cross language reuse. Introduction of systematic repeatable object oriented development processes introduced. Most portability constraints remained. Reuse Successes: –High value data structure libraries (e.g. GRACE and Booch parts) –First successful reusable services, SQL RDMBS’s

7 January 25, 2006copyright Thomas Pole 2003-2005, all rights reserved 7 Early 1990’s: Mature OO Languages and Early Code Libraries Smalltalk, ANSI CLOS, first C++ compilers Development of GUI and Event Driven Programming Libraries Portable compiled software packages: Shared Libraries, Dynamic Link Libraries Significant Reuse Research –e.g. SPC CoE for Reuse/ARPA contract. –Early Software Reuse driven processes –Reuse Libraries (management systems, not just content) Reuse Successes: –Microsoft Foundation Classes (MFC) –Visual Basic 1.0 –Reuse Library Toolset (EVB Software)

8 January 25, 2006copyright Thomas Pole 2003-2005, all rights reserved 8 Mid 1990’s: Early DIAE Components Dynamically Integrable Autonomously Executable –Components that are compiled and linked separately,integrate at run time, and run independently of each other. (e.g. COM and CORBA) More, much more on this later. COTS products offer API’s for integration Distributed systems: the foundation for Web Services Component Based development processes Reuse successes: –Commercially successful code generators. e.g. Netron, Frame Technology –Reusable Component Vendors: e.g. Infragistics

9 January 25, 2006copyright Thomas Pole 2003-2005, all rights reserved 9 Late 1990’s: Mature DIAE Technology Cross Protocol Bridges –Allow COM and CORBA systems to participate in the same system –Light weight integration protocols, e.g. SOAP New reusable component packaging mechanisms Mature reuse based development processes Mature specialized reusable component market. COTS Products employ DIAE Integration protocols. –Integrate with the components of a COTS product, not just the full products API. Reuse Successes: –ComponentSource.com reusable component market. –Active Template Library (ATL) Java Beans

10 January 25, 2006copyright Thomas Pole 2003-2005, all rights reserved 10 2000-2005: Early SOA Service Oriented Architecture –Reuse of function (service), not code or component. Rediscovery of reuse research: –Software Reuse (Asset) Management Systems –Domain Specific Reuse, Domain Languages (Software Factories) –Reuse must reuse more then code. –Reuse requires drastic process changes. Patterns: systematic definition of large scale reusable components. Reuse Successes: –Microsoft.Net Framework –SRMS: Flashline and LogicLibrary

11 January 25, 2006copyright Thomas Pole 2003-2005, all rights reserved 11 Break 15 minutes Next: Software Factories, Ch 1: Introduction

12 January 25, 2006copyright Thomas Pole 2003-2005, all rights reserved 12 “Software Factories” Ch 1: Introduction Industrialization of Software Engineering Domain Specific, Architectural Design Driven Reuse Current efficiency in software development isn’t. Tools Lag Platforms.

13 January 25, 2006copyright Thomas Pole 2003-2005, all rights reserved 13 Industrialization Standard components that can be rapidly customized and assembled to produce similar but distinct products. By standardizing, integrating and automating production processes. Developing extensible tools which automate repetitive tasks Develop product lines to automate production of product variants Develop supply chains of suppliers.

14 January 25, 2006copyright Thomas Pole 2003-2005, all rights reserved 14 Next Steps in Industrialization Codification of patterns in frameworks Assisted application of patterns by developers through tools. Encapsulation of patterns by languages Fully automatic application of patterns by domain specific language compilers

15 January 25, 2006copyright Thomas Pole 2003-2005, all rights reserved 15 Remainder of Chapter 1 History of Data Processing, Information Technology technologies. Example of CTI Rationale for a new paradigm.

16 January 25, 2006copyright Thomas Pole 2003-2005, all rights reserved 16 Questions? Read the introduction and chapters 1 & 2 for next week. No exercise assigned this week.


Download ppt "January 25, 2006copyright Thomas Pole 2003-2005, all rights reserved 1 Software Reuse: History 1980 to 2005 History: Changes to Software Reuse Driven by."

Similar presentations


Ads by Google