Building computer software is an iterative social learning process, and the outcome, something that Baetjer would call “__________,” is an embodiment of knowledge collected, distilled, and organized as the process is conducted.
software capital
___________ is a framework for the activities, actions, and tasks that are required to build high quality software.
Software process
identifies the work tasks that are to be completed, the work products that will be produced, the quality assurance points that will be required, and the milestones that will be used to indicate the process.
Task set
Process flows:
Linear process flow
Iterative process flow
Evolutionary process flow
Parallel process flow
describes how the framework activities and the actions and tasks that occur within each framework activity are organized with respect to sequence and time.
Process flow
each of the five framework activities in sequence, beginning with communication and culminating with deployment.
Linear process flow
repeats one or more of the activities before proceeding to the next.
Iterative process flow
executes the activities in a circular manner. Each circuit through the five activities leads to a more complete version of the software.
Evolutionary process flow
executes one or more activities in parallel with other activities.
Parallel process flow
describes a process-related problem that is encountered during software engineering work, identifies the environment in which the problem has been encountered and suggests one or more proven solutions to the problem.
Process pattern
provides a template which is a consistent method for problem solutions within the context of the software process.
Process pattern
3 Process Pattern Types:
Stage Pattern
Task Pattern
Phase Pattern
the pattern is given a meaningful name describing it within the context of the software process.
Pattern name
The environment in which the pattern is encountered and the issues that make the problem visible and may affect its solution.
Forces
defines a problem associated with a framework activity for the process. (ex: EstablishingCommunication)
Stage Pattern
defines a problem associated with a software engineering action or work task and relevant to successful software engineering practice. (ex: RequirementsGathering)
Task Pattern
define the sequence of framework activities that occurs within the process, even when the overall flow of activities is iterative in nature. (ex: SpiralModel or Prototyping)
Phase Pattern
describes the conditions under which the pattern applies.
Initial context
the specific problem to be solved by the pattern.
Problem
describes how to implement the patter successfully.
Solution
describes the conditions that will result once the pattern has been successfully implemented.
Resulting context
provide a list of all process patterns that are directly related to this one.
Related patterns
indicate the specific instances in which the pattern is applicable.
Known Uses and Examples
(T/F) Process patterns provide an effective mechanism for addressing problems associated with any software process. The patterns enable you to develop a hierarchical process description that begins at a high level of abstraction.
True
(T/F) The existence of a software process is no guarantee that software will be delivered on time, that it will meet the customer’s needs, or that it will exhibit the technical characteristics that will lead to long-term characteristics.
True
provides a five-step process assessment model that incorporates five phases: initiating, diagnosing, establishing, acting and learning.
Standard CMMI Assessment Method for Process Improvement (SCAMPI)
provides a diagnostic technique for assessing the relative maturity of a software organization.
CMM-Based Appraisal for Internal Process Improvement (CBA IPI)
a standard that defines a set of requirement s for software process assessments.
SPICE (ISO/IEC15504)
a generic standard that applies to any organization that wants to improve the overall quality of products, systems, or services that it provides.
ISO 9001:2000 for Software
establish the characteristics that must exist if the activities implied by a process area are to be effective.
Specific goals
refine a goal into a set of process-related activities.
Specific practices
stresses the need for each software engineer to identify errors early and as important, to understand the types of errors.
Personal Software Process (PSP)
each project is “launched” using a “script” that defines the tasks to be accomplished.