The So5ware Development Process (SDLC)

December 31, 2016 | Author: Rosanna Lamb | Category: N/A
Share Embed Donate


Short Description

Download The So5ware Development Process (SDLC)...

Description

O.  Widder.  (2013).  geek&poke.  Available:  h(p://geek-­‐and-­‐poke.com  

h(p://home.hit.no/~hansha/?page=so5ware_development    

The  So5ware   Development   Process   (SDLC)   Hans-­‐Pe(er  Halvorsen,  M.Sc.  

1  

IT  System  

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

2  

Deployment  

Planning  

Maintenance   TesWng  

ImplementaWon  

The  So5ware     Development     Lifecycle   (SDLC)  

Design  

Requirements   Analysis  

4  

5  

The  Development  Process  

The  Development  Process  involves  different  phases,  e.g.:   The  Requirements  may  be   given  by  the  Customer  

Requirements  

Design  

In  this  case  the  overall  Requirements   are  given  by  the  Teacher  in  the   Assignment.   The  details  are  wri(en  by  you!  

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!  

ImplementaWon   Errors?  Improve  your  code  and   fix  the  bugs  

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

Make  sure  everything   work  as  expected  

Deployment   6  

FuncWonality  Requirements   IniWal  User  Interface   Planning   Technology  Plaaorm  SelecWon   InstallaWon  

Requirements  

Support  

Technical  Architecture   Project  Plan  

ApplicaWon  Architecure   Detailed  SpecificaWons  

Deployment/   Maintenance  

System  Interface   Design  

Design  

Deployment  

Finalize  User  Interface  

Acceptance   TesWng  

Test  Plans   ApplicaWon  Code  Development  

System  TesWng  

TesWng  

IntegraWon  TesWng  

ImplementaWon  

RegressionTesWng  

System  Interface  Development   Unit  TesWng   IntegraWon  with  exisWng  Apps  

8  

O.  Widder.  (2013).  geek&poke.  Available:  h(p://geek-­‐and-­‐poke.com  

So5ware  Releases   Start  

Alpha  Release   Beta  Releases   RC  (Release  Candidate)   RTM  (Release  To  Manufacturing)   Finished   Note!  other  terms  are  also  used  

9  

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,  ..   …   Start  Planning  next  Release  

10  

Teams  and  Roles   •  •  •  •  •  •  • 

Customer/Stakeholders  

Customer/Stakeholders   Project  Manager   So5ware  Architect   Collabora?on!   So5ware  Designer   So5ware  Architect   So5ware  Tester   Developer   Tester   Project  Manager   etc.   So5ware  Designer  

Programmer   11  

So5ware  Teams  

12  

So5ware  Team   Stakeholders   Project  Manager   So5ware  Tester  

UX  Designer   System  Engineer   Programmer   So5ware  Architect   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.  

Project  Planning  and  Management   Project  Planning  Tools:  GanH  Chart,  Backlog,  Task  Board,   Burn  Down  Chart,  etc.      

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

14  

How  to  work  in  the  project  period   Project   Management  

Working  with   Project  Tasks  

Documenta?on   (Report,  etc.)  

Start  

Finish  

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

15  

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?   •  etc.  

16  

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)   •  Use  about  30  minutes  

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

Proper  Project  Planning  and  Management  makes  it  easier  to  fulfill  these  deadlines  

18  

So5ware  Phases   Requirements  

Deployment  

TesWng  

Design  

ImplementaWon  

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

19  

So5ware  Development  Process     –  Requirements  &  Design   •  The  Requirements  is  normally  given  by  the   Customer   •  SRS  –  So5ware  Requirements  SpecificaWon   document    

20  

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.   In  pracWce,  requirements  and  design  are  inseparable.  

21  

So5ware  Development  Process  -­‐  Design   How  the  So5ware  will  work   •  Technical  Design  (Plaaorm,  Architecture,   etc.)   •  UX  Design  (User  eXperience,  GUI/HMI)  

22  

So5ware  Development  Process   Requirements   Design  

Plan  what  you  are  going  to  do   before  you  actually  do  it  

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”   23  

So5ware  Development  Process  -­‐  Tes?ng  

Planning  Tests  

Perform  Tests  

Document  Test   Results  

24  

So5ware  Development  Process  -­‐  Tes?ng   Always  test  your  applicaWon!   •  •  •  • 

Test  it  yourself   Test  it  on  other  computers  and  environments   Make  sure  others  test  your  applicaWon   Eat  Your  Own  Dog  Food  

25  

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   •  The  So5ware  should  be  easy  to  install  

26  

So5ware  Development   Methods/Processes   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.   Hans-­‐Pe(er  Halvorsen,  M.Sc.  

27  

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   •  etc.  

28  

29  

So5ware  Development  Methods   Tradi?onal  Plan-­‐driven   Methods  

Waterfall   Method  

V-­‐Model  

Agile  Methods   eXtreme   Programming   (XP)  

Lean  So5ware   Development   Spiral  model  

Scrum  

Feature  Driven   Development  (FDD)  

Test  Driven   Development  (TDD)  

30  

So5ware  Development  Methods   Tradi?onal  Plan-­‐driven  Methods  

Agile  Methods   eXtreme   Programming   (XP)  

Waterfall   Method  

Scrum   Feature  Driven   Development  (FDD)  

V-­‐Model   Spiral  model  

Lean  So5ware   Development  

Test  Driven   Development  (TDD)  

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.   31  

Plan-­‐driven  vs.  Agile   Plan-based development

Requirements engineering

Design and implementation

Requirements specification

Requirements change requests Agile development Requirements engineering

I.  Sommerville,  So-ware  Engineering:  Pearson,  2010.      

Design and implementation

32  

O.  Widder.  (2013).  geek&poke.  Available:  h(p://geek-­‐and-­‐poke.com  

Waterfall  method   •  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   commenWng  on  it  

33  

The  Waterfall  Model   Planning  to  create  a  new  So5ware  

Requirement   Not  Finished?   -­‐Go  back  and  Fixit!  

Finished  

A  SequenWal  Process   Design  

Not  Finished?   -­‐Go  back  and  Fixit!  

Finished  

ImplementaWon   Not  Finished?   -­‐Go  back  and  Fixit!  

You  cannot  go  to  next  phase  before   finsihed  the  previous  phase  

Finished  

TesWng   Not  Finished?   -­‐Go  back  and  Fixit!  

Finished  

Deployment  

Maintenance   So5ware  Finished  

V-­‐model  

35  

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.”   36  

Spiral  model  

37  

Spiral  model   •  Some  key  aspecta  from  Waterfall  and  RAD   •  IteraWve  risk  analysis   •  Suitable  for  large-­‐scale  complex  systems  

38  

Agile  So5ware  Development  

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

40  

Agile   •  A  group  of  so5ware  development  methods   •  IteraWve  approach   •  Self-­‐organizing  and  cross-­‐funcWonal  Teams   Examples:   •  Scrum   •  eXtreme  Programming  (XP)  

41  

Scrum   Daily  Scrum  MeeWngs  

Sprint  Review  

42  

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  

43  

eXreme  Programming  (XP)   •  •  •  •  • 

An  Agile  method   Pair  Programming   Code  Reviews   Unit  TesWng   Standup  MeeWngs  

44  

eXreme  Programming  (XP)  

45  

TDD  

46  

Exercise     –  So5ware  Development  Methods   •  Make  a  list  with  Pros  and  Cons  using  the   different  methods   •  Use  about  20  minutes   •  Brief  Summary  on  the  blackboard  

Finally…   “There  are  no  right  or  wrong  so5ware   processes”  Ian  Sommerville   But  someone  may  be  be(er  than   other  in  a  given  situaWon   It  is  be(er  to  use  a  so5ware   development  metod  than  using  none   48  

Summary  

Learn  from  your  previous  mistakes!  

49  

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/ lunch/  

50  

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/     51  

View more...

Comments

Copyright � 2017 SILO Inc.