Approaches to systems
development
Chapter 2
Department of Computer
Science and Technology
2018 Spring Semester
Yang Chun-ting
Learning Objectives
Compare the underlying assumptions and uses of a
predictive and an adaptive systems development life cycle
(SDLC)
Describe the key activities and tasks of information
system support
Explain what comprises a system development
methodology —the SDLC as well as models, tools, and
techniques
Describe the two overall approaches used for software
construction and modeling: the structured approach and
the object-oriented approach
Describe the key features of Agile development
The Systems Development
Lifecycle (SDLC)
Systems development life cycle (SDLC)
Provides overall framework for managing systems
development process
Two main approaches to SDLC
Predictive approach – assumes project can be planned
out in advance
Adaptive approach – more flexible, assumes project
cannot be planned out in advance
All projects use some variation of SDLC
3
Choosing the Predictive vs.
Adaptive Approach to the SDLC
Figure 8-1
4
Traditional Predictive Approach to
the SDLC
Project planning – initiate, ensure feasibility, plan
schedule, obtain approval for project
Analysis – understand business needs and
processing requirements
Design – define solution system based on
requirements and analysis decisions
Implementation – construct, test, train users, and
install new system
Support – keep system running and improve
Systems Analysis and Design in a Changing World, 5th Edition 5
Information System Development
Phases
Figure 8-2
6
“Waterfall” Approach to the SDLC
Figure 8-3
7
Modified Waterfall Approach
with Overlapping Phases
Figure 8-4
8
Newer Adaptive Approaches to the
SDLC
Based on spiral model
Project cycles through development activities over and
over until project is complete
Prototype created by end of each cycle
Focuses on mitigating risk
Iteration – Work activities are repeated
Each iteration refines previous result
Approach assumes no one gets it right the first time
There are a series of mini projects for each iteration
9
The Spiral Life Cycle Model
Figure 8-5
10
Iteration of System Development
Activities
Figure 8-6
11
Activities of Each SDLC Phase
Predictive or adaptive approach use SDLC
Activities of each “phase” are similar
Phases are not always sequential
Phases can overlap
Activities across phases can be done within an
iteration
12
Activities of Project Planning
Define business problem and scope
Produce detailed project schedule
Confirm project feasibility
Economic, organizational, technical, resource, and
schedule
Staff the project (resource management)
Launch project official announcement
13
Analysis Activities
Gather information to learn problem domain
Define system requirements
Build prototypes for discovery of requirements
Prioritize requirements
Generate and evaluate alternatives
Review recommendations with management
14
Design Activities
Design and integrate the network
Design the application architecture
Design the user interfaces
Design the system interfaces
Design and integrate the database
Prototype for design details
Design and integrate system controls
15
Implementation Activities
Construct software components
Verify and test
Convert data
Train users and document the system
Install the system
16
Support Activities
Maintain system
Small patches, repairs, and updates
Enhance system
Small upgrades or enhancements to expand system
capabilities
Larger enhancements may require separate
development project
Support users
Help desk and/or support team
17
Methodologies
Methodologies
Comprehensive guidelines to follow for completing
every SDLC activity
Collection of models, tools, and techniques
18
Relationships Among Components
of a Methodology
Figure 8-8
19
Models
Models
Representation of an important aspect of real world,
but not same as real thing
Abstraction used to separate out aspect
Diagrams and charts
Project planning and budgeting aids
20
Some Models Used in System
Development
Figure 8-9
21
Tools
Tools
Software support that helps create models or other
required project components
Range from simple drawing programs to complex
CASE tools to project management software
22
Some Tools Used in System
Development
Figure 8-10
23
Techniques
Techniques
Collection of guidelines that help analysts
complete a system development activity or task
Can be step-by-step instructions or just general
advice
24
Some Techniques Used in System
Development
Figure 8-11
25
Two Approaches to System
Development
Traditional approach
Also called structured system development
Structured analysis and design technique (SADT)
Includes information engineering (IE)
Object-oriented approach
Also called OOA, OOD, and OOP
Views information system as collection of interacting
objects that work together to accomplish tasks
26
Traditional Approach
Structured programming
Improves computer program quality
Allows other programmers to easily read and modify
code
Each program module has one beginning and one
ending
Three programming constructs (sequence, decision,
repetition)
27
Three Structured Programming
Constructs
Figure 8-12
28
Top-Down Programming
Divides complex programs into hierarchy of modules
The module at top controls execution by “calling”
lower level modules
Modular programming
Similar to top-down programming
One program calls other programs to work together
as single system
29
Top-Down or Modular
Programming
Figure 8-13
30
Structured Design
Technique developed to provide design guidelines
What set of programs should be
What program should accomplish
How programs should be organized into a hierarchy
Modules are shown with structure chart
Main principle of program modules
Loosely coupled – module is independent of other
modules
Highly cohesive – module has one clear task
31
Structure Chart Created Using
Structured Design Technique
Figure 8-14
32
Structured Analysis
Define what system needs to do (processing
requirements)
Define data system needs to store and use (data
requirements)
Define inputs and outputs
Define how functions work together to accomplish
tasks
Data flow diagrams (DFD) and entity relationship
diagrams (ERD) show results of structured analysis
33
Data Flow Diagram (DFD) Created
Using Structured Analysis
Technique
Figure 8-15
34
Entity-Relationship Diagram (ERD)
Created Using Structured Analysis
Technique
Figure 8-16
35
Structured Analysis Leads to
Structured Design and Structured
Programming
Figure 8-17
36
Information Engineering (IE)
Refinement to structured development
Methodology with strategic planning, data modeling,
automated tools focus
More rigorous and complete than SADT
Industry merged key concepts from structured
development and information engineering
approaches into traditional approach
37
Object-Oriented Approach
Completely different approach to information systems
Views information system as collection of interacting
objects that work together to accomplish tasks
Objects – things in computer system that can respond
to messages
Conceptually, no processes, programs, data entities, or
files are defined – just objects
OO languages: Java, C++, C# .NET, VB .NET
38
Object-Oriented Approach to
Systems
Figure 8-18
39
Object-Oriented Approach
(continued)
Object-oriented analysis (OOA)
Defines types of objects users deal with
Shows use cases are required to complete tasks
Object-oriented design (OOD)
Defines object types needed to communicate with
people and devices in system
Shows how objects interact to complete tasks
Refines each type of object for implementation with
specific language of environment
40
Object-Oriented Approach
(continued)
Object-oriented programming (OOP)
Writing statements in programming language to define
what each type of object does
41
Class Diagram Created During OO
Analysis
Figure 8-19
42
SDLC Variations
Many variations of SDLC in practice
Based on variation of names for phases
No matter which one, activities/tasks are similar
Some increase emphasis on people
User-centered design, participatory design
Sociotechnical systems
Some increase speed of development
Rapid application development (RAD)
Prototyping
43
Agile Development
Agile Development Philosophy and
Values
Agile Modeling Principles