Premium Resources

We know the secret of your success

M256/D Software development with Java Undergraduate Level Course Examination 2016

$39.00

PAPER TITLE: SOFTWARE DEVELOPMENT WITH JAVA

DATE: Tuesday, 13 September 2016

 

PART 1

Question 1         Which two of the following statements about software development are true? (Select two options)

  1.  The waterfall method is a predictive software development method.
  2.  Maintenance can involve adding extra functionality to the system.
  3.  An initial structural model of a system describes dynamic aspects of the  system such as ways in which objects will interact.
  4.  Javadoc is an example of a design tool.
  5.  An object diagram shows how the links between objects are  implemented.

 

ANSWERS(Purchase full paper to get all the solution)

B. Maintenance can involve adding extra functionality to the system.

E. An object diagram shows how the links between objects are  implemented.

 

 

Question 2         Based on the information in Figure 1 which two of the following statements are true? (Select two options)

A. The diagram shows a collaboration between team4 and match3.

B. The diagram shows that Black Cats is an attribute of team8.

C. The state of match3 includes the homeGoals attribute value  2.

D. The diagram can be described as a dynamic model.

E. The line between  team4  and  match3  illustrates a relationship between these objects that is an instance of the isHomeTeam association.

 

Question 3         Which two of the following statements relating to the requirements specification process are true? (Select two options)

  1.  The requirements document usually contains information about testing  the system.
  2.  The following could be an example of a behavioural requirement that is  not a constraint:

‘A patient’s medical record should be accessible from any of the PCs in the hospital within 800 milliseconds of its being requested.’

  1.  Requirements creep occurs when the software developers deliver less  than what was originally agreed, usually due to a shortfall in the budget.
  2.  The following could be an example of a behavioural requirement:

‘For each ward in the hospital, produce a report of all patients discharged from that ward within the last week.’

  1.  The main goal of requirements analysis is to make the requirements  document as general as possible in order to reduce constraints on the developer.

 

 

Question 4         Which two of the following statements about conceptual modelling in M256 are true? (Select two options)

  1. A conceptual model specifies the behaviour of the system.
  2. The conceptual model gives rise to the initial structural model.
  3.    The term invariant means an attribute of a conceptual class which has a constant value for all objects of that class.
  4. If classes  X  and  Y  are specialisations of class  Z  then class  Z must  be an abstract class.
  5.    A condition stating the maximum number of patients that can be on  any ward would give rise to an invariant in the M256 Hospital System.

 

 

Question 5

Based on the information provided above, which two of the following statements are true? (Select two options)

  1.    The multiplicity of the  leads  association at the  YogaClass  end  should be 1.
  2.    The multiplicity of the  leads  association at the  YogaClass  end  should be 8.
  3.    The multiplicity of the  leads  association at the  YogaClass  end  should be 1..8.
  4.    The class  Pupil  specialises the class  Beginner.
  5.    There is no limit on the number of pupils who can participate in a  particular yoga class.
  6.    There is no limit to the number of yoga classes a pupil can  participate in.

 

Question 6

Based on the information provided above, which two of the following statements are true? (Select two options)

  1.    Waiter  objects can be linked to  Reservation  objects via the  association takes.
  2.    A waiter can take no more than 8 reservations.
  3.    If a  Waiter  object  aWaiter  and a  Table  object  aTable  are linked,  then aTable must be linked to a Reservation object that is linked to aWaiter.
  4.    If a  Waiter  object  aWaiter  and a  Reservation  object  aReservation are linked, then aWaiter must be linked to the Table object that is linked to aReservation.
  5.    The class  Staff  should be marked  <>  in the class  diagram.

 

 

Question 7         Which two of the following statements are true? (Select two options)

 

  1.    Coupling is a measure of the extent to which a component is  dependent on other components.
  2.    If a method does not return anything, then its specification does not  require a post-condition.
  3.    If there is no explicit modifier in front of a Java class member then  the member cannot be accessed from outside the class’s package.
  4.    A method’s pre-condition should state what invoking the method  achieves.
  5.    Assigning private accessibility to all instance variables is all that is  required to prevent privacy leaks in Java.

 

