ICM – Computer Science Major – Software Engineering - Part 1: Introduction and M1 Cyber Physical and Social Systems – Course unit on CPS2 engineering and development, Part 3: System Engineering

Institut Henri Fayol - MINES Saint-Étienne

Tutorial on Requirement Engineering

In groups of students, as lead analysts of the projects, you must address a case study and provide a Software Requirement Specification document (IEEE/ISO/IEC 29148-2018) before 2023-09-25. Submit it as a PDF at: https://seafile.emse.fr/u/d/719cb2f55ce14289b6f8/

The Software Requirement Specification should describe:

  1. actors

  2. use cases with textual description

  3. functional and non-functional requirements with their analysis and specification

A sleep apnea treatment device

Sleep apnea is a sleep disorder in which pauses in breathing or periods of shallow breathing during sleep occur more often than normal. Each pause can last for a few seconds to a few minutes and they happen many times a night. [Source: Wikipedia]

We consider treatment devices of type automatic positive airway pressure (APAP), that splints the patient’s airway open during sleep by means of pressurized air. The patient wears a plastic facial mask, which is connected by a flexible tube to a small bedside APAP machine.

A sleep apnea treatment device
Figure 1. A sleep apnea treatment device

The machine monitors the in/out pressures, CO2 and oxygen levels. Only the patient or his doctor should visualize the data. Only the doctor should change the parameters of the machine. Potentially, the patient sleeps next to another person, that may be bothered by the noise the air pump makes.

  1. Identify the actors.

  2. Identify functional requirements. Express them as user stories using one the following forms:

    • As <who> <when> <where>, I <want> because <why>

    • As a <role> I can <capability>, so that <receive benefit>

  3. Discuss non-functional requirements following the ISO/IEC 25010 terminology. Try to define them so they are quantifiable, and potentially.

  4. Identify critical, non-critical, optional requirements. Ensure there are requirements in each category.

  5. Propose an initial level of priority to the product owner.

  6. Identify potential incompatibilities between requirements.

A smart lock device

A smart lock is an electromechanical lock which is designed to perform locking and unlocking operations on a door when it receives such instructions from an authorized device using a wireless protocol and a cryptographic key to execute the authorization process. It also monitors access and sends alerts for the different events it monitors and some other critical events related to the status of the device. Smart locks can be considered part of a smart home. [Source: wikipedia]

We consider three systems: a smart phone application, a smart lock embedded software, and the smart home platform.

A smart lock device
Figure 2. A smart lock device
  1. Identify the actors.

  2. Identify functional requirements. Express them as user stories using one the following forms:

    • As <who> <when> <where>, I <want> because <why>

    • As a <role> I can <capability>, so that <receive benefit>

  3. Discuss non-functional requirements following the ISO/IEC 25010 terminology. Try to define them so they are quantifiable.

  4. Identify critical, non-critical, optional requirements. Ensure there are requirements in each category.

  5. Propose an initial level of priority to the product owner.

  6. Identify potential incompatibilities between requirements, and trade-offs.

Note
Not only humans can be actors.