62
Nguyễn Thị Minh Tuyền 1 Adapted from slides of Ian Sommerville Week 4: Requirements Engineering

Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Embed Size (px)

Citation preview

Page 1: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Nguyễn  Thị  Minh  Tuyền  

1 Adapted from slides of Ian Sommerville

Week 4: Requirements Engineering

Page 2: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Topics covered

1.   Func'onal  and  non-­‐func'onal  requirements  2.   Requirements  specifica'on  3.   Requirements  engineering  processes  4.   Requirements  elicita'on  and  analysis  5.   Requirements  valida'on  6.   Requirements  management  

2

Page 3: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

What is a requirement?

� It  may  be  � a  high-­‐level  abstract  statement  of  a  service  or  of  a  system  constraint,  or  

� a  detailed,  formal  defini>on  of  a  system  func>on.  � Requirements  may  serve  a  dual  func'on  

� May  be  the  basis  for  a  bid  for  a  contract  -­‐  therefore  must  be  open  to  interpreta>on;  

� May  be  the  basis  for  the  contract  itself  -­‐  therefore  must  be  defined  in  detail;  

� Both  these  statements  may  be  called  requirements.  

3

Page 4: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Types of requirement

� User  requirements  � Statements  in  natural  language  plus  diagrams  of  the  services  the  system  provides  and  its  opera>onal  constraints.    

� WriFen  for  customers.  

� System  requirements  � A  structured  document  seHng  out  detailed  descrip>ons  of  the  system’s  func>ons,  services  and  opera>onal  constraints.  

�   Defines  what  should  be  implemented  so  may  be  part  of  a  contract  between  client  and  contractor.  

4

Page 5: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

User and system requirements

1. The MHC-PMS shall generate monthly management reports showingthe cost of drugs prescribed by each clinic during that month.

1.1 On the last working day of each month, a summary of the drugsprescribed, their cost and the prescribing clinics shall be generated.1.2 The system shall automatically generate the report for printing after17.30 on the last working day of the month.1.3 A report shall be created for each clinic and shall list the individualdrug names, the total number of prescriptions, the number of dosesprescribed and the total cost of the prescribed drugs.1.4 If drugs are available in different dose units (e.g. 10mg, 20 mg, etc.)separate reports shall be created for each dose unit.1.5 Access to all cost reports shall be restricted to authorized users listedon a management access control list.

User requirement definition

System requirements specification

5

Page 6: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Readers of different types of requirements specification

Client managersSystem end-usersClient engineersContractor managersSystem architects

System end-usersClient engineersSystem architectsSoftware developers

Userrequirements

Systemrequirements

6

Page 7: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Topics covered

1.   Func'onal  and  non-­‐func'onal  requirements  2.   Requirements  specifica'on  3.   Requirements  engineering  processes  4.   Requirements  elicita'on  and  analysis  5.   Requirements  valida'on  6.   Requirements  management  

7

Page 8: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Functional and non-functional requirements

� Func'onal  requirements  � Statements  of  services  the  system  should  provide,  how  the  system  should  react  to  par>cular  inputs  and  how  the  system  should  behave  in  par>cular  situa>ons.  

� May  state  what  the  system  should  not  do.  � Non-­‐func'onal  requirements  

� Constraints  on  the  services  or  func>ons  offered  by  the  system  such  as  >ming  constraints,  constraints  on  the  development  process,  standards,  etc.  

� OOen  apply  to  the  system  as  a  whole  rather  than  individual  features  or  services.  

8

Page 9: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Functional requirements

� Describe  func'onality  or  system  services.  � Depend  on    

� the  type  of  soOware,    � expected  users  and    � the  type  of  system  where  the  soOware  is  used.  

� Func'onal  user  requirements  may  be  high-­‐level  statements  of  what  the  system  should  do.  

� Func'onal  system  requirements  should  describe  the  system  services  in  detail.  

9

Page 10: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Functional requirements for the MHC-PMS

� A  user  shall  be  able  to  search  the  appointments  lists  for  all  clinics.  

� The  system  shall  generate  each  day,  for  each  clinic,  a  list  of  pa'ents  who  are  expected  to  aMend  appointments  that  day.    

� Each  staff  member  using  the  system  shall  be  uniquely  iden'fied  by  his  or  her  8-­‐digit  employee  number.    

