You are on page 1of 7

Question 1

Explain why the intangibility of software systems poses special problems for software project
management. Use an example to help explain your answer.

Solution
The fact that software systems cannot be seen or touched makes it difficult for software
project management because software cannot be inspected like a concrete item such as a
house. It is hard to tell exactly what the status of the development is. In other words,
software project managers cannot see progress as a house builder would.

Question 2

Explain why the process of project planning is an iterative one and why a plan must be
continually reviewed during a software project.

Solution
Software projects usually take place in changing information environment. Project
planning can only be based on available information. At the beginning of a project, there
are many uncertainties in the available information. Most of the time, some information
about the project and the product may not be available. As the project develops, more and
more information becomes available and uncertainties are resolved. The project plan
therefore must be reviewed and updated regularly to reflect this changing information
environment. This type of iterative process and the continuous review of the project plan
will increase the possibility of delivering a successful project.

Question 3

What is the critical distinction between a milestone and a deliverable?

Solution
A milestone is a certain goal to reach before a specific time, but you don't necessarily
have to finish a deliverable product. An example would be to finish a module on a
specified time. A deliverable, on the other hand, is a project result that is delivered to the
customer. It is usually delivered at the end of some major project phase such as
specification, design, etc. An example of a deliverable is, a working version of a project.
Deliverables are usually milestones but milestones need not to be deliverables.
Milestones may be internal project results that are used by the major project manager to
check project progress but which are not delivered to the customers.

Question 4

The following statement specifies requirements for a part of a ticket system for a train company:

“An automated ticket issuing system sells rail tickets..."

What is problematic concerning the above statement of requirements? Discover ambiguities


and/or omissions in the above statement. Rewrite the above description using a more structured
approach (introduced in the course readings and lectures). Specify clearly all of the potential user
and/or system requirements related to the above statement.
Solution
The problematic concerning the statement is that, there are a lot of ambiguities, omissions
and unstated assumptions about the requirements. Some of these ambiguities and
omissions can be discovered by asking questions such as: can a customer buy several
tickets for the same destination together or must the tickets be bought one at a time? Must
the user press the start button again if they wish to buy another ticket to a different
destination? Can customers cancel a request if a mistake is made? How should the system
respond if an invalid card is input? Major ambiguities can arise for invalid transactions,
incorrect IDs, etc. Also there are no details about how credit information is input, is it by
manually entering numbers, or swiping a card?

The above statement of requirement can be rewritten using a structured approach as done
below:

Function – Print a ticket for a customer and charge customer’s credit/debit account.
Description – verify a customer’s destination, compute the charge for the trip, and
charge the customer the computed 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 to enter their destination, compute the total, and prompt for a
credit card, prompt customer for PIN, prompt customer that the transaction is
taking place, if transaction is 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
Outcome – Charge to the customer’s credit account

Question 5

Describe three different types of non-functional requirements which may be placed on a system
of your choice. Give examples of each of these types of requirement. Very briefly, explain what
the system is and why these are important non-functional requirements.

Solution
The LONTAR Digital Library System is a system designed for library that covers the
scope of university, based on university characteristics which consist of some facilities
and departments. Taking the LONTAR digital Library System into consideration, we can
identify the three main non-functional system requirements (namely, product,
organizational and external requirements).
Product requirements are the requirements that seek to specify the product
behavior of the system. Examples of the product requirements for the LONTAR
system are:
o Performance: The time to search a particular document is not less than 5
ms. The time to login into the system must be less than 1 ms, the system
cannot be down for more than 1 hour (downtime) and any downtime
should be at 01.00 AM where system usage is at the minimum level.
o Efficiency: The form that has to be written to enter a document should be
the only one with less than 10 fields. No form is needed to request a
particular document.
Organizational requirements are usually derived from policies, procedures in
either or both customer’s and/or developer’s organization.
o Standard: this system is based on java (java programming language)
o Implementation: communication among libraries is applied by using a
middleware namely web service.
External requirements cover everything that arrives from factors external to, but
will affect the system.
o Interlibrary loan laws and regulations
o Copy rights of authors, publishers, etc

