This document lists 10 exercises related to requirements analysis and modeling techniques for computer systems. The exercises cover topics such as identifying types of requirements, describing ambiguities in natural language requirements, drawing diagrams to model systems, and discussing challenges that may arise when eliciting and analyzing stakeholder requirements.
This document lists 10 exercises related to requirements analysis and modeling techniques for computer systems. The exercises cover topics such as identifying types of requirements, describing ambiguities in natural language requirements, drawing diagrams to model systems, and discussing challenges that may arise when eliciting and analyzing stakeholder requirements.
This document lists 10 exercises related to requirements analysis and modeling techniques for computer systems. The exercises cover topics such as identifying types of requirements, describing ambiguities in natural language requirements, drawing diagrams to model systems, and discussing challenges that may arise when eliciting and analyzing stakeholder requirements.
This document lists 10 exercises related to requirements analysis and modeling techniques for computer systems. The exercises cover topics such as identifying types of requirements, describing ambiguities in natural language requirements, drawing diagrams to model systems, and discussing challenges that may arise when eliciting and analyzing stakeholder requirements.
Download as DOC, PDF, TXT or read online from Scribd
Download as doc, pdf, or txt
You are on page 1of 3
EXERCISES
Chapter 6 Exercises 141 _._---
6.1 Identify and briefly describe four types of requirements that may be defined for a computer based system 6.2 Discuss the problems of using natural language for defining user and system requirements, and show, using small examples, how structuring natural language into forms can help avoid some of these difficulties. 6.3 Discover ambiguities or omissions in the following statement of requirements for part of a Ticket issuing system. An automated ticketissuing system sells rail tickets. Users select their destination and input a credit card and a personal identification number. The rail ticket is issued and their credit card account charged. When the user presses. the start button, a menu display of potential destinations is activated, along with a message to the user to select a destination. Once a destination has been selected, users are requested to input their credit card. Its validity is checked and the user is then requested to input a personal identifier. When the credit transaction has been validated, the ticket is issued. 6.4 Rewrite the above description using the structured approach described in this chapter. Resolve the identified ambiguities in some appropriate way. 6.5 Draw a sequence diagram showing the actions performed in the ticketissuing system. You may make any reasonable assumptions about the system. Pay particular attention to specifying user errors. 6.6 Using the technique suggested here, where natural language is presented in a standard way, write plausible user requirements for the following functions: The cashdispensing function in a bank ATM The spellingcheck and correcting function in a word processor An unattended petrol (gas) pump system tl1at includes a credit card reader. The customer swipes the card through the reader and then specifies the amount of fuel required. The fuel is delivered and the customer s account debited. 6.7 Describe four types of nonfunctional requirements that may be placed on a system. Give examples of each of these types of requirement. 6.8 Write a set of non-functional requirements for the ticketissuing system, setting out its expected reliability and its response time. 6.9 Suggest how an engineer responsible for drawing up a system requirements specification might keep track of the relationships between functional and nonfunctional requirements. 6.10 You have taken a job with a software user who has contracted your previous employer to develop a system for them. You discover that your company's interpretation of the requirements is different from the interpretation taken by your previous employer. Discuss what you should do in such a situation. You know that the costs to your current employer will increase if the ambiguities are not resolved. You have also a responsibility of confidentiality to your previous employer. EXERCISES 7.1 Suggest who might be stakeholders in a university student records system. Explain why it is almost inevitable that the requirements of different stakeholders will conflict in some way. 7.2 A software system is to be developed to manage the records of patients who enter a clinic for treatment. The records include records of all regular patient monitoring (temperature, blood pressure, etc.), treatments given, patient reactions and so on. After treatment, the records of their stay are sent to the patient's doctor who maintains their complete medical record. Identify the principal viewpoints which might be taken into account in the specification of this system and organize these using a viewpoint hierarchy diagram. 7.3 For three of the viewpoints identified in the library system, LIBSYS (Figure 7.4), suggest three requirements that could be suggested by stakeholders associated with that viewpoint. 7.4 The LIBSYS system has to include support for cataloguing new documents where the system catalog may be distributed across several machines. What are likely to be the most important types of non-functional requirements associated with the cataloguing facilities? 7.5 Using your knowledge of how an ATM is used, develop a set of use-cases that could serve as a basis for understanding the requirements for an ATM system. 7.6 Discuss an example of a type of system where social and political factors might strongly influence the system requirements. Explain why these factors are important in your example. 7.7 Who should be involved in a requirements review? Draw a process model showing how a requirements review might be organized. 7.8 Why do traceability matrices become difficult to manage when there are many system requirements? Design a requirements structuring mechanism, based on viewpoints, which might help reduce the scale of this problem. 7.9 When emergency changes have to be made to systems, the system software may have to be modified before changes to the requirements have been approved. Suggest a process model for making these modifications that ensures that the requirements document and the system implementation do not become inconsistent. 7.10 Your company uses a standard analysis method that is normally applied in all requirements analyses. In your work, you find that this method cannot represent social factors that are significant in the system you are analyzing. You point this out to your manager, who makes it clear that the standard should be followed. Discuss what you should do in such a situation. EXERCISES ___i _ 8.1 Draw a context model for a patient information system in a hospital. You may make any reasonable assumptions about the other hospital systems that are available, but your model must include a patient admissions system and an image storage system for X-rays, as well as other diagnostic records. 8.2 Based on your experience with a bank ATM, draw a data-flow diagram modeling the data processing involved when a customer withdraws cash from the machine. 8.3 Model the data processing that might take place in an e-mail system. You should model the mail-sending and mail-receiving processing separately. 8.4 Draw state machine models of the control software for: An automatic washing machine that has different programs for different types of clothes The software for a DVD player .~l; A telephone answering system that records incoming messages and displays the number of accepted messages on an LED. The system should allow the telephone customer to dial in from any 10cCition, type a sequence of numbers (identified as tones) and play the recorded messages. 8.5 A software system model may be represented as a directed graph where nodes are the entities in the model and arcs are the relationships between these entities. Entities and relationships in the model may be labeled with a name and other information. Each entity in the model is typed and may be 'exploded' into a sub-model. Draw a data model that describes the structure of a software system model. 8.6 Model the object classes that might be used in an e-mail system. If you have tried Exercise 8.3, describe the similarities and differences between the data processing model and the object model. 8.7 Using the information about the system data shown in Figure 8.8, draw a sequence diagram that shows a possible sequence of actions that occur when a new article is catalogued by the LIBSYS system. 8.8 Develop an object model, including a class hierarchy diagram and an aggregation diagram showing the principal components of a personal computer system and its system software. 8.9 Develop a sequence diagram showing the interactions involved when a student registers for a course in a university. Courses may have limited enrolment. so the registration process must include checks that places are available. Assume that the student accesses an electronic course catalogue to find out about available courses. 8.10 Under what circumstances would you recommend against using structured methods for system development?