10

Page 11: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Requirements imprecision � Problems  arise  when  requirements  are  not  precisely  stated.  

� Ambiguous  requirements  may  be  interpreted  in  different  ways  by  developers  and  users.  

� Example:  Consider  the  term  ‘search’    � User  inten>on  –  search  for  a  pa>ent  name  across  all  appointments  in  all  clinics;  

� Developer  interpreta>on  –  search  for  a  pa>ent  name  in  an  individual  clinic.  User  chooses  clinic  then  search.  

11

Page 12: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Requirements completeness and consistency

� In  principle,  requirements  should  be  both  complete  and  consistent.  

� Complete  � They  should  include  descrip>ons  of  all  facili>es  required.  

� Consistent  � There  should  be  no  conflicts  or  contradic>ons  in  the  descrip>ons  of  the  system  facili>es.  

� In  prac'ce,  it  is  impossible  to  produce  a  complete  and  consistent  requirements  document.  

12

Page 13: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Non-functional requirements

� These  define  system  proper'es  (e.g.  reliability,  response  'me  and  storage  requirements)  and  constraints  (e.g.  I/O  device  capabili'es,  data  representa'ons  used  in  interfaces  with  other  systems).  

� Non-­‐func'onal  requirements  may  be  more  cri'cal  than  func'onal  requirements.    � If  these  are  not  met,  the  system  may  be  useless.  

13

Page 14: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Non-functional requirements implementation

� Non-­‐func'onal  requirements  may  affect  the  overall  architecture  of  a  system  rather  than  the  individual  components.    

� A  single  non-­‐func'onal  requirement,  such  as  a  security  requirement,  may  generate  a  number  of  related  func'onal  requirements  that  define  system  services  that  are  required.    

14

Page 15: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Non-functional classifications � Product  requirements  

� Requirements  which  specify  that  the  delivered  product  must  behave  in  a  par>cular  way  e.g.  execu>on  speed,  reliability,  etc.  

� Organisa'onal  requirements  � Requirements  which  are  a  consequence  of  organisa>onal  policies  and  procedures  e.g.  process  standards  used,  implementa>on  requirements,  etc.  

� External  requirements  � Requirements  which  arise  from  factors  which  are  external  to  the  system  and  its  development  process  e.g.  interoperability  requirements,  legisla>ve  requirements,  etc.  

15

Page 16: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Examples of non-functional requirements in the MHC-PMS

Product  requirement  The  MHC-­‐PMS  shall  be  available  to  all  clinics  during  normal  working  hours  (Mon–Fri,  0830–17.30).  Down>me  within  normal  working  hours  shall  not  exceed  five  seconds  in  any  one  day.    Organiza'onal  requirement  Users  of  the  MHC-­‐PMS  system  shall  authen>cate  themselves  using  their  health  authority  iden>ty  card.    External  requirement  The  system  shall  implement  pa>ent  privacy  provisions  as  set  out  in  HStan-­‐03-­‐2006-­‐priv.    

16

Page 17: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Goals and requirements

� Non-­‐func'onal  requirements  may  be  very  difficult  to  state  precisely  and  imprecise  requirements  may  be  difficult  to  verify.    

� Goal  � A  general  inten>on  of  the  user  such  as  ease  of  use.  

� Verifiable  non-­‐func'onal  requirement  � A  statement  using  some  measure  that  can  be  objec>vely  tested.  

� Goals  are  helpful  to  developers  as  they  convey  the  inten'ons  of  the  system  users.  

17

Page 18: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Usability requirements

� The  system  should  be  easy  to  use  by  medical  staff  and  should  be  organized  in  such  a  way  that  user  errors  are  minimized.  (Goal)  

� Medical  staff  shall  be  able  to  use  all  the  system  func'ons  a_er  four  hours  of  training.  A_er  this  training,  the  average  number  of  errors  made  by  experienced  users  shall  not  exceed  two  per  hour  of  system  use.  (Testable  non-­‐func'onal  requirement)  

18

Page 19: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Metrics for specifying non-functional requirements Property Measure Speed Processed transactions/second

User/event response time Screen refresh time

Size Mbytes Number of ROM chips

Ease of use Training time Number of help frames

Reliability Mean time to failure Probability of unavailability Rate of failure occurrence Availability