Question 6

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 ways.

Solution
There are several people who might be stakeholders in a university student records
system. These stakeholders include, student, lecturers, administration staff, finance staff,
accounting staff and Career Services staff.

It is almost inevitable that the requirements of different stakeholder will conflict in some
ways because most stakeholders usually need/use different formats for
requesting/viewing student information. As examples, an accounting staff may not need
student GPA as an administration staff might, a lecturer may not need student outstanding
balance as a finance staff might.

Question 7

Using your own knowledge of how an ATM is used, develop a set of use-cases (see handout:
Chapter 6 - Requirements engineering processes) that could be used to derive the requirements
for an ATM system.

Solution
In order to be able to develop a set of user-cases that could be used to derive the
requirements for an ATM system, we must first identify the actors involved in an
interaction and the names of the various interactions. To do this, we first identify the
possible interactions with an ATM system:

Interactions: turning the ATM Machine on and off, doing all the possible customer
transactions (ie, withdrawal, checking balance, depositing and transferring funds.) By
looking at the set of interactions we can clearly identify the actors in the ATM system
user-case. These users include the ATM operator, customer and the bank. The set of user-
cases that could be used to determine the requirements for the ATM system include:

System startup use-case: this when the operator turns the operator switch on the
ATM to the “on” position and does all the necessary operations to establish a
connection to the machine to ensure that the machine is ready to be used.
Session use-case: when the customer inserts an ATM card into the card reader slot
of the machine and it prompts the customer for user authentication and selection
of transaction type.
Transaction use-case: even though this is an abstract generalization, the
transaction use-case is started within a session when the customer chooses a
transaction type from the presented menu of options. If a customer’s PIN is
invalid, an Invalid PIN extension will be performed and then an attempt will be
made to continue the transaction.
Within the transaction use-case there are several other use-cases that are
performed; These include:
o Withdrawal transaction use-case
o Deposit transaction use-case
o Transfer transaction use-case
o Account/Inquiry transaction use-case
Invalid PIN Extension use-case: this is also started from within a transaction in
the cases where customer’s transaction is disapproved due to invalid PIN or for
some other reason.
System Shutdown use-case: when the operator makes sure that no customer is
using the machine, and then turns the operator switch to the “off” position. The
connection to the bank is then shut down.

ATM SYSTEM

System startup

Session
Invalid
PIN

CUSTOMER
Transaction

Withdrawal Inquiry BANK


OPERATOR
Deposit Transfer

System
shutdown

Figure 1 ATM system use-cases

Question 8
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.

Solution
The main data processing involved in a bank ATM when a customer withdraws cash
from the machine includes: input of user and transaction information, validating
information, recording information, updating databases, preparing and dispensing cash to
the customer. The data-flow diagram is shown below:

Transaction Account
Database Database

Customer &
Enter Transaction Validate Transaction Balance
Withdrawal
Transaction Info info Transaction Info Signed Detail
information Detail
Transaction

Record Transaction
Update Balance
Transaction Amount

Permission
Delivery granted
Cash Money Deliver Money Prepare Money
command

Figure 2 Data-flow Diagram for withdrawal from an ATM

Question 9

Draw a state machine model of the control software for a compact disc player.

Solution
The diagram below represents the control software for a compact disc player:
Door Close

Idle
Of f
But
to n
Door Closed Off Button
Open Door
Off button

Door Ready to
Idle On Button Ready Door Closed
Open Play

Off button
Open Door

tto
Bu
Of f
Tr
ac

Play Button
kS
ele
cto
r
End of Play

Track
Disk Playing
selection
Play button

Figure 3 State Machine model of the control Software for a CD Player

Question 10

Create a model describing potential object classes and their relationships for an e-mail client.
Choose one potential activity that a user may perform in your client and draw an object behavior
diagram explaining the system's behavior for that activity.

Solution

Email Client

Messaging Server/MMP Calender Server/proxy Directory Server


Email Client Directory
Search
(e.g. MS Outlook) server

Client User

1: execute ()
2: search ()

3: do something ()

4: here is a list
5
6

You might also like