Question 8         Which two of the following statements about object-oriented software development are true? (Select two options)

  1. Polymorphism provides a basis for protecting the integrity of objects.
  2. When a class,  P, is reused by composition by another class,  Q, this is  achieved by each instance of Q having an instance of P as part of its state.
  3. Incremental software development is usually incompatible with  component-based software development.
  4. One benefit of component-based software development is that implementation errors are separated from specification errors.
  5. In Java an object that is an element in an unmodifiable collection  must be immutable.

 

 

Question 9         The message answers, message answer 1 and message answer 2, are missing from the sequence diagram in figure 5. Which one of the following statements correctly describes the missing message answers? (Select one option)

A.    message answer 1: {member205, (session1, instructor4),(session7, instructor10)}
    message answer 2: {member205, (session1, instructor4),(session7, instructor10)}
    
B.    message answer 1: {instructor4, instructor10}
    message answer 2: {(session1, instructor4), (session7, instructor10)}
    
C.    message answer 1: {(session1, session7), (instructor4, instructor10)}
    message answer 2: {(session1, session7), (instructor4, instructor10)}
    
D.    message answer 1: {(session1, instructor4), (session7, instructor10)}
    message answer 2: {(session1, instructor4), (session7, instructor10)}
 

 

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 5? (Select two options)

A.     X is step 2; Y is step 3; Z is step 4
B.     X is step 1; Y is step 3; Z is step 4
C.     X is step 1; Y is step 4; Z is step 3
D.     X is step 2; Y is step 4; Z is step 3
E.     X is step 1; Y is step 5; Z is step 3

 

Question 11       On the basis of information provided in figure 5, which two of the following statements are true? (Select two options)

A.      The association takesPartIn requires to be navigated from Member to Session.

 

B.       A method whose specification begins as follows should be specified for the protocol of LeisureCentreCoord :

 

Map getSessionsAndInstructors().

 

C.       The association hasInstructors requires to be navigated from LeisureCentreCoord to Instructor.

 

D.      A method whose specification begins as follows should be specified for the protocol of Member:

 

Instructor getInstructor()

 

E.       A method whose specification begins as follows should be specified for the protocol of Session:

 

Instructor getInstructor()

 

 

Question 12       Which two of the following statements about designing software are true? (Select two options)

 

  1.    An object which initiates a cascade of messages is termed an  information expert.
  2.    If there is no direct association between two classes then there is no  coupling between them.
  3.    If the coordinating class does too much work then the cohesion of  other core system classes may be reduced.
  4.    When a one-way link is removed the object at one end must be  destroyed.
  5.    Allocation of responsibility away from the information expert for a  task tends to lead to designs with relatively higher coupling.

 

Question 13    Which two of the following statements about detailed design and implementation are true? (Select two options)

  1.    An enumerated type can be used to implement an attribute which  has a fixed number of possible values.
  2.    Refactoring can result in the creation of additional classes.
  3.    The purpose of refactoring is to make changes to the behaviour of a  system without changing its structure.
  4.    A design based on cascading involves an object sending a message to another object that was accessed as (part of) the answer to a previous message.
  5.    A utility class is a helper class that is only intended to be used within  the system for which it was developed.

 

Question 14       Which two of the following statements about implementation and testing are true? (Select two options)

  1.    In test-driven driven development all test cases are specified as soon  as the initial structural model has been created.
  2.    JUnit facilitates regression testing.
  3. Regression testing is carried out not only while the system is being developed but also when the system is operational.
  4. White box testing is an example of validation testing.

 

  1.    In Java, any object that is used as the argument to a  compareTo()  method is termed a hashcode.

 

 

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)

  1.    Instance variables representing link references should be  implemented in the first code iteration. 
  2.    Constructors should not be written in the first code iteration.
  3.    Getter methods should not be implemented in the first code iteration.
  4.    The coordinating method for each use case is normally implemented  in the first code iteration.
  5.    Implementing the methods required for a particular use case may be  based on more than a single scenario.

 

