Overview
Objectives of this lecture
What is & Why Software Engineering?
Ø
Conceptual
understanding: requires the detailed understanding of the requirements of the
system to be implemented in software
Ø
Design:
successive refinement of abstract models toward concrete implementation
Ø
Prototyping:
construction trial model or preliminary models to be carefully examined before
building the final system
Algorithm Design Tools
Ø
Used to
show, pictorially, the phases of software design and execution in terms of
levels of increasing details
Ø
Gives a
clear statement of the purpose and design of a piece of software
Ø
Should include
at least, the title, description, formal statement, author & date
Ø
Helps
programmers involved in a large SE project to understand each other's programs
Ø
Although
useful, documentation should be used carefully so that the source program is
not buried inside the documentation
Algorithm Design Strategies
There are two main algorithm
design approaches namely:
Ø
This
approach identifies and constructs the basic building blocks of a large system,
then incrementally builds larger subsystems using smaller ones, until the whole
system desired is constructed
Ø
This
approach may be useful in projects such as creating software library or
scientific research.
Ø
The method
is generally bad when constructing software whole requirements can be
pre-determined.
Ø
Requires a
more detailed understanding of the problem at hand
Ø
Overall
problem is then broken down into smaller logic subunits
Ø
Specifications,
hierarchy charts, and algorithms are then developed
Ø
Must
understand the design of all phases of the project before the first line code
is written.
Ø
This method
requires more preparatory work and thus too formal to be attractive to
beginners.
The Waterfall Model
Criticisms of the Waterfall Approach:
Other Paradigms
Prototyping:
Ø
Requirement
gathering
Ø
Quick Design
Ø
Building
Prototype
Ø
Customer
evaluation
Ø
Could also
lead to the customer losing confidence
Ø
The
developer often makes compromises to get the prototype working
The Spiral Method
Ø
Planning
–determine objectives, alternatives, and constrains
Ø
Risk
analysis – analysis of alternatives and identification/ resolution of risks
Ø
Engineering
– development of the next level product
Ø
Customer
evaluation
Fourth Generation
Technique (4GT)
Ø
Requirement
gathering
Ø
Design
Ø
Implementation
using 4GL
Ø
Testing
Ø
Current
tools are limited to business information systems