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 usercases 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 Deposit
Transfer
System shutdown
Figure 1 ATM system use-cases
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
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:
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
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 (e.g. MS Outlook)
Search
Directory server
Client User
1: execute () 2: search () 3: do something () 4: here is a list 5 6