Software Requirements Engineering

9
08/28/22 Page 1 Software Requirements Engineering Ch.5 B. Ramamurthy

description

Software Requirements Engineering. Ch.5 B. Ramamurthy. Topics. Requirements engineering process State machines Event-driven programming Table-driven methods Mealy Machines Petri nets for representing behavior of multiprocessors Use case diagrams. Requirements-Engineering Process. - PowerPoint PPT Presentation

Transcript of Software Requirements Engineering

Page 1: Software Requirements Engineering

04/20/23Page 1

Software Requirements Engineering

Ch.5B. Ramamurthy

Page 2: Software Requirements Engineering

04/20/23Page 2

Topics

• Requirements engineering process• State machines • Event-driven programming• Table-driven methods • Mealy Machines • Petri nets for representing behavior of

multiprocessors• Use case diagrams

Page 3: Software Requirements Engineering

04/20/23Page 3

Requirements-Engineering Process

• Deals with determining the goals, functions, and constraints of systems, and with representation of these aspects in forms amenable to modeling and analysis.

Page 4: Software Requirements Engineering

04/20/23Page 4

Types of requirements

• Standard scheme for realtime systems is defined by IEEE standard IEEE830.

• It defines the following kind of requirements:

I. FunctionalII. Non-functional

1. External interfaces2. Performance3. Logical database4. Design constraints (ex: standards compliance)5. Software system attributes

Reliability, availability, security, maintainability, portability

Page 5: Software Requirements Engineering

04/20/23Page 5

Design methods: Finite state machines

• Finite state automaton (FSA), finite state machine (FSM) or state transition diagram (STD) is a formal method used in the specification and design of wide range of embedded and realtime systems.

• The system in this case would be represented by a finite number of states.

• Lets design the avionics for a fighter aircraft.

Page 6: Software Requirements Engineering

04/20/23Page 6

Fighter aircraft avionics

TAK

LANNAA

NAE

NAV

else

MA else

TDelse

LOelse

EE

ED

MC

Page 7: Software Requirements Engineering

04/20/23Page 7

Finite State Machine (FSM)

• M = five tuple { S, i, T, Σ, δ }• S = set of states• i = initial state• T = terminal state (s)• Σ = events that bring about transitions• δ = transitions• Lets do this exercise for the avionics for

fighter aircraft

Page 8: Software Requirements Engineering

04/20/23Page 8

State Transition table

MA LO TD MC EE ED

TAK NAV

NAV NAE LAN

NAE NAA

NAA NAE NAV

LAN

Page 9: Software Requirements Engineering

04/20/23Page 9

Lets write the embedded system

• Use the table to code a function with case statement

• Or write a table-driven code• Which is better and why?