Software Requirements Engineering Ch 4 B Ramamuthy Page
Software Requirements Engineering Ch. 4 B. Ramamuthy Page 1 12/21/2021
Topics • • Requirements engineering process State machines Event-driven programming Table-driven methods • • Mealy Machines (fig. 4. 4, Table 4. 3) Petri nets for representing behavior of multitasks (4. 8, 4. 9, Table 4. 5, fig. 4. 10) Context diagrams (fig 4. 14) Use case diagrams (fig 4. 15) • • 2 12/21/2021
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. 3 12/21/2021
Types of requirements Standard scheme for realtime systems is defined by IEEE standard IEEE 830. It defines the following kind of requirements: • • I. Functional II. Non-functional 1. 2. 3. 4. 5. 4 External interfaces Performance Logical database Design constraints (ex: standards compliance) Software system attributes Reliability, availability, security, maintainability, portability 12/21/2021
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. 5 12/21/2021
Fighter aircraft avionics else TAK else MA NAV else NAA 6 LO TD NAE MC ED LAN EE 12/21/2021
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 7 12/21/2021
State Transition table MA LO TD MC EE ED TAK NAV NAE NAA NAE LAN NAA NAE NAV LAN 8 12/21/2021
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? 9 12/21/2021
Exercises • 4. 7 : context diagram, use case diagram • 4. 8 : state diagram • 4. 10 • 4. 11 • 4. 13 10 12/21/2021
- Slides: 10