System Analysis (Requirements)

Types of Requirements

  • Types of requirements include:
    • User Requirements
    • System Requirements (Functional + Non-functional Requirements)
    • Architecture Requirements
    • Business Requirements
    • Technical Requirements
    • Security Requirements
    • User Interface Requirements, etc.

Learning Outcomes

  • Differentiate types of requirements.
  • Write proper statements of user requirements and system requirements.

Requirements

  • Requirement is a description of what the system should do.
  • It defines a service and constraint of one process.
  • All the requirements will be documented in the System Requirement Specification.
  • This document needs to be approved by the customer and development team.

Business Process Example (Clinic Management System)

  • Patient registers information at the registration counter.
  • Employee records this information in patient's history card.
  • Card is passed to the doctor.
  • Patient waits until their name is called.
  • Cards are stored in a file cabinet until the patient's next appointment.

User Requirements

  • Statements, in natural language plus diagrams.
  • Description of what services the system is expected to provide to system users.
  • Constraints under which the system must operate.
  • Structure:
    • The (actor) + (service that the actor should be able to perform)
  • Examples:
    • Receptionist:
      1. The receptionist is responsible to register new patients.
      2. The receptionist can search the patient records.
      3. The receptionist can view the patient records.
      4. The receptionist will register the patient for an appointment with a doctor.
    • Doctor:
      1. The doctor will receive an appointment request.
      2. The doctor can view the patient records.
      3. The doctor will update the patient medical record.
    • Pharmacist:
      1. The pharmacist receive the medicine request.
      2. The pharmacist print the medicine label.
    • System:
      1. The system will generate the queue number.
      2. The system will generate the monthly report.

System Requirements

  • A structured document setting out detailed descriptions of the system’s functions, services, and operational constraints.
  • Consists of:
    • Functional Requirements
      • A/The (Actor) shall (do something), By (how; explain how the user can trigger this feature), In order to/so that (why; explain the benefits or the objects of this requirement).
    • Non-Functional Requirements (based on the property of non-functional requirements)

Functional Requirements

  • Statements of services the system should provide, how the system should react to particular inputs, and how the system should behave in particular situations.
  • May state what the system should not do.
  • Depend on the type of software, expected users, and the type of system where the software is used.
  • Example:
    • The receptionist should be able to create a new patient record by entering the patient details to register the patient.
  • Examples:
    • Receptionist:
      1. The receptionist should be able to create a new patient record by entering the patient details to register the patient.
      2. The receptionist should be able to search a patient record by entering their IC number to view the patient record and appointment history.
      3. The receptionist should be able to view the patient record in order to assign the patient for an appointment.
      4. The receptionist should be able to assign the patient for an appointment with a doctor by clicking ‘Make appointment’ button to proceed with the consultation with a doctor.
    • Doctor:
      1. The doctor should be able to view patient appointment request by clicking the notification button in order to view the patient record.
      2. The doctor should be able to update the patient medical record by entering patient’s disease, symptoms and medicine to keep the latest patient medical record and send the medicine request to pharmacy
    • Pharmacist:
      1. The pharmacist should be able to receive the medicine request made by the doctor by clicking the notification button to view the medicine list for the patient.
      2. The pharmacist should be able to print the medicine label by clicking button print to label the medicine bottle or packet.
    • System:
      1. The system should be able to generate the queue number once the receptionist has register the patient
      2. The system should be able to generate the monthly report on the last day of the month.

User Requirements vs Functional Requirements

  • Functional Requirements:
    • A/The (Actor) shall (do something), By (how; explain how the user can trigger this feature), In order to/so that (why; explain the benefits or the objects of this requirement).
    • Example: The receptionist should be able to create a new patient record by entering the patient details to register the patient.
  • User Requirements:
    • The (actor) + (service the actor should be able to do)
    • Example: The receptionist is responsible to register new patients.

Non-functional Requirements

  • They usually specify the system’s constraints as a whole.
  • This is in terms of the system’s reliability, responds time, performance, security, availability and other constraints.
  • Non-functional requirements may be more critical than functional requirements. If these are not met, the system may be useless.
  • Matrices of specifying non-functional requirements:
PropertyMeasure
SpeedProcessed transactions/second User/event response time Screen refresh time
SizeMbytes Number of ROM chips
Ease of useTraining time Number of help frames
ReliabilityMean time to failure Probability of unavailability Rate of failure occurrence Availability
RobustnessTime to restart after failure Percentage of events causing failure Probability of data corruption on failure
PortabilityPercentage of target dependent statements Number of target systems

Examples of Non-functional Requirements

PropertyMeasure
SpeedThe system should be able to process each transaction under 3 seconds for a normal accessibility.
Ease of useMedical staff shall be able to use all the system functions after four hours of training. After this training, the average number of errors made by experienced users shall not exceed two per hour of system use.
ReliabilityThe system should be available during normal working hours (Mon - Fri; 9.00AM - 6.00PM). Downtime for normal working hours should not exceed more than 5 seconds in one day.
SecurityUsers of the system shall authenticate themselves using their health identity authority card.

Types of Requirements

  • Architectural requirements
    • Explain what must be done by identifying the necessary systems structure and systems behavior.
  • Business requirements
    • High-level statements of the goals, objectives, or needs of an organization.
  • Technical Requirements
    • The infrastructure that the new system needs to run on.
    • Minimum Hardware requirements such as server, storage space, processing power, etc.
    • Software requirements needs such as OS, applications, plug-ins, etc.
    • Network requirements needs such as bandwidth, protocols etc.
  • Security Requirements
    • The types and levels of security that the new system needs.
    • Authorization levels, Encryptions, etc.
  • User Interface Requirements
    • Specific design criteria for the user interface.
    • Color, language, etc.

Summary

  • There are several types of requirements such as user requirements, system requirements, architecture requirements, business requirements, technical requirements and UI requirements.
  • User requirements - Statements, in a natural language plus of what services the system is expected to provide to system users.
  • System requirements - A detailed descriptions of the system’s functions, services and operational constraints.
    • Functional requirements - A detail description of the system’s feature and service.
    • Non-functional requirements - A detail description of system’s operational constraints.