|
|||||
Introduction
to Computing CS101
VU
LESSON
20
SW
DEVELOPMENT METHODOLOGY
We
discussed the role of programming
languages in computing
We
also discussed the differences among
low- & high-level, interpreted &
compiled, and structured &
object-oriented
programming languages
We
also discussed the object-oriented and
the structured methodologies for SW
design
Any
Other SW Design
Methodologies?
--
Spaghetti Design
Methodology
The
most popular software design
(programming) methodology
Today's
Lecture
Development
process of reasonably complex SW systems
does not consist of "coding"
only
We
will become familiar with
the various phases of the process
that developers follow to develop
SW
systems
of reasonable complexity
SW
Life-Cycle
The
sequence of phases a SW goes
through from the concept to
decommissioning
It is
important to think about all
those phases before the
design work starts
Thinking
about the future phases
generally results in:
Shorter
delivery times
Reduced
costs of development
A
system of higher
quality
A
Case in Point
I
didn't discuss with the
customer the specs of the HW & OS
before developing a particular
e-
commerce
SW.
I
wrote it for the HW/OS that
was easily available to
me.
Unfortunately
that HW/OS combination
differed from what was
easily available to the client
Result:
Huge
amount of rework. Higher cost.
Delayed delivery. Lower
quality.
Therefore,
now before designing a SW
system, I first write down
the installation manual, and get
it
OK'd
by the customer. I do the same with the
Operation & Maintenance manual as
well.
123
Introduction
to Computing CS101
VU
Simple SW
Life Cycle
Concept
Development
Operation
&
Maintenance
Decommissioning
Concept &
Feasibility
Detailed
View Of SW
Developoment
Life Cycle
User
Requirements
Developer
Specs
Planning
Design
Implementation
Integration
Testing
Opr. &
Maintenance
Retirement
124
Introduction
to Computing CS101
VU
Concept &
Feasibility
Concept:
What needs to be done?
User
Requirements
Feasibility:
Preliminary exploration of
possible
solutions,
technologies, suppliers
Developer
Specs
Planning
Design
Implementation
Integration
Testing
Opr. &
Maintenance
Retirement
Concept &
Feasibility
The user
documents as much as he
knows
about the job the
system must
do
User
Requirements
Developer
Specs
Planning
Design
Implementation
Integration
Testing
Opr. &
Maintenance
Retirement
125
Introduction
to Computing CS101
VU
Detailed
plan specifying
the
required resources
and
expected
deliverables
Concept &
Feasibility
User
Requirements
Developer
Specs
Planning
Design
Implementation
Integration
Testing
Opr. &
Maintenance
Retirement
Developer
analyses users
requirement,
Concept &
Feasibility
performs
further investigation, and
produces
unambiguous
specifications
User
Requirements
Developer
Specs
Planning
Design
Implementation
Integration
Testing
Opr. &
Maintenance
Retirement
126
Introduction
to Computing CS101
VU
Concept &
Feasibility
Architecture:
Decompose the problem
into
subsystems
and define their
relationships
User
Requirements
Developer
Specs
Planning
Design
Implementation
Detailed
Design:
Decompose
further such
that
one person can
Integration
Testing
manage
each sub-
subsystem
Opr. &
Maintenance
Retirement
Design
Coding
Concept &
Feasibility
User
Requirements
Developer
Specs
Planning
Design
Implementation
Integration
Testing
Opr. &
Maintenance
Retirement
127
Introduction
to Computing CS101
VU
Bring
the sub-
subsystems
together to
form
subsystems and
test.
Bring subsystems
together to
form the
system
and test
Concept &
Feasibility
User
Requirements
Developer
Specs
Planning
Design
Implementation
Integration
Testing
Opr. &
Maintenance
Retirement
Use
Enhance
Adapt
Correct
Concept &
Feasibility
User
Requirements
Developer
Specs
Planning
Design
Implementation
Integration
Testing
Opr. &
Maintenance
Retirement
128
Introduction
to Computing CS101
VU
Phase it
out when the time
comes
Concept &
Feasibility
User
Requirements
Developer
Specs
Planning
Design
Implementation
Integration
Testing
Opr. &
Maintenance
Retirement
Concept &
Feasibility
User
Requirements
Test
Developer
Specs
Test
Planning
Test
Test
Design
Test
Implementation
Integration
Testing
Acceptance
Test
Opr. &
Maintenance
Retirement
129
Introduction
to Computing CS101
VU
Concept &
Feasibility
Customer's
lack of
knowledge
about
User
Requirements
requirements
Developer
Specs
Planning
Design
Implementation
Integration
Testing
Opr. &
Maintenance
Retirement
Concept &
Feasibility
Lag
User
Requirements
Developer
Specs
Planning
Design
Implementation
Integration
Testing
Opr. &
Maintenance
Retirement
Other
Life-Cycle Models
The
sequence of phases (or the
life-cycle mode) that I showed is
just one example of the several
sequences
that SW developers follow
130
Introduction
to Computing CS101
VU
This
one is called the "Waterfall"
model
You
will learn about some more
models (e.g. the Spiral model) in your
future courses
The
Waterfall Lifecycle Model
and its Derivatives
www.cs.qub.ac.uk/~J.Campbell/myweb/misd/node3.html
In
Today's Lecture
We
became familiar with the
various phases of the process
that developers follow to develop
SW
systems
of reasonable complexity
We
looked at a couple of problems related to
the Waterfall SW development
model
Next
Lecture: 2nd
In the
Productivity SW Series
Spreadsheets
We
will become familiar with
the basic features and
functions of spreadsheets
We
will become able to perform
simple data analysis using
spreadsheet SW
131
Table of Contents:
|
|||||