<Previous Lesson

Introduction To Computing

Next Lesson>

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 ecommerce
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.

Concept & Feasibility
User Requirements
Developer Specs
Planning
Design
Implementation
Integration Testing
Opr. & Maintenance
Retirement
Detailed View Of SW
Developoment Life Cycle
Development
Concept
Operation &
Maintenance
Decommissioning
Simple SW Life Cycle

Concept & Feasibility
User Requirements
Developer Specs
Planning
Design
Implementation
Integration Testing
Opr. & Maintenance
Retirement
Concept: What needs to be done?
Feasibility: Preliminary exploration of possible
solutions, technologies, suppliers
Concept & Feasibility
User Requirements
Developer Specs
Planning
Design
Implementation
Integration Testing
Opr. & Maintenance
Retirement

The user documents as much as he
knows about the job the system must
do
 
Concept & Feasibility
User Requirements
Developer Specs
Planning
Design
Implementation
Integration Testing
Opr. & Maintenance
Retirement

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,
performs further investigation, and produces
unambiguous specifications
 
Concept & Feasibility
User Requirements
Developer Specs
Planning
Design
Implementation
Integration Testing
Opr. & Maintenance
Retirement
Architecture: Decompose the problem into
subsystems and define their relationships
Detailed Design:
Decompose further such
that one person can
manage each subsubsystem
Concept & Feasibility
User Requirements
Developer Specs
Planning
Design
Implementation
Integration Testing
Opr. & Maintenance
Retirement

Coding
Design

Concept & Feasibility
User Requirements
Developer Specs
Planning
Design
Implementation
Integration Testing
Opr. & Maintenance
Retirement
Bring the subsubsystems
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

Phase it out when the time comes

Concept & Feasibility
User Requirements
Developer Specs
Planning
Design
Implementation
Integration Testing
Opr. & Maintenance
Retirement
Test
Test
Test
Test
Acceptance Test
Test
 
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

Concept & Feasibility
User Requirements
Developer Specs
Planning
Design
Implementation
Integration Testing
Opr. & Maintenance
Retirement
Customer’s lack of
knowledge about
requirements
Concept & Feasibility
User Requirements
Developer Specs
Planning
Design
Implementation
Integration Testing
Opr. & Maintenance
Retirement
Lag
 
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

<Previous Lesson

Principles of Management

Next Lesson>

Home

Lesson Plan

Topics

Go to Top

Copyright © 2008-2013 zainbooks All Rights Reserved
Next Lesson
Previous Lesson
Lesson Plan
Topics
Home
Go to Top