Functional_Requirements - SYSC3020-Winter2016/SYSC3020LectureNotes GitHub Wiki

Functional Requirements are usually expressed as Narratives: stories, scenarios, Use Case Description Guidelines.

Non-technical customers might think of their system by imagining something happening with it, a story. After listing a few scenarios these can be reduced to a use case, i.e. a kind of workflow to accomplish a user task: scenarios are possible flows through the use case.

The workflow of a a Use Case can be modeled as a state machine, typically described by a UML state or activity diagram.

System Scope

The system boundary defines which activities (functionality) is carried out by the system, and what is not: implication: what engineers must build.

Defining the system scope is a VERY important decision, there may be huge consequences if it is wrong.

  • Fundamental questions:
    • What/who triggers the behaviour expected from the software?
    • Should we implement the requirements or is the requested functionality a responsibility of another system or a human?

We need to know the context in which a system operates

  • External entities: other systems, organizations, people, machines, device (sensor, actuator), etc. that expect services/data from us or provide services to us
  • Input/Output data flows from/to external entities

Actors

External entities that interact/interface withthe system are actors of use cases.

⚠️ **GitHub.com Fallback** ⚠️