Robustness Time to restart after failure Percentage of events causing failure Probability of data corruption on failure

Portability Percentage of target dependent statements Number of target systems

19

Page 20: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Topics covered

1.   Func'onal  and  non-­‐func'onal  requirements  2.   Requirements  specifica'on  3.   Requirements  engineering  processes  4.   Requirements  elicita'on  and  analysis  5.   Requirements  valida'on  6.   Requirements  management  

20

Page 21: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Requirements specification

� The  process  of  wri'ng  down  the  user  and  system  requirements  in  a  requirements  document.  

� User  requirements  have  to  be  understandable  by  end-­‐users  and  customers  who  do  not  have  a  technical  background.  

� System  requirements  are  more  detailed  requirements  and  may  include  more  technical  informa'on.  

� The  requirements  may  be  part  of  a  contract  for  the  system  development  � It  is  therefore  important  that  these  are  as  complete  as  possible.  

21

Page 22: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Ways of writing a system requirements specification

� Natural language sentences � Structured natural language � Design description languages � Graphical notations � Mathematical specifications

Page 23: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Natural language specification

� Requirements  are  wriMen  as  natural  language  sentences  supplemented  by  diagrams  and  tables.  

� Used  for  wri'ng  requirements  because  it  is  expressive,  intui've  and  universal.    � This  means  that  the  requirements    can  be  understood  by  users  and  customers.  

23

Page 24: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Guidelines for writing requirements

� Invent  a  standard  format  and  use  it  for  all  requirements.  

� Use  language  in  a  consistent  way.  Use  shall  for  mandatory  requirements,  should  for  desirable  requirements.  

� Use  text  highligh'ng  to  iden'fy  key  parts  of  the  requirement.  

� Avoid  the  use  of  computer  jargon.  � Include  an  explana'on  (ra'onale)  of  why  a  requirement  is  necessary.  

Page 25: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Example requirements for the insulin pump software system

3.2  The  system  shall  measure  the  blood  sugar  and  deliver  insulin,  if  required,  every  10  minutes.  (Changes  in  blood  sugar  are  rela1vely  slow  so  more  frequent  measurement  is  unnecessary;  less  frequent  measurement  could  lead  to  unnecessarily  high  sugar  levels.)    3.6  The  system  shall  run  a  self-­‐test  rou>ne  every  minute  with  the  condi>ons  to  be  tested  and  the  associated  ac>ons  defined.  (A  self-­‐test  rou1ne  can  discover  hardware  and  so?ware  problems  and  alert  the  user  to  the  fact  the  normal  opera1on  may  be  impossible.)    

25

Page 26: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Structured specifications

� An  approach  to  wri'ng  requirements  where  the  freedom  of  the  requirements  writer  is  limited  and  requirements  are  wriMen  in  a  standard  way.  

� This  works  well  for  some  types  of  requirements  e.g.  requirements  for  embedded  control  system  but  is  some'mes  too  rigid  for  wri'ng  business  system  requirements.  

26

Page 27: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Form-based specifications

� Defini'on  of  the  func'on  or  en'ty.  � Descrip'on  of  inputs  and  where  they  come  from.  � Descrip'on  of  outputs  and  where  they  go  to.  � Informa'on  about  the  informa'on  needed  for  the  computa'on  and  other  en''es  used.  

� Descrip'on  of  the  ac'on  to  be  taken.  � Pre  and  post  condi'ons  (if  appropriate).  � The  side  effects  (if  any)  of  the  func'on.  

Page 28: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

A form-based specification of a requirement for an insulin pump

28

Insulin Pump/Control Software/SRS/3.3.2 Function! Compute insulin dose: Safe sugar level. Description! Computes the dose of insulin to be delivered when the current

measured sugar level is in the safe zone between 3 and 7 units. Inputs! Current sugar reading (r2), the previous two readings (r0 and r1).!Source! Current sugar reading from sensor. Other readings from memory. Outputs! CompDose—the dose in insulin to be delivered. Destination! Main control loop. Action! CompDose is zero if the sugar level is stable or falling or if the level

is increasing but the rate of increase is decreasing. If the level is increasing and the rate of increase is increasing, then CompDose is computed by dividing the difference between the current sugar level and the previous level by 4 and rounding the result. If the result, is rounded to zero then CompDose is set to the minimum dose that can be delivered.

