Академический Документы
Профессиональный Документы
Культура Документы
to
So,ware
Engineering
So,ware
So,ware
refers
to
all
the
computer
programs
and
associated
documenta)on
involved
in
achieving
a
par)cular
tasks
So,ware
A<ributes
of
good
so,ware
includes:
Deliver
the
required
func)onality
Provide
acceptable
performance
Maintainable
through
the
life
cycle
of
the
so,ware
Dependable
Usable
among
target
users
So,ware
Product
Characteris/cs
Descrip/on
Maintainability
Dependability
and
Security
Eciency
Acceptability
So,ware
Four
Fundamental
ac)vi)es
of
so,ware
processes:
1. So,ware
specica)on
2. So,ware development
3. So,ware valida)on
So,ware
Engineering
So,ware
engineering:
Is
an
engineering
discipline
that
is
concerned
with
all
aspects
of
so,ware
produc)on
It
is
a
systema)c
approach
to
the
produc)on
of
so,ware
that
takes
into
account:
Prac)cal
cost
Schedule
Dependability
issues
Needs
of
so,ware
customers
and
produces
So,ware
Engineering
Dierent
types
of
applica)ons
require
dierent
S.E.
methods
and
techniques.
Examples
of
the
dierent
type
of
applica)ons
include:
Stand-alone
applica)ons
Interac)ve
transac)on-based
applica)ons
Embedded
control
systems
Batch
processing
systems
Entertainment
systems
Systems
for
modeling
and
simula)on
Data
collec)on
systems
So,ware
Engineering
Engineering
so,ware
solu)ons
should
consider
the
following:
So,ware
reuse
is
becoming
the
dominant
approach
for
developing
complex
systems
It
is
imprac)cal
to
specify
all
the
requirements
for
systems
in
advance.
Systems
should
be
developed
and
delivered
incrementally
Increment 1
Increment 2
Increment 3
Waterfall Model
Waterfall
Model
Requirements
analysis
and
deni1on
The
systems
services,
constraints,
and
goals
are
established
by
consulta)on
with
system
users.
They
are
then
dened
in
detail
and
serve
as
a
system
specica)on.
Waterfall
Model
System
and
so4ware
design
The
systems
design
process
allocates
the
requirements
to
either
hardware
or
so,ware
systems
by
establishing
an
overall
system
architecture.
So,ware
design
involves
iden)fying
and
describing
the
fundamental
so,ware
system
abstrac)ons
and
their
rela)onships.
Waterfall
Model
Implementa1on
and
unit
tes1ng
During
this
stage,
the
so,ware
design
is
realized
as
a
set
of
programs
or
program
units.
Unit
tes)ng
involves
verifying
that
each
unit
meets
its
specica)on.
Waterfall
Model
Integra1on
and
system
tes1ng
The
individual
program
units
or
programs
are
integrated
and
tested
as
a
complete
system
to
ensure
that
the
so,ware
requirements
have
been
met.
A,er
tes)ng,
the
so,ware
system
is
delivered
to
the
customer.
Waterfall
Model
Opera1on
and
maintenance
Normally
(although
not
necessarily),
this
is
the
longest
life
cycle
phase.
The
system
is
installed
and
put
into
prac)cal
use.
Maintenance
involves
correc)ng
errors
which
were
not
discovered
in
earlier
stages
of
the
life
cycle,
improving
the
implementa)on
of
system
units
and
enhancing
the
systems
services
as
new
requirements
are
discovered.
Waterfall
Model
The
following
phase
should
not
start
un)l
previous
phase
has
nished
and
one
or
mode
documents
that
are
approved
and
signed
o.
Incremental
Development
Incremental
development
is
based
on
the
idea
of
developing
an
ini)al
implementa)on,
exposing
this
to
user
comment
and
evolving
it
through
several
versions
un)l
an
adequate
system
has
been
developed
Specica)on,
development,
and
valida)on
ac)vi)es
are
interleaved
rather
than
separate,
with
rapid
feedback
across
ac)vi)es.
Incremental
Development
Incremental
development
is:
Be<er
suited
for
business,
web-based
systems,
e-
commerce
and
personal
systems
Cheaper
and
easier
to
make
changes
in
so,ware
as
being
developed
Easier
to
get
customer
feedback
during
development
process
to
ensure
exact
t
to
customer
requirements
Faster
to
deploy
useful
so,ware
to
customer
even
if
all
of
func)onality
not
included
Incremental
Development
Incremental
development:
Process
is
not
visible.
Managers
depend
on
deliverables
to
measure
progress
Causes
system
structure
to
degrade
as
new
increments
are
added.
(regular
changes
tend
to
corrupt
PROCESS ACTIVITIES
Process
Ac)vi)es
There
are
four
basic
process
ac)vi)es:
Specica)on
Development
Valida)on
Evolu)on
(maintenance)
Process
Ac)vi)es
The
process
ac)vi)es
are
applied
dierently
based
on
the
development
model
u)lized:
Waterfall
process
ac)vi)es
are
sequen)al
Incremental
development
process
ac)vi)es
are
interleaved
So,ware
Specica)on
So,ware
specica)on
is
the
process
of
understanding
and
dening
what
services
are
required
from
the
system
and
iden)fying
the
constrains
on
the
systems
opera)on
and
development
It
is
also
commonly
referred
to
as
requirements
engineering
So,ware
Specica)on
Four
main
ac)vi)es
within
the
so,ware
specica)on:
Feasibility
study
(whether
it
is
possible
and
if
its
cost-eec)ve)
Requirement
elicita)on
and
analysis
(understanding
the
system
to
be
specied,
through
observa)on,
discussion
and
documenta)on)
Requirement
specica)on
User
requirements
abstract
statements
of
the
func)onality
for
customer
and
end-user
of
the
system
System
requirements
are
more
detailed
descrip)ons
of
func)onality
to
be
provided
So,ware Specica)on
So,ware
Valida)on
So,ware
valida)on
or,
more
generally,
verica)on
and
valida)on
(V&V)
is
intended
to
show
that
a
system
both
conforms
to
its
specica)on
and
that
it
meets
the
expecta)ons
of
the
system
customer.
So,ware
Valida)on
Stages
in
the
tes)ng
Process:
Development
Tes)ng
System
Tes)ng
Acceptance
Tes)ng
So,ware
Valida)on
Development
tes5ng
The
components
making
up
the
system
are
tested
by
the
people
developing
the
system.
Each
component
is
tested
independently,
without
other
system
components.
Components
may
be
simple
en))es
such
as
func)ons
or
object
classes,
or
may
be
coherent
groupings
of
these
en))es.
Test
automa-
)on
tools,
such
as
JUnit
(Massol
and
Husted,
2003),
that
can
re-run
component
tests
when
new
versions
of
the
component
are
created,
are
commonly
used.
So,ware
Valida)on
System
tes5ng
So,ware
Valida)on
Acceptance
tes5ng
This
is
the
nal
stage
in
the
tes)ng
process
before
the
system
is
accepted
for
opera)onal
use.
The
system
is
tested
with
data
supplied
by
the
system
customer
rather
than
with
simulated
test
data.
Acceptance
tes)ng
may
reveal
errors
and
omissions
in
the
system
requirements
deni)on,
because
the
real
data
exercise
the
system
in
dierent
ways
from
the
test
data.
Acceptance
tes)ng
may
also
reveal
requirements
problems
where
the
systems
facili)es
do
not
really
meet
the
users
needs
or
the
system
performance
is
unacceptable.
So,ware Valida)on
The
diagram
above
illustrates
how
test
plans
are
the
link
between
tes)ng
and
development
ac)vi)es.
This
is
some)mes
called
the
V-
model
of
development