• No results found

The So5ware Development Process (SDLC)

N/A
N/A
Protected

Academic year: 2021

Share "The So5ware Development Process (SDLC)"

Copied!
51
0
0

Loading.... (view fulltext now)

Full text

(1)

1  

Hans-­‐Pe(er  Halvorsen,  M.Sc.  

The  So5ware  

Development  

Process  

(SDLC)  

O.  W

idde

r.  (2013).  

ge

ek

&pok

e

.  A

vai lab le :   h( p: // ge ek -­‐an d-­‐ po ke .c om  

(2)

IT  System  

(3)

Requirements  

Analysis  

Design

 

ImplementaWon

 

TesWng

 

Maintenance

 

Planning

 

The  So5ware    

Development    

Lifecycle  

(

SDLC

)  

(4)
(5)
(6)

The  Development  Process  

Design  

ImplementaWon  

TesWng  

Requirements  

Deployment  

In  this  case  the  overall  Requirements   are  given  by  the  Teacher  in  the  

Assignment.  

The  details  are  wri(en  by  you!  

The  Development  Process  involves  different  phases,  e.g.:   The  Requirements  may  be  

given  by  the  Customer  

When  you  are  finished,  you     deploy  and  test  the  soluWon   on  the  Customer  Site  

Make  sure  everything   work  as  expected  

The  Design  phase  is  important,  but  make  sure   you  have  Wme  le5  for  all  the  other  tasks  as   well)  

Are  the  Design  wrong?  Go   back  and  correct  it!  

Errors?  Improve  your  code  and   fix  the  bugs  

(7)

Requirements  

Design  

ImplementaWon  

TesWng  

Deployment/  

Maintenance  

System  TesWng  

FuncWonality  Requirements  

IniWal  User  Interface  

Technology  Plaaorm  SelecWon   Technical  Architecture   Project  Plan  

Detailed  SpecificaWons  

Finalize  User  Interface   ApplicaWon  Architecure  

System  Interface   Design  

Test  Plans  

Unit  TesWng   IntegraWon  with  exisWng  Apps  

ApplicaWon  Code  Development  

System  Interface  Development   Acceptance  

TesWng   InstallaWon  

RegressionTesWng   IntegraWon  TesWng  

Deployment  

Support  

(8)

O.  W

idde

r.  (2013).  

ge

ek

&pok

e

.  A

vai lab le :   h( p: // ge ek -­‐an d-­‐ po ke .c om  

(9)

So5ware  Releases  

9  

Alpha

 Release  

Beta

 Releases  

RC

 (Release  Candidate)  

RTM

 (Release  To  Manufacturing)  

Note!  other  terms  are  also  used   Start  

(10)

So5ware  Releases  

Before  the  so5ware  is  released  

Alpha

 Release(s)  (Internal  release,  not  public)  

Beta

 Release(s)  

(“Developer  Preview”,  “Consumer  

Preview”)

 

RC

 -­‐  Release  Candidate(s)  (“Release  Preview”)  

RTM

 –  Release  To  Manufactoring  

Maintenance  (a5er  the  so5ware  is  released)  

Patches

 (small  fixes)  

SP

 -­‐  Service  Packs  (lots  of  small  fixes  and  pathes  

bundle  together)

,  SP1,  SP2,  R1,  R2,  ..  

…  

(11)

Teams  and  Roles  

Customer/Stakeholders  

Project  Manager  

So5ware  Architect  

So5ware  Designer  

Developer  

Tester  

etc.  

11  

So5ware  Designer   Programmer  

So5ware  Tester  

Project  Manager   So5ware  Architect  

Collabora?on!  

(12)
(13)

So5ware  Tester  

System  Engineer  

Project  Manager  

Programmer  

So5ware  Team  

So5ware  Architect   UX  Designer  

Stakeholders  

A  System  Engineer  is  a  general  person  that  could  be  a  Programmer,  Architect,  Designer,  Tester  in  different  phases  in   the  project,  or  he  could  be  a  tester  in  one  project  and  a  programmer  in  another  project  –  all  in  one  person.  That  is   usually  the  case  in  small  companies,  while  in  larger  companies  these  roles  (designer,  tester,  programmer)  could  be  a   full-­‐Wme  job.  

(14)

Project  Planning  and  Management  

B.  Lund.  (2013).  Lunch.  Available:  h(p://www.lunchstriper.no,  h(p://www.dagbladet.no/tegneserie/lunch/  

Project  Planning  Tools:  

GanH  Chart

,  Backlog,  Task  Board,  

Burn  Down  Chart,  etc.      

(15)

15  

Finish   Start   Project  

Management  

Documenta?on   (Report,  etc.)   Working  with  

Project  Tasks  

Important:  Work  with  these  ac?vi?es  in  parallel!!!  

(16)

Brainstorming/Kick  Off  

A  Project  should  always  start  with  a  Brainstorming  

• 

Involve

 all  in  the  group  

• 

Discuss  what  you  are  going  to  do  in  the  project  

• 

How  are  you  going  to  solve  the  project?  

(17)

Exercise  –  Brainstorming  

Have  a  short  brainstorming  within  the  team  

Who  are  going  to  solve  the  different  parts  

What  kind  of  Frameworks  are  you  going  to  use  

What  kind  of  development  tools  shall  you  use  

Etc.  

Write  a  short  note  and  and  (2-­‐3  pages)  

(18)

Deadlines  

As  a  so5ware  developer  you  need  to  deal  with  lots  of  deadlines  during  the  so5ware  project!  

(19)

So5ware  Phases  

19  

Hans-­‐Pe(er  Halvorsen,  M.Sc.   Requirements  

Design  

ImplementaWon  

TesWng   Deployment  

(20)

So5ware  Development  Process    

–  

Requirements  &  Design  

The  Requirements  is  normally  given  by  the  

Customer  

SRS  –  So5ware  Requirements  SpecificaWon  

(21)

So5ware  Requirements  &  Design  

Requirements  (WHAT):  

WHAT

 the  system  should  do    

Describe  what  the  system  should  do  with  Words  and  

Figures,etc.  

SRS

 –  So5ware  Requirements  SpecificaWon  

SoZware  Design  (HOW):  

HOW

 it  should  do  it  

Examples:  GUI  Design,  UML,  ER  diagram,  CAD,  etc.  

SDD

 –  So5ware  Design  Document  

Many  dont  separate  SRS  and  SDD  documents,  but  include  everything  in  a  

Requirements  document.  

(22)

So5ware  Development  Process  -­‐  

Design  

How  the  So5ware  will  work  

Technical  Design  (Plaaorm,  Architecture,  

etc.)  

(23)

So5ware  Development  Process  

23  

Design  

Implementa?on  

Make  sure  to  have  the  Design  ready  before  

you  start  the  ImplementaWon  (Coding)  

Flow  Charts,  UML,  Database  Modelling,  etc.  

Create  Detailed  Requirements  

GUI/HMI  –  Start  by  designing  your  GUI  on  the  

“paper”  

Plan  what  you  are  going  to  do  

Requirements  

(24)

So5ware  Development  Process  -­‐  

Tes?ng  

(25)

So5ware  Development  Process  -­‐  

Tes?ng  

25  

Always  test  your  applicaWon!  

• 

Test  it  yourself  

• 

Test  it  on  other  computers  and  environments  

• 

Make  sure  others  test  your  applicaWon  

(26)

So5ware  Development  Process  -­‐  Deployment  

So5ware  deployment  is  all  of  the  acWviWes  that  

make  a  so5ware  system  available  for  use.  

Make  sure  the  So5ware  is  well  tested  

(27)

So5ware  Development  

Methods/Processes  

27  

How  we  approach  the  different  phases  in  so5ware  development  (Requirements,  

Design,  ImplementaWon,  TesWng,  Deployment)  differ  depending  on  what  kind  of  

So5ware  Development  method  we  choose.    

 

A  short  overview  of  the  most  used/known  methods  are  given  on  the  next  slides.  

(28)

So5ware  Development  Methods  

Waterfall  model  

Spiral  model  

V  model  

IteraWve  and  Incremental  development  

Rapid  applicaWon  development  (RAD)  

Test  Driven  Development  (TDD)  

Agile  development  

eXtreme  Programming  (XP)  

Scrum

 (the  most  popular  Agile  method)  

Lean  so5ware  development  

(29)
(30)

So5ware  Development  Methods  

Tradi?onal  Plan-­‐driven  

Methods  

Agile  Methods  

Waterfall   Method  

V-­‐Model   Scrum  

eXtreme   Programming  

(XP)  

Lean  So5ware  

Development   Development  (FDD)  Feature  Driven  

(31)

So5ware  Development  Methods  

31  

Tradi?onal  Plan-­‐driven  Methods   Agile  Methods  

Waterfall   Method  

V-­‐Model  

Scrum   eXtreme  

Programming   (XP)  

Lean  So5ware   Development  

Feature  Driven   Development  (FDD)  

Even  if  we  use  different  so5ware  development  methods,  we  deal  with  the  same  phases  like   Requirements,  Design,  Coding,  TesWng  and  Deployment  –  but  they  may  have  different  

priority  and  may  be  done  in  different  manners  and  order,  etc.  

(32)

Plan-­‐driven  vs.  Agile  

32  

Requirements specification Requirements engineering Design and implementation Requirements change requests Plan-based development Agile development Requirements

engineering implementationDesign and

(33)

Waterfall  method  

33  

O.  W

idde

r.  (2013).  

ge

ek

&pok

e

.  A

vai lab le :   h( p: // ge ek -­‐an d-­‐ po ke .c om  

SequenWal  process  

The  Phases  Requirements,  Design,  

ImplementaWon,  TesWng,  

Deployment  and  Maintenance  

need  to  be  followed  in  that  order.  

In  a  strict  Waterfall  model,  a5er  

each  phase  is  finished,  it  proceeds  

to  the  next  one.    

Cons:  

impossible  for  any  non-­‐trivial  

project  to  finish  a  phase  of  a  

so5ware  product's  lifecycle  

perfectly  before  moving  to  the  

next  phases  

For  example,  clients  may  not  

know  exactly  what  requirements  

they  need  before  reviewing  a  

working  prototype  and  

(34)

The  Waterfall  Model  

Requirement  

Design

 

ImplementaWon

 

TesWng

 

Maintenance

 

Deployment  

So5ware  Finished   Planning  to  create  a  new  So5ware  

A  SequenWal  Process  

You  cannot  go  to  next  phase  before  

finsihed  the  previous  phase  

Finished  

Finished  

Finished  

Finished  

Not  Finished?   -­‐Go  back  and  Fixit!  

Not  Finished?   -­‐Go  back  and  Fixit!  

Not  Finished?   -­‐Go  back  and  Fixit!  

Not  Finished?   -­‐Go  back  and  Fixit!  

(35)

V-­‐model  

(36)

V-­‐model  

An  extension  of  the  waterfall  model  

More  flexible  

“The  V-­‐Model  reflects  a  project  management  

view  of  so5ware  development  and  fits  the  

needs  of  project  managers,  accountants  and  

lawyers  rather  than  so5ware  developers  or  

users.”  

(37)

Spiral  model  

(38)

Spiral  model  

Some  key  aspecta  from  Waterfall  and  RAD  

IteraWve  risk  analysis  

(39)

39  

Agile  So5ware  Development  

(40)
(41)

Agile  

41  

A  group  of  so5ware  development  methods  

IteraWve  approach  

Self-­‐organizing  and  cross-­‐funcWonal  Teams  

Examples:  

Scrum  

(42)

Scrum  

Daily  Scrum  MeeWngs  

(43)

Scrum  

A  Framework  for  So5ware  Development  

Agile  So5ware  Development  method  

Simple  to  understand  

Flexible  

Exremely  difficult  to  master!  

Self-­‐organizing  Teams  (3-­‐9  persons)  

Scrum  Team:    

Product  Owner  

Scrum  Master  

Development  Team  

(44)

eXreme  Programming  (XP)  

An  Agile  method  

Pair  Programming  

Code  Reviews  

Unit  TesWng  

(45)

eXreme  Programming  (XP)  

(46)
(47)

Exercise    

–  So5ware  Development  Methods  

Make  a  list  with  Pros  and  Cons  using  the  

different  methods  

Use  about  20  minutes  

(48)

“There  are  no  right  or  wrong  so5ware  

processes”  

Ian  Sommerville  

It  is  be(er  to  use  a  so5ware  

development  metod  than  using  none

 

But  someone  may  be  be(er  than  

other  in  a  given  situaWon

 

(49)

Summary  

49  

(50)

References  

I.  Sommerville,  

So-ware  Engineering

:  Pearson,  2010.      

Wikipedia.  (2013).  

Scrum  Development

.  Available:  

h(p://en.wikipedia.org/wiki/Scrum_(development)  

Wikipedia.  (2013).  

Agile  So-ware  Development

.  Available:  

h(p://en.wikipedia.org/wiki/Agile_so5ware_development

 

CoreTrek.  (2013).  

Scrum  i  et  nø;eskall

.  Available:  

h(p://www.coretrek.no/scrum-­‐i-­‐et-­‐noe(eskall/category642.html

 

S.  Adams.  

Dilbert

.  Available:  

h(p://dilbert.com  

O.  Widder.  (2013).  

geek&poke

.  Available:  

h(p://geek-­‐and-­‐poke.com

 

B.  Lund.  (2013).  

Lunch

.  Available:  

h(p://www.lunchstriper.no,  h(p://www.dagbladet.no/tegneserie/

(51)

Hans-­‐PeHer  Halvorsen,  M.Sc.

 

Telemark  University  College

 

Faculty  of  Technology

 

Department  of  Electrical  Engineering,  Informa?on  Technology  and  Cyberne?cs  

 

 

E-­‐mail:  

[email protected]

 

Blog:  

hHp://home.hit.no/~hansha/

 

 

References

Related documents

Goal & Strategies CS + ES (Quality) The House of TQM~1990 ’ s~ Intrinsic Technology Vehicles Techniques Concepts Quality The House of TQC~1970 ’ s Intrinsic Technology

En este artículo, se presenta un análisis de las movilidades en el sureste de la provincia de Santiago del Estero (Argentina) que se ha caracterizado históricamente por la

Some national programs and initiatives at Acadia National Park in Maine, Rocky Mountain National Park in Colorado, and Sequoia and Kings Canyon National Parks in California serve

 Contingent Aircraft Crop Dusting Bodily Injury and Physical Injury to Property.  Contingent Aircraft Crop

*Note: This will only be applicable if therapist re-assigned homework from previous session to be completed in this session (e.g., if they did not complete impact statement

Analele Universit ăţ ii “Constantin Brâncu ş i” din Târgu Jiu, Seria Economie, Nr.. Necesitatea de a utiliza software- ul în modelarea

If policymakers in the Scottish context continue to look largely to the formal education system for Gaelic maintenance objectives in the future, they should seek to confront

Though, Roberts (2009), revealed that medical staff are not aware of their obligation to autopsies and the processes involved in getting consent from families of deceased miners