january 25, 2006copyright thomas pole 2003-2005, all rights reserved 1 software reuse: history 1980...
TRANSCRIPT
![Page 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](https://reader035.vdocuments.us/reader035/viewer/2022081700/56649ebc5503460f94bc4449/html5/thumbnails/1.jpg)
January 25, 2006 copyright Thomas Pole 2003-2005, all rights reserved
1
Software Reuse: History 1980 to 2005
History: Changes to Software Reuse Driven by Technology Change
![Page 2: January 25, 2006copyright Thomas Pole 2003-2005, all rights reserved 1 Software Reuse: History 1980 to 2005 History: Changes to Software Reuse Driven by](https://reader035.vdocuments.us/reader035/viewer/2022081700/56649ebc5503460f94bc4449/html5/thumbnails/2.jpg)
January 25, 2006 copyright Thomas Pole 2003-2005, all rights reserved
2
Agenda
• Introductions
• Administrative Issues
• Reuse, an historical overview
• Break
• “Software Factories”, Chapter 1: Introduction
• Q&A
![Page 3: January 25, 2006copyright Thomas Pole 2003-2005, all rights reserved 1 Software Reuse: History 1980 to 2005 History: Changes to Software Reuse Driven by](https://reader035.vdocuments.us/reader035/viewer/2022081700/56649ebc5503460f94bc4449/html5/thumbnails/3.jpg)
January 25, 2006 copyright 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.
![Page 4: January 25, 2006copyright Thomas Pole 2003-2005, all rights reserved 1 Software Reuse: History 1980 to 2005 History: Changes to Software Reuse Driven by](https://reader035.vdocuments.us/reader035/viewer/2022081700/56649ebc5503460f94bc4449/html5/thumbnails/4.jpg)
January 25, 2006 copyright Thomas Pole 2003-2005, all rights reserved
4
Reusable SoftwareImplementation 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
![Page 5: January 25, 2006copyright Thomas Pole 2003-2005, all rights reserved 1 Software Reuse: History 1980 to 2005 History: Changes to Software Reuse Driven by](https://reader035.vdocuments.us/reader035/viewer/2022081700/56649ebc5503460f94bc4449/html5/thumbnails/5.jpg)
January 25, 2006 copyright 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.
![Page 6: January 25, 2006copyright Thomas Pole 2003-2005, all rights reserved 1 Software Reuse: History 1980 to 2005 History: Changes to Software Reuse Driven by](https://reader035.vdocuments.us/reader035/viewer/2022081700/56649ebc5503460f94bc4449/html5/thumbnails/6.jpg)
January 25, 2006 copyright 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
![Page 7: January 25, 2006copyright Thomas Pole 2003-2005, all rights reserved 1 Software Reuse: History 1980 to 2005 History: Changes to Software Reuse Driven by](https://reader035.vdocuments.us/reader035/viewer/2022081700/56649ebc5503460f94bc4449/html5/thumbnails/7.jpg)
January 25, 2006 copyright 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)
![Page 8: January 25, 2006copyright Thomas Pole 2003-2005, all rights reserved 1 Software Reuse: History 1980 to 2005 History: Changes to Software Reuse Driven by](https://reader035.vdocuments.us/reader035/viewer/2022081700/56649ebc5503460f94bc4449/html5/thumbnails/8.jpg)
January 25, 2006 copyright 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
![Page 9: January 25, 2006copyright Thomas Pole 2003-2005, all rights reserved 1 Software Reuse: History 1980 to 2005 History: Changes to Software Reuse Driven by](https://reader035.vdocuments.us/reader035/viewer/2022081700/56649ebc5503460f94bc4449/html5/thumbnails/9.jpg)
January 25, 2006 copyright 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
![Page 10: January 25, 2006copyright Thomas Pole 2003-2005, all rights reserved 1 Software Reuse: History 1980 to 2005 History: Changes to Software Reuse Driven by](https://reader035.vdocuments.us/reader035/viewer/2022081700/56649ebc5503460f94bc4449/html5/thumbnails/10.jpg)
January 25, 2006 copyright 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
![Page 11: January 25, 2006copyright Thomas Pole 2003-2005, all rights reserved 1 Software Reuse: History 1980 to 2005 History: Changes to Software Reuse Driven by](https://reader035.vdocuments.us/reader035/viewer/2022081700/56649ebc5503460f94bc4449/html5/thumbnails/11.jpg)
January 25, 2006 copyright Thomas Pole 2003-2005, all rights reserved
11
Break
15 minutes
Next: Software Factories,
Ch 1: Introduction
![Page 12: January 25, 2006copyright Thomas Pole 2003-2005, all rights reserved 1 Software Reuse: History 1980 to 2005 History: Changes to Software Reuse Driven by](https://reader035.vdocuments.us/reader035/viewer/2022081700/56649ebc5503460f94bc4449/html5/thumbnails/12.jpg)
January 25, 2006 copyright 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.
![Page 13: January 25, 2006copyright Thomas Pole 2003-2005, all rights reserved 1 Software Reuse: History 1980 to 2005 History: Changes to Software Reuse Driven by](https://reader035.vdocuments.us/reader035/viewer/2022081700/56649ebc5503460f94bc4449/html5/thumbnails/13.jpg)
January 25, 2006 copyright 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.
![Page 14: January 25, 2006copyright Thomas Pole 2003-2005, all rights reserved 1 Software Reuse: History 1980 to 2005 History: Changes to Software Reuse Driven by](https://reader035.vdocuments.us/reader035/viewer/2022081700/56649ebc5503460f94bc4449/html5/thumbnails/14.jpg)
January 25, 2006 copyright 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
![Page 15: January 25, 2006copyright Thomas Pole 2003-2005, all rights reserved 1 Software Reuse: History 1980 to 2005 History: Changes to Software Reuse Driven by](https://reader035.vdocuments.us/reader035/viewer/2022081700/56649ebc5503460f94bc4449/html5/thumbnails/15.jpg)
January 25, 2006 copyright 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.
![Page 16: January 25, 2006copyright Thomas Pole 2003-2005, all rights reserved 1 Software Reuse: History 1980 to 2005 History: Changes to Software Reuse Driven by](https://reader035.vdocuments.us/reader035/viewer/2022081700/56649ebc5503460f94bc4449/html5/thumbnails/16.jpg)
January 25, 2006 copyright Thomas Pole 2003-2005, all rights reserved
16
Questions?
• Read the introduction and chapters 1 & 2 for next week.
• No exercise assigned this week.