Embedded Systems Software Training Center
Requirements Analysis
Exercises
- Write the set of requirements on someof the new features of the multimedia device (TV, player, stereo) using a natural language.
- Analyze the causes of the catastrophic software failures on Ariane-5 and Therac-25 and answer the following questions. What errors in the requirements process led to these failures? What sections of the Software Requirements Specification (SRS) may contain the errors or may be lost? Estimate the every SRS quality attributes for such requirements.
- What special kinds of problems are presented when specifying the requirements of real-time systems?
- Developers work together with customers and users to define requirements and specify what the proposed system will do. If, once it is built, the system works according to specification but harms someone physically or financially, who is responsible?
- Among the many nonfunctional requirements that can be included in a specification are those related to safety and reliability. How can we ensure that these requirements are testable? In particular, how can we demonstrate the reliability of a system that is required never to fail?
- If a decision table has two identical columns, then the requirements specification is redundant. How can we tell if the specification is contradictory? What other characteristics of a decision table warn us of problems with the requirements?
- Sometimes part of a system may be built quickly to demonstrate feasibility or functionality to a customer. This prototype system is usually incomplete; the real system is constructed after the customer and developer evaluate the prototype. Should the system requirements document be written before or after a prototype is developed? Why?
- Pfleeger and Hatton (1997) examined the quality of a system that had been specified using formal methods. They found that the system was unusually well-structured and easy to test. They speculated that the high quality was due to the thoroughness of the specification, not necessarily its formality. How could you design a study to determine whether it is formality or thoroughness that leads to high quality?
- Sometimes a customer requests a requirement that you know is impossible to implement. Should you agree to put the requirement in the definition and specification documents anyway, thinking that you might come up with a novel way of meeting it, or that you will ask that the requirement be dropped later? Discuss the ethical implications of promising what you know you cannot deliver.
- Complete the diagram in the Jackson’s finite state machine example
- Generate a diagram to illustrate the requirements for one of the functions of automatic bank teller machine.
- A specification is complete if and only if there is a transition specified for every possible combination of state and input symbol. We can change an incomplete specification to a complete one by adding an extra state, called a trap state. Once a transition is made to the trap state, the system remains in the trap state, no matter the input. For example, if 0, 1, and 2 are the only possible inputs, the system depicted by Figure 1 can be completed by adding a trap state as shown in Figure 2. In same manner, complete the transition diagram of Exercise 6.
Figure 1. Original system for Exercise 7
Figure 2. Revised system with a trap state