Practice Questions
Practice Questions
Practice Questions
Q1. Wasim Tiwana and Nasim Tiwana are two brothers who have been running an electronic items shop
for quite a few years. Their customers visit them with the orders and the brothers provide the
customers with the required items. In case the required items are not available in stock, Tiwanas
immediately request their supplier to send the items. Once the items are received and their stock is
enough, they prepare the order and move towards completion of the order. During the completion
phase they have to generate an invoice, receive payments, and provide a delivery note to the
customers.
Q2. Consider the business mentioned in Q1. Tiwana brothers have now decided to computerize their
system to reduce the paper work involved in recording and processing of the orders. They have hired a
software engineer Shamim Khatana who has analysed their requirements and has come up with a Data
Flow Diagram (DFD). Khatana being a professional, has been following SE principles and has refined the
DFD to the last possible level. This DFD can be seen in the figure below. Khatana’s next step is to
perform structured design and come up with an architecture of this order management system.
To do:
a) Is this DFD meeting all the notation related requirements? If no, modify the DFD to make it
complete in terms of notation and rules
b) Which of the processes are potentially ‘Not primitive’? If possible, refine the DFD to the next
level. If it is not possible, justify why can’t this DFD be further refined.
Q3. In most of the software engineering projects the clients are found to be changing their requirements
frequently and the software engineers are found to be dealing with the issue of unstable requirements.
The requirements keep on changing even when the major portion of the software has been
implemented and tested. The software engineers try to incorporate the required changes even in later
phases of software development. Malleability is a property of software that allows the clients to change
the requirements that frequently and lets the software engineers attempt the implementation of the
changes. What issues can arise if this property is exploited? What can a good requirements engineer do
to deal with unstable requirements and yet complete (or continue with) the development of the
software?
Q4. Problem
Distance learning till today is one-way road as only teachers are delivering content or video lectures. In this way
students can’t ask questions on parts of lecture, which may leave them with ambiguity on some topic(s).
It is hard to maintain hardcopies of lectures for teachers and rewrite them every time they teach the same class. It
is not even a good idea for students to maintain their notes in form of hardcopies and do their assignments on
papers and the much of the research work they have to do now days is through internet and eBooks. So it is a
tough ask for students even to maintain hardcopies of lectures in each semester or year of their college and where
there are many chances to lose the back track of their previous lectures and notes.
Secondly, for professional students and the students of practical subjects like Mathematics and Arts, it is necessary
to look through problems deeply and ask teachers questions on each point of confusion.
Thirdly, students lose some concentration to lecture, as they get more involved in taking down notes instead of
listening to the lecture and grasping what the teacher is pinpointing. This is another vital issue that causes a lack of
interest in many students and many fail to get most out of lectures due to this problem.
So, the core point is to develop a healthy classroom environment that simulates real-world class environment,
which would help students in distance learning and teachers in distance teaching.
To do: Your task is to read the above text and list all the functional and non-functional requirements that are
relevant with the problem. All the written requirements should be Testable (aka Verifiable). All the requirements
should follow the standard format and style for writing the requirements.
Q5. We need to develop an automated ticketing system which allows travelers to get the tickets issued
and cancelled. The travelers can pay for the tickets through credit cards only. The ticketing system
receives traveler’s details (such as name, contact number, credit card number) and travel details (such
as destination station, source station, travel date, travel time, number of seats, seat preferences) from a
Traveler and issues a ticket to the traveler on the basis of availability of seats. The system checks for
availability of seats before processing payments and issuing the ticket. The payments are processed
based on already set ticket prices. The system contacts the Bank to process the payments and a ticket is
issued only when payment through credit card is successful. The system provides the bank with the
credit card (cc) information and the payment amount to receive a confirmation of successful payment.
On successful payment the system issues a ticket to the traveler and records the information related to
the ticket. The ticket has a ticket number, traveler’s name, contact number, seating details, travel time,
bus details, payment amount etc.
The system is also capable of handling ticket cancellation requests. A traveler needs to provide ticket
number when requesting for cancellation. The system contacts the bank with cc information and the
amount to be refunded, before sending the cancellation confirmation to the traveler. If a ticket cannot
be cancelled, the system informs the traveler about rejection of the request.
To do: Develop a level 0 and level DFD for this system. Refine the DFD to the maximum levels possible.
Mention the reason to stop the refinement.
Q6. Suppose we are developing a water-monitoring system where data are gathered at many points
throughout a river valley. At the collection sites, several calculations are done, and the results are
communicated to a central location for comprehensive reporting. Such a system may be implemented
with a computer at the central site communicating with several dozen smaller computers at the remote
locations. Many system activities must be considered, including the way the water data are gathered,
the calculations performed at the remote locations, the communication of information to the central
site, the storage of the communicated data in a database or shared data file, and the creation reports
from the data.
To do: Will developing an ER diagram for this system help elaborate the requirements? If possible, then
take some assumptions regarding the system and draw an ER diagram.
Q7. Suppose we are developing a system to grant authorized access to lab based on RFID cards. The
system will have an RFID module and is intended to prevent unauthorized students from entering the
university’s research lab. This prevention is done by controlling the lock on the doors. When a person
tries to enter the lab, he/she touches his/her card with the RFID modules mounted on the door. The
system compares the card holder’s record with the records of authorized card holders. The door lock is
opened only if the person is authorized to pass through the door.
To do: Which of the elaboration tools (diagrams) are applicable for this statement. Draw all the
applicable elaboration diagrams.
Q8. For the system mentioned in Q6, which of the elicitation techniques are applicable and why?
Q9. For the system mentioned in Q7, which of the elicitation techniques are applicable and why?
Q10. Royal Bank of Kuwait (RBK) needs a banking application that allows its customers to
maintain their bank accounts. The system should allow a customer to view account balance and
shop online using the bank account number. Customer can also view the status of the account
and change currency of his/her bank account. Some other tasks that a customer should be able
to perform include Pay Bills, Transfer Funds (to same or other banks), Request Chequebook
Generate Mini Statement, Generate Account Statement for particular period (period not
exceeding 1 year), Generate Transaction PIN, Add/Remove beneficiary for fund transfers, and
Request Bank draft/Pay Order. The account statement of last 3 years can be requested through
this application, the customer must visit bank in order to get more than 3 years old bank
statement. Funds Transfer, Bill Payment, Online Shopping should be processed instantly. The
account balance should reflect each of these activities within 5 seconds of request.
RBK expects that once the application is developed, their Customers can login through their
unique account number and a strong password. But a customer cannot create his account, only
Admin, residing in Head Office of RBK, will create new account of a customer. The Admin
creates an account on recommendation of a Branch Manager who uses the same banking
system to send the recommendations for opening an account. The Branch Manager enters
customers’ details in respective recommendations and sends the recommendations to create
new accounts before the end of the day. Admin must ask the customers to verify their emails
before end of the next working day. Account creation will be successful only if a customer
verifies an email address by using the link sent during account creation process. Once the email
is verified the Admin creates the account and provides a customer a unique login id through a
verified email. The password is generated once account creation is successful, but the password
is not shared through the RBK banking system. The customer must change the password at first
login and password (of minimum length 8) must contain at least one capital alphabet of English,
one small alphabet of English, one special character, and one digit. Admin will also be able to
update/delete account of a customer, if recommended by the Branch Manager.
To do:
Note: Identify things (nouns) from the description. Determine the same things with different
names. Identify the things that are NOT part of the System and those that are part of the
System. Determine the things that need to be stored. Determine the things that will be used
during execution of the programs only. Determine the behaviors of things that need to be
modeled.
Q12. Given the following correspondence chart, identify the test cases which do not correspond to any
requirements. Further, identify the requirements for which no test cases exist.
Q13. Relate the elements of “Entries” coulmn with the elements of “Mismatched Entries” coulmn.
Write the most appropriate match in the coulmn named “Correct Match”. Write the corresponding
letter instead of writing full entry. For example, see that Agile in “Entries” is matched with M in
“Mismatched Entries”.
Note: “Mismatched Entries” coulmn contains more elements than “Entries” coulmn. You do not need to
map every element of “Mismatched Entries” onto “Entries”
You need to develop a website for the grocery store such that customers can shop remotely. Checkout
in case of remote shopping means that the customer is asked to enter shipment address and the
groceries are sent to the shipment department who is responsible for shipping the groceries. Remote
payments are made through credit card. Checkout requires that there is at least one item in the cart.
The website should also enable the Store Manager to identify weekly needs and place order for the
required items. Place Order scenario involves the monitoring of sales data and identification of weekly
needs.
To do:
a. Identify Actors
b. Develop a use case model
c. Write a user scenario (on behalf of a user) for Checkout
d. Write a few user Personas for all the actors
e. Develop a sequence diagram for Checkout scenario of part c
Q15. List some functional requirements for a pet store POS system mentioned in chapter 1 of Laplante.
Q16. Solve exercises 1.5, 1.6, 1.7, 1.8, 1.9 of the book by Laplante.
Q17. List 5 goals for the airline baggage handling system mentioned in chapter 2 of Laplante.
Q18. What are some different user classes for the smart home system described in Appendix of
Laplante’s book?
Q19. What are some difficulties that may be encountered in attempting to elicit requirements without
face-t-face interaction? See chapter 3 of Laplante.
Q26. For the pet store POS system, generate use cases for various customer purchases
Q27. For the airport baggage handling system, generate a user story for dealing with baggage that is to
be diverted to another flight.
Q28. What sort of problems might you find through traceability matrix that you might not see without
one?
Q29. Solve the following problems from chapter 4 of Pfleeger’s book: 1, 2, 4, 5, 8, 15, 16, 17, 19, 20
Q30. Solve the following problems from the uploaded book of Pressman: 8.2, 8.3, 8.9, 8.10, 8.11, 8.12,
Q31. Draw a context-level DFD for the following systems, take whatever assumptions you want:
Q32. From the list of systems given in Q31, write a high level narrative for one of the systems of your
interest. Using the context level DFD developed in Q31 and the narrative written in this question,
develop level 1 and level 2 DFDs. Use ‘grammatical parse’ on the narrative to get yourself started (to
develop level 1 DFD). Specify all information flows by labelling all arrows. Use meaningful names for
each transform.
Q33. Consider the following description for a web-based Pothole Tracking and Repair System (PTRS):
Citizens can log onto a website and report the location and severity of potholes. As potholes are
reported they are logged within a ‘public works department repair system’ and are assigned an
identifying number, stored by street address, size, (on scale of 1 to 10), location (middle, curb, etc.),
district (determined from street address), and repair priority (determined from the size of the pothole).
Work order data are associated with each pothole and include pothole location and size, repair crew
identifying number, number of people on a crew, equipment assigned, hours applied to repair, hole
status (work in progress, repaired, temporary repair, not repaired), amount of filler material used, and
cost of repair (computed from hours applied, number of people, material, and equipment used). Finally,
a damage file is created to hold information about reported damage due to the pothole and includes the
citizen’s name, address, phone number, type of damage, dollar amount of damage. PTRS is a web-based
system; all queries are to be made interactively.
To do:
Q35. Recall the reading you did during the course ‘Encounter with a customer’ and the guest lecture by
Dr. Khawaja Muhammad Umar Suleman. Determine the similarities and differences between the two
and list the lessons learnt (from the two) for a requirements engineer.
Q36. After attempting Q35, explain why is it important for a requirements engineer to understand the
nature of stakeholders?