IS0514 Lecture - Week 2 Best Practice Development Methodology.

22
IS0514 Lecture - Week 2 Best Practice Development Methodology

Transcript of IS0514 Lecture - Week 2 Best Practice Development Methodology.

IS0514 Lecture - Week 2

Best Practice Development Methodology

IS0514 – Semester 2 Week 2 Slide 2

Today's Lecture

What is considered as best practice Information System Development

• What is part of best practice?• What processes are required?• How should the processes be put together?

IS0514 – Semester 2 Week 2 Slide 3

SDLC and Approaches

Software Development Life Cycle (SDLC)

Planning Why build the system?

Analysis Who, what, when, where will

the system be? Design

How will the system work? Implementation

System delivery

Approaches Structured Development Rapid Application

Development Agile Development

IS0514 – Semester 2 Week 2 Slide 4

What is best practice? Model Visually Use case driven Architecture centric Iterative and Incremental

Grady Booch, Ivar Jacobson and James Rumbaugh (1999)The Unified Modelling Language User Guide

IS0514 – Semester 2 Week 2 Slide 5

Model Visually

Picture speaks a thousand words Choice of language

Traditional approachERD / DFD / etc

Object Oriented ApproachUML <= in this module

Choice of approach As sketch As blue print

Fowler (2005) UML Distilled

IS0514 – Semester 2 Week 2 Slide 6

Use-Case Driven Use Case is a single interaction between user

and system What the client wants the system to do

Link to clients Constant reminder of client

Unit from which later models are derived Thread that links through development Functional / non-functional / usability

requirements?

IS0514 – Semester 2 Week 2 Slide 7

Use Case Driven – why?

Build only what the client wants Don’t build technically driven project Everyone focused upon same requirements

Developers Clients Users

IS0514 – Semester 2 Week 2 Slide 8

Architecture Centric - History

Approach When

Mainframe Up to late 1980s

Thick client Late 1980s – mid 1990s

Web / Thin client Mid 1990s - present

Web services Last few years

IS0514 – Semester 2 Week 2 Slide 9

Architecture Centric

Many ways to solve problems Find best solution to provide value from choices

available Architecture significantly affects everything else Very important to DESIGN This year focus is ANALYSIS

IS0514 – Semester 2 Week 2 Slide 10

Iterative Development

The lifecycle is cyclic: Analyse a bit Design that bit Code the design Test the code Refine the analysis and repeat

IS0514 – Semester 2 Week 2 Slide 11

Iterative & Incremental Delivery

Ite ra tion 1

Ite ra tion n

M icro P rocess

M acro P rocess

IS0514 – Semester 2 Week 2 Slide 12

How does this help?

Mini-Projects Promotes early risk mitigation People think best short term

Plan, design & code a little Encourages participation Allowing for correction sooner Allows software to evolve Exposes problems earlier

Management of Risk

IS0514 – Semester 2 Week 2 Slide 13

Activity 1 – are diagrams enough?

Do you think diagrams are enough? In groups of 3-4 spend 5 minutes discussing

this. At the end of the time please be ready to share your discussions with the rest of the class.

IS0514 – Semester 2 Week 2 Slide 14

Activity 1 - Answer

IS0514 – Semester 2 Week 2 Slide 15

Unified Process Workflows 9 Workflows in 2 types:

Engineering WorkflowsBusiness ModellingRequirementsAnalysis and DesignImplementationTestDeployment

Supporting WorkflowsProject ManagementEnvironmentConfiguration and change management

IS0514 – Semester 2 Week 2 Slide 16

Iterative Approach for the Full Lifecycle Phases

Process Workflows

Iterations

Supporting Workflows

ManagementEnvironment

Business Modeling

Implementation

Test

Analysis & Design

Preliminary Iteration(s)

Iter.#1

Iter.#2

Iter.#n

Iter.#n+1

Iter.#n+2

Iter.#m

Iter.#m+1

Deployment

Configuration Mgmt

Requirements

Elaboration TransitionInception Construction

Workflows group activities logically

In an iteration, you walk through all workflows

IS0514 – Semester 2 Week 2 Slide 17

Each major workflow describes how to create and maintain a particular model

Models and Workflows

DesignModel

ImplementationModel

TestModel

realized by

implemented by

RequirementsWorkflow

Analysis DesignWorkflow

ImplementationWorkflow

Test Workflow

Use-CaseModel

BusinessModeling

Business Model

verified by

Co

re p

roce

ss w

ork

flo

ws

Iterative process resulting in a series of models which work with each other

IS0514 – Semester 2 Week 2 Slide 18

USDP Phases Inception Phase

Business CaseTechnical Feasibility – Can We build it?Economic Feasibility – Is it worth building?Organisation Feasibility – If we build it will it be used?

Elaboration Phase Enough System Analysis and Design to build system

Construction Phase Build and Test

Transition Phase Deploy

IS0514 – Semester 2 Week 2 Slide 19

Activity 2 – Do all projects need all the workflows?

Do you think all projects need all the workflows?

In groups of 3-4 spend 5 minutes discussing this. At the end of the time please be ready to share your discussions with the rest of the class.

IS0514 – Semester 2 Week 2 Slide 20

Activity 2 – Answer

IS0514 – Semester 2 Week 2 Slide 21

Summary

• How do you develop software?• What is part of best practice?• What processes are required?• How should the processes be put together?

• Next week: Use Cases

IS0514 – Semester 2 Week 2 Slide 22

This weeks readingESSENTIAL READINGDennis A, Wixom B, and Tegarden D (2005) System

Analysis and Design with UML version 2 second edition, Wiley

Pages 35-52Further readingBennett, S., McRobb, S. and Farmer, R. (2002) Object-

Oriented Systems Analysis and Design using UML, 2nd Edition, McGraw-Hill

Chapter 3http://www-306.ibm.com/software/awdtools/rup/