Large Scale Systems Design G52LSS
Lecture 2 Large Systems Development
Phases
of the SDLC Methodologies for SDLC Selecting Methodologies
Learning outcomes: describe phases, steps and deliverables of the SDLC; understand the different structured and non-structured SDLC methodologies; appreciate advantages and disadvantages of the different SDLC methodologies.
University of Nottingham School of Computer Science
Large Scale Systems Design Dr Dario Landa-Silva
Phases of the SDLC
The Systems Development Life Cycle is a gradual refinement process traditionally consisting of 4 phases:
Planning Analysis Design Implementation
Each phase is composed of steps that rely on techniques Each step is meant to produce a specific deliverable
University of Nottingham School of Computer Science
Large Scale Systems Design Dr Dario Landa-Silva
Planning Phase
Opportunity Identification System Request Feasibility Analysis (technical, economic, organisational) Project Management
Project Workplan
University of Nottingham School of Computer Science Large Scale Systems Design Dr Dario Landa-Silva 3
Analysis Phase
Develop Analysis Strategy Define Requirements Use Cases, Process Model, Data Model
Systems Proposal
University of Nottingham School of Computer Science
Large Scale Systems Design Dr Dario Landa-Silva
Design Phase
Design Selection Architecture Design Interface Design Data Storage Design Program Design
System Specification
University of Nottingham School of Computer Science Large Scale Systems Design Dr Dario Landa-Silva 5
Implementation
System Construction Installation Process Support Plan
Functional, Efficient and Robust System
University of Nottingham School of Computer Science
Large Scale Systems Design Dr Dario Landa-Silva
Methodologies for SDLC
Structured
Design
Waterfall development Parallel Development
Rapid
Application Development
Phased Development Prototyping Throwaway Prototyping
Agile
Development
Extreme programming Other agile methodologies include: Crystal, Scrum, Adaptive Software Development, Dynamic Systems Development, Feature Driven Development.
Large Scale Systems Design Dr Dario Landa-Silva 7
University of Nottingham School of Computer Science
Waterfall Development Sequential process
Diagram from (Dennis et al. 2006)
University of Nottingham School of Computer Science
Large Scale Systems Design Dr Dario Landa-Silva
Parallel Development Division into subprojects
Diagram from (Dennis et al. 2006)
High level design
More specific designs
University of Nottingham School of Computer Science
Large Scale Systems Design Dr Dario Landa-Silva
Phased Development Versions-based process
Diagram from (Dennis et al. 2006)
University of Nottingham School of Computer Science
Large Scale Systems Design Dr Dario Landa-Silva
10
Prototyping Diagram from (Dennis et al. 2006) Performs phases concurrently and repeatedly
Prototype (not a 1st version)
cu r Co n re nt ly
User tries a finished system
University of Nottingham School of Computer Science Large Scale Systems Design Dr Dario Landa-Silva 11
Throwaway prototyping Diagram from (Dennis et al. 2006) Uses disposable design prototypes
High level design
Co n
cu r
re nt ly
Not fully working system
University of Nottingham School of Computer Science Large Scale Systems Design Dr Dario Landa-Silva 12
Extreme Programming System grows iteratively
Diagram from (Dennis et al. 2006)
University of Nottingham School of Computer Science
Large Scale Systems Design Dr Dario Landa-Silva
13
Exercise 2.1 Suppose you are a project manager using the waterfall development methodology on a large and complex project. Your manager has just read a recent article in a magazine that advocates replacing the waterfall methodology with prototyping and comes to your office requesting you to switch approaches. What would you say? Exercise taken from (Dennis et al. 2006)
Justify the use of waterfall methodology for current project considering the strengths of that approach. Consider if prototyping would really be better for this scenario, so questions like the following need to be asked: users are available? risk of poor analysis and design? time available for development?
University of Nottingham School of Computer Science Large Scale Systems Design Dr Dario Landa-Silva 14
Selecting Methodologies
Difficult
because no methodology is always the best Standards and practices vary between organisations Important criteria are the following
Ability to develop systems that Unclear requirements Unfamiliar technology Complex Reliable Short schedule Schedule visibility
University of Nottingham School of Computer Science
WF PA P P G G P P P P G G G P
PH G G G G E E
PR E P P P E E
TP E E E E G G
XP E P P G E G
Large Scale Systems Design Dr Dario Landa-Silva
15
The above methodologies can also be combined to produce hybrid SDLC methodologies that would be more adequate for certain project development scenarios.
Exercise 2.2 Suppose you were to combine throwaway prototyping with parallel development. What diagram would illustrate the hybrid methodology? What would be the pros and cons of the hybrid methodology? Exercise taken from (Dennis et al. 2006)
University of Nottingham School of Computer Science
Large Scale Systems Design Dr Dario Landa-Silva
16
Exercise 2.2 (cont.)
Subproject 1
Planning Analysis Design
Analysis Design
Implementation
Design Prototype
Subproject 2
Analysis Design
Implementation
Design Design Prototype
Implementation
Design Implementation Implementation
System
Hybrid Methodology Parallel and Throwaway Prototyping
University of Nottingham School of Computer Science
Large Scale Systems Design Dr Dario Landa-Silva
17
Additional Reading Chapter 1 of (Dennis, Wixom and Roth, 2006) Chapter 1 of (Kendall and Kendall, 2005)
University of Nottingham School of Computer Science
Large Scale Systems Design Dr Dario Landa-Silva
18