0% found this document useful (0 votes)
31 views34 pages

ISE Lecture 12

The document discusses the layered technology approach to software engineering including quality focus, process, methods, tools. It describes different software development approaches and the importance of software process which involves planning, modeling, construction, deployment and evolution activities.

Uploaded by

M Fayez Khan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
31 views34 pages

ISE Lecture 12

The document discusses the layered technology approach to software engineering including quality focus, process, methods, tools. It describes different software development approaches and the importance of software process which involves planning, modeling, construction, deployment and evolution activities.

Uploaded by

M Fayez Khan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 34

Introduction To

Software Engineering
LECTURER: SYED HASNAIN ABBAS BUKHARI
Software Engineering Layers
Software Engineering Layers (Layered Technology)

tools
methods
process
a quality focus

S y e d   H a s n a i n   A b b a s   B u k h a r i  
Software Engineering Layers

q Quality  Focus    
q Bedrock  of  SE    

q Process:  
q A  structured  set  of  ac7vi7es  required  to  develop  a  so<ware  system  

q Methods:      
q Collec7on  of  techniques  applied  across  so<ware  development    and  unified  
by  a  philosophical  approach  
q Technical  “how  to”  
 e.g.  Design  review,  code  review,  tes7ng    

q Tools:    
q Instrument  or  automated  systems  to  accomplish  a  technique  

S y e d   H a s n a i n   A b b a s   B u k h a r i  
Ad hoc Software Development

q Developing  so:ware  without  planning  for  each  phase  

q Without  specifying  tasks,  deliverables,  or  7me  constraints.    

q Relies  en>rely  on  the  skills  and  experience  of  the  

individuals  performing  the  work.    

q The  so:ware  process  may  change  as  work  progresses.    

S y e d   H a s n a i n   A b b a s   B u k h a r i  
Software Process
What is Software Process ?

q Ac7vi7es  and  results  that  produce  a  so<ware  product  

q A  framework  for  the  ac7vi7es,  ac7ons,  and  tasks  that  are  required  to  build  
high-­‐quality  so<ware.    

q A  generic  process  for  so<ware  engineering  defines  five  framework  


ac7vi7es  
q Communica7on  
q   Planning  
q Modeling    
q Construc7on  
q Deployment  
q So<ware  evolu7on  

S y e d   H a s n a i n   A b b a s   B u k h a r i  
Software Process
Model
Software Process Model

q A  structured  set  of  ac7vi7es  required  to  develop  a  


so<ware  system.  

q A  so<ware  process  model  is  an  abstract  representa7on  of  


a  process.  

q It  presents  a  descrip7on  of  a  process  from  some  par7cular  


perspec7ve.    
S y e d   H a s n a i n   A b b a s   B u k h a r i  
Software Process Model

q What:  Go  through  a  series  of  predictable  steps-­‐-­‐-­‐  a  road  map  that  helps  

you  create  a  7mely,  high-­‐quality  results.    

q Who:  So<ware  engineers  and  their  managers,  clients  also.  People  

adapt  the  process  to  their  needs  and  follow  it.    

q Why:  Provides  stability,  control,  and  organiza7on  to  an  ac7vity  that  can  

if  le<  uncontrolled,  become  quite  chao7c.    

q What  Work  products:  Programs,  documents,  and  data    

S y e d   H a s n a i n   A b b a s   B u k h a r i  
Software Process Model

q What  are  the  steps:  The  process  you  adopt  depends  on  the  so:ware  that  
you  are  building.    

q One  process  might  be  good  for  aircra<  avionic  system,  while  an  
en7rely  different  process  would  be  used  for  website  crea7on.      

q How  to  ensure  right:  A  number  of  so:ware  process  assessment  


mechanisms  that  enable  us  to  determine  the  maturity  of  the  so:ware  process.    

q However,  the  quality,  7meliness  and  long-­‐term  viability  of  the  


so<ware  are  the  best  indicators  of  the  efficacy  of  the  process  you  use.  

S y e d   H a s n a i n   A b b a s   B u k h a r i  
Process Flow

S y e d   H a s n a i n   A b b a s   B u k h a r i  
Process Flow

q Linear  process  flow  executes  each  of  the  five  ac>vi>es  in  

sequence.    

q An  itera>ve  process  flow  repeats  one  or  more  of  the  ac>vi>es  

before  proceeding  to  the  next.  

S y e d   H a s n a i n   A b b a s   B u k h a r i  
Process Flow

Evolu>onary  Process  Flow  

S y e d   H a s n a i n   A b b a s   B u k h a r i  
Process Flow

q An  evolu>onary  process  flow  executes  the  ac>vi>es  in  a  


circular  manner.  

q Each  circuit  leads  to  a  more  complete  version  of  the  


so:ware.    

S y e d   H a s n a i n   A b b a s   B u k h a r i  
Traditional Waterfall
Model
Waterfall Model Process Phases

