Você está na página 1de 18

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

Você também pode gostar