We know the secret of your success
PAPER TITLE: SOFTWARE DEVELOPMENT WITH JAVA
DATE: Wednesday 21 October 2009
Part 1
Question 1
Which two of the following statements about object-oriented software development are true? (Select two options)
ANSWERS(Purchase full paper to get all the solution)
C. One advantage of language-independent software development is that the focus of development can initially be on general issues before becoming progressively more detailed.
D. Developing a dynamic model typically involves decisions such as which existing classes can be reused and what programming constructs are appropriate.
Question 2
The following diagram illustrates aspects of a football league administration system.
Which three of the following statements are true? (Select three options)
Question 3
Which one of the following statements about a requirements document is true? (Select one option)
Question 4
Which two of the following statements about conceptual modelling are true? (Select two options)
Question 5
Based on the information above, which two of the following statements are true? (Select two options)
Question 6
Based on the information above, which one of the following is an invariant that would be required in addition to the class diagram, as part of the conceptual model? (Select one option)
Question 7
Question 8
Which two of the following statements about the M256 approach to designing software are true? (Select two options)
Question 9
Which one of the following statements is a correct identification of the missing text indicated by the labels X, Y and Z in the sequence diagram? (Select one option)
Question 10
On the basis of the above information, which three of the following statements are true? (Select three options)
Question 11
On the basis of the above information, which two of the following statements are true? (Select two options)
RestaurantCoord:
Map getTablesAndCustomers(M256Date aDate)
Table getTable()
Reservation:
Table:
Question 12
Which two of the following statements about designing software are true?
(Select two options)
Question 13
Which two of the following statements about detailed design and implementation are true? (Select two options)
Question 14
Which two of the following statements about implementation and testing are true? (Select two options)
Question 15
Which two of the following statements about implementing software in Java are true? (Recall that in M256 the first code iteration is the first stage in implementing a core system.) (Select two options)
Question 16
Consider the prototype user interface illustrated in Figure 5. When the user enters the name of a form in the text field, the names of the pupils in that form are displayed in the list. When the user selects a pupil from the list and clicks on the Delete button, the system no longer records the pupil as being in the form. There may be any number of pupils in a form.
Which two of the following statements about this user interface are true?
Question 17
Which two of the following statements about user interface design are true? (Select one option)
Question 18
Which two of the following statements about building a graphical user interface (GUI)
are true? (Select two options)
Question 19
Which two of the following statements are true? (Select two options)
Question 20
Part 2
Question 21 [20 marks]
A large horse riding stables needs a system to record information about its riding instructors, riders and horses, and about future horse riding lessons (each involving a number of riders) and solo treks. No information about lessons or treks that have already taken place is kept by this system. Here is the relevant part of the requirements document for this system.
System domain
The stables employs several instructors, each of whom is available to give hour -long horse riding lessons. No two lessons can take place at the same date and time. Each lesson is given by one or two named instructors and may be subject to several bookings.
A rider (either a novice or an experienced rider) has to make a booking in advance for a lesson, with experienced riders being able to request a particular horse to ride in the lesson. Each lesson has a limit on the number of bookings that may be made for it. A rider may have no more than eight bookings for lessons.
An instructor may request in advance to make a solo full-day trek, using a particular horse. No more than one such trek may be requested by any instructor.
Use cases
Record new lesson. The stables manager supplies the date, time and booking limit of the new lesson and identifies the instructor(s) who will be giving that lesson.
If there is already a lesson recorded for the given date and time, or if (either of) the instructor(s) has requested a trek for the same date, then the system informs the manager of this.
Otherwise the system records the information about the new lesson.
Record new rider. The manager provides the rider’s name, phone number and date of birth and informs the system whether the new rider is a novice or experienced rider. If the rider is experienced then any riding qualifications the rider holds are also provided. The system records the information about the new rider.
Book lesson. The manager identifies the rider and the lesson. If the rider is experienced then the manager also identifies any horse requested for the booking.
The rider should have fewer than eight existing lesson bookings and should not already be booked for the lesson. The horse (if one is requested) should not be already committed to an existing booking for that lesson or to a trek for the same date.
If the lesson already has its maximum number of bookings then the system informs the manager of this.
If there is space in the lesson the system records the booking for the lesson by the rider and, if relevant, records the horse requested. The system also records the date on which the booking was made.
Display trek. The manager identifies the instructor. If the instructor has requested a trek then the system displays the date and proposed route of the trek, along with the name of the horse to be used.
Question 22 [20 marks]
The following is an extract from a structural model for a system to record and display details of the matches played between teams in a local football league. It is incomplete but contains all the information required by this question.
Question 23 [20 marks]
Below is an extract from an implementation model for an administration system for the Crash Course Driving School which organises driving lessons for its pupils in its cars. A pupil may book ahead for no more than one lesson at a time. No information about lessons which have already taken place is kept by this system.
The implementation model is incomplete but contains all the information required by this question (in particular it doesn't deal with any issues relating to the time lessons take place). It consists of a class diagram and class descriptions, and a dynamic model for a particular use case. It employs the class Name as specified on pages 14 and 15 of the M256 Handbook. It also employs the user-defined types Classification and LessonPupilCar: information about these types is given in parts (a) and (b) of the question.
Implementation model
You should skim through this model first to get an overview. Then answer the questions, referring as necessary to the details of the model.
End of implementation model
Write code for the body of the test method testGetUnpaidLessonsPupilsAndCars() corresponding to the test case specified in the table above. You are not required to provide Javadoc comments.
Notes:
Question 24 [20 marks]
The initial prototype GUI comprises two screens, as shown below.
The Booking Summary screen
This screen is intended to allow bookings and available time-slots for rooms to be displayed and selected. This is done using two tables. For the purposes of this question all you need to know about tables is that they can display information in cells, which are intersections of columns and rows.
The Choose Date table has columns representing days of the week and rows representing dates. The arrow buttons can be used to change the month. Highlighting by clicking is used to select a date, whereupon the bookings information for that date is displayed in the Bookings table below.
The Bookings table has columns representing times in hourly intervals and rows representing room numbers. A cross in a cell represents an existing booking for that room and time on the selected date. Highlighting by clicking is used to select an existing booking or an available time-slot (an empty cell).
Having selected an existing booking or an available time-slot for a particular date, time and room, clicking on the button at the bottom of the screen takes the user to the Make/Edit Booking screen.
The Make/Edit Booking screen
This screen is designed to allow the user to:
All of the widgets on this screen are either buttons or text fields. Both sets of Room, Date and Time text fields are read-only, and their entries are filled in automatically based on selections on the Booking Summary screen. When editing or deleting an existing booking, existing information is also displayed in the editable Activity and Contact fields.
The Save button saves any information about a new or edited booking entered in this screen; the Delete button removes the selected booking and all information about it. The Back to Booking Summary button returns the user to the Booking Summary screen where the creation or deletion of a booking can be checked by consulting the Bookings table.
Some user interface design heuristics (introduced in Unit 12) are listed below.
The GUI will communicate with a core system which is implemented in the package spacore. The core system defines a coordinating class SpaCoord.
public class SpaCoord{
}
The Appointment Details screen allows the user to initiate the Display Appointment Details use case. Here is a description of this use case.
Display Appointment Details
The receptionist identifies a client.
If the client has an appointment booked the system displays the date, cost and payment status of that appointment (i.e. whether or not the appointment has been paid for) . If the client does not have an appointment booked the system informs the receptionist of this fact.
It has been decided that the user will select from a scrollable list of the names of clients. If the selected client has an appointment booked the date, cost and payment status of the appointment are displayed in text fields. If the selected client does not have an appointment booked then the user is informed of this in the message area at the bottom of the screen. This is illustrated by the design sketch in Figure 14.
As well as the coordinating class SpaCoord, the core system defines classes Client and Appointment. A Client object represents a client and has an attribute name, representing the name of the client. An Appointment object represents an appointment and has attributes date, cost and paid, representing respectively the date of the appointment, the cost of the appointment and whether or not the appointment has been paid for in advance.
Below are extracts from the Javadoc for some of the methods of these classes
You should assume that:
JTextField;
£105.50
Yes
or
No
Client Fiona Flounder has no appointment booked.
[END OF QUESTION PAPER]
Purchase full paper by adding to cart
Last updated: Sep 02, 2021 12:38 PM
Your one-stop website for academic resources, tutoring, writing, editing, study abroad application, cv writing & proofreading needs.