lecture 6 requirements engineering
play

Lecture 6: Requirements Engineering 2018-05-07 Prof. Dr. Andreas - PowerPoint PPT Presentation

Softwaretechnik / Software-Engineering Lecture 6: Requirements Engineering 2018-05-07 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universitt Freiburg, Germany 6 2018-05-07 main You Are Here. L 1: 16.4., Mon


  1. Softwaretechnik / Software-Engineering Lecture 6: Requirements Engineering 2018-05-07 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany – 6 – 2018-05-07 – main –

  2. You Are Here. L 1: 16.4., Mon Introduction Scales, Metrics, L 2: 19.4., Thu Costs, L 3: 23.4., Mon T 1: 26.4., Thu L 4: 30.4., Mon Development L 5: 3.5., Thu Process Requirements L 6: 7.5., Mon - 10.5., Thu Engineering L 7: 14.5., Mon T 2: 17.5., Thu - 21.5., Mon - 24.5., Thu L 8: 28.5., Mon - 31.5., Thu L 9: 4.6., Mon T 3: 7.6., Thu L10: 11.6., Mon Arch. & Design, L 11: 14.6., Thu Software- L 12: 18.6., Mon T 4: 21.6., Thu Modelling, L13: 25.6., Mon Patterns L14: 28.6., Thu QA L15: 2.7., Mon T 5: 5.7., Thu L16: 9.7., Mon (Testing, Formal – 6 – 2018-05-07 – main – Verification) L 17: 12.7., Thu Wrap-Up L18: 16.7., Mon T 6: 19.7., Thu 2 /42

  3. – 6 – 2018-05-07 – main – Introduction 3 /42

  4. Needs! Solution! Needs! spec 1 spec 2a § spec 2b ... ... e need 1 ... e need 2 prop. 1 0 need 3 prop. 2 100 0 → → → 0 ... 0 ... 1 1 Customer Developer Customer Developer Customer Developer Developer Customer announcement offer software contract software delivery (Lastenheft) (Pflichtenheft) (incl. Pflichtenheft) requirement – (1) A condition or capability needed by a user to solve a problem or achieve an ob- jective. (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 im- posed documents. (3) A documented representation of a condition or capability as in (1) or (2). IEEE 610.12 (1990) requirements analysis – (1) The process of studying user needs to arrive at a definition of system, hardware, or software requirements. – 6 – 2018-05-07 – Sreintro – (2) The process of studying and refining system, hardware, or software requirements. IEEE 610.12 (1990) 4 /42

  5. Risks Implied by Bad Requirements Specifications Needs! Solution! Needs! spec 1 spec 2a § spec 2b ... ... e need 1 ... e need 2 prop. 1 0 need 3 prop. 2 100 0 → → → 0 ... 1 0 ... 1 Customer Developer Customer Developer Customer Developer Developer Customer announcement offer software contract software delivery (Lastenheft) (Pflichtenheft) (incl. Pflichtenheft) require- ments design / design / quality quality acceptance acceptance negotiation negotiation speci- implemen- implemen- assurance assurance fication tation tation customer developer docu- docu- mentation mentation – 6 – 2018-05-07 – Sreintro – 5 /42

  6. Risks Implied by Bad Requirements Specifications preparation of tests , • without a description of allowed outcomes, tests are design and implementation , randomly searching for generic errors (like crashes) • without specification, → systematic testing hardly possible programmers may just “ask around” when in doubt, possibly yielding different interpretations acceptance by → difficult integration customer, resolving later negotiation objections or regress (with customer, claims, require- ments marketing design / design / quality quality negotiation negotiation acceptance acceptance speci- implemen- implemen- assurance assurance fication • without specification, it tation tation department, or is unclear at delivery ...) time whether behaviour customer developer is an error (developer docu- docu- needs to fix) or correct mentation mentation (customer needs to accept and pay) → re-use re-use nasty disputes , additional effort documentation , e.g., the user’s manual , • without specification, the user’s manual author can only re-use , describe what the system does , not what it should do ( “every observation is a feature” ) • without specification, re-use needs to be based on – 6 – 2018-05-07 – Sreintro – re-reading the code → risk of unexpected changes • later re-implementations . • the new software may need to adhere to requirements of the old software; if not properly specified, the new software needs to be a 1:1 re-implementation of the old → additional effort 6 /42

  7. Discovering Fundamental Errors Late Can Be Expensive relative cost of an error 200 100 larger projects 50 20 10 smaller projects 5 2 phase of error detection Analysis Design Coding Test & Acceptance Integration & Operation Relative error costs over latency according to investigations at IBM, etc. By (Boehm, 1979); Visualisation: Ludewig and Lichter (2013). – 6 – 2018-05-07 – Sreintro – 7 /42

  8. The hardest single part of building a software system is deciding precisely what to build. No other part of the conceptual work is as difficult as establishing the detailed technical requirements ... No other part of the work so cripples the resulting system if done wrong. No other part is as difficult to rectify later. F.P. Brooks (Brooks, 1995) – 6 – 2018-05-07 – Sreintro – 8 /42

  9. Topic Area Requirements Engineering: Content • Introduction VL 6 • Requirements Specification • Desired Properties • Kinds of Requirements • Analysis Techniques . . . • Documents • Dictionary, Specification • Specification Languages • Natural Language • Decision Tables VL 7 • Syntax, Semantics . . . • Completeness, Consistency, ... • Scenarios VL 8 . • User Stories, Use Cases . . • Live Sequence Charts – 6 – 2018-05-07 – Sblockcontent – VL 9 • Syntax, Semantics . . . • Definition: Software & SW Specification VL 10 . • Wrap-Up . . 9 /42

  10. Recall: Structure of Topic Areas Example : Requirements Engineering Vocabulary e.g. consistent, complete, tacit, etc. Techniques informal semi-formal formal – 6 – 2018-05-07 – Sblockstruct – 10 /42

  11. Content • Introduction • Vocabulary: Requirements (Analysis) • Importance of Requirements Specifications • Requirements Specification • Requirements Analysis • Desired Properties • Kinds of Requirements • Analysis Techniques • Documents • Dictionary • Specification • Requirements Specification Languages • Natural Language – 6 – 2018-05-07 – Scontent – 11 /42

  12. Requirements Specifications – 6 – 2018-05-07 – main – 12 /42

  13. Requirements Analysis. . . ... in the sense of “finding out what the exact requirements are” . “Analysing an existing requirements/feature specification” → later. In the following we shall discuss: (i) desired properties of (iii) (a selection of) analysis techniques • requirements specifications, (iv) documents of the requirements • requirements specification documents, analysis: (ii) kinds of requirements • dictionary, • hard and soft, • requirements specification (‘Lastenheft’), • open and tacit, • feature specification (‘Pflichtenheft’). • functional and non-functional. • Note : In the following (unless otherwise noted), we discuss the feature specification , i.e. the document on which the software development is based. To maximise confusion, we may occasionally (inconsistently) call it requirements specification or just specification — should be clear from context... – 6 – 2018-05-07 – Sre – • Recall : one and the same content can serve both purposes; only the title defines the purpose then. 13 /42

  14. Requirements on Requirements Specifications A requirements specification should be • correct • neutral , abstract — it correctly represents the wishes/needs of — a requirements specification does not the customer, constrain the realisation more than necessary, • complete — all requirements (existing in somebody’s head, or a document, or ...) should be present, • traceable , comprehensible — the sources of requirements are documented, • relevant requirements are uniquely identifiable, — things which are not relevant to the project should not be constrained, • consistent , free of contradictions • testable , objective — each requirement is compatible with all other — the final product can objectively be checked requirements; otherwise the requirements are for satisfying a requirement. not realisable , • Correctness and completeness are defined relative to something which is usually only in the customer’s head . → is is difficult to be sure of correctness and completeness . – 6 – 2018-05-07 – Sre – • “Dear customer, please tell me what is in your head!” is in almost all cases not a solution ! It’s not unusual that even the customer does not precisely know...! For example, the customer may not be aware of contradictions due to technical limitations. 14 /42

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend