Download CS602/3 - Computer Science

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
OLLSCOIL NA hÉIREANN
THE NATIONAL UNIVERSITY OF IRELAND
COLÁISTE NA hOLLSCOILE, CORCAIGH
UNIVERSITY COLLEGE, CORK
Sample Examination 2006
Computer Science
CS565 Advanced Software Development
Adrian. P. O'Riordan
Time: 1.5 Hours
Answer any three of five questions
All questions carry equal marks
(Total = 90 marks)
1.(a)
Page 1 of 3
Domain Description: A small publishing company requires a software system to manage
customer subscriptions to the journals that it publishes. A journal is published a fixed number of
times a year and subscriptions may be taken out for one, two, or three years, payment in advance.
The software system must keep track of all subscriptions for each journal along with the payment
details. Once a month the system will be used to check the status of all subscriptions and generate
renewal notices for those that will soon expire. Subscriptions that have not been renewed will be
expired. When a new edition of a journal is published, the system must generate address labels
for all current subscribers.
Perform analysis and design in the UML notation by performing the following tasks:
(i) Identify four use cases and associated actors. Describe the use cases using a series of steps.
[10 marks]
(ii) Identify a set of classes that could be used to represent the system and construct a UML class
diagram showing relevant attributes and operations.
[10 marks]
1.(b)
(i) Define the following object oriented concepts: class, inheritance and visibility.
[3 marks]
(ii) What is metamodelling? Explain how metamodelling works with the UML.
[4 marks]
(iii) The UML is not a process model! Explain.
[3 marks]
(i) What is meant by requirements specification.
[3 marks]
2.
(ii) Sketch the waterfall model of software development and give its main characteristics.
[6 marks]
(iii) What is a software prototype. What are its main limitations?
[5 marks]
(iv) What is a software library? Give an example of a software library you have used. Give two of
the benefits of using a software library.
[4 marks]
(v) Give four advantages of a modern CASE tool such as System Architect or Enterprise
Architect.
[4 marks]
(vi) Explain what is meant by vertical integration and horizontal integration of CASE tools.
[4 marks]
(vii) Write a paragraph about an emerging software technology you are familiar with (e.g. .Net,
XML or Web services).
[4 marks]
3.
Write a Java graphics program to simulate a bouncing ball. Represent the ball by drawing a
circle. The ball should move in straight lines. When the ball touches the side of the content pane
it should rebound off it. For convenience you may hard-code the speed and ball radius.
[30 marks]
Page 2 of 3
4.
Program and test your own string class OwnString as an implementation of variable strings. The
beginning of the definition for the class OwnString is:
public class OwnString {
private char [] chars;
// the string as a char array
private int length;
// current length
private int MAXLENGT = 100; // longest possible string
...
The class has the following constructors:
OwnString() creates an OwnString, representing an empty string, where length is 0.
OwnString(String s) creates an OwnString from the given String object.
The class offers the following additional methods:
int length() returns the value of the length field
void replace(char oldChar, char newChar) replaces all the oldChar characters with
newChar character.
5.
(i) Describe the main features of the Java programming language.
[4 marks]
(ii) What is a virtual machine? Explain the role played by the virtual machine in the Java
platform.
[5 marks]
(iii) List some of the features in the Java 2 Platform, Standard Edition and the Java 2 Platform,
Enterprise Edition.
[4 marks]
(iv) What is an interface and give an example where it is useful?
[4 marks]
(v) What is a wrapper class and how has it changed in Java 5?
[4 marks]
(vi) Describe the purpose of four Java packages you have used.
[4 marks]
(vii) Explain the generics mechanism in Java by means of a small example.
[5 marks]
Page 3 of 3