System development lifecycle
The Waterfall Model
The Spiral Model
Systems development methodologies
Software support for the systems development process
User involvement
2. Abdisalam Issa-Salwe, Thames Valley University
2
Topic list
System development lifecycle
The Waterfall Model
The Spiral Model
Systems development
methodologies
Software support for the systems
development process
User involvement
3. Abdisalam Issa-Salwe, Thames Valley University
3
System development cycle
In early days of computing, systems
were developed in fairly haphazard way
resulting in poorly designed systems
which were too expensive and were not
suited to the user’s needs
In the 1960s, the National Computing
Centre developed a more disciplined
approach to systems development
which was applicable almost
everywhere
4. Abdisalam Issa-Salwe, Thames Valley University
4
System development cycle (cont…)
This approach was called the Systems
Development Lifecycle and contained
the following stages:
Feasibility Study
Systems Investigation
Systems Analysis
Systems Design
Implementation
Review and Maintenance
5. Abdisalam Issa-Salwe, Thames Valley University
5
System development cycle (cont…)
System development life-cycle
was developed to add discipline
to many organisations’ approach
to systems development.
Systems development lifecycle is
the process of conceiving,
designing and implementing an
information system.
6. Abdisalam Issa-Salwe, Thames Valley University
6
System development cycle (cont…)
The Systems Development Life
Cycle (SDLC) is a framework for
describing the phases involved in
developing and maintaining
information systems
Typical SDLC phases include
planning, analysis, design,
implementation, and support
7. Abdisalam Issa-Salwe, Thames Valley University
7
Systems View
Systems approach emerged in 1950s
more analytical approach to management &
problem solving
Three parts:
Systems philosophy: View things as systems,
interacting components working within an
environment to fulfill some purpose
Systems analysis: problem-solving approach
Systems management: Address business,
technological & organizational issues before
making changes to systems
8. Abdisalam Issa-Salwe, Thames Valley University
8
Drawbacks of the systems development
Insufficient emphasis on information
needs
Sequential, inflexible approach
Poor documentation
Dissatisfied users
Users’ requirements poorly defined
9. Abdisalam Issa-Salwe, Thames Valley University
9
Drawbacks of the systems development (cont…)
As information systems grow in size and
complexity, these problems may only get
worse.
The best way to start approaching these
problems is by studying them in more
detail.
Legacy Systems
Increasing Systems Complexity
Organisational Issues
10. Abdisalam Issa-Salwe, Thames Valley University
10
The IS function has a poor reputation.
Despite huge investments in information
technology:
Systems development often takes more time
and resources than planned
Information systems do not provide the
information needed or in the needed form
Information systems break down too often
Drawbacks of the systems development (cont…)
11. Abdisalam Issa-Salwe, Thames Valley University
11
Drawbacks of the systems development (cont…)
Birrell and Ould [Birrell and Ould,
1985], describe the "b-Model“:
The b-Model recognises that the
maintenance phase of the software life-
cycle is seldom just fixing errors.
If a software product exists for any
period of time, "maintenance" almost
always involves enhancements.
After a while, the "maintenance phase"
of a software product looks very much
like the "development phase."
12. Abdisalam Issa-Salwe, Thames Valley University
12
SSADM
SSADM (Structured Systems Analysis
and Design)
Originally designed for the UK Civil
Service.
Data driven – concentration on the
data rather than processes.
Highly structured with rules,
guidelines and standards
Documentation is crucial to all
aspects of the system project
development
13. Abdisalam Issa-Salwe, Thames Valley University
13
SSADM states
Stage 0 – Feasibility Study
Stage 1 – Investigation of Current
Environment
Stage 2 - Business Systems Options
Stage 3 – Definitions of requirements
Stage 4 – Technical Systems Options
Stage 5 – Logical Design
Stage 6 – Physical Design
14. Abdisalam Issa-Salwe, Thames Valley University
14
Computer-Aided Software Engineering Tools (CASE)
Software tools providing automated
support for systems development
Project dictionary/workbook:
system description and
specifications
Diagramming tools
Example products: Oracle Designer,
Rational Rose
15. Abdisalam Issa-Salwe, Thames Valley University
15
CASE Tools (cont…)
Select - Select
Visio 2000 – Microsoft
Visible Analyst - Visible Systems
ER/Studio - Embarcadero
ERWin - Computer Associates
Oracle Designer - Oracle
Power Designer - Sybase
16. Abdisalam Issa-Salwe, Thames Valley University
16
CASE Features
Diagrams
Documentation
Data Dictionary
Team Coordination
Prototyping
Code Generation
Reverse Engineering
17. Abdisalam Issa-Salwe, Thames Valley University
17
CASE Types
Full development - integrated
iCASE
Analysis & Design
upper CASE
Implementation & Maintenance
lower CASE
18. Abdisalam Issa-Salwe, Thames Valley University
18
CASE Repository
Data dictionary - data element
definitions and descriptions
Ensures consistency
Repository is much more
Database with linkages for all system
development products and activities
Integration
Even across different CASE tools
19. Abdisalam Issa-Salwe, Thames Valley University
19
System Development Methodologies
System Development
Methodologies - Refer to tools
and techniques used to complete
tasks of various phases.
We may use structured design
technique to design computer
programs; the technique would be
a methodology where as system
design is a phase of the life cycle
20. Abdisalam Issa-Salwe, Thames Valley University
20
System Development Methodologies (cont…)
A system development methodology is a
guidelines to follow for completing every
activity in the SDLC, including specific
models, tools and techniques.
Some methodologies are very formal, and
contain direct instruction. Everything is
defined, including the view of
documentation and content of reports.
Other methodologies are much more
informal – just general description of
what should be done.
21. Abdisalam Issa-Salwe, Thames Valley University
21
System Development Methodologies (cont…)
Different types of system development
methodologies are used in designing
information system.
Depending upon the actual requirement
of the system, different approaches for
data processing are adopted. However,
some system groups recommends the
Centralised data processing system while
others may go in for distributed data
processing system.
22. Abdisalam Issa-Salwe, Thames Valley University
22
Model
A model is a representation of some
aspect of the real world. A model may be:
physical (like a model of an airplane) or
abstract (e.g. in form of mathematical notation
or in graphical form).
Most models, used in system development, are
graphical (diagrams and charts). They include
representations of inputs, outputs, processes,
data, objects, object interactions, locations,
networks, devices, or highlighting the tasks for
the project
23. Abdisalam Issa-Salwe, Thames Valley University
23
Tools
A tool is a software support that helps
create models or other components
required in the project. A list of tool types
includes:
Project management application
Drawing/graphics application
Word processor/text editor
Computer-aided system engineering (CASE)
tools
Integrated development environment (IDE)
Database management application
Reverse-engineering tool
Code generator tool
24. Abdisalam Issa-Salwe, Thames Valley University
24
Technique
A technique is a collection of
guidelines that help the analyst
complete a system development
activity or task.
It might be step-by-step
instructions or more general
advices.
27. Abdisalam Issa-Salwe, Thames Valley University
27
Computer Generation
First generation: machine language
Second generation: assembly language
Third generation: high-level
programming languages, such as C, C+
+, and Java.
Fourth Generation
fifth generation: languages used for
artificial intelligence and neural
networks.
29. Abdisalam Issa-Salwe, Thames Valley University
29
Machine language (1GLs)
The lowest-level programming language
(except for computers that utilise
programmable microcode)
Machine languages are the only
languages understood by computers.
While easily understood by computers,
machine languages are almost
impossible for humans to use because
they consist entirely of numbers
30. Abdisalam Issa-Salwe, Thames Valley University
30
Assembly language (2GLs)
A programming language that is once
removed from a computer's machine
language.
Machine languages consist entirely of
numbers and are almost impossible for
humans to read and write.
An assembly language contains the same
instructions as a machine language, but the
instructions and variables have names
instead of being just numbers.
31. Abdisalam Issa-Salwe, Thames Valley University
31
Fourth-Generation Languages (4GLs)
Often abbreviated 4GL, fourth-
generation languages are
programming languages closer to
human languages than typical high-
level programming languages. Most
4GLs are used to access databases.
For example, a typical 4GL
command is:
FIND ALL RECORDS WHERE NAME IS
"SMITH"
32. Abdisalam Issa-Salwe, Thames Valley University
32
5GLs
Fifth generation: languages used for
artificial intelligence and neural
networks.
the branch of computer science
concerned with machine behave like
humans. Example:
Game playing
Neutral network
Robotics,
Etc.
33. Abdisalam Issa-Salwe, Thames Valley University
33
User involvement
• User involvement focuses the needs
and wishes of users, i.e. crucial
information that must be incorporated
into the design process to ensure user
acceptance.
• To begins by classifying the users of a
product into several distinct user
groups.
• Groups then examined using methods
such as in-person interviews, group
interviews.
34. Abdisalam Issa-Salwe, Thames Valley University
34
User involvement
Walkthroughs: Walkthroughs investigate
how a product is used in its actual
usage environment and what are
expectations and wishes of users
concerning the product. In an
unstructured walkthrough the user is
allowed to freely demonstrate her way
of using the product, while in a
structured walkthrough the user is
asked to perform specific tasks.