Question 16.    Which two of the following statements about user interfaces and their design are true? (Select two options)

  1.    If a widget is easy to see, it follows that it has good visibility.
  2.   Visibility refers to the extent to which a widget’s purpose is apparent.
  3.    Think-aloud is an example of a usability testing technique.
  4.    Affordance refers to the extent to which a widget affords feedback to  the user.
  5.    The effectiveness of a prototype interface during usability testing is  measured in terms of the time that is taken to complete a task.

 

Question 17.   Which two of the following statements about user interfaces and their design are true? (Select two options)

      A.       Design heuristics are typically universally applicable.

  1.    ‘Extraordinary HCI’ refers to a set of interactive products that have  exceptionally good usability.
  2.    A user-centred design is focused on optimising the satisfaction of all  users of an interface.
  3.    Learnt affordance takes into account the effect of a user’s  background and experience on their use of a widget.
  4.    In the context of user interfaces, efficiency is often measured in  terms of the time taken to complete a task.

 

 

 

Question 18       In the M256 approach to building a GUI, which two of the following statements are true? (Select two options)

 

  1.    It is the GUI implementer’s responsibility to determine what data is  required to initialise each component of the user interface.
  2.    The core system must have a reference to some objects in the GUI.
  3.    A coordinating object acts as a client to the interface objects within  the GUI application and a server to other core system objects.
  4.    Listeners are Java objects that are attached to interface components  to initiate the handling of user interactions with the interface.
  5.    Coordinating messages are the only kind of messages that a user  interface should send to core system objects.

 

 

Question 19       Which two of the following statements are true? (Select two options)

  1.    Deployment is concerned with where running software is located  logically.
  2.    The waterfall method typically produces a series of prototypes giving  the client opportunities to ‘see’ what is being developed throughout the process.
  3.    eXtreme programming is an example of an agile development  method.
  4.    A structural design pattern is one which is concerned with how the  objects in a system are initiated.
  5.    Timeboxing is a key element of rapid application development  (RAD).

 

 

Question 20       Which two of the following statements are true? (Select two options)

  1.    One advantage of tiered architecture is that reuse is made simpler.
  2.    In M256, the GUI is an example of an instance of a façade class.
  3.    The Publish-Subscribe pattern can be used to keep interfaces up to  date in a multi-user system.
  4.    A client-server architecture is an example of a three-tiered  architecture.
  5.    The Singleton design pattern can be used to keep interfaces up to  date in a multi-user system.

 

 

PART 2

This part contains four questions, each worth 20 marks. You should attempt three of these questions

Question 21       The following is an extract from a requirements document for a part of the administration system for a solicitor’s firm. This part of the system deals with the firm’s legal staff (solicitors and trainees), and its clients and client cases.

System domain

There are six offices in the firm. Each office in the firm has a unique name and employs at least one and as many as ten solicitors, who are each employed in only one office. Each office may also have a number of trainees training in it. The number of trainees training in any one office is always fewer than the number of solicitors in that office. Trainees may be training in more than one office in any one period of time. Each trainee has a mentor, who is a solicitor. Each solicitor can mentor up to two trainees.

Each of the firm’s offices can deal with any number of clients but clients can have work done for them by only one office. Each client has a solicitor, who works in the office that deals with the client, assigned to them. Clients are also assigned a unique alphanumeric client number. A solicitor can have any number of assigned clients. Solicitors each have a billing rate, which is the amount per hour that is charged to clients for work carried out by that solicitor. A record is kept of the number of hours spent on each case.

The solicitor assigned to a client always works on that client’s cases. Solicitors only work on the cases of the clients to whom they are assigned. A case may have a trainee helping with it, and a trainee can help on any number of cases. A trainee helping with a case must be training at the office that deals with the case’s client.

Use cases

Record new case for client. The user identifies the client and provides the case identifier code. The user identifies any trainee who is helping with the case. The system records the identifier code for a new ca

Last updated: Sep 02, 2021 12:21 PM

Can't find a resource? Get in touch

AcademicianHelp

Your one-stop website for academic resources, tutoring, writing, editing, study abroad application, cv writing & proofreading needs.

Get Quote
TOP