Systems Analysis and Design in A Changing World, 7th Edition - Chapter 10 ©2016. Cengage Learning. All Rights Reserved. 1
Systems Analysis and Design in A Changing World, 7th Edition - Chapter 10 ©2016. Cengage Learning. All Rights Reserved. 1
Systems Analysis and Design in A Changing World, 7th Edition - Chapter 10 ©2016. Cengage Learning. All Rights Reserved. 1
Systems Analysis and Design in a Changing World, 7th Edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 1
Approaches to System Development
Chapter 10
Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 2
Chapter 10: Outline
The System Development Life Cycle
Methodologies, Models, Tools, and Techniques
Agile Development
The Unified Process, Extreme Programming, and
Scrum
Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 3
Learning Objectives
Compare the underlying assumptions and uses of a
predictive and an adaptive system development life
cycle (SDLC)
Explain what makes up a system development
methodology—the SDLC as well as models, tools, and
techniques
Describe the key features of Agile development
Understand and describe the key features of the
Unified Process, Extreme Programming, and Scrum
Agile system development methodologies
Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 4
Overview
Chapter 1 demonstrated a system development project that used
an iterative and agile system development life cycle (SDLC)
Later chapters focused on Systems Analysis activities and tasks
and some System Design activities and tasks
Now we return to look at the SDLC and related concepts in more
detail
Predictive versus Adaptive SDLC variations
Activities and Tasks of System Support
Models, Methodologies, Tools and Techniques
Agile Development
Specific SDLC Approaches
Unified Process (UP)
Extreme Programming (XP)
Scrum
Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 5
The System Development Life Cycle
(SDLC) (1 of 2)
There are two general approaches to the SDLC
Predictive Approach to the SDLC
Waterfall model
Assumes the project can be planned in advance and that the
information system can be developed according to the plan
Requirements are well understood and/or low technical risk
Adaptive Approach to the SDLC
Iterative model (as see in this text)
Assumes the project must be more flexible and adapt to changing
needs as the project progresses
Requirements and needs are uncertain and/or high technical risk
Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 6
The System Development Life Cycle
(SDLC) (2 of 2)
Most projects fall on a continuum between Predictive and
Adaptive
Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 7
Traditional Predictive SDLC
Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 8
Tradition IS Development Phases
Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 9
Waterfall Predictive SDLC
Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 10
Modified Waterfall with Overlapping Phases
Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 11
Newer Adaptive SDLC
Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 12
Adaptive Approaches
Incremental development
Completes portions of the system in small
increments and integrated as the project
progresses
Sometimes considered “growing” a system
Walking Skeleton
The complete system structure is built first, but
with bare-bones functionality
Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 13
A Generic Adaptive Approach
Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 14
Methodologies, Models, Tools, and
Techniques (1 of 6)
Methodologies
Provides guidelines for every facet of system development:
What to do when, why and how
Specifies an SDLC with activities and tasks
Specifies project planning and project management models
and reporting
Specifies analysis and design models to create
Specifies implementation and testing techniques
Specifies deployment and support techniques
Other term used is System Development Process
Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 15
Methodologies
A Methodology includes a collection of techniques
that are used to complete activities and tasks,
including modeling, for every aspect of the project
Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 16
Methodologies, Models, Tools, and
Techniques (2 of 6)
Model
An abstraction of an important aspect of the real world.
Makes it possible to understand a complex concept by
focusing only on a relevant part
Each model shows a different aspect of the concept
Crucial for communicating project information
In IS, some models are of system components that will
be developed
Other models are used to manage the development
process
Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 17
Methodologies, Models, Tools, and
Techniques (3 of 6)
Some models of system components
Use case diagram
Domain model class diagram
Design class diagram
Sequence diagram
Package diagram
Screen design template
Dialog design storyboard
Entity-relationship diagram (E RD)
Database schema
Some models used to manage the development process
Gantt chart
Organizational hierarchy chart
Financial analysis models—N PV, payback period
System development life-cycle model
Stakeholders list
Iteration plan
Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 18
Methodologies, Models, Tools, and
Techniques (4 of 6)
Tools
Software applications that assists developers in
creating models or other components required for
a project
Integrated Development Environment (IDE)
set of tools that work together to provide a
comprehensive development environment
Visual Modeling Tools
Tools to create graphical models
Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 19
Methodologies, Models, Tools, and
Techniques (5 of 6)
Some typical tools
Project management application
Drawing/graphics application
Word processor/text editor
Visual modeling tool
Integrated development environment (IDE)
Database management application
Reverse-engineering tool
Code generator tool
Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 20
Methodologies, Models, Tools, and Techniques (6 of 6)
Technique
A collection of guidelines that help an analyst complete an activity or task
Learning techniques is the key to having expertise in a field
Strategic planning techniques
Project management techniques
User-interviewing techniques
Data-modeling techniques
Relational database design techniques
Structured programming techniques
Software-testing techniques
Process modeling techniques
Domain modeling techniques
Use case modeling techniques
Object-oriented programming techniques
Architectural design techniques
User-interface design techniques
Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 21
Agile Development (1 of 2)
Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 22
Agile Development (2 of 2)
Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 23
Agile Modeling Principles
Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 24
Agile Principles (1 of 3)
Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 25
Agile Principles (2 of 3)
Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 26
Agile Principles (3 of 3)
Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 27
The Unified Process (UP)
The UP was the early leader in adaptive approaches
UP and UML (Unified Modeling Language) were
developed together
Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 28
The Unified Process (UP) – Phases
UP Phases organize iterations into four primary
areas of focus during a project
Inception phase – getting the project started
Elaboration – understanding the system
requirements
Construction – building the system
Transitions – preparing for and moving to deploying
the new system
Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 29
Unified Process (UP) – Phases (1 of 2)
Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 30
Unified Process (UP) – Phases (2 of 2)
Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 31
Unified Process – Disciplines (1 of 4)
Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 32
Unified Process – Disciplines (2 of 4)
Development Disciplines
Business modeling
Requirements
Design
Implementation
Testing
Deployment
Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 33
Unified Process – Disciplines (3 of 4)
Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 34
Unified Process – Disciplines (4 of 4)
Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 35
Extreme Programming (XP) (1 of 3)
Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 36
Extreme Programming (XP) (2 of 3)
XP Practices
Planning – based on user stories
Testing – thorough testing at every step
Pair Programming – watch, inspect, trade off
Simple Designs – Agile modeling principles
Refactoring – redo and cleanup as you go
Owning the code collectively – egoless
development, anyone can review and improve code
Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 37
Extreme Programming (XP) (3 of 3)
XP Practices
Continuous integration – grow the software
continuously
On-site customer – get sign-off as you go
System metaphor – what should the final system
look like
Small releases – turn over to user frequently
Forty-hour work week – don’t overload the
developers
Coding standards – follow standards for code
Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 38
XP Core Values
and Practices
Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 39
XP Project Approach (1 of 2)
Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 40
XP Project Approach (2 of 2)
Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 41
SCRUM
Combination of principles of Rugby and Agile
Intense effort involving the entire team for a
defined period of time
Product backlog
Prioritized list of user requirements
Product owner
The client stakeholder who controls backlog
Scrum master
Scrum project manager
Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 42
Scrum Sprint
Scrum sprint
A time-controlled mini-project to implement part of
the system
Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 43
Scrum Practices
Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 44
Summary (1 of 2)
This chapter covers approaches to system development
in more detail
There are two approaches to the SDLC: Predictive and
Adaptive
A predictive SDLC, also known as the waterfall model, is
used when it is possible to plan the project completely
in advance
An Adaptive SDLC, which uses iteration, is used when
the requirements are less certain and the project will
need to react to changes
Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 45
Summary (2 of 2)
All new System development project use a methodology
(or development process) and many are available. A
methodology includes an SDLC and tools, techniques, and
models
Agile development is the current trend in system
development
Unified Process is a formal iterative approach which uses
UML models (with Agile philosophy) and U P disciplines
Extreme Programming (XP) is an iterative approach which
takes good practices to the extreme
Scrum is an iterative approach using a Scrum Sprint
Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 46