Gather  Requirements  

Specifica7ons  

Design   Tes7ng  

Implementa7on  

Integra7on  

Product  

S y e d   H a s n a i n   A b b a s   B u k h a r i  
Gather Requirements

q Figure  out  what  this  thing  is  supposed  to  do    

q A  raw  list  of  features    

q WriSen  down  .  .  .    

q Usually  a  good  idea  to  talk  to  users,  clients,  or  customers!    

q But  note,  they  don’t  always  know  what  they  want    

q Purpose:    

q Make  sure  we  don’t  build  the  wrong  thing    

q Gather  informa7on  for  planning    

S y e d   H a s n a i n   A b b a s   B u k h a r i  
Waterfall Model Process Phases

Gather  Requirements  

Specifica7ons  

Design   Tes7ng  

Implementa7on  

Integra7on  

Product  

S y e d   H a s n a i n   A b b a s   B u k h a r i  
Specification

q A  wriOen  document    

q A  wriOen  descrip>on  of  what  the  system  does    


q In  all  circumstances    

q For  all  inputs    

q In  each  possible  state    

q It  covers  all  situa>ons,  much  more  comprehensive  than  

requirements    
S y e d   H a s n a i n   A b b a s   B u k h a r i  
Waterfall Model Process Phases

Gather  Requirements  

Specifica7ons  

Design   Tes7ng  

Implementa7on  

Integra7on  

Product  

S y e d   H a s n a i n   A b b a s   B u k h a r i  
Design

q The  system  architecture    

q Decompose  system  into  modules    

q Specify  interfaces  between  modules    

q Much  more  of  how  the  system  works,  rather  than  what  it  

does    
S y e d   H a s n a i n   A b b a s   B u k h a r i  
Waterfall Model Process Phases

Gather  Requirements  

Specifica7ons  

Design   Tes7ng  

Implementa7on  

Integra7on  

Product  

S y e d   H a s n a i n   A b b a s   B u k h a r i  
Implementation

q Code  up  the  design    

q First,  make  a  plan    


q The  order  in  which  things  will  be  done    

q Usually  by  priority    

q Also  for  testability    

q Test  each  module  

S y e d   H a s n a i n   A b b a s   B u k h a r i  
Waterfall Model Process Phases

Gather  Requirements  

Specifica7ons  

Design   Tes7ng  

Implementa7on  

Integra7on  

Product  

S y e d   H a s n a i n   A b b a s   B u k h a r i  
Integration

q Put  the  pieces  together    

q A  major  QA  effort  at  this  point  is  to  test  the  en7re  
system  

S y e d   H a s n a i n   A b b a s   B u k h a r i  
Waterfall Model Process Phases

Gather  Requirements  

Specifica7ons  

Design   Tes7ng  

Implementa7on  

Integra7on  

Product  

S y e d   H a s n a i n   A b b a s   B u k h a r i  
Product

q Deployment  

q Maintenance  

S y e d   H a s n a i n   A b b a s   B u k h a r i  
A Software Process : Waterfall Model

q Each  stage  leads  on  to  the  next  

q No  itera>on  or  feedback  between  stages    

q There  is  tes>ng  a:er  each  phase  

q Verify  the  requirements,  the  spec,  the  design  

q Not  just  the  coding  and  the  integra7on    

S y e d   H a s n a i n   A b b a s   B u k h a r i  
Waterfall Model Process Phases

Gather  Requirements  

Specifica7ons  

Design   Tes7ng  

Implementa7on  

Integra7on  

Product  

S y e d   H a s n a i n   A b b a s   B u k h a r i  
Risks With The Waterfall Model

q The  major  risks  are:    


q Relies  heavily  on  being  able  to  accurately  assess  requirements  at  the  
start    
q LiSle  feed  back  from  users  un7l  very  late    
q Unless  they  understand  specifica7on  documents    

q Problems  in  the  specifica7on  may  be  found  very  late  

q Whole  process  can  take  along  7me  before  the  first  working  version  is  
seen  
q Sequen7al  
q The  programmers  have  nothing  to  do  un7l  the  design  is  ready    

S y e d   H a s n a i n   A b b a s   B u k h a r i  
Risks With The Waterfall Model

q The  major  risks  are:  


q Change  is  ubiquitous    
q Occurs  even  during  so<ware  development  

q Real  projects  rarely  follow  the  sequen>al  flow  that  the  model  proposes.    

! ! !— Pressman, SE, p. 26!

q It  is  o:en  difficult  for  the  customer  to  state  all  requirements  explicitly.    

! ! !— Pressman, SE, p. 26!

S y e d   H a s n a i n   A b b a s   B u k h a r i  
Quiz # 04

q Quiz  will  be  from  lecture  10,  11  &  12  

S y e d   H a s n a i n   A b b a s   B u k h a r i  

You might also like