0% found this document useful (0 votes)
24 views22 pages

ISE-Lecture 03

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)
24 views22 pages

ISE-Lecture 03

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

Introduction To

Software Engineering
LECTURER: SYED HASNAIN ABBAS BUKHARI
So#ware  Engineering:  A  Problem  Solving  Ac9vity  

q For  problem  solving  we  use        

q Techniques:      

q Formal  procedures  for  producing  results  using  some  well-­‐defined  nota9on  

q Methodologies:      

q Collec9on  of  techniques  applied  across  soCware  development    and  unified  

by  a  philosophical  approach  

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  
Industry  Progress  

S y e d   H a s n a i n   A b b a s   B u k h a r i  
Software Size Matters ?
Ignorance of size

q Ignorance  of  size  leads  to:  

q How  long  a  project  will  take  to  complete  

q How  much  will  it  cost  

q How  many  people  will  be  needed  

q How  many  defects  can  we  find  during  tes9ng  

S y e d   H a s n a i n   A b b a s   B u k h a r i  
Software: Axis of variability

q Size  

q How  humans  interact  with  it  

q Requirements  stability  

q Need  for  reliability  

q Need  for  security  

q Portability  

q Cost    

S y e d   H a s n a i n   A b b a s   B u k h a r i  
Software: Axis of variability (example)

q Microso#  Word  

q Size:  large  
 
q Interac9veness:  high  
 
q Requirements:  frequent  new  features    

q Reliability:  moderate  
 
q Security:  low  
 
q Portability:  high  
 
q Cost:  high    

S y e d   H a s n a i n   A b b a s   B u k h a r i  
Software: Axis of variability (example)

q Space  ShuGle  

q Size:  large  
 
q Interac9veness:  low  

q Requirements:  stable  

q Reliability:  very  high  

q Security:  low  

q Cost:  high    
S y e d   H a s n a i n   A b b a s   B u k h a r i  
Sample Sizes

q How  many  lines  of  code  in...  OS  X    

q 86  million    

q Windows  XP  

q   40  million    

q Eclipse    

q 10  million  

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 Myths
Software Engineering Myths: Management

q “We  have  books  with  rules.  Isn’t  that  everything  my  people  need?”    
q Which  book  do  you  think  is  perfect  for  you?    

q “If  we  fall  behind,  we  will  add  more  programmers”    


q “Adding  people  to  a  late  soCware  project,  makes  it  later”  
 –  Fred  Brooks  (The  Mythical  Man  Month)    

q   “We  can  outsource  it”    


q If  you  do  not  know  how  to  manage  and  control  it  internally,  you  will  
struggle  to  do  this  with  outsiders    

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 Myths: Customer

q “We  can  refine  the  requirements  later”    

q A  recipe  for  disaster.    

q “The  good  thing  about  so#ware  is  that  we  can  change  it  

later  easily”    

q As  9me  passes,  cost  of  changes  grows  rapidly    

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 Myths: Practitioner

q “Let’s  write  the  code,  so  we’ll  be  done  faster”    


q “The  sooner  you  begin  wri9ng  code,  the  longer  it’ll  take  to  finish”    
q 60-­‐80%  of  effort  is  expended  aCer  first  delivery    

q “UnTl  I  finish  it,  I  cannot  assess  its  quality”    


q SoCware  and  design  reviews  are  more  effec9ve  than  tes9ng  (find  5  
9mes  more  bugs)    

q “There  is  no  Tme  for  so#ware  engineering”    


q But  is  there  9me  to  redo  the  soCware?    

S y e d   H a s n a i n   A b b a s   B u k h a r i  
The Cost Of Software Engineering
The cost of software engineering

q Depends  on:  

q The  process  used,  and  

q The  type  of  soCware  being  developed.    

q Roughly  60%  of  costs  are  development  costs,  40%  are  tesTng  costs.    

q For  custom  so#ware,  evoluTon  costs  o#en  exceed  development  

costs.    

S y e d   H a s n a i n   A b b a s   B u k h a r i  
Challenges In Software Engineering
q Coping  with  increasing  diversity  

 
 
q Demands  for  reduced  delivery  Tmes  

 
 
q Developing  trustworthy  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  
What are the best software engineering techniques
and methods?

q Different  techniques  are  appropriate  for  different  types  of  system.  


q For  example,  games  should  always  be  developed  using  a  series  of  prototypes  
q   Whereas  safety  cri9cal  control  systems  require  a  complete  and  analyzable  
specifica9on  to  be  developed.  

q You  can’t,  therefore,  say  that  one  method  is  beGer  than  another.    

q What  differences  has  the  web  made  to  so#ware  engineering?    


q The  web  has  led  to  the  availability  of  soCware  services  and  the  possibility  of  
developing  highly  distributed  service  based  systems  .    

S y e d   H a s n a i n   A b b a s   B u k h a r i  
Essential Attributes of
Software
EssenTal  AGributes  of  Good  So#ware  

q Maintainability:  
q SoCware  should  be  wri\en  in  such  a  way  so  that  it  can  evolve  to  meet  
the  changing  needs  of  customers.    
q This  is  a  cri9cal  a\ribute  because  soCware  change  is  an  inevitable  
requirement  of  a  changing  business  environment  

q Dependability  and  security:  


q SoCware  dependability  includes  a  range  of  characteris9cs  including  
reliability,  security  and  safety.  
q   Dependable  soCware  should  not  cause  physical  or  economic  damage  in  the  
event  of  system  failure.    
q Malicious  users  should  not  be  able  to  access  or  damage  the  system.  

S y e d   H a s n a i n   A b b a s   B u k h a r i  
EssenTal  AGributes  of  Good  So#ware  

q Acceptably:  
q SoCware  must  be  acceptable  to  the  type  of  users  for  which  it  is  
designed.    
q This  means  that  it  must  be  understandable,  usable  and  compa9ble  
with  other  systems  that  they  use.  

q Efficiency:  
q SoCware  should  not  make  wasteful  use  of  system  resources  such  as  
memory  and  processor  cycles.    
q Efficiency  therefore  includes  responsiveness,  processing  9me,  
memory  u9liza9on,  etc.  

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

q Quiz  will  be  from  Lecture  01,  Lecture  02  &  Lecture  03  

q Monday  24  September.  

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