Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 2 October 14, 1997 1 Software as a Process zSoftware Engineering -- a definition: y[Software engineering is] the establishment and use of sound.

Similar presentations


Presentation on theme: "Chapter 2 October 14, 1997 1 Software as a Process zSoftware Engineering -- a definition: y[Software engineering is] the establishment and use of sound."— Presentation transcript:

1 Chapter 2 October 14, 1997 1 Software as a Process zSoftware Engineering -- a definition: y[Software engineering is] the establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines. zSoftware Engineering is a layered technology.

2 Chapter 2 October 14, 1997 2 A Layered Technology zTools yEditors yDesign aids yCompilers yComputer Aided Software Engineering (CASE) zMethods yIncludes standards (formal or informal) yMay include conventions, e.g., low level such as naming, variable use, language construct use, etc. yMay involve design methodologies.

3 Chapter 2 October 14, 1997 3 Some Generic Engineering Phases zDefinition ySystem or information engineering (leading to requirements) ySoftware project planning yRequirements analysis zDevelopment ySoftware design yCoding yTesting

4 Chapter 2 October 14, 1997 4 Some Generic Engineering Phases zMaintenance yCorrection -- bugs will appear yAdaptation -- to changing operating systems, CPU’s, etc. yEnhancement -- changing customer needs yPrevention -- software reengineering

5 Chapter 2 October 14, 1997 5 Some Generic Engineering Phases zTypical activities in these phases yProject tracking and control yFormal reviews ySoftware quality assurance yConfiguration management yDocumentation yReusability management yMeasurement yRisk management

6 Chapter 2 October 14, 1997 6 SEI Software Maturity Model zLevel 1: Initial -- The software process is characterized as ad hoc, and occasionally even chaotic. Few processes defined. zLevel 2: Repeatable -- Basic project management processes established to track cost, schedule and functionality. zLevel 3: Defined -- Process for both management and engineering is documented, standardized and integrated. zLevel 4: Managed -- Detailed measures of the process and product quality collected. Both are quantitatively understood and controlled. zLevel 5: Optimizing -- Continuous process improvement enabled by quantitative feedback and testing innovative ideas.

7 Chapter 2 October 14, 1997 7 Key Process Areas zMaturity Level 2 ySoftware Configuration Management ySoftware Quality Assurance ySubcontract management yProject tracking and oversight ySoftware project planning yRequirements management

8 Chapter 2 October 14, 1997 8 Key Process Areas zMaturity Level 3 yPeer Reviews yIntergroup coordination yIntegrated software management yTraining program yOrganization process definition yOrganization process focus

9 Chapter 2 October 14, 1997 9 Key Process Areas zMaturity Level 4 ySoftware quality management yQuantitative process management zMaturity Level 5 yProcess change management yTechnology change management yDefect prevention

10 Chapter 2 October 14, 1997 10 Software Process Models

11 Chapter 2 October 14, 1997 11 Waterfall Model Requirements Analysis Design Code Test System/Information Engineering Maintain

12 Chapter 2 October 14, 1997 12 The Rapid Prototyping Model

13 Chapter 2 October 14, 1997 13 Evolutionary Process Models zThe Incremental Model

14 Chapter 2 October 14, 1997 14 Evolutionary Process Models zThe Spiral Model

15 Chapter 2 October 14, 1997 15 Evolutionary Process Models zThe Component Assembly Model

16 Chapter 2 October 14, 1997 16 Evolutionary Process Models zThe Concurrent Development Model

17 Chapter 2 October 14, 1997 17 Other Models zFormal Methods yRigorous mathematical representation of requirements yProvides basis for automatic verification test generation zFourth Generation Techniques yUse code generators to produce specific parts of product zProcess Technology yProvides a variety of tools to aid software developers, e.g., workload flow, configuration management, quality assurance management, etc.


Download ppt "Chapter 2 October 14, 1997 1 Software as a Process zSoftware Engineering -- a definition: y[Software engineering is] the establishment and use of sound."

Similar presentations


Ads by Google