Professional Documents
Culture Documents
HW 4
HW 4
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 customers credit/debit account.
Description verify a customers 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 customers 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.
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 customers 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 customers 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
Deposit
Transfer
System
shutdown
Question 8
BANK
OPERATOR
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:
Customer &
Withdrawal
information
Enter
Transaction Info
Transaction
info
Validate
Transaction Info
Signed
Transaction
Transaction
Database
Account
Database
Transaction
Detail
Balance
Detail
Record
Transaction
Cash Money
Deliver Money
Delivery
command
Prepare Money
Transaction
Amount
Permission
granted
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:
Update Balance
Door Close
Idle
Of f
But
to
n
Off Button
Door Closed
Open Door
Off button
Door
Open
Ready
Door Closed
Ready to
Play
Of f
Open Door
Off button
On Button
Bu
tto
n
Idle
Play Button
End of Play
Tr
ac
kS
ele
cto
r
Track
selection
Disk Playing
Play button
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
(e.g. MS Outlook)
Search
Directory
server
Client User
1: execute ()
2: search ()
3: do something ()
4: here is a list
5
6