Requirements! Two previous readings so that the rate of change of sugar level can be computed.

Pre-condition The insulin reservoir contains at least the maximum allowed single dose of insulin.

Post-condition r0 is replaced by r1 then r1 is replaced by r2. Side effects None. !

Page 29: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Tabular specification

� Used  to  supplement  natural  language.  � Par'cularly  useful  when  you  have  to  define  a  number  of  possible  alterna've  courses  of  ac'on.  

� For  example,  the  insulin  pump  systems  bases  its  computa'ons  on  the  rate  of  change  of  blood  sugar  level  and  the  tabular  specifica'on  explains  how  to  calculate  the  insulin  requirement  for  different  scenarios.  

Page 30: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Tabular specification of computation for an insulin pump

Condi'on Ac'on

Sugar  level  falling  (r2  <  r1) CompDose  =  0

Sugar  level  stable  (r2  =  r1) CompDose  =  0

Sugar   level   increasing  and   rate  of   increase  decreasing    ((r2  –  r1)  <  (r1  –  r0))

CompDose  =  0

Sugar   level   increasing  and   rate  of   increase  stable  or  increasing    ((r2  –  r1)  ≥  (r1  –  r0))

CompDose  =    round  ((r2  –  r1)/4)  If  rounded  result  =  0  then    CompDose  =  MinimumDose

30

Page 31: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Topics covered

1.   Func'onal  and  non-­‐func'onal  requirements  2.   Requirements  specifica'on  3.   Requirements  engineering  processes  4.   Requirements  elicita'on  and  analysis  5.   Requirements  valida'on  6.   Requirements  management  

31

Page 32: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Requirements engineering processes

� RE  processes  depend  on  the  applica'on  domain,  the  people  involved  and  the  organisa'on  developing  the  requirements.  

� Generic  ac'vi'es  common  to  all  processes  � Feasibility  study;  � Requirements  elicita>on;  � Requirements  analysis;  � Requirements  valida>on;  � Requirements  management.  

� In  prac'ce,  RE  is  an  itera've  ac'vity    � These  ac>vites  are  interleaved.  

32

Page 33: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

A spiral view of the requirements engineering process

Requirementsspecification

Requirementsvalidation

Requirementselicitation

System requirementsspecification and

modeling

Systemreq.

elicitation

User requirementsspecification

Userrequirements

elicitation

Business requirementsspecification

Prototyping

Feasibilitystudy

Reviews

System requirementsdocument

Start

33

Page 34: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Topics covered

1.   Func'onal  and  non-­‐func'onal  requirements  2.   Requirements  specifica'on  3.   Requirements  engineering  processes  4.   Requirements  elicita'on  and  analysis  5.   Requirements  valida'on  6.   Requirements  management  7.   The  so_ware  requirements  document    

34

Page 35: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Requirements elicitation and analysis

� Some'mes  called  requirements  elicita'on  or  requirements  discovery.  

� So_ware  engineers  work  with  a  range  of  system  stakeholders  to  find  out  about    � the  applica>on  domain,    � the  services  that  the  system  should  provide,  �   the  required  system  performance,  hardware  constraints,  other  systems,  etc.  

� May  involve  end-­‐users,  managers,  engineers  involved  in  maintenance,  domain  experts,  trade  unions,  etc.  These  are  called  stakeholders.  

35

Page 36: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Problems of requirements elicitation and analysis � Stakeholders  don’t  know  what  they  really  want.  � Stakeholders  express  requirements  in  their  own  terms.  

� Different  stakeholders  may  have  conflic'ng  requirements.  

� Organisa'onal  and  poli'cal  factors  may  influence  the  system  requirements.  

� The  requirements  change  during  the  analysis  process.  New  stakeholders  may  emerge  and  the  business  environment  change.  

Page 37: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Process activities

� Requirements  discovery  � Interac>ng  with  stakeholders  to  discover  their  requirements.  Domain  requirements  are  also  discovered  at  this  stage.  

� Requirements  classifica'on  and  organisa'on  � Groups  related  requirements  and  organises  them  into  coherent  clusters.  

� Priori'sa'on  and  nego'a'on  � Priori>sing  requirements  and  resolving  requirements  conflicts.  

