Systems Development Process: Topic List
Systems Development Process: Topic List
Abdisalam Issa-Salwe
Topic list
System development cycle
The Waterfall Model
The Spiral Model
Feasibility study
System investigation
User involvement
OO design
Activities in the object-oriented design process
UML may models
2
East Africa University, Faculty of Information Science and Technology, Department of Computer Science
1
Learning outcome
Understand the concept of systems analysis and design
as a disciplined approach to development
Become familiar with the evolution of systems analysis
and design
Understand the concepts of data-centricity and process-
centricity
Describe the various roles and responsibilities in systems
development
Explain the types of skills necessary to be a successful
systems analyst
Review the different classes ofcomputer system
3
East Africa University, Faculty of Information Science and Technology, Department of Computer Science
4
East Africa University, Faculty of Information Science and Technology, Department of Computer Science
2
System Development Life Cycle (cont…)
5
East Africa University, Faculty of Information Science and Technology, Department of Computer Science
East Africa University, Faculty of Information Science6and Technology, Department of Computer Science
3
Developingcomputer systemand the SDLC
System Development Methodology
Standard process followed in an organization
Consists of:
Analysis
Design
Implementation
Maintenance
7
East Africa University, Faculty of Information Science and Technology, Department of Computer Science
8
East Africa University, Faculty of Information Science and Technology, Department of Computer Science
4
SDLC Analysis Phase
9
East Africa University, Faculty of Information Science and Technology, Department of Computer Science
Convert
recommended
solution to system
specifications Logical design:
functional features
described
independently of
computer platform
Physical design:
logical
specifications
transformed to
technology-
specific details
10
East Africa University, Faculty of Information Science and Technology, Department of Computer Science
5
SDLC Implementation Phase
11
East Africa University, Faculty of Information Science and Technology, Department of Computer Science
12
East Africa University, Faculty of Information Science and Technology, Department of Computer Science
6
Overview of Phases and Activities
Preliminary investigation phase
Identification and selection of a development
project
Initiation of a preliminary investigation to
determine project feasibility
Formation of a project team
Development of the project plan
13
East Africa University, Faculty of Information Science and Technology, Department of Computer Science
14
East Africa University, Faculty of Information Science and Technology, Department of Computer Science
7
System Development Life Cycle (cont…)
SDLC is a framework for describing the phases involved in
developing and maintainingcomputer system
A Systems Development Life Cycle (SDLC) is an abstract
representation of how system is developed.
A SDLC process can consist of
Sequential Phases/Steps
Parallel Phases/Steps
15
East Africa University, Faculty of Information Science and Technology, Department of Computer Science
16
East Africa University, Faculty of Information Science and Technology, Department of Computer Science
8
Software Development Life Cycle (cont…)
Decide if the FEASIBILITY STUDY
needs can be Product:
realizable Feasibility Study
Systems Investigation
Understand the Product:
Business Investigating the System
Problem or
Opportunity
Systems Analysis
Product:
Functional Requirements
Develop an
Information Systems Design
Product:
System System Specifications
Solution
Systems Implementation
Product:
Implement Operational System
Waterfall approach
The Waterfall model was the first structured
approach to systems development
The waterfall model is just a time-ordered
list of activities to be performed to obtain an
IT system
18
East Africa University, Faculty of Information Science and Technology, Department of Computer Science
9
Waterfall Approach (cont…)
Requirements
Design
Coding
Unit Testing
Test
Integration
Acceptance Test
Maintenance
19
East Africa University, Faculty of Information Science and Technology, Department of Computer Science
Spiral Model
The spiral model is a combination of the best
features of both the waterfall model and
prototyping.
Risk assessment is an added feature to the spiral
model.
Similar to the prototyping model, an initial version
of the system is developed and then repetitively
modified based on input received from client
evaluations.
20 East Africa University, Faculty of Information Science and Technology, Department of Computer Science
10
Spiral Model (cont…)
21
East Africa University, Faculty of Information Science and Technology, Department of Computer Science
11
Spiral model (cont…)
Each trip around the quadrants is called a “round” and a
commitment to proceed or a decision to abandon is made
at the end of each round.
Rounds zero and one are generally concerned with project
feasibility and risk assessment.
If there is a “go” decision at the end of round one, a more
detailed analysis and concept of operations is begun. At
this point, the spiral model borrows
23
East Africa University, Faculty of Information Science and Technology, Department of Computer Science
24
East Africa University, Faculty of Information Science and Technology, Department of Computer Science
12
Object-oriented development
Object-oriented analysis, design and programming are
related but distinct.
OOA is concerned with developing an object model of the
application domain.
OOD is concerned with developing an object-oriented
system model to implement requirements.
OOP is concerned with realising an OOD using an OO
programming language such as Java or C++.
25
East Africa University, Faculty of Information Science and Technology, Department of Computer Science
Characteristics of OOD
Objects are abstractions of real-world or system entities
and manage themselves.
Objects are independent and encapsulate state and
representation information.
System functionality is expressed in terms of object
services.
Shared data areas are eliminated.
Objects communicate by message passing.
Objects may be distributed and may execute
sequentially or in parallel.
26
East Africa University, Faculty of Information Science and Technology, Department of Computer Science
13
Interacting objects
27
East Africa University, Faculty of Information Science and Technology, Department of Computer Science
Advantages of OOD
Easier maintenance.
Objects may be
understood as stand-alone entities.
Objects are potentially reusable components.
For some systems, there may be an obvious
mapping from real world entities to system
objects.
28
East Africa University, Faculty of Information Science and Technology, Department of Computer Science
14
Objects and object classes
Objects are entities in a software system which
represent instances of real-world and system
entities.
Object classes are templates for objects. They
may be used to create objects.
Object classes may inherit attributes and
services from other object classes.
29
East Africa University, Faculty of Information Science and Technology, Department of Computer Science
30
East Africa University, Faculty of Information Science and Technology, Department of Computer Science
15
The Unified Modeling Language
Several different notations for describing object-
oriented designs were proposed in the 1980s
and 1990s.
The Unified Modeling Language is an integration
of these notations.
It describes notations for a number of different
models that may be produced during OO
analysis and design.
It is now a de facto standard for OO modelling.
31
East Africa University, Faculty of Information Science and Technology, Department of Computer Science
Object communication
Conceptually, objects communicate by
message passing.
Messages
The name of the service requested by the calling
object;
Copies of the information required to execute the
service
and the name of a holder for the result of the service.
In practice, messages are often implemented
by procedure calls
Name = procedure name;
Information = parameter list.
32
East Africa University, Faculty of Information Science and Technology, Department of Computer Science
16
Generalisation and inheritance
Objects are members of classes that define
attribute types and operations.
Classes may be arranged in a class hierarchy
where one class (a super-class) is a generalisation
of one or more other classes (sub-classes).
A sub-class inherits the attributes and
operations from its super class and may add
new methods or attributes of its own.
Generalisation in the UML is implemented as
inheritance in OO programming languages.
33 East Africa University, Faculty of Information Science and Technology, Department of Computer Science
Advantages of inheritance
It is an abstraction mechanism which may be
used to classify entities.
It is a reuse mechanism at both the design and
the programming level.
The inheritance graph is a source of
organisational knowledge about domains and
systems.
34
East Africa University, Faculty of Information Science and Technology, Department of Computer Science
17
Problems with inheritance
Object classes are not self-contained. they
cannot be understood without reference to their
super-classes.
Designers have a tendency to reuse the
inheritance graph created during analysis. Can
lead to significant inefficiency.
The inheritance graphs of analysis, design and
implementation have different functions and
should be separately maintained.
35
East Africa University, Faculty of Information Science and Technology, Department of Computer Science
UML associations
Objects and object classes participate in relationships
with other objects and object classes.
In the UML, a generalised relationship is indicated by an
association.
Associations may be annotated with information that
describes the association.
Associations are general but may indicate that an
attribute of an object is an associated object or that a
method relies on an associated object.
36
East Africa University, Faculty of Information Science and Technology, Department of Computer Science
18
An object-oriented design process
Structured design processes involve developing
a number of different system models.
They require a lot of effort for development and
maintenance of these models and, for small
systems, this may not be cost-effective.
However, for large systems developed by
different groups design models are an essential
communication mechanism.
37
East Africa University, Faculty of Information Science and Technology, Department of Computer Science
Process stages
Highlights key activities without being tied to any
proprietary process such as the RUP.
Define the context and modes of use of the
system;
Design the system architecture;
Identify the principal system objects;
Develop design models;
Specify object interfaces.
38
East Africa University, Faculty of Information Science and Technology, Department of Computer Science
19
System context and models of use
Develop an understanding of the relationships between
the software being designed and its external environment
System context
A static model that describes other systems in the
environment. Use a subsystem model to show other
systems. Following slide shows the systems around the
weather station system.
Model of system use
A dynamic model that describes how the system interacts
with its environment. Use use-cases to show interactions
39
East Africa University, Faculty of Information Science and Technology, Department of Computer Science
Use-case models
Use-case models are used to represent each
interaction with the system.
A use-case model shows the system features as
ellipses and the interacting entity as a stick
figure.
40
East Africa University, Faculty of Information Science and Technology, Department of Computer Science
20
Object identification
Identifying objects (or object classes) is the most
difficult part of object oriented design.
There is no 'magic formula' for object
identification. It relies on the skill, experience
and domain knowledge of system designers.
Object identification is an iterative process. You
are unlikely to get it right first time.
41
East Africa University, Faculty of Information Science and Technology, Department of Computer Science
Approaches to identification
Use a grammatical approach based on a natural
language description of the system (used in Hood OOD
method).
Base the identification on tangible things in the
application domain.
Use a behavioural approach and identify objects based
on what participates in what behaviour.
Use a scenario-based analysis. The objects, attributes
and methods in each scenario are identified.
42
East Africa University, Faculty of Information Science and Technology, Department of Computer Science
21
Design models
Design models show the objects and object
classes and relationships between these entities.
Static models describe the static structure of the
system in terms of object classes and
relationships.
Dynamic models describe the dynamic
interactions between objects.
43
East Africa University, Faculty of Information Science and Technology, Department of Computer Science
44
East Africa University, Faculty of Information Science and Technology, Department of Computer Science
22
Subsystem models
Shows how the design is organised into logically
related groups of objects.
In the UML, these are shown using packages -
an encapsulation construct. This is a logical
model. The actual organisation of objects in the
system may be different.
45
East Africa University, Faculty of Information Science and Technology, Department of Computer Science
Sequence models
Sequence models show the sequence of object
interactions that take place
Objects are arranged horizontally across the
top;
Time is represented vertically so models are
read top to bottom;
Interactions are represented by labelled
arrows, Different styles of arrow represent
different types of interaction;
A thin rectangle in an object lifeline
represents the time when the object is the
controlling object in the system.
46
East Africa University, Faculty of Information Science and Technology, Department of Computer Science
23
Object interface specification
Object interfaces have to be specified so that the
objects and other components can be designed
in parallel.
Designers should avoid designing the interface
representation but should hide this in the object
itself.
Objects may have several interfaces which are
viewpoints on the methods provided.
The UML uses class diagrams for interface
specification but Java may also be used.
47
East Africa University, Faculty of Information Science and Technology, Department of Computer Science
Design evolution
Hiding information inside objects means that
changes made to an object do not affect other
objects in an unpredictable way.
Assume pollution monitoring facilities are to be
added to weather stations. These sample the
air and compute the amount of different
pollutants in the atmosphere.
Pollution readings are transmitted with weather
data.
48
East Africa University, Faculty of Information Science and Technology, Department of Computer Science
24
Reference
Alan Dennis and Barbara Haley Wixom, Systems
Analysis and Design,John Wiley & Sons, Inc.
Sommerville 2004, Software Engineering, 7th
edition. Chapter 14
Abdisalam Issa-Salwe (2004), SSM Notes,
Thames Valley University.
49
East Africa University, Faculty of Information Science and Technology, Department of Computer Science
Discussion Questions
Group 1: Discuss why Systems Development Life
Cycle (SDLC) is important? Could you name three
stages of SDLC in your discussion
25