CS3773 Software Engineering Lecture 02 Requirements Engineering.
Software Requirements Engineering
description
Transcript of Software Requirements Engineering
![Page 1: Software Requirements Engineering](https://reader036.fdocuments.us/reader036/viewer/2022082819/56813db2550346895da77a2a/html5/thumbnails/1.jpg)
04/20/23Page 1
Software Requirements Engineering
Ch.5B. Ramamurthy
![Page 2: Software Requirements Engineering](https://reader036.fdocuments.us/reader036/viewer/2022082819/56813db2550346895da77a2a/html5/thumbnails/2.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022082819/56813db2550346895da77a2a/html5/thumbnails/3.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022082819/56813db2550346895da77a2a/html5/thumbnails/4.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022082819/56813db2550346895da77a2a/html5/thumbnails/5.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022082819/56813db2550346895da77a2a/html5/thumbnails/6.jpg)
04/20/23Page 6
Fighter aircraft avionics
TAK
LANNAA
NAE
NAV
else
MA else
TDelse
LOelse
EE
ED
MC
![Page 7: Software Requirements Engineering](https://reader036.fdocuments.us/reader036/viewer/2022082819/56813db2550346895da77a2a/html5/thumbnails/7.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022082819/56813db2550346895da77a2a/html5/thumbnails/8.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022082819/56813db2550346895da77a2a/html5/thumbnails/9.jpg)
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?