� Requirements  specifica'on  � Requirements  are  documented  and  input  into  the  next  round  of  the  spiral.  

Page 38: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Requirements elicitation and analysis process

1. Requirementsdiscovery

2. Requirementsclassification and

organization

3. Requirementsprioritization and

negotiation

4. Requirementsspecification

38

Page 39: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Requirements discovery

� The  process  of  gathering  informa'on  about  the  required  and  exis'ng  systems  and  dis'lling  the  user  and  system  requirements  from  this  informa'on.  

� Interac'on  is  with  system  stakeholders  from  managers  to  external  regulators.  

� Systems  normally  have  a  range  of  stakeholders.  

39

Page 40: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Stakeholders in the MHC-PMS �  Pa'ents  whose  informa'on  is  recorded  in  the  system.  �  Doctors  who  are  responsible  for  assessing  and  trea'ng  pa'ents.  �  Nurses  who  coordinate  the  consulta'ons  with  doctors  and  

administer  some  treatments.  �  Medical  recep'onists  who  manage  pa'ents’  appointments.  �  IT  staff  who  are  responsible  for  installing  and  maintaining  the  

system.  �  A  medical  ethics  manager  who  must  ensure  that  the  system  

meets  current  ethical  guidelines  for  pa'ent  care.  �  Health  care  managers  who  obtain  management  informa'on  

from  the  system.  �  Medical  records  staff  who  are  responsible  for  ensuring  that  

system  informa'on  can  be  maintained  and  preserved,  and  that  record  keeping  procedures  have  been  properly  implemented.  

 

40

Page 41: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Interviewing � Formal  or  informal  interviews  with  stakeholders  are  part  of  most  RE  processes.  

� Types  of  interview  � Closed  interviews  based  on  pre-­‐determined  list  of  ques>ons  

� Open  interviews  where  various  issues  are  explored  with  stakeholders.  

� Effec've  interviewing  � Be  open-­‐minded,  avoid  pre-­‐conceived  ideas  about  the  requirements  and  are  willing  to  listen  to  stakeholders.    

� Prompt  the  interviewee  to  get  discussions  going  using  a  springboard  ques>on,  a  requirements  proposal,  or  by  working  together  on  a  prototype  system.    

41

Page 42: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Interviews in practice

� Normally  a  mix  of  closed  and  open-­‐ended  interviewing.  

� Interviews  are  good  for  geeng  an  overall  understanding  of  what  stakeholders  do  and  how  they  might  interact  with  the  system.  

� Interviews  are  not  good  for  understanding  domain  requirements  � Requirements  engineers  cannot  understand  specific  domain  terminology;  

� Some  domain  knowledge  is  so  familiar  that  people  find  it  hard  to  ar>culate  or  think  that  it  isn’t  worth  ar>cula>ng.  

Page 43: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Scenarios

� Scenarios  are  real-­‐life  examples  of  how  a  system  can  be  used.  

� They  should  include  � A  descrip>on  of  the  star>ng  situa>on;  � A  descrip>on  of  the  normal  flow  of  events;  � A  descrip>on  of  what  can  go  wrong;  � Informa>on  about  other  concurrent  ac>vi>es;  � A  descrip>on  of  the  state  when  the  scenario  finishes.  

Page 44: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Scenario for collecting medical history in MHC-PMS

44

INITIAL ASSUMPTION: The patient has seen a medical receptionist who has created a record in the system and collected the patient’s personal information (name, address, age, etc.). A nurse is logged on to the system and is collecting medical history. NORMAL: The nurse searches for the patient by family name. If there is more than one patient with the same surname, the given name (first name in English) and date of birth are used to identify the patient. The nurse chooses the menu option to add medical history. The nurse then follows a series of prompts from the system to enter information about consultations elsewhere on mental health problems (free text input), existing medical conditions (nurse selects conditions from menu), medication currently taken (selected from menu), allergies (free text), and home life (form). WHAT CAN GO WRONG: The patient’s record does not exist or cannot be found. The nurse should create a new record and record personal information. Patient conditions or medication are not entered in the menu. The nurse should choose the ‘other’ option and enter free text describing the condition/medication. Patient cannot/will not provide information on medical history. The nurse should enter free text recording the patient’s inability/unwillingness to provide information. The system should print the standard exclusion form stating that the lack of information may mean that treatment will be limited or delayed. This should be signed and handed to the patient. OTHER ACTIVITIES: Record may be consulted but not edited by other staff while information is being entered. SYSTEM STATE ON COMPLETION: User is logged on. The patient record including medical history is entered in the database, a record is added to the system log showing the start and end time of the session and the nurse involved.

