Introduction To Software Engineering Part 2
Introduction To Software Engineering Part 2
Dr B Veera Jyothi
Assistant Professor
CBIT
A 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
A process pattern
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.
Stated in more general terms, a process
pattern provides you with a template [Amb98]
—a consistent method for describing problem
solutions within the context of the software
process.
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) —
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—The 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 an 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?
Co m m unic a t io n
pro je c t init ia t io n Planning
re quire m e nt g a t he rin g estimating Mo de ling
scheduling
analys is Co ns t ruc t io n
tracking
des ign De plo y m e nt
code
t es t de liv e ry
s u pp o rt
f e e dba c k
incre me nt # n
Co m m u n ic a t i o n
Pla n n in g
Mo d e lin g
a n a ly s is Co n s t ru c t i o n
d e s ig n
code De p l o y m e n t
t est d e l i v e ry
fe e db a c k
d e liv e ry o f
incre me nt # 2 n t h in cre me n t
Co m m u n ic a t i o n
Pla n n in g
Mo d e lin g
a n a ly s is Co n s t ru c t i o n
d e s ig n code De p l o y m e n t
t est d e l i v e ry
fe e d b a c k
d e liv e ry o f
incre m e nt # 1 2 n d in cre me n t
Co m m u n i c a t io n
Pla n nin g
Mo d e ling
a n a ly s is C o n s t ru c t i o n
d e s ig n c od e
d e liv e ry o f
De p lo y m e n t
t es t d e l i v e ry
fe e d b a c k
1 st in cre me n t
De p lo ym e n t
Deployment Construction
De liv e ry
delivery
& Fe e d b & ac k
of Co
prototype
n s t ru c t io n
feedback Construction
of
of
p roprototype
t o t ype
planning
estimation
scheduling
risk analysis
communication
modeling
analysis
design
start
deployment
construction
delivery code
feedback test
none
Modeling a ct ivit y
Awa it ing
c hange s
Under review
Unde r
re vis ion
Ba s e line d
Done
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)
Ela b o ra t io n
elaboration
Inc e p t io n
inception
c o ns t ruc t io n
Releas e
t ra ns it io n
s oft ware increm e nt
p ro d uc t io n
UP Phases
Ince pt ion Elaborat ion Const ruct ion Trans it ion Product ion
Workflows
Requirements
Analysis
Design
Implementation
Test
Support
Iterations #1 #2 #n-1 #n
Ince pt ion phase