2-ch
-
Upload
rahulmhatre26 -
Category
Documents
-
view
223 -
download
0
Transcript of 2-ch
-
8/7/2019 2-ch
1/17
October 14, 1997 Chapter 2
Software as a Process
Software Engineering -- a definition: [Software engineering is] the establishment and
use of sound engineering principles in order toobtain economically software that is reliable andworks efficiently on real machines.
Software Engineering is a layered technology.
-
8/7/2019 2-ch
2/17
October 14, 1997 Chapter 2
A Layered Technology
Tools Editors Design aids
Compilers Computer Aided Software Engineering (CASE)
Methods
Includes standards (formal or informal) May include conventions, e.g., low level such as
naming, variable use, language construct use,etc.
May involve design methodologies.
-
8/7/2019 2-ch
3/17
October 14, 1997 Chapter 2
Some Generic EngineeringPhases
Definition System or information engineering (leading to
requirements) Software project planning Requirements analysis
Development
Software design Coding Testing
-
8/7/2019 2-ch
4/17
October 14, 1997 Chapter 2
Some Generic EngineeringPhases
Maintenance Correction -- bugs will appear
Adaptation -- to changing operating systems,CPUs, etc.
Enhancement -- changing customer needs Prevention -- software reengineering
-
8/7/2019 2-ch
5/17
October 14, 1997 Chapter 2
Some Generic EngineeringPhases
Typical activities in these phases Project tracking and control
Formal reviews Software quality assurance Configuration management Documentation Reusability management
Measurement Risk management
-
8/7/2019 2-ch
6/17
October 14, 1997 Chapter 2
SEI Software Maturity Model
Level 1: Initial -- The software process is characterizedas ad hoc, and occasionally even chaotic. Fewprocesses defined. Level 2: Repeatable -- Basic project managementprocesses established to track cost, schedule andfunctionality. Level 3: Defined -- Process for both management andengineering is documented, standardized andintegrated. Level 4: Managed -- Detailed measures of the process
and product quality collected. Both are quantitativelyunderstood and controlled.
Level 5: Optimizing -- Continuous process improvementenabled by quantitative feedback and testing innovativeideas.
-
8/7/2019 2-ch
7/17
October 14, 1997 Chapter 2
Key Process Areas
Maturity Level 2 Software Configuration Management
Software Quality Assurance Subcontract management Project tracking and oversight Software project planning Requirements management
-
8/7/2019 2-ch
8/17
October 14, 1997 Chapter 2
Key Process Areas
Maturity Level 3 Peer Reviews
Intergroup coordination Integrated software management Training program Organization process definition Organization process focus
-
8/7/2019 2-ch
9/17
October 14, 1997 Chapter 2
Key Process Areas
Maturity Level 4 Software quality management
Quantitative process management
Maturity Level 5 Process change management
Technology change management Defect prevention
-
8/7/2019 2-ch
10/17
October 14, 1997 Chapter 2
Software Process Models
-
8/7/2019 2-ch
11/17
October 14, 1997 Chapter 2
Waterfall Model
Requirements Analysis Design Code
Test
System/InformationEngineering
Maintain
-
8/7/2019 2-ch
12/17
October 14, 1997 Chapter 2
The Rapid Prototyping Model
-
8/7/2019 2-ch
13/17
October 14, 1997 Chapter 2
Evolutionary Process Models
The Incremental Model
-
8/7/2019 2-ch
14/17
October 14, 1997 Chapter 2
Evolutionary Process Models
The Spiral Model
-
8/7/2019 2-ch
15/17
October 14, 1997 Chapter 2
Evolutionary Process Models
The Component Assembly Model
-
8/7/2019 2-ch
16/17
October 14, 1997 Chapter 2
Evolutionary Process Models
The Concurrent Development Model
-
8/7/2019 2-ch
17/17
October 14, 1997 Chapter 2
Other Models
Formal Methods Rigorous mathematical representation of
requirements
Provides basis for automatic verification testgeneration
Fourth Generation Techniques Use code generators to produce specific parts of
product Process Technology Provides a variety of tools to aid software
developers, e.g., workload flow, configurationmanagement, quality assurance management,
etc.