Page 45: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Use cases

� Use-­‐cases  are  a  scenario  based  technique  in  the  UML  which  iden'fy  the  actors  in  an  interac'on  and  which  describe  the  interac'on  itself.  

� A  set  of  use  cases  should  describe  all  possible  interac'ons  with  the  system.  

� High-­‐level  graphical  model  supplemented  by  more  detailed  tabular  descrip'on.  

� Sequence  diagrams  may  be  used  to  add  detail  to  use-­‐cases  by  showing  the  sequence  of  event  processing  in  the  system.  

45

Page 46: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Use cases for the MHC-PMS

Nurse

Medical receptionistManager

Registerpatient

Viewpersonal info.

View record

Generatereport

Exportstatistics

DoctorEdit record

Setupconsultation

46

Page 47: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Topics covered

1.   Func'onal  and  non-­‐func'onal  requirements  2.   Requirements  specifica'on  3.   Requirements  engineering  processes  4.   Requirements  elicita'on  and  analysis  5.   Requirements  valida'on  6.   Requirements  management  

47

Page 48: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Requirements validation

� Concerned  with  demonstra'ng  that  the  requirements  define  the  system  that  the  customer  really  wants.  

� Requirements  error  costs  are  high  so  valida'on  is  very  important  � Fixing  a  requirements  error  aOer  delivery  may  cost  up  to  100  >mes  the  cost  of  fixing  an  implementa>on  error.  

48

Page 49: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Requirements checking � Validity  

� Does  the  system  provide  the  func>ons  which  best  support  the  customer’s  needs?  

� Consistency  � Are  there  any  requirements  conflicts?  

� Completeness  � Are  all  func>ons  required  by  the  customer  included?  

� Realism  � Can  the  requirements  be  implemented  given  available  budget  and  technology  

� Verifiability    � Can  the  requirements  be  checked?  

49

Page 50: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Requirements validation techniques � Requirements  reviews  

� Systema>c  manual  analysis  of  the  requirements.  � Prototyping  

� Using  an  executable  model  of  the  system  to  check  requirements.    

� Test-­‐case  genera'on  � Developing  tests  for  requirements  to  check  testability.  

 

50

Page 51: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Requirements reviews

� Regular  reviews  should  be  held  while  the  requirements  defini'on  is  being  formulated.  

� Both  client  and  contractor  staff  should  be  involved  in  reviews.  

� Reviews  may  be  formal  (with  completed  documents)  or  informal.  Good  communica'ons  between  developers,  customers  and  users  can  resolve  problems  at  an  early  stage.  

51

Page 52: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Review checks

� Verifiability  � Is  the  requirement  realis>cally  testable?  

� Comprehensibility  � Is  the  requirement  properly  understood?  

� Traceability  � Is  the  origin  of  the  requirement  clearly  stated?  

� Adaptability  � Can  the  requirement  be  changed  without  a  large  impact  on  other  requirements?  

52

Page 53: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Topics covered

1.   Func'onal  and  non-­‐func'onal  requirements  2.   Requirements  specifica'on  3.   Requirements  engineering  processes  4.   Requirements  elicita'on  and  analysis  5.   Requirements  valida'on  6.   Requirements  management  

53

Page 54: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Requirements management

� Requirements  management  is  the  process  of  managing  changing  requirements  during  the  requirements  engineering  process  and  system  development.  

� New  requirements  emerge  as  a  system  is  being  developed  and  a_er  it  has  gone  into  use.  

� You  need  to  keep  track  of  individual  requirements  and  maintain  links  between  dependent  requirements  so  that  you  can  assess  the  impact  of  requirements  changes.  You  need  to  establish  a  formal  process  for  making  change  proposals  and  linking  these  to  system  requirements.    

54

Page 55: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Changing requirements

� The  business  and  technical  environment  of  the  system  always  changes  a_er  installa'on.    � New  hardware  may  be  introduced,  it  may  be  necessary  to  interface  the  system  with  other  systems,  business  priori>es  may  change  (with  consequent  changes  in  the  system  support  required),  and  new  legisla>on  and  regula>ons  may  be  introduced  that  the  system  must  necessarily  abide  by.    

