7
1 SEG4910 – Projet génie logiciel en fin d’études / Software Engineering Capstone Project Review of Analysis and Iterative Development Timothy C. Lethbridge Derived from notes by Liam Peyton

SEG4910 – Projet génie logiciel en fin d ’ études / Software Engineering Capstone Project

Embed Size (px)

DESCRIPTION

SEG4910 – Projet génie logiciel en fin d ’ études / Software Engineering Capstone Project. Review of Analysis and Iterative Development Timothy C. Lethbridge Derived from notes by Liam Peyton. Insufficient requirements Ambiguous communications Brittle architectures - PowerPoint PPT Presentation

Citation preview

Page 1: SEG4910 –  Projet génie logiciel en fin d ’ études /  Software Engineering  Capstone  Project

1

SEG4910 – Projet génie logiciel en fin d’études / Software Engineering Capstone Project

Review of Analysis and Iterative Development

Timothy C. LethbridgeDerived from notes by Liam Peyton

Page 2: SEG4910 –  Projet génie logiciel en fin d ’ études /  Software Engineering  Capstone  Project

2

Insufficient requirements Ambiguous communications Brittle architectures Overwhelming complexity Subjective assessment Undetected inconsistencies Poor testing Waterfall development Uncontrolled change Insufficient automation

Develop iteratively Manage requirements Use component

architectures Model the software visually Verify quality Control changes

Root CausesRoot Causes Best PracticesBest PracticesBest Practices Address Root Causes

Page 3: SEG4910 –  Projet génie logiciel en fin d ’ études /  Software Engineering  Capstone  Project

3

Iterative Development Accelerates Risk Reduction

WaterfallIterative

R

I

S

K

T I M E

Iteration Iteration Iteration Iteration Iteration Iteration Iteration

Page 4: SEG4910 –  Projet génie logiciel en fin d ’ études /  Software Engineering  Capstone  Project

4

Iterative Development Characteristics

Critical risks are resolved before making large investments

Initial iterations enable early user feedback Testing and integration are continuous Objective milestones provide short-term focus Progress is measured by assessing implementations Partial implementations can be deployed

Page 5: SEG4910 –  Projet génie logiciel en fin d ’ études /  Software Engineering  Capstone  Project

5

SCRUM (Ken Schwaber) http://www.scrumalliance.org/learn_about_scrum 2-4 week sprints (customer releasable), prioritized feature backlog See separate slide deck

Extreme Programming (Ken Beck) 3 week iterations, tests and data created and agreed to by

customer before coding begins

Rational Unified Process (Phillipe Krutchen) fully tested executable every iteration use cases and architecture drive iterations

Analysis & Iterative Development

Page 6: SEG4910 –  Projet génie logiciel en fin d ’ études /  Software Engineering  Capstone  Project

6

Testing in an Iterative Environment

Req

uir

em

en

tsR

eq

uir

em

en

ts

Test Suite 1Test Suite 1

Iteration 2Iteration 2 Iteration 3Iteration 3 Iteration 4Iteration 4

Test Suite 2Test Suite 2 Test Suite 3Test Suite 3 Test Suite 4Test Suite 4

Iteration 1Iteration 1

Au

tom

ate

d T

est

sA

uto

mate

d T

est

s

Page 7: SEG4910 –  Projet génie logiciel en fin d ’ études /  Software Engineering  Capstone  Project

Testing in Umple

Testing is automated using ant scripts, junit and other test scriptsSee ant file:

http://code.google.com/p/umple/source/browse/trunk/build/_template.xml

Junit instructions are at the end

Some tests: http://code.google.com/p/umple/source/browse/trunk/cruise.umple/test/cruise/umple/UmpleConsoleMainTest.java

Report: http://qa.umple.org

7