1/38
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
|---|
No study sessions yet.
framework
is a Standard way to build and deploy applications.
software process framework
is a foundation of complete software engineering process.
includes all set of umbrella activities.
It also includes number of framework activities that are applicable to all software projects.
iterative process flow
Eliminate snowball effect
Works best if we have direct access to client
parallel process flow
Large projects
Working different steps at the same time
Breaking large project into small ones (task splitting)
Prone to integration problem
evolutionary process flow
Found as part of agile development
task set
defines the actual work to be done to accomplish the objectives of a software engineering action.
A list of the task to be accomplished,
A list of the work products to be produced,
A list of the quality assurance filters to be applied
process pattern
describes a process-related problem that is encountered during software engineering work
identifies the environment in which the problem has been encountered
suggests one or more proven solutions to the problem.
provides you with a template—a consistent method for describing problem solutions within the context of the software process.
Stage patterns,
Task patterns,
Phase patterns
Process Pattern Types (3)
Stage patterns
defines a problem associated with a framework activity for the process.
Task patterns
defines a problem associated with a software engineering action or work task and relevant to successful software engineering practice
Phase patterns
define the sequence of framework activities that occur with the process, even when the overall flow of activities is iterative in nature.
Standard CMMI Assessment Method for Process Improvement (SCAMPI),
CMM-Based Appraisal for Internal Process Improvement (CBA IPI),
SPICE (ISO/IEC15504),
ISO 9001:2000 for Software
Process Assessment and Improvement (4)
Standard CMMI Assessment Method for Process Improvement (SCAMPI)
provides a five step process assessment model that incorporates five phases: initiating, diagnosing, establishing, acting and learning.
CMM-Based Appraisal for Internal Process Improvement (CBA IPI)
provides a diagnostic technique for assessing the relative maturity of a software organization; uses the SEI CMM as the basis for the assessment [Dun01]
SPICE (ISO/IEC15504)
_____ standard defines a set of requirements for software process assessment.
The intent of the standard is to assist organizations in developing an objective evaluation of the efficacy of any defined software process. [ISO08]
ISO 9001:2000 for Software
a generic standard that applies to any organization that wants to improve the overall quality of the products, systems, or services that it provides.
Therefore, the standard is directly applicable to software organizations and companies. [Ant06]
prescriptive process models
advocate a structure and orderly approach to software engineering
That leads to a few questions …
If prescriptive process models strive for structure and order, are they inappropriate for a software world that thrives on change?
Yet, if we reject traditional process models (and the order they imply) and replace them with something less structured, do we make it impossible to achieve coordination and coherence in software work?
the waterfall model
Classic life cycle
Forward progress. You can not go backwards
Blocked state
parallel development methodology
subdivide the project into subprojects that can be worked on at the same time
reduce the overall project length
blocked state
the incremental model
Similar to both sequential and parallel
Good for large projects
Prototyping,
The Spiral,
Concurrent
Evolutionary Models (3)
Component based development
the process to apply when reuse is a development objective
Formal methods
emphasizes the mathematical specification of requirements
AOSD
provides a process and methodological approach for defining, specifying, designing, and constructing aspects
Unified Process
a “use-case driven, architecture-centric, iterative and incremental” software process closely aligned with the Unified Modeling Language (UML)
The Unified Process (UP)
Unification of agile and classical framework
Inception,
Elaboration,
Construction,
Transition,
Production
UP Phases (5)
Planning,
High-level design,
High-level design review,
Development,
Postmortem
Personal Software Process (PSP) (5)
Planning
This activity isolates requirements and develops both size and resource estimates.
In addition, a defect estimate (the number of defects projected for the work) is made
All metrics are recorded on worksheets or templates.
Finally, development tasks are identified and a project schedule is created.
defect estimate
the number of defects projected for the work
High-level design
External specifications for each component to be constructed are developed and a component design is created.
Prototypes are built when uncertainty exists.
All issues are recorded and tracked.
Prototypes
are built when uncertainty exists.
High-level design review
Formal verification methods are applied to uncover errors in the design.
Metrics are maintained for all important tasks and work results.
Formal verification methods
are applied to uncover errors in the design.
Metrics
are maintained for all important tasks and work results.
Development
The component level design is refined and reviewed.
Code is generated, reviewed, compiled, and tested
Metrics are maintained for all important tasks and work results.
Postmortem
often referred to as a retrospective
is a structured meeting held at the conclusion of a project or a significant phase to analyze the successes, failures, and lessons learned.
Using the measures and metrics collected (this is a substantial amount of data that should be analyzed statistically), the effectiveness of the process is determined.
Measures and metrics should provide guidance for modifying the process to improve its effectiveness.
Team Software Process (TSP)
Build self-directed teams that plan and track their work, establish goals, and own their processes and plans.
These can be pure software teams or integrated product teams (IPT) of three to about 20 engineers.
Show managers how to coach and motivate their teams and how to help them sustain peak performance
Accelerate software process improvement by making CMM Level 5 behavior normal and expected.
Provide improvement guidance to high-maturity organizations.
Facilitate university teaching of industrial-grade team skills.
Capability Maturity Model (CMM)
A measure of the effectiveness of a software process.