You are on page 1of 8

Software Engineering

……………………………………………………………………………………………………
CHAPTER-4
1) Identify and briefly describe four types of requirement that may
be defined for a computer-based system?
Types of requirements for a computer based system: Generally, system requirements
are included to communicate the functions that the system should provide. And every
computer based systems consists of many requirements. They are:
1. Non-functional requirements.
Constraints on the services or functions offered by the system such as timing
constraints, constraints on the development process, standards, etc. often these are
applied to the system as a whole rather than individual features or services
2. User requirements
The requirements are the statements in a natural language plus diagrams of the
services the system provides and its operational constraints.
3. System requirements
A structured document setting out detailed description of the system’s functions,
services and operational constraints. Define what should be implemented. It may
be part of a contract between client and contactor.
4 .Functional requirements
These are the statement of the services the system should provide, how the system
should react to particular input and how the system should behave in particular
situation.
1) Rewrite the above description using the structured approach
described in this chapter. Resolve the identified ambiguities in
some appropriate way?
-Function – Give customer a rail ticket, and charge credit account accordingly
-Description – Determine customer’s destination, calculate the charge for the trip,
and charge the customer the appropriate amount. If charge is complete, print the
ticket, otherwise, print no ticket, and report error to customer.
-Inputs – Destination, credit card number, personal ID number
-Outputs – Tickets, error messages
-Action – Ask the customer for their destination, when input, calculate the total,
and prompt for swiping of a credit card, prompt customer for PIN, prompt
customer that the transaction is taking place, if successful print the ticket and
return to start state, if unsuccessful, ask customer to swipe their card again and re-
input the PIN. If unsuccessful again, prompt that the transaction has failed, and
return to start state.
-Requires – Destination, credit card number, and PIN
-Pre-condition – None
-Post-condition – None
-Side effects – Charge to the customer’s credit account.
2) Write a set of non-functional requirements for the ticket issuing
system, setting out its expected reliability and its response time?
Possible non-functional requirements for the ticket issuing system include:
1. Between 0600 and 2300 in any one day, the total system down time should not
exceed 5 minutes.
2. Between 0600 and 2300 in any one day, the recovery time after a system
failure should not exceed 2 minutes.
3. Between 2300 and 0600 in any one day, the total system down time should not
exceed 20 minutes. All these are availability requirements – note that these vary
according to the time of day. Failures when most people are traveling are less
acceptable than failures when there are few customers.
4. After the customer presses a button on the machine, the display should be
updated within 0.5 seconds.
5. The ticket issuing time after credit card validation has been received should not
exceed 10 seconds.
6. When validating credit cards, the display should provide a status message for
customers indicating that activity is taking place. This tells the customer that the
potentially time consuming activity of validation is still in progress and that the
system has not simply failed.
7. The maximum acceptable failure rate for ticket issue requests is 1: 10000.
3) Suggest how an engineer responsible for drawing up a system
requirements specification might keep track of the relationships
between functional and non-functional requirements?
Keeping track of the relationships between functional and non-functional
requirements is difficult because non-functional requirements are sometimes
system level requirements rather than requirements which are specific to a single
function or group of functions.
--One approach that can be used is to explicitly identify system-level
nonfunctional requirements that are associated with a functional requirement and
list them separately. All system requirements that are relevant for each functional
requirement should be listed. They can be related by including them in a table as
shown below.
#Functional requirement: The system shall provide an operation which allows
operators to open the release valve to vent steam into the atmosphere.
#Related non-functional system requirements: Safety requirement: No release of
steam shall be permitted if maintenance work is being carried out on any steam
generation plant.
# Non-functional requirements: Timing requirement: The valve must open
completely within 2 seconds of the operator initiating the action.
4) Using your knowledge of how an ATM is used, develop a set of use
cases?
1. The user is prompted to enter a card
2. The user enters their card
3. The user is prompted to enter their PIN
4. The user enters their PIN
5. The user is prompted to withdraw or check balance
6. The balance is displayed
7. If withdraw is chosen, the user is prompted to enter the amount to be withdrawn
8. If withdraw is chosen, the amount is compared with the balance, and if enough
money is available, the money is dispensed
9. If withdraw is chosen, the user is prompted to take the dispensed money
10. The user is prompted to take their card
11. All transactions are complete, and display a happy message for the user.
5) Who should be involved in a requirement review? Draw a process
model showing how a requirement review might be organized?
The primary stakeholders should be involved in the requirements review, as well as those
involved with the development of the system, and the project managers who are in charge of the
budget and scheduling of the system

……………………………………………………………………………………………………
CHAPTER-5
1) Explain why it is important to model the context of a system that is
being developed. Give two examples of possible errors that could
arise if software engineers do not understand the system context?
Because context models show the environment that includes several others
automated systems. These models will help in getting a clear view of the
system to be developed and several other systems involved.
Two examples:
1.) The software engineers may miss some functionality to be included which
require coordinating with automated systems.
2.) The system design and development may be deviated from the actual
functionality as some requirements may not be known properly?
2) How might you use a model of a system that already exists?
Explain why it is not always necessary for such a system model to
be complete and correct. Would the same be true if you were
developing a model of a new system?
You might create and use a model of a system that already exists for the followin
g reasons:
1. To understand and document the architecture and operation of the existing sys
tem
2. To act as the focus of discussion about possible changes to that system.
3. To inform the re-implementation of the system.
You do not need a complete model unless the intention is to completely
document the operation of the existing system. The aim of the model in such
cases is usually to help you work on parts of the system so only this need to be
modeled. Furthermore, if the model is used as a discussion focus, you are
unlikely to be interested in details and so can ignore parts of the system in the
model.
This is true, in general, for models of new systems unless a model-based
approach to development is taking place in which case a complete model is
required. The other circumstance where you may need a complete model is when
there is a contractual requirement for such a model to be produced as part of the
system documentation.
3) For the MHC-PMS, propose a set of use cases that illustrates the
interactions between a doctor, who sees patients and prescribes
medicine and treatments, and the MHC-PMS.?
-The MHC-PMS (Mental Health Care-Patient
Management System) is an information system that is intended for use in clinics.
- It makes use of a centralized database of patient information but has also been
designed to run on a PC, so that it may be accessed and used from sites that do
not have secure network connectivity.
-When the local systems have secure network access, they use patient
information in the database but they can download and use local copies of
patient records when they are disconnected.

4) Develop a sequence diagram showing the interactions involved


when a student registers for a course in a university. Courses may
have limited enrollment, so the registration process must include
checks that places are available. Assume that the student accesses
an electronic course catalog to find out about available courses?
A relatively simple diagram is all that is needed here. It is best not to be too
fussy about things like UML arrow styles as hardly anyone can remember the
differences between them

5) Look carefully at how messages and mailboxes are represented in


the e-mail system that you use. Model the object classes that
might be used in the system implementation to represent a
mailbox and an e-mail message?
6) Based on your experience with a bank ATM, draw an activity
diagram that models the data processing involved when a
customer withdraws cash from the machine?

……………………………………………………………………………………………………
CHAPTER-6
1) When describing a system, explain why you may have to design
the system architecture before the requirements specification is
complete?
The architecture may have to be designed before specifications are written to
provide a means of structuring the specification and developing different sub-
system specifications concurrently, to allow manufacture of hardware by sub-
contractors and to provide a model for system costing
2) Explain why design conflicts might arise when designing an
architecture for which both availability and security
requirements are the most important non-functional
requirements?

You might also like