You are on page 1of 6

ASSIGNMENT

Question 1

[20%] .

a. Describe the waterfall model of software development and discuss its strengths and weaknesses. b. For which of the following projects would it be suitable, and why? i. an incremental compiler for Java ii. a clinical-record-keeping system for dentists iii. a word-processing package c. State the advantages and disadvantages of the evolutionary model of software development. d. Is it more, or less, suitable than the waterfall model for safety-critical projects? Justify your answer. Question 2 Read the following EMS description and answer the following questions. This system is an election management system (EMS) for Malaysian government elections. An election is scheduled for a specific date, and usually several (or all) positions are voted on together. However, sometimes there is a need for a by-election to elect a particular member. The system will keep track of candidates for each seat. The system will also record who is the incumbent for a seat, and record the name of each candidate and incumbent. The system will keep track of the list of eligible voters. Each voter can only vote for certain positions (e.g. the candidates for their area). Each voter is assigned to vote at a specific polling place. The system records the name and address of each voter. Finally, the system will keep track of the number of votes for each candidate at each polling place. However, under no circumstances will it record which voter voted for which candidate, nor whether a voter voted at all. a. Determine the suitable sub-systems for EMS. Using the appropriate architectural style, draw the architectural model that shows the organizational structure of EMS system. b. Give at least TWO reasons why do you choose the architectural style of your choice. Question 3 Read the following description on Johor Environment Monitoring System (JAMS) and answer the following questions. The Johor government has just launched a new system as part of its effort to reduce global warming and to be more environmental friendly. An environmental monitoring system has been set up that collects data from a set of air quality sensors situated around Skudai city. There are 500 sensors organized into 100 neighborhoods. Each sensor must be interrogated four times per second. When more than 30% of the sensors in particular neighborhood indicates that the air quality is below an acceptable level, local warning lights are activated. All sensors return the readings to a central computer, which generates reports every 15 minutes on the air quality in the Skudai city. a. Control styles are used to model the flow of control between sub-systems. What is the suitable control style for JAMS? Give one main reason to support your answer. b. Draw the architectural model of JAMS using your chosen control style.

Question 4 Identify the non-functional requirement type for the following list of 10 requirements. Briefly justify your choice in a single sentence. Choose from Sommervilless list of nonfunctional requirement types: Product requirements o Efficiency (performance, space), usability, reliability, portability Organisational requirements o Delivery (when), implementation constraints (language, design method, maintainability), standards External requirements o Interoperability, legislative (privacy, safety), ethical (acceptable to customer and public)

a. The system should be available 99% of the time between 8.00 am and midnight b. Simple enhancements should be effected within one week c. Average response time should be less than 5 seconds d. The new system should be available for the commencement of the XYZ project e. An experienced project manager should be able to use the new system after one hours training. f. Use the class library on the developers server g. The system will operate on Windows NT/2000 platforms h. The system shall only be accessible to authorised users i. j. Estimates & actuals will be used to update the database of historical estimating data maintained by XYZ organisation The system shall conform to the requirements of the data protection act.

Question 5 a. Discover ambiguities or omissions in the following statement of requirements for part of a ticketissuing system: An automated ticket-issuing system sells rail tickets. Users select their destination and input a credit card and a personal identification number. The rail ticket is issued and their credit card account charged. When the user presses the start button, a menu display of potential destinations is activated, along with a message to the user to select a destination. Once a destination has been selected, users are requested to input their credit card. Its validity is checked and the user is then requested to input a personal identifier. When the credit transaction has been validated, the ticket is issued. b. Write a set of functional requirements for the ticket-issuing system. c. Write a set of non-functional requirements for the ticket-issuing system, setting out its expected reliability and response time.

Question 6

a. The Lecturers Appointment Management System consists of a number of use cases that can be
initiated by students such as Make an Appointment, Cancel the Existing Appointment, and View Existing Appointments. Based on the main flow description of Make an Appointment use case in Figure C.1, draw a sequence diagram.
Main Success Scenario (or Basic Flow) Make an Appointment 1. 2. 3. 4. 5. 6. 7. 8. Student select Make an Appointment from Main Student Form. System displays Make an Appointment Form. Student select the name of the lecturer and the date range (i.e. from_date and to_date). System get the available slots from the lecturers schedule within the date range. System displays the available slots. Student select the slot for new appointment. Student submit the new appointment. System create new appointment and set the intial information of the appointment (i.e. studentID, lecturerID, and creationDate) 9. System set the date and time of the appointment based on the selected slot. 10. System saves the information in the database. Figure C.1: The Basic Flow of the Make an Appointment use case

