We know the secret of your success
PAPER TITLE: SOFTWARE DEVELOPMENT WITH JAVA
DATE: Friday, 11 October 2013
PART 1
Question 1 Which two of the following statements about software development are true? (Select two options)
ANSWERS(Purchase full paper to get all the solution)
1. Developing dynamic models is concerned with modelling appropriate interactions among objects in order to achieve the tasks required of the system.
5. Maintenance of a system is concerned only with fixing emerging problems and fine-tuning the system to improve its performance.
The following diagram illustrates aspects of a football league administration system.
Figure 1
Question 2 Based on the information in Figure 1 which two of the following statements are true? (Select two options)
Question 3 Which two of the following statements relating to the requirements specification process are true? (Select two options)
‘A book for which there is a waiting list may only be borrowed by the library member at the head of the waiting list.’
‘The memory requirements of the software must not exceed 15GB.’
Question 4 Which two of the following statements about conceptual modelling are true? (Select two options)
The following extract from a requirements document and an incomplete class diagram are for use in Questions 5 and 6.
Question 5 Based on the information above, which two of the following statements are true? (Select two options)
Department end should be 0..1.
Department end should be 0..200.
Student end should be 0..200.
Department end should be 5..30.
Lecturer end should be 0..30.
Question 6 Based on the information provided in Figure 2, which two of the following statements are true? (Select two options)
If aLecturer and bLecturer are Lecturer objects that are linked to the same Department object then aLecturer and bLecturer must be linked to each other.
Question 7 Which two of the following statements are true? (Select two options)
Question 8 Which two of the following statements about object-oriented software development are true? (Select two options)
Question 9 The message answers, message answer 1 and message answer 2, are missing from the sequence diagram in Figure 3. Which one of the following statements correctly describes the missing message answers? (Select one option)
message answer 2: {(session4, instructor2), (session6, instructor5)}
message answer 2: {(session4, session6), (instructor2, instructor5)}
Question 10 Which two of the following statements could be a correct identification of the walk through steps indicated by the notes X, Y, and Z in the sequence diagram in Figure 3? (Select two options)
Question 11 On the basis of information provided in Figure 3, which two of the following statements are true? (Select two options)
LeisureCentreCoord to Instructor.
Map getSessionsAndLeaders ().
Map getSessionsAndLeaders (Member aMember).
Instructor getLeader().
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 the M256 approach to 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 Which two of the following statements about user interfaces and their design are true? (Select two options)
Question 17 Which two of the following statements about user interfaces and their design are true? (Select two options)
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 Which two of the following statements are true? (Select two options)
Different objects need to react to changes in another object to which they are otherwise unrelated.
PART 2
Question 21 (20 marks) The following is an extract from a requirements document for a part of a college administration system, which keeps track of students and their studies within a single 20-week college semester.
System domain
Students at the college must be registered for at least one of the many different modules that the college presents. A student can not have more than four registrations for modules in any one semester; all these registrations must be for different modules. Each module may have up to sixty registered students and has a unique name. Each module holds teaching sessions (seminars and lectures) . All modules hold at least twenty teaching sessions. Each teaching session has a student seating capacity which is a limit on the number of students that can attend it.
The college employs lecturers to teach modules and to present lectures and to lead seminars. Each lecturer is appointed to teach at most five modules in a semester. There is no restriction to the number of lecturers teaching a module. Lecturers can only present lectures and lead seminars held by the modules that they are employed to teach.
Lecturers lead at most one seminar in each of the 20 weeks of the semester but can present any number of lectures. Lectures are presented by a single lecturer but seminars can be led by more than one lecturer. All lectures last one hour but seminars can have different durations.
For each teaching session a record is kept of the students who attend it. A student cannot attend a seminar held by a module he or she is not registered for. The number of students attending a teaching session must not exceed the seating capacity of the teaching session.
Use cases
List Student's Modules. The administrator identifies a student. For each module registration for this student the system displays the name of the module and the date of registration for the module.
List Module's Students. The administrator identifies a module. For each student registered for the module the system displays the student's name and personal identifier.
Register Student on Module. The administrator identifies a student and a module. The student must not already be registered for the module. If the student is already registered for four modules the system informs the administrator and takes no further action; otherwise the system records that the student is registered on the module, and records the date of the registration.
List Lecturer’s Teaching Sessions for Date. The administrator identifies a lecturer and provides a date. The system displays the name of the lecturer and the time of each of the lecturer’s teaching sessions on the given date. The theme of each lecture and the duration of each seminar are also displayed.
Note that in this question you are dealing with a conceptual model. You will lose marks for including in your answers anything that is not relevant for a conceptual model.
Figure 4 is an incomplete class diagram for a conceptual model with four classes unnamed and all the associations omitted.
(1 mark)
(2 marks)
(9 marks)
(5 marks)
Question 22 (20 marks) The following unfinished class diagram is a part of a structural model being developed for a small airline administration system.
AirlineCoord is the coordinating class.
The following extract from the textual part of the structural model being developed excludes some details that are not relevant for this question.
The following is a description of one of the use cases for this system.
Book Flight
The user identifies a passenger and a flight and provides the date the booking is made. The flight must not have been booked already by the passenger. If the flight is already fully booked then the user is informed of this but otherwise the system records the booking on the given date of the passenger on the flight.
The object diagram in Figure 6 shows the relevant objects and links for a particular scenario of the use case, before the use case is initiated. In particular it shows all the Booking objects linked to passenger2, but none of the other Booking objects linked to the Flight objects.
(3 marks)
Annotate the diagram with numbers to indicate where each walk-through step is achieved.
Give the complete sequence diagram in your answer book.
e. Suppose the scenario in part (c) is changed by making flight7 the identified Flight object so that the walkthrough now starts as follows:
Question 23 (20 marks) Consider the class diagram in Figure 8 and class descriptions extracted from an implementation model for a system concerned with the administration of drug trials. Then answer the parts (a) and (b) which follow. You are advised to read the questions first and then refer to the extract from the implementation model in order to answer them. Note that this question contains four parts in all. The last two parts, (c) and (d), are based on dynamic models which are given later.
The Figure 8 class diagram and following class descriptions are part of an implementation model for the Drug Trial System. Drugs trials involve a number of experimental treatments. Each treatment involves a specific drug, given to a patient. Drugs are categorised into three types as either New, Existing or Placebo.
The system employs the class Name as specified on page 14 and 15 of the M256 Handbook. It also employs a user-defined type, DrugType.
Read the following notes and then write a JUnit test method test1HasDrugs corresponding to the test case specified in Table 1.
Notes:
DrugType aDrugType) ) all methods specified in the given extract from the implementation model have already been implemented and tested.
You are not required to provide Javadoc or any other comments.
(10 marks)
One use case in the Drug Trial System is the following:
List Patient’s Drugs for Drug Type
The administrator identifies the patient and the drug type. The system lists the name of each drug of that category that the patient is being treated with along with the start date of the treatment.
The following are dynamic models for a design for the above use case. Use the object diagram in Figure 9, the walk-through, and sequence diagram in Figure 10, for the scenario below to answer parts (c) and (d) which follow.
List Patient's Drugs for Drug Type
You should not include methods that would be implemented in the first code iteration and should only include methods that are specified in the class descriptions. Do not include additional methods that might be needed for testing. For each method give its class and its name and any arguments.
Question 24 (20 marks)
(a) This part of the question is about improving an initial prototype graphical user interface (GUI) design for a desktop computer application to control a ‘Where am I?’ display for the outside of an office door. Read the descriptions below and then answer the questions that follow.
The ‘Where am I?’ display
Figure 11 shows the display outside the office door. The arrow on the display swings to indicate the occupant’s whereabouts. The Unavailable label is fixed but all of the other location labels are programmable. The position of the arrow is driven by a set of sensors whose details you do not need to consider. If a visitor presses the Further details button a message pre-set by the room’s occupant is displayed, for example giving a mobile number for the visitor to text.
The user interface
The initial prototype user interface of the desktop application to control the door display is comprised of two screens, as shown below.
The main screen
The main screen (Where am I?) is intended to allow a user to do the following:
From the main screen the user can navigate via a button (Set availability) to the Availability screen.
The Availability screen
This screen is intended to allow the user to enter set times of the week when the door display will indicate ‘Unavailable’. This is done using a table. For the purposes of this question all you need to know about tables is that they can be used for entering and displaying information in cells, which are intersections of columns and rows. In this case the columns represent days of the working week and the rows represent times of the working day in hourly intervals.
When the user selects a cell (or group of cells) this is indicated by the cell(s) being highlighted. The user then clicks on the Set unavailable button and these cells become shaded, indicating unavailability.
Clicking on the Back button returns the user to the main screen.
Some user interface design heuristics (introduced in Unit 12) are listed below
Suppose that a user interface designer working on the Borrow Book use case has decided that the user will select from a scrollable list of the (unique) names of all the members of the faculty library. When the user makes this selection a second scrollable list will display the titles of all the available books i.e. all the books the member does not have on loan and for which copies are available to be borrowed. When the Borrow Book screen is first displayed the first name in the list of member names is selected by default and the second list displays the titles of books available to be borrowed by that member.
The librarian selects a member and a book to be borrowed and clicks the Borrow book button. If the selected member already has the maximum number of books on loan, no new loan is recorded and an appropriate message is displayed in the outcome text area. Otherwise the system records the loan of the selected book to the selected member and the details are confirmed by a message in the outcome text area with the following information: the book title, the member’s membership number and name, and the issue and return dates.
This is illustrated by the design sketch in Figure 13.
When this design is implemented the GUI will communicate with the core system implemented in the package librarycore, which includes a coordinating class LibCoord and several other core classes including Loan and Book.
Below are extracts from the Javadoc for some methods of the core system classes, some, but not all of which are required for building the Borrow Book screen.
Below are some notes on the GUI that you will need to answer parts (i) and (ii).
LibCoord.
JTextArea.
You should note the following:
(6 marks)
If the selected member has already borrowed the maximum number of books no new loan is recorded and a message in the outcome text area states
"The member must return a book before borrowing another one".
Otherwise the loan is recorded and a message is displayed in the outcome text area showing the book title, the member’s membership number and name and the issue and return dates; also the 'Select a book to borrow' list is updated so that it no longer shows the title of the book just borrowed.
(7 marks)
END OF PAPER
Purchase full paper by adding to cart
Last updated: Sep 02, 2021 12:24 PM
Your one-stop website for academic resources, tutoring, writing, editing, study abroad application, cv writing & proofreading needs.