SE311 · Annotated SlidesChapter 1 — Software Requirements Engineering Fundamentals
Chapter 1 · Annotated slides

Software Requirements Engineering Fundamentals

What a requirement is, the levels and types of requirements (business, user, functional, non-functional, domain), why requirements engineering matters (Mars Climate Orbiter), the RE activities and process, requirements development vs. management, and RE challenges.

Slide text Study notes Highlight: key words Tips, tricks & traps Seen again elsewhere How it can come up
Slide 1: Slide 1
Exam weight Low

    Has a SW shortage ever frustrated you?

    2
    Exam weight Low
      Slide 3: Introduction
      Exam weight Low
        ★ Past exam
        Slide 4: Requirements Engineering (RE) Process
        Exam weight High
        1. Requirements errors account for 40–50% of all defects, and they are the most expensive to fix late.
        🎯 How this can come up · 1 question
        True / False

        Errors introduced during requirements activities account for 40 to 50 percent of all defects found in software.

        Given that

        • The size of the worldwide software industry in is measured in billions in an annual bases
        • Errors introduced during requirements activities account for 40 to 50 pecrcent of all defects found in SW products
        • The hardest single part of conceptually defining a software system is the task of defining the software requirements.
        • “no other part of the work so cripples the resulting system if done wrong” and “no other part is more difficult to rectify later” (Brooks, 1987)
        5
        Exam weight Low

          Course Objectives

          • CLO1: Recognize the different types of requirements and importance of software requirement engineering.
          • CLO2: Identify multiple techniques to elicit requirements from stakeholders, choosing from among alternative methods as appropriate for different situations.
          • CLO3: Analyze documenting requirements for high-level software requirements engineering.
          • CLO4: Design and develop models for requirement documentation using goals, use cases, UML class and activity diagrams and state charts.
          • CLO5: Evaluate the software requirements using validation and negotiation techniques regarding priorities and scope with the stakeholders.
          • CLO6: Measure the documented requirements using quality criteria techniques for accuracy, unambiguity, consistent and completeness of the requirements.
          • CLO7: Demonstrate the management of requirements as they change over time. (e.g., over multiple releases and over a product line)
          6
          Exam weight Low

            Class Project

            • Identify a real problem in any domain of your choice where you think a SW solution is needed to solve the problem
            • Identify real problem stakeholders
            • Conduct what you’ve learned about RE in order to capture stakeholders needs and produce a Software Requirements Specification (SRS) for your proposed solution
            7
            Exam weight Low
              Slide 8: Class Project
              Exam weight Low

                Software Requirements Fundamentals

                9
                Exam weight Low
                  Slide 10: Software Requirements Knowledge Area
                  Exam weight Low

                    What is a software requirement ?

                    • A statement which translates or expresses a need and its associated constraints and conditions (IEEE/ISO/IEC 29148-2018)
                    • At its most basic, a software requirement is a property that must be exhibited by something in order to solve some problem in the real world (SWEBOK V3)
                    11
                    Exam weight Low
                    1. A requirement: a statement of a capability or condition the system must have to satisfy a stakeholder need.
                    Slide 12: What are software requirements ?
                    Exam weight Low
                      ★ Past exam

                      Types of Requirements

                      13
                      Exam weight High
                      1. Three levels: BUSINESS requirements (why: objectives) → USER requirements (what users must be able to do) → FUNCTIONAL requirements (what the system must do), plus non-functional requirements and constraints.
                      TipThree levels: BUSINESS requirements (why: objectives) → USER requirements (what users must be able to do) → FUNCTIONAL requirements (what the system must do), plus non-functional requirements and constraints.
                      🎯 How this can come up · 1 question
                      Written

                      List and briefly explain THREE types of requirements, with an example for each.

                      ★ Past exam
                      Slide 14: Software Requirements
                      Exam weight High
                      1. Functional requirements describe behaviour under specific conditions ("the system shall…").
                      🎯 How this can come up · 1 question
                      MCQ

                      Which is a functional requirement?

                      ★ Past exam
                      Slide 15: Non-functional Requirements
                      Exam weight High
                      1. Non-functional: quality attributes (performance, security, usability, availability), external interfaces, constraints. Harder to capture than functional requirements.
                      🎯 How this can come up · 1 question
                      True / False

                      Functional requirements are more difficult to capture than non-functional requirements.

                      Expression of Non-functional Requirements

                      16
                      Exam weight Low
                        Slide 17: Slide 17
                        Exam weight Low
                          Slide 18: • Product properties • Product features • How should the system do? • What should the system do? • Helps verify performance. • Helps verify functionality. • More difficult to capture. • Easier to capture.
                          Exam weight Low
                            Slide 19: Slide 19
                            Exam weight Low
                              Slide 20: Slide 20
                              Exam weight Low
                                ★ Past exam

                                Domain Requirements

                                • Derived from application domain
                                • Describe system characteristics and features that reflect the domain
                                • May be new functional requirements or constraints on existing requirements
                                • Example: “A patient’s designated physician is the only entity allowed to retrieve a patient’s medical reports”.
                                21
                                Exam weight High
                                1. Domain requirements: come from the application domain (laws, regulations, domain rules).
                                🎯 How this can come up · 1 question
                                MCQ

                                Which is a domain requirement?

                                Why RE?

                                22
                                Exam weight Low

                                  Mars Climate Orbiter

                                  • Cost about $235.9M
                                  • Launched by NASA in 1998 to study the Martian climate.
                                  • It disappeared around Mars in 1999
                                  • Failure caused by a measurement mismatch between two SW systems: the NASA team used the metric system, while the spacecraft builder Lockheed Martin used the English system for a key function
                                  Mars Climate Orbiter
                                  23
                                  Exam weight Low
                                  1. Mars Climate Orbiter (1999) was lost because one team used imperial units and another metric: a requirements/interface failure.

                                  Integrated Resource Management Project (GIRES)

                                  • GIRES (Gestion intégrée des ressources)
                                    • To replace >1000 existing systems in 140 organisations / departments
                                    • Affecting 68,000 employees
                                  • The project started in 1998 with an estimated timeframe of 8 years and a budget of $80 million
                                  • Could not cope with changes to the requirements and was cancelled in 2003 after investing
                                  • Total cost: $400 million
                                  24
                                  Exam weight Low
                                    Slide 25: Why Focus on RE?
                                    Exam weight Low
                                      Slide 26: RE Activities
                                      Exam weight Low
                                      1. RE activities: elicitation, analysis, specification, validation (development) + requirements management.

                                      RE Activity

                                      Inception: Start the process (business need, market opportunity, great idea), business case, feasibility study, system scope, risks, etc.

                                      Elicitation: All the tasks involved with discovering and gathering the requirements (interviews, document analysis) Analysis: Develop a deep understating of the requirements on an individual level and as a whole (decomposition, conflicts, gaps) Specification: Documenting these requirements in a well-organized way suitable for comprehension by their intended audiences.

                                      Validation: Reviewing the documented requirements by internal teams and the customer to confirm that it’s complete and properly represented and that it meets the customer needs.

                                      Management: Managing the requirements beyond being agreed upon and through implementation up until the project is completed (tracing reqs, tracking status, changes – scope, assessing impact, accepting or refusing) Regardless of what development life cycle is being used (waterfall, iterative, agile, ...etc.) these are the thing you need to

                                      do

                                      regarding requirements.

                                      Iteration is key to requirements development success.

                                      27
                                      Exam weight Low

                                        Requirements Engineering (RE) Process

                                        • A process is a sequence of steps performed for a given purpose (e.g. SW development process)
                                        • RE is a process, not a discrete activity
                                        28
                                        Exam weight Low
                                          ★ Past exam
                                          Slide 29: RE Process
                                          Exam weight High
                                          1. RE is iterative, not a one-time phase.
                                          🎯 How this can come up · 1 question
                                          True / False

                                          Requirements engineering is not an iterative process.

                                          Slide 30: Requirements Development Process
                                          Exam weight Low
                                            Slide 31: Boundary Between RD and RM
                                            Exam weight Low
                                            1. Requirements development produces the baseline; requirements management controls changes to it (traceability, versions, status).

                                            RE Challenges

                                            • Lack of the right expertise
                                            • Insufficient user involvement
                                            • Overlooked stakeholders
                                            • Unrealistic or unclear goals
                                            • Ambiguous requirements
                                            • Conflicting requirements
                                            • Creeping user requirements
                                            • Changing requirements
                                            32
                                            Exam weight Low
                                            1. Challenges: unclear scope, changing requirements, stakeholders who disagree or are unavailable, ambiguity, gold-plating.

                                            33
                                            Exam weight Low