Advertisement
Advertisement

More Related Content

Similar to Key Issues for Requirements Engineering (lecture slides)(20)

Advertisement

More from Dagmar Monett(20)

Advertisement

Key Issues for Requirements Engineering (lecture slides)

  1. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield Key issues for Requirements Engineering Prof. Dr. Dagmar Monett Díaz Computer Science Dept. Faculty of Cooperative Studies Berlin School of Economics and Law dagmar@monettdiaz.com Europe Week, 3rd – 7th March 2014
  2. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 2 The traditional software development process: Perceptions, communication patterns and interests…
  3. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 3Cartoon http://projectcartoon.com/
  4. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 4Cartoon http://projectcartoon.com/
  5. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield Key questions 5Cartoon http://projectcartoon.com/ - How did stakeholders define requirements? - Were they “good” requirements? - How were they documented?
  6. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 6 Agenda
  7. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 7 Agenda  Where does the major content come from?  Requirements and Requirements Engineering  What are good requirements? - Quality criteria  How do we elicit and construct “perfect” requirements? - Rupp’s template-based approach for constructing requirements  Further reading, sources of inspiration, and more…
  8. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 8 ©
  9. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield Requirements-Engineering und - Management: Professionelle, iterative Anforderungsanalyse für die Praxis Chris Rupp & die SOPHISTen 5th Edition, 565 pp. Carl Hanser Verlag, July 2009 ISBN-13: 978-3-446-41841-7 In German (A version in English is also available) What I also use in my lectures at the HWR… 9
  10. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield Chris Rupp & The SOPHISTs © https://www.sophist.de/ Consulting and training company Specialists for Requirements Engineering, Requirements Management, Object- oriented Analysis, Object- oriented Design and Agile. 10
  11. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield Chapters and further reading  Ch. Rupp, R. Joppich, Ch. Wünch (2010): “Molecular Requirements Engineering: The Blueprint of a Perfect Requirement”.  Ch. Rupp (2010): “In medias RE”.  Ch. Rupp, E. Wolf (2011): “The SOPHIST Set of REgulations”.  Ch. Rupp, R. Joppich (2010): “Templates – Construction Plans for Requirements and for More”. All available at https://www.sophist.de/en/information- pool/downloads/open-download-area/ 11
  12. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 12 What are requirements?
  13. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 13 IEEE-Standard 610.12 (1990)  A requirement is: (1). „A condition or capability needed by a user (be it person or system) to solve a problem or achieve an objective.“
  14. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 14 IEEE-Standard 610.12 (1990)  A requirement is: (1). „A condition or capability needed by a user (be it person or system) to solve a problem or achieve an objective.“ (2). „A condition or capability that must be met or possessed by a system or system component to satisfy a contract, standard, specification, or other formally imposed document.“
  15. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 15 IEEE-Standard 610.12 (1990)  A requirement is: (1). „A condition or capability needed by a user (be it person or system) to solve a problem or achieve an objective.“ (2). „A condition or capability that must be met or possessed by a system or system component to satisfy a contract, standard, specification, or other formally imposed document.“ (3). „A documented representation of a condition or capability as in (1) or (2).“
  16. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 16 Active learning exercise: “Please mention some concrete examples of requirements!” Image © renjith krishnan at http://www.freedigitalphotos.net/
  17. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 17 Requirements Engineering
  18. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield Requirements Engineering Definition according to the IREB1: Requirements engineering is a cooperative, iterative, incremental process, aimed at guaranteeing that  all relevant requirements are known and understood with the necessary degree of refinement,  the stakeholders involved come to a satisfactory agreement concerning the known requirements,  all requirements have been documented as defined by the documentation guidelines or specification guidelines. 18 1: International Requirements Engineering Board e.V. (see further reading at the end)
  19. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 19 Main activities of the requirements engineer Eliciting Requirements Engineering Documenting Validating Managing
  20. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 20 Main activities of the requirements engineer Eliciting Requirements Engineering Documenting Validating Managing
  21. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 21 What are good requirements?
  22. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 22 Quality criteria for requirements Mind map created with https://bubbl.us/
  23. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 23 Active learning exercise: “Explain what does each quality criteria mean to you!” Image © renjith krishnan at http://www.freedigitalphotos.net/
  24. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 24 A good requirement is… Mind map created with https://bubbl.us/
  25. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 25 How do we construct “perfect” requirements?
  26. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield Dilbert Scott Adams At http://dilbert.com/strips/comic/2006-01-29/ (Educational/Classroom usage permission is granted by Universal Uclick. All Rights Reserved) Surely not this way… 26
  27. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 27 Rupp’s template-based approach for constructing requirements
  28. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield Requirements template Definition according to Chris Rupp: “A requirements template is a blueprint which delineates the syntactic structure of a requirement”. …quality assurance of unambiguous, complete and testable requirements! 28
  29. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 29 Constructing perfect requirements in six steps
  30. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield  Identify the desired functionality!  Use process words to describe the process!  Reduce the number of process words to the words actually relevant to the system! Step 1 Determine the process which the requirement will denote as a requisite. 30
  31. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield  Identify the desired functionality!  Use process words to describe the process!  Reduce the number of process words to the words actually relevant to the system! Step 1 Determine the process which the requirement will denote as a requisite. Examples: print, save, transmit, calculate 31
  32. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield  Identify the desired functionality!  Use process words to describe the process!  Reduce the number of process words to the words actually relevant to the system! Step 1 Determine the process which the requirement will denote as a requisite. 32
  33. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield  Identify the desired functionality!  Use process words to describe the process!  Reduce the number of process words to the words actually relevant to the system! Step 1 Determine the process which the requirement will denote as a requisite. Examples: insert – The SYSTEM inserts new data. select – The USER selects one element of a finite set. 33
  34. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield  Identify the desired functionality!  Use process words to describe the process!  Reduce the number of process words to the words actually relevant to the system! Step 1 Determine the process which the requirement will denote as a requisite. 34
  35. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield  Identify the desired functionality!  Use process words to describe the process!  Reduce the number of process words to the words actually relevant to the system! Step 1 Determine the process which the requirement will denote as a requisite. Examples: Do “enter”, “input” and “insert” should have the same semantic within the requirements or not? 35
  36. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield Step 2 Characterise the activity of the system.  Is it an independent system activity? (The system executes the process independently) The system … provide <whom> with the ability to verb <process> be able to <process> 36
  37. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield Step 2 Characterise the activity of the system.  Is it an independent system activity? (The system executes the process independently) Example: The system … prints. The system … provide <whom> with the ability to verb <process> be able to <process> 37
  38. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield Step 2 Characterise the activity of the system.  Is it a user interaction? (The system provides the user with the ability to use the process functionality) The system … provide <whom> with the ability to verb <process> be able to <process> 38
  39. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield Step 2 Characterise the activity of the system.  Is it a user interaction? (The system provides the user with the ability to use the process functionality) Example: The system provides the receptionist with the ability to print. The system … provide <whom> with the ability to verb <process> be able to <process> 39
  40. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield Step 2 Characterise the activity of the system.  Is it an interface requirement? (The system executes a process dependent upon a third party, is passive and requires an external event) The system … provide <whom> with the ability to verb <process> be able to <process> 40
  41. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield Step 2 Characterise the activity of the system.  Is it an interface requirement? (The system executes a process dependent upon a third party, is passive and requires an external event) Example: The system … be able to receive data from the library. The system … provide <whom> with the ability to verb <process> be able to <process> 41
  42. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield Step 3 Determine the degree of legal obligation.  Which is the legal relevance of the requirement?  Use modal verbs! The system should provide <whom> with the ability to verb <process> be able to <process> will shall 42
  43. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield Step 3 Determine the degree of legal obligation.  Which is the legal relevance of the requirement?  Use modal verbs! The system should provide <whom> with the ability to verb <process> be able to <process> will shall Example: The system shall provide the receptionist with the ability to print. 43
  44. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield Step 3 Legal obligation = degree of obligation stakeholders attach to the statements. Degree of obligation Keyword Binding shall Nice to have should Aim will 44 fulfilment mandatory implementation suggestion intention, future developments
  45. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield Step 4 Fine tune the requirement.  Which objects and complements are missing?  Add them! The system should provide <whom> with the ability to verb <process> be able to <process> will shall object additional details about the object 45
  46. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield Step 4 Fine tune the requirement.  Which objects and complements are missing?  Add them! The system should provide <whom> with the ability to verb <process> be able to <process> will shall Example: The system shall provide the receptionist with the ability to print a bill on the network printer. object additional details about the object 46
  47. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield Step 5 Phrase logical and temporal conditions.  Which conditions and prerequisites need to be met before for your requirement to be valid?  Place them in front of the requirement! the system should provide <whom> with the ability to verb <process> be able to <process> will shall object additional details about the object When? / Under what conditions? 47
  48. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield Step 5 Phrase logical and temporal conditions.  Which conditions and prerequisites need to be met before for your requirement to be valid?  Place them in front of the requirement! the system should provide <whom> with the ability to verb <process> be able to <process> will shall Example: If the option “Bill required” has been selected on the mobile device, the system shall provide the receptionist with the ability to print a bill on the network printer. object additional details about the object When? / Under what conditions? 48
  49. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield Step 6 Use the SOPHIST-Rulebook to ensure completeness of the semantic meaning.  Apply the rules and tests from the SOPHIST set of REgulations!  Avoid incomplete information (deletion)!  Avoid statements falsifying reality (distortion)!  Avoid erroneous generalisations (generalization)! 49
  50. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield Step 6 Use the SOPHIST-Rulebook to ensure completeness of the semantic meaning.  Apply the rules and tests from the SOPHIST set of REgulations!  Avoid incomplete information (deletion)!  Avoid statements falsifying reality (distortion)!  Avoid erroneous generalisations (generalization)! (A bad) Example: Customers who are not authorised are displayed. (What is to be displayed? To whom? How? When?) 50
  51. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield Step 6 Use the SOPHIST-Rulebook to ensure completeness of the semantic meaning.  Apply the rules and tests from the SOPHIST set of REgulations!  Avoid incomplete information (deletion)!  Avoid statements falsifying reality (distortion)!  Avoid erroneous generalisations (generalization)! 51
  52. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield Step 6 Use the SOPHIST-Rulebook to ensure completeness of the semantic meaning.  Apply the rules and tests from the SOPHIST set of REgulations!  Avoid incomplete information (deletion)!  Avoid statements falsifying reality (distortion)!  Avoid erroneous generalisations (generalization)! (A bad) Example: The system shall allow for archiving. (Which exact process is meant by the noun?) 52
  53. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield Step 6 Use the SOPHIST-Rulebook to ensure completeness of the semantic meaning.  Apply the rules and tests from the SOPHIST set of REgulations!  Avoid incomplete information (deletion)!  Avoid statements falsifying reality (distortion)!  Avoid erroneous generalisations (generalisation)! 53
  54. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield Step 6 Use the SOPHIST-Rulebook to ensure completeness of the semantic meaning.  Apply the rules and tests from the SOPHIST set of REgulations!  Avoid incomplete information (deletion)!  Avoid statements falsifying reality (distortion)!  Avoid erroneous generalisations (generalisation)! (A bad) Example: The data has to be graphically displayed to the user. (Which data exactly? To which users exactly?) 54
  55. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 55 Summarising…
  56. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield Rupp’s template – Six steps the system should provide <whom> with the ability to verb <process> be able to <process> will shall object additional details about the object When? / Under what conditions? 56
  57. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield Rupp’s template – Six steps the system should provide <whom> with the ability to verb <process> be able to <process> will shall object additional details about the object When? / Under what conditions? 57 1: Determine the process, identify the functionality
  58. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield Rupp’s template – Six steps the system should provide <whom> with the ability to verb <process> be able to <process> will shall object additional details about the object When? / Under what conditions? 58 1: Determine the process, identify the functionality 2: Characterise the activity of the system
  59. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield Rupp’s template – Six steps the system should provide <whom> with the ability to verb <process> be able to <process> will shall object additional details about the object When? / Under what conditions? 59 1: Determine the process, identify the functionality 2: Characterise the activity of the system 3: Determine legal obligation
  60. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield Rupp’s template – Six steps the system should provide <whom> with the ability to verb <process> be able to <process> will shall object additional details about the object When? / Under what conditions? 60 1: Determine the process, identify the functionality 2: Characterise the activity of the system 3: Determine legal obligation 4: Fine tune the requirement
  61. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield Rupp’s template – Six steps the system should provide <whom> with the ability to verb <process> be able to <process> will shall object additional details about the object When? / Under what conditions? 61 1: Determine the process, identify the functionality 2: Characterise the activity of the system 3: Determine legal obligation 4: Fine tune the requirement 5: Phrase conditions
  62. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield Rupp’s template – Six steps the system should provide <whom> with the ability to verb <process> be able to <process> will shall object additional details about the object When? / Under what conditions? 62 1: Determine the process, identify the functionality 2: Characterise the activity of the system 3: Determine legal obligation 4: Fine tune the requirement 5: Phrase conditions 6: Use SOPHIST- Rulebook
  63. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 63 Homework: “Apply the Rupp’s template to construct perfect requirements to one of your current course projects!” Image © renjith krishnan at http://www.freedigitalphotos.net/
  64. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 64 The traditional software development process: Perceptions, communication patterns and interests…
  65. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 65Cartoon http://projectcartoon.com/
  66. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 66 The ideal, perfect, still possible software development process: Perceptions, communication patterns and interests…
  67. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 67Adapted from cartoon http://projectcartoon.com/
  68. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 68Adapted from cartoon http://projectcartoon.com/ Start here!
  69. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 69 To take away…
  70. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield Use the Rupp’s template! Construct perfect requirements! the system should provide <whom> with the ability to verb <process> be able to <process> will shall object additional details about the object When? / Under what conditions? 70
  71. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 71 Assessment Image © renjith krishnan at http://www.freedigitalphotos.net/
  72. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield Question 72 (Taken from the public Examination Questionnaire Set © IREB) Which two of the following statements define the term “requirement” in accordance to the IEEE standard? (A) The difference between current state and desired state. (B) An instruction on how a requirement has to be fulfilled. (C) A demanded capability of a system. (D) A problem that has been identified. (E) A capability that must be met or possessed by a system. PLEASE ANSWER AT: https://docs.google.com/forms/d/1z_24YzWEianDlPpCuxVStpi-LDT6p3ANXowWwpru5H8/viewform
  73. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 73 Last active learning exercise Image © renjith krishnan at http://www.freedigitalphotos.net/
  74. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 74 The content
  75. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 75 References
  76. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield Others… 76
  77. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield Further reading and sites…  IREB - International Requirements Engineering Board e.V. http://www.ireb.org/  20th International Working Conference on Requirements Engineering: Foundation for Software Quality (REFSQ 2014), Essen, Germany http://refsq.org/2014/  IEEE International Requirements Engineering Conference (RE’14), Karlskrona, Sweden http://webhotel.bth.se/re14/ 77
  78. D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 78 Slides of the talk per request: dagmar@monettdiaz.com Prof. Dr. Dagmar Monett Díaz monettdiaz @dmonett http://monettdiaz.com
Advertisement