b. Check-out Customer is one of the use cases in a Point of Sale (POS) system, which records the items
sold to a customer and handle the payment. The basic flow of Check-out Customer is shown in Figure C.2 and the sequence diagram of its Basic Flow is shown in Figure C.3. Based on the information in Figure C.2 and Figure C.3: i. Identify and list down at least TWO classes that should be added to refine the sequence diagram during the detailed design activity.

ii. Draw a class diagram. You must include the identified classes, relationships, attributes, and operations in the class diagram.

Main Success Scenario (or Basic Flow) 1. Customer arrives at POS check-out (or check-out counter) with goods and/or services to purchase. 2. Cashier starts a new sale. 3. Cashier enters item identifier. 4. System records sale line item and presents item description, price, and running total. Price calculated from a set of price rules. 5. Cashier repeats steps 3-4 until indicates done. 6. System presents total with taxes calculated. 7. Cashier tells Customer the total, and asks for payment. 8. Customer pays and System handles payment. 9. System logs completed sale and sends sale and payment information to the external Accounting system (for accounting and commissions) and Inventory system (to update inventory). 10. System presents receipt. 11. Customer leaves with receipt and goods (if any).

Figure C.2: The Basic Flow of Check-out Customer use case

Figure C.3: The sequence diagram for Main Flow of Check-out Customer use case

Question 7
Consider the following description of Midland airline e-commerce system: Midlands Air is a Midlands based airline offering competitive fares on various routes throughout the UK and Europe. Like most airlines Midlands Air needs to urgently upgrade its passenger reservation system so that it can handle online flight bookings over the Internet. Midlands Air wants an e-commerce web site that will enable potential passengers to check flight timetables and will allow flights to be booked and paid for using a credit/debit card. The new e-commerce system should be able to handle three categories of potential passengers: adults, who pay full fare, children (under the age of 15), who pay half fare and frequent flyers, who get a 10% discount. Before making a booking, a user will use the website to select their preferred departure and destination airports where the airline operates. Next, the user will select the departure and return dates. Then a list of all the available flights will be displayed including dates and times for each flight together with their length and fares. A flight may involve stopovers in airports. The system has to record the arrival and departure time of stopovers. After that, the user should be able to select a flight from the list. Of course, the system will not display any "fully booked" flights. Once the user selects a flight, in order to make the booking he/she needs to enter the details of all intended passengers: name, telephone number, postal address, date of birth, and e-mail address. Frequent flyers will have to enter a valid 10-digit PIN in order to get the discount. The user will be prompted to input the payment details: cardholder name, card number, and issue date. The system will then transfer control to a separate secure server for credit status confirmation. If the payment is authorised the system will book the flight, mark the seat(s) as "sold". If the payment is rejected by the secure server the entire transaction will be rolled back and the seat(s) will become available to other users. In your class diagram include a single control object, which represents the system as a whole, and which handles all the messages from the user.

a. b. c.

Draw an UML Use Case Diagram to represent activities of the system. Produce a step by step use case description for the basic course of events of use case Make Booking. Produce an UML Class Diagram for the airline e-commerce system. This model should consist of all classes in your system, their attributes and operations, relationships between the classes, multiplicity specifications, and other model elements that you find appropriate. Produce an UML Sequence Diagram for the use case Make Booking.

d.

Question 8 a. Consider a module, called ElecBill which is part of Tenaga National Berhad (TNB) billing application. The ElecBill module is to compute bill payment of electrical consumption for different users. In order to promote saving, TNB charge a lower rate to users with lower consumption as shown in Table C.4. User Type Household Office Factory First Rate 0.10 for first 500 unit 0.25 for first 1000 unit 0.50 for first 1500 unit Table C.4: Rate Second Rate 0.25 for the following units 0.50 for the following units 0.75 for the following units

i.

Write test-cases for testing the functionality of this module by using equivalence partitioning technique. Name each class and identify the input of each class in the test-cases.

ii. Write test-cases for testing the functionality of this module by using boundary-value analysis technique. Name each class and identify the input of each class in the test-cases.

b. Discuss the TWO differences of the above testing techniques with basic path testing technique. Suggest at which phase the techniques should be planned in verification and validation planning. c. Explain why testing can only detect the presence of errors, not their absence.

Remark: All assignments are individual work. They will prepare you for your final examination.

Due date: On or before 26/5/12

You might also like