





Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Instructions and questions for an exam in systems modelling as part of a software development bachelor's degree at cork institute of technology. The exam covers topics such as software modelling aims, document sampling, object-oriented concepts, use case diagrams, uml class diagrams, and interaction diagrams.
Typology: Exams
1 / 9
This page cannot be seen from the preview
Don't miss anything!






Mr. M. Donnelly Ms. M. Davin
Q
(a) Identify the main aims of Software Modelling. [2]
(b) Differentiate between the Use Case view and logical views of a system. [2]
(c) Identify the advantage(s)/disadvantage(s) of document sampling as a fact finding technique [2]
(d) How does the object oriented concept of message passing help to encapsulate the implementation of an object including its data? [2]
(e) Explain what is meant by the following terms when used in relation to classes [2]
i. Class responsibility
ii. Class collaborator
(f) Differentiate between structured and object oriented methodologies. [4]
(g) The purpose of the project is to develop a system for an airport taxi company. The taxis should be used as efficiently as possible, while ensuring that no customer needs to wait too long for transportation or to make a too long detour to get to their destination. Important stakeholders are at least people who have been arranging airport taxi service using a manual and telephone based system, the taxi drivers, and the customers of the airport taxi service.
i. What are the most important questions that you would ask a person who works on the manual taxi service point at the airport?
ii. What would you ask from the taxi driver?
iii. What would you ask from a typical customer of the service (a sales agent who travels a lot)? [6]
You are asked to design a software application to be used in a library. A librarian will use the software to administrate the library. A patron will use the software to search the library’s lending items, borrow, renew and return items (all self-service). Detailed information regarding the expected functionalities of the software application is provided below.
Description: Consider the following usages in the library: Stock Item : a librarian stocks an item
In this section information regarding different components in the application will be given. Description: Four components (Item, Book, Serial and Thesis) in the library model are described below:
o status : an enumerated value representing the Item is Available / OnLoan/Renewed o addItem() : adds the Item record into the database o deleteItem() : deletes the Item record from the database o updateItem(): updates the Item record in the database o checkItem(): checks the Item record in the database
(a) What is the purpose of an object model? [2]
(b) Assume the following lines of code are executed
CatalogueEntry frame = new CatalogueEntry(“Frame”, 10056,49.95);
CatalogueEntry screw = new CatalogueEntry(“Screw,28834,0.02);
CatalogueEntry spoke = new CatalogueEntry(“spoke”,47737,0.95);
Part screw1 = new Part(screw)
Part screw2 = new Part (screw)
Part theSpoke = new Part(spoke);
i. Draw a diagram showing the objects that have been created and their data members and the links between them. [6]
ii. The following code creates an assembly object and adds to it some of the objects created earlier
Assembly a = new Assembly();
a.add(screw1);
a.add(screw2);
a.add(theSpoke);
Draw a diagram showing the objects involved in the assembly a after these lines have been executed and the links between them. [4]
iii. Execution of the following line of code can be shown as a cost() message being sent to the assembly a.
a.cost();
Add onto your diagram the messages that would be sent between objects during
execution of this function
[4]
(c) On a single diagram ,illustrate the following using the UMl notation for objects links and messages. [4]
i. An object of class Window , with no attributes show.
ii. An object of class Rectangle with attributes length and width. Assume that the rectangle class supports an operation to return the area of a rectangle object.
iii. A link between the window and rectangle objects , modelling the fact that the rectangle defines the screen co-ordinates of the window.
iv. The window object sending a message to the rectangle asking for its area.
(a) Explain each of the following terms. Give an example of each. [6] i. Abstraction ii. Encapsulation iii. Polmorphism
(b) An object has three properties. Give a brief overview of each. [3] (c) Explain each of the following when applied to operations. [3] i. Signature ii. Visibility iii. Side effects (d) Differentiate between an object diagram and a class diagram [2] (e) A workstation currently has three users logged into it., with account names A,B,C. Theses users are running four processes , with process IDs 1001 , 1002 , 1003 and 1004 User A is running processes 1001 and 1002 , B is running process 1003 and C is running process 1004. i. Draw an object diagram showing objects representing the workstation, the user and processes and links to represent the relationships of a process running on a workstation and a user owning a process. ii. Consider an operation which lists information about the processes that are currently running on a workstation. It can either report on all the current processes or if invoked with a suitable argument , the processes for a single specified user. Discuss what messages would need to be passed between the objects in part (i) to implement the operation. [6]
(a) Differentiate between the two types of interaction diagrams. [2]
(b) How are the following illustrated on a sequence diagram. [5]
i. Object Creation
ii. Object destruction
iii. Reflexive message
iv. Loop Combined fragment
v. Reply message
(c) What consistency checks should be applied to interaction diagrams? [2]
(d) What is the purpose of object-oriented detail design? [2]
(e) What is meant by the Liskov Substitution Principle and how is it violated in the following figure. [3]
c h e q u e A c c o u n t
M o r t g a g e A c c o u n t
(f) Explain why the following class has good operation cohesion but poor class cohesion [2]
L e c t u re r
{ re t u rn r oo m L e ng t h * r oo m W id t h ; }
(g) Provide an outline implementation of the model below. Assume that the association is immutable in the account to customer direction ,or in other words that an account cannot be switched from one customer to another. [4]
Customer (^) Account (^11) **
(a) Define the following terms as used in relation to state machines [2]
(i) State
(ii) Transition
(iii) Event
(iv) History pseudostate.
(b) An airline company takes bookings for airline seats on a preliminary booking basis. Such bookings are made well in advance of the required travel date and are accompanied by a deposit. The agency will accept changes to the booking without any change in the deposit. Indeed , if one cancels at an early stage then the deposit is refunded and the booking is deleted. Tickets must be issued one week prior to travel so the company will issue an invoice for the outstanding fare well in advance of this. After a booking has been invoiced it may be changed, but it cannot be cancelled, a record is kept and the deposit is not refunded. When the fare is paid in full the booking becomes a ticketed booking and no further changes can be made. One can