Вы находитесь на странице: 1из 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?

Вам также может понравиться