Software: Process and Product M. M. Pickard Department of Computer Science Stephen F. Austin State University
Overview Product Process A historical perspective What is different about software? Evolution in software architecture Variety of applications Process
Software: The Product A Historical Perspective The Software Crisis Aging Software Plant? Competition Y2K
Software: The Product What’s different about software?
Software: The Product What’s different about software? Built, not manufactured? Hardware failure vs. software failure Bridge Analogy
Software: The Product Evolution in software architecture Monolithic main-frame product Modules Components Object-Orientation Client-server
Software: The Product Variety of Applications
Overview Product Process What is it? How does it differ from “life cycle?” Software Process Improvement Models
Software: The Process Definitions: “The set of tools, methods, and practices we use to produce a software product.” - Watts Humphrey, 1989. “A process consists of activities, a network of activities, that are accomplished in the development of a software entity. . .” - Dave Card.
Software: The Process . . .but what’s a “life cycle?” System Life Cycle: The phases of existence of a system from “birth” to “death.” “A process consists of activities, a network of activities, that are accomplished in the development of a software entity, while the life cycle shows the evolution of a software product.” - Dave Card.
Software: The Process Software Process Improvement Capability Maturity Model http://www.sei.cmu.edu/ Software Engineering Institute Carnegie-Mellon University Sponsored by DOD Origins Others (see http://www.tantara.ab.ca/info.htm and www.software.org/quagmire)
Software: The Process Models Build-and-fix Waterfall (Royce, 1970) Rapid Prototyping Incremental Spiral (Boehm, 1988) Fountain (OO) Component Assembly Synchronize and Stabilize (Microsoft) Concurrent Development (Davis & Sitaram, 1994)
Conclusion Product Process History Unique characteristics vs. Life Cycle Improvement Models