Requirements Engineering for Transportation Systems: Airport Train Control, Lecture notes of Software Engineering

The process of Requirements Engineering (RE) for a new transportation system aimed at addressing the problem of frequent missed flight connections and slow transportation between airport terminals. the identification and evaluation of objectives, elicitation and evaluation of requirements, and the documentation and consolidation of requirements. RE is crucial for getting the right system and software, and is concerned with real-world goals, functions, constraints, and evolution over time.

Typology: Lecture notes

2019/2020

Uploaded on 11/02/2020

hui-ching-lim
hui-ching-lim 🇲🇾

5 documents

1 / 45

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
CHAPTER 1 :
INTRODUCTION TO
SOFTWARE REQUIREMENTS
ENGINEERING
SOURC E O F PP SL I D E S :
L A M S W E E R D E , A. V. 2 0 1 1 . R E Q U I R E M E NTS E N G I N E E R I NG: F R O M S Y STEM G O A L S T O UML
MODEL S T O SOFTWA RE SPE C I F I C ATION . 2N D E D . WILEY.
1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d

Partial preview of the text

Download Requirements Engineering for Transportation Systems: Airport Train Control and more Lecture notes Software Engineering in PDF only on Docsity!

CHAPTER 1 :

INTRODUCTION TO

SOFTWARE REQUIREMENTS

ENGINEERING

SO URCE O F PP SLIDES :

L AMSW EERDE, A. V. 2 01 1. REQUIREMENTS ENGINEERING: F ROM SYSTEM GO ALS TO UML

MO DEL S T O SO FTWARE SPECIFICATION. 2

N D ED. W ILEY.

LESSON OBJECTIVES:

  • (^) To explain what is requirement

engineering

  • (^) To understand why engineer

requirements

  • (^) To describe the obstacles to good

requirements engineering practice

  • (^) To understand Agile development

processes and requirement engineering

WHAT IS REQUIREMENT

ENGINEERING?

The problem world and the machine solution

To make sure a software solution “correctly” solves some

real-world problem, we must first fully understand and define

  • (^) what problem needs to be solved in the real world

the context in which the problem arises

Example: car control

  • (^) Problem: manual handbrake release can be inconvenient in

certain situations

Context: car driving, braking, safety rules, ...

WHAT IS REQUIREMENT

ENGINEERING?

RE is a set of activities producing the requirements on a software-

intensive system

  • (^) for the system objectives, functionalities, target qualities,

constraints, assumptions

  • based on problems raised by the system-as-is and opportunities

provided by new technologies

Requirements quality assurance is a key concern for software

quality assurance

elicitation, evaluation, specification,

analysis, evolution management

EXAMPLE: (LET’S DISCUSS…)

TRANSPORTATION BETWEEN

AIRPORT TERMINALS

Problem (system-as-is):

passengers frequently missing flight connections among different

terminals; slow & inconvenient transportation

number of passengers regularly increasing

Objectives, options (system-to-be):

support high-frequency trains between terminals

with or without train drivers?

Functionalities, constraints:

software-based control of train accelerations, doors opening etc. to

achieve prompt and safe transportation

RE deliverable:

Requirements Document (RD) for system-to-be

REQUIREMENTS IN THE SOFTWARE

LIFECYCLE

Requirements engineering

Software design

Software implementation

Software evolution

Getting

the

right

system

Getting

the

software

right

THE SCOPE OF RE:
THE WHY , WHAT , WHO DIMENSIONS

Objectives

WHY

a new system?

WHAT

services?

WHO

will be

responsible

for what?

satisfy

assign

requirements,

constraints,

assumptions

problems,

opportunities,

system knowledge

System-to-be

System-as-is

THE WHY DIMENSION

Identify, analyze, refine the system-to-be’s objectives

  • (^) to address analyzed deficiencies of the system-as-is
  • (^) in alignment with business objectives
  • (^) taking advantage of technology opportunities

Example: airport train control

“Serve more passengers”

“Reduce transfer time among terminals”

Difficulties

Acquire domain knowledge

Evaluate alternative options (e.g. alternative ways of

satisfying the same objective)

  • (^) Match problems-opportunities, and evaluate these:

implications, associated risks

  • (^) Handle conflicting objectives

THE WHO DIMENSION

Assign responsibilities for the objectives, services, constraints among

system-to-be components

  • (^) based on their capabilities and on the system’s objectives
  • (^) yielding the software-environment boundary

Example: airport train control

  • (^) “Safe train acceleration” ... under direct responsibility of software-to-be

(driverless option) or of driver following software indications?

  • (^) “Accurate estimation of train speed/position” ... under responsibility of

tracking system or of preceding train?

Difficulties

  • (^) Evaluate alternative options to decide on the right degree of automation

EX: (LET’S DISCUSS …)

SCOPE OF RE : WHY , WHAT , WHO

DIMENSIONS FOR A LIBRARY SYSTEM

WHY –
WHAT –
WHO –

CATEGORIES OF

REQUIREMENTS (2)

Non-functional requirements:

- constrain how such services should be provided - (^) Defines constrains on the way the software should satisfy its

functional requirements/ on the way it should be developed

  • (^) Eg: “Acceleration commands shall be issued every 3 seconds to

every train”

  • (^) Figure in next slide outlines one typical classification of non-

functional requirements, ie..

  • (^) Quality requirements: safety, security, accuracy, time/space

performance, usability, ...

  • (^) Compliance requirements: …
  • (^) Architectural requirements: …
  • (^) Development requirements: …

A TAXONOMY OF NON-FUNCTIONAL

REQUIREMENTS

(See definitions and examples in the book)

No clear-cut boundaries, possible overlaps …

  • (^) Functional/non-functional: e.g. functional reqs for firewall management are security-

related (non functional req)

  • (^) Non-functional overlaps: e.g. “high frequency of train commands” is related to

performance and safety

Non-Functional Requirement

Quality of Service Compliance Architectural Constraint Development Constraint

ConfidentialityIntegrity (^) Availability

Safety Security Installation Distribution

Usability

Reliability Performance

Maintainability Cost

Time Space

Deadline Variability

Software

interoperability

Convenience

Interface

User

interaction

Device

interaction

Subclass link

Accuracy

Cost

17

CATEGORIES OF

REQUIREMENTS (3)

Other classification of requirements:

- Product requirements - (^) Is a need or constraint on the software to be developed - (^) Eg: “The software shall verify that a student meets all pre-

requirements before he or she registers for a course”

- Process requirements - (^) Is essentially a constraint on the development of the software - (^) Eg: “The software shall be developed using Waterfall

Development Process”

THE RE PROCESS (1)

start

domain understanding

& elicitation

alternative proposals