Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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