You are on page 1of 21

Requirements

 Engineering    
 
Lecture  2:  
So5ware  Requirements  and  
Requirement  Types    

Requirements  Engineering  Course  


Outline  

1.  (DefiniEon  of)  Requirement  


2.  Requirement  Types  
3.  Summary  
 

UAZ  -­‐  Requirements  Engineering  Course   2


Outline  

1.  (DefiniEon  of)  Requirement  


2.  Requirement  Types  
3.  Summary  
 

UAZ  -­‐  Requirements  Engineering  Course   3


What  is  a   Requirement  
requirement?  

-  A  property  that  a  product  must  have  to  provide  


value  to  a  stakeholder.    
-  A  specificaEon  of  what  should  be  
implemented.  
-  Anything  that  drives  design  choices.  
-  …  

UAZ  -­‐  Requirements  Engineering  Course   4


This  definiEon  encompasses  
both  the  user's  view  and  the  
developer's  view  
Requirement  
The  IEEE  Standard  Glossary  of  So8ware  Engineering  
Terminology  (990)  defines  a  requirement  as:  
-  A  condiEon  or  capability  needed  by  a  user  to  solve  a  
problem  or  achieve  an  objecEve.  
-  A  condiEon  or  capability  that  must  be  met  or  
possessed  by  a  system  or  system  component  to  
saEsfy  a  contract,  standard,  specificaEon,  or  other  
formally  imposed  document.  
-  A  documented  representaEon  of  a  condiEon  or  
capability  as  in  1  or  2.  

UAZ  -­‐  Requirements  Engineering  Course   5


Requirement  

A  requirement  must  be  documented  …  


 

…  its  documentaEon  may  range  from  a  high-­‐


level  abstract  statement  of  a  service  or  of  a  
system  capability  to  a  detailed  mathemaEcal  
funcEonal  specificaEon.  

UAZ  -­‐  Requirements  Engineering  Course   6


What  if  it  is  not  
documented?  
Requirement  

UAZ  -­‐  Requirements  Engineering  Course   7


Requirement  

The  following  definiEon  acknowledges  the  


diversity  of  requirements  types  (Sommerville  and  
Sawyer  1997):  
 
 

“Requirements  are...  a  specifica2on  of  what  should  be  


implemented.  They  are  descrip2ons  of  how  the  system  
should  behave,  or  of  a  system  property  or  a4ribute.  
They  may  be  a  constraint  on  the  development  process  
of  the  system.”  
Examples?  
UAZ  -­‐  Requirements  Engineering  Course   8
Outline  

1.  (DefiniEon  of)  Requirement  


2.  Requirement  Types  
3.  Summary  
 

UAZ  -­‐  Requirements  Engineering  Course   9


Requirements  Types  
Business   Business  
Requirements   Rules  

Vision  and  Scope  Document  

User   Quality  
Requirements   A^ributes  

User  Requirements  Document  


External  
Interfaces  
System   FuncEonal  
Requirements   Requirements  
Constraints  
So5ware  Requirements  
SpecificaEon  
*  From  K.E.  Wiegers.  2013.  So=ware  Requirements  (3  ed.).  Microso5  Press,  
Redmond,  WA,  USA.  
UAZ  -­‐  Requirements  Engineering  Course   10
Requirements  Types  

UAZ  -­‐  Requirements  Engineering  Course   11


Examples?   Requirements  Types  
a)  Business  Requirements    
-  Represent  high-­‐level  objecEves  of  the  organizaEon  
or  customer  who  requests  the  system.    
-  Business  requirements  describe  why  the  
organizaEon  is  implemenEng  the  system  (i.e.  the  
objecEves  the  organizaEon  hopes  to  achieve).  
-  It  is  good  to  record  the  business  requirements  in  a  
vision  and  scope  document,  someEmes  called  a  
project  charter  or  a  market  requirements  
document.    
UAZ  -­‐  Requirements  Engineering  Course   12
Requirements  Types  
Examples?  

b)  User  Requirements    
-  Describe  tasks  or  goals  that  specific  classes  of  users  
must  be  able  to  perform  with  the  product.  
-  Describe  what  the  user  will  be  able  to  do  with  the  
system.    
-  Valuable  ways  to  represent  user  requirements  include  
use  cases,  scenario  descripEons,  or  user  stories.  

UAZ  -­‐  Requirements  Engineering  Course   13


Requirements  Types  
Examples?  

c)  FuncDonal  Requirements    
-  Specify  the  so5ware  funcEonality  that  the  
developers  must  build  into  the  product  to  enable  
users  to  accomplish  their  tasks,  thereby  saEsfying  
the  business  requirements.    
-  These  are  the  tradiEonal  "shall"  statements.    
-  They  are  also  called  behavioral  requirements.    
-  They  are  documented  in  the  so5ware  requirements  
specificaEon  (SRS).  
 
UAZ  -­‐  Requirements  Engineering  Course   14
Requirements  Types  
Examples?  

d)  System  Requirements    
-  Describe  the  top-­‐level  requirements  for  a  product  
that  contains  mulEple  subsystems  
-  A  system  can  be  all  so5ware  or  it  can  include  both  
so5ware  and  hardware  subsystems.    
 

UAZ  -­‐  Requirements  Engineering  Course   15


Requirements  Types  
Examples?  

e)  Business  Rules  
-  Include  corporate  policies,  government  regulaEons,  
industry  standards,  accounEng  pracEces,  and  
computaEonal  algorithms.      
-  In  general,  they  exist  outside  the  boundaries  of  any  
specific  so5ware  system.    
-  Restrict  who  can  perform  certain  use  cases  or  they  
dictate  that  the  system  must  contain  funcEonality  to  
comply  with  the  perEnent  rules.  
UAZ  -­‐  Requirements  Engineering  Course   16
Requirements  Types  
Examples?  

e)  Quality  AGributes  
-  Augment  the  descripEon  of  the  product's  
funcEonality  by  describing  the  product's  
characterisEcs  in  various  dimensions  that  are  
important  either  to  users  or  to  developers.    
-  These  characterisEcs  include  a^ribu^es  such  as  
usability,  portability,  integrity,  efficiency,  or  
robustness.    

UAZ  -­‐  Requirements  Engineering  Course   17


Requirements  Types  
Examples?  

f)  Constraints  
-  Impose  restricEons  on  the  choices  available  to  the  
developer  for  design  and  construcEon  of  the  
product.    

UAZ  -­‐  Requirements  Engineering  Course   18


Outline  

1.  (DefiniEon  of)  Requirement  


2.  Requirement  Types  
3.  Summary  
 

UAZ  -­‐  Requirements  Engineering  Course   19


Summary  

1. What  is  a  requirement?  


2. Which  are  the  different  types  of  
requirements  we  will  study  in  
this  course?    

UAZ  -­‐  Requirements  Engineering  Course   20


QuesEons?  
Comments?  

UAZ  -­‐  Requirements  Engineering  Course   21  

You might also like