� The  people  who  pay  for  a  system  and  the  users  of  that  system  are  rarely  the  same  people.    � System  customers  impose  requirements  because  of  organiza>onal  and  budgetary  constraints.  These  may  conflict  with  end-­‐user  requirements  and,  aOer  delivery,  new  features  may  have  to  be  added  for  user  support  if  the  system  is  to  meet  its  goals.  

55

Page 56: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Changing requirements

� Large  systems  usually  have  a  diverse  user  community,  with  many  users  having  different  requirements  and  priori'es  that  may  be  conflic'ng  or  contradictory.    � The  final  system  requirements  are  inevitably  a  compromise  between  them  and,  with  experience,  it  is  oOen  discovered  that  the  balance  of  support  given  to  different  users  has  to  be  changed.  

56

Page 57: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Requirements evolution

Time

Changedunderstanding

of problem

Initialunderstanding

of problem

Changedrequirements

Initialrequirements

57

Page 58: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Requirements management planning � Establishes  the  level  of  requirements  management  detail  

that  is  required.  � Requirements  management  decisions:  

� Requirements  iden1fica1on  Each  requirement  must  be  uniquely  iden>fied  so  that  it  can  be  cross-­‐referenced  with  other  requirements.    

� A  change  management  process  This  is  the  set  of  ac>vi>es  that  assess  the  impact  and  cost  of  changes.  

� Traceability  policies  These  policies  define  the  rela>onships  between  each  requirement  and  between  the  requirements  and  the  system  design  that  should  be  recorded.    

� Tool  support  Tools  that  may  be  used  range  from  specialist  requirements  management  systems  to  spreadsheets  and  simple  database  systems.  

58

Page 59: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Requirements change management

Changeimplementation

Change analysisand costing

Problem analysis andchange specification

Identifiedproblem

Revisedrequirements

59

Page 60: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Requirements change management � Deciding  if  a  requirements  change  should  be  accepted  

� Problem  analysis  and  change  specifica1on    � During  this  stage,  the  problem  or  the  change  proposal  is  analyzed  to  check  that  it  is  valid.  This  analysis  is  fed  back  to  the  change  requestor  who  may  respond  with  a  more  specific  requirements  change  proposal,  or  decide  to  withdraw  the  request.  

� Change  analysis  and  cos1ng    � The  effect  of  the  proposed  change  is  assessed  using  traceability  informa>on  and  general  knowledge  of  the  system  requirements.  Once  this  analysis  is  completed,  a  decision  is  made  whether  or  not  to  proceed  with  the  requirements  change.  

� Change  implementa>on    � The  requirements  document  and,  where  necessary,  the  system  design  and  implementa>on,  are  modified.  Ideally,  the  document  should  be  organized  so  that  changes  can  be  easily  implemented.  

60

Page 61: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Key points �  Requirements  for  a  so_ware  system  set  out  what  the  system  

should  do  and  define  constraints  on  its  opera'on  and  implementa'on.  

�  Func'onal  requirements  are  statements  of  the  services  that  the  system  must  provide  or  are  descrip'ons  of  how  some  computa'ons  must  be  carried  out.    

� Non-­‐func'onal  requirements  o_en  constrain  the  system  being  developed  and  the  development  process  being  used.    

�  The  requirements  engineering  process  is  an  itera've  process  including  requirements  elicita'on,  specifica'on  and  valida'on.  

61

Page 62: Week 4: Requirements Engineering - Lecturertuyennguyen.info/11BIT_Intro2SE/slides/03-RequirementsEngineering.pdf · Week 4: Requirements Engineering . ... Requirements+specifica’on+

Key points

�  You  can  use  a  range  of  techniques  for  requirements  elicita'on  including  interviews,  scenarios,  use-­‐cases  and  ethnography.  

�  Requirements  valida'on  is  the  process  of  checking  the  requirements  for  validity,  consistency,  completeness,  realism  and  verifiability.    

�  Business,  organiza'onal  and  technical  changes  inevitably  lead  to  changes  to  the  requirements  for  a  so_ware  system.  Requirements  management  is  the  process  of  managing  and  controlling  these  changes.  

62