BSc Computing (EMC) - Summer 2006 - Systems Modelling Exam: Iteration & Agile Methods, Exams of Control Systems Analysis

The instructions and questions for a systems modelling exam for the bachelor of science in computing (emc) program at cork institute of technology, held during the summer 2006 semester. The exam covers topics related to iteration, agile methods, user experience storyboards, use cases, functional and non-functional requirements, and creating class diagrams and use case descriptions. Students are required to answer five questions, each carrying equal marks.

Typology: Exams

2012/2013

Uploaded on 03/25/2013

digvijay
digvijay 🇮🇳

4.4

(17)

185 documents

1 / 9

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Cork Institute of Technology
Bachelor of Science in Computing
(EMC)
Summer 2006
Systems Modelling
(Time: 3Hours)
Instructions:
Answer five questions
All questions carry equal marks
Examiner: Ms. M. Davin
Ms. M. Meagher
Dr. K. O Dubhchair
Q1
(a) There are four fundamental activities common to all software processes. Give a brief
overview of what is involved in each of these activities. [4]
(b) The software product development industry has evolved to become one of the most important
industries of our times. What gives a successful IT company a competitive advantage in a
software economy? [2]
(c) Explain what is meant by the following terms when applied to a software process
[4]
i. Agility
ii. Iteration
[3]
(d) Successfully adopting iterative development practices requires not only deploying a set of
new techniques but also changing the way team members collaborate and view their
responsibilities. What is the difference in mindset for each of the following when changing
from a “traditional” waterfall approach to an iterative approach?
[4]
i. Analyst
ii. Developers
iii. Testers
iv. Customers
(e) Identify the factors that can be used to determine the applicability of agile methods [3]
(f) Differentiate between a project that is schedule driven and one that is scope driven.
Which is the norm? [3]
pf3
pf4
pf5
pf8
pf9

Partial preview of the text

Download BSc Computing (EMC) - Summer 2006 - Systems Modelling Exam: Iteration & Agile Methods and more Exams Control Systems Analysis in PDF only on Docsity!

Cork Institute of Technology

Bachelor of Science in Computing

(EMC)

Summer 2006

Systems Modelling

(Time: 3Hours)

Instructions: Answer five questions All questions carry equal marks

Examiner: Ms. M. Davin Ms. M. Meagher Dr. K. O Dubhchair

Q

(a) There are four fundamental activities common to all software processes. Give a brief overview of what is involved in each of these activities. [4] (b) The software product development industry has evolved to become one of the most important industries of our times. What gives a successful IT company a competitive advantage in a software economy? [2]

(c) Explain what is meant by the following terms when applied to a software process

[4] i. Agility ii. Iteration [3] (d) Successfully adopting iterative development practices requires not only deploying a set of new techniques but also changing the way team members collaborate and view their responsibilities. What is the difference in mindset for each of the following when changing from a “traditional” waterfall approach to an iterative approach? [4] i. Analyst ii. Developers iii. Testers iv. Customers (e) Identify the factors that can be used to determine the applicability of agile methods [3] (f) Differentiate between a project that is schedule driven and one that is scope driven. Which is the norm? [3]

Q

(a) What is the difference in purpose between a user experience storyboard and a use case? [2] (b) Give an overview of the five steps for creating User Experience(UX) models. [5] (c) “Hunting down every possible user or system behaviour is not simple; it requires lateral thinking and venturing out of the box. Frequently, practitioners give up too easily and simply let use cases terminate”. What is meant by this observation? [3]

(d) Give a brief overview of the four major aims of software modelling. [2]

(e) What is the purpose of the inception phase of the UP and what artifacts would be created during this phase? [2]

(f) What is the purpose of the following types of Use Cases? [2]

i. Data maintenance Use Cases ii. Data Analysis Use Cases

(g) Differentiate between Functional and non functional requirements. Give an example of each type of requirement from the following description. [4]

The allocation of staff to production lines should be mostly automated. A process will be run once a

week to carry out the allocation based on the skills and experience of operatives. Details of holidays and sick leave will also be taken into account. A first draft allocation list will be printed off by

12.00 noon on Friday for the following week. Only staff in production planning will be able to

amend the automatic allocation to fine tune the list. Once the amendments have been made, the final

Allocation list must be printed out by 5.00pm. The system must be able to handle allocation of 100

operatives at present and should be capable of expansion to handle double that number capable.

iii. Draw a communication or a sequence diagram for the second main requirement in the given

case study. Note this diagram should be consistent with the class diagram created in the previous part. [6]

Clearly state any assumptions you make regarding the case study, if any, when answering the questions.

Q

(a) A common characterization of objects states that an object is something which has state,

behaviour and identity. What is meant by each of these properties? [3]

(b) What is meant by the following object oriented terms?^ [3]

i. Encapsulation

ii. Message passing

iii. Abstraction

(c) Differentiate between a link and an association [2] (d) Read the following specification and answer the questions below . A library holds the following books among many others: ‘History of World War 2’, ‘The adventures of Robin Hood’ and two copies of ‘Harry Potter and the Philosophers Stone’. Joe and Martina are registered uses of the library. Joe currently has the ‘Adventures of Robin Hood’ out on loan, and Martina has borrowed the ‘History of World War 2’ and one

copy of ‘Harry Potter and the Philosopher’s Stone’.

i. Draw an object diagram representing the objects and relationships implied by the following description of certain aspects of a library system [4] ii. One of the operations the library system must provide is the ability to send reminder letters to those borrowers who have overdue books on loan. Extend your model of the library system to store the date by which a borrowed book is to be returned , considering carefully which object should store this piece of data. Show on the diagram the messages that would be generated in response to an initial request to the library to sendReminders [6] iii. Draw a class diagram which would allow for the object diagram you produced in part (ii) to be supported. [2]

Q

(a) Give an overview of the uses that can be made of class diagrams. [3] (b) Using examples, clearly explain the following object-oriented concepts. [5]

i. Aggregation ii. Role Name iii. Multiplicity iv. Bi-directional Associations v. Qualified association

(c) Differentiate between the four different types of relationships that can be used to relate classes in a class diagram. Use a diagram to illustrate the relationships. [4]

(d) There are a number of situations in which objects are able to communicate and in these circumstances they are often described as being linked. Distinguish the different ways in which one object can gain access to another in such a way as to be able to send messages to it. [3]

(e) Explain the meaning of each of the following class diagrams

i.

S ale

  • tim e : D ateTim e S ales LineItem 1.. *1.. *

LineItem s

{or dred, Lis t}

[3]

ii.

Company (^) Person


Employment

  • salary
  • startDate

[2]

Q

(a) In UML, interaction between objects may be modelled using Sequence diagram or Communication diagrams. Describe and differentiate both diagrams. The class diagram and these interaction diagrams should be mutually consistent. Explain. [4]

(b) Draw a sequence diagram for the following scenario. [6]

Renting an apartment. A Landlord checks the creditworthiness of a Customer. This returns true, and the Landlord creates a new Lease. Then the Landlord sets the lease holder of the Lease by sending it the Customer as a parameter. Then the Landlord queries an Apartment if it is available. The Apartment returns true, and the Landlord sends the Apartment to the Lease as a parameter.

(c) Draw a communication diagram for the following scenario.

Suppose that in a banking system a transfer of money between accounts in the bank is carried out in the following way: a transfer object is created to control the interaction, and the two accounts and the amount to be transferred are then passed to a ‘doTransfer ‘ method in the transfer object. Draw a collaboration diagram illustrating this interaction. A transfer can only take place only if there is sufficient money in account [6]

(d) What is the purpose of an operation contract? [2]

(e) What is the difference between a message and an operation? [2]

Q

(a) Reverse engineer the following code by drawing an object diagram showing the objects that are created when the method main runs and the messages that are passed between these objects. A playlist object is used to hold references to different types of tracks that can be played.. A track can either be an MP3 track or A wav track. Each type of track can be played. Public staic main(string[] args ) [6] { playlist list = new playList (); list.add (new Mp3(“who let the dogs out? “ , 193)); list.add (new Wav(“Meowth song”,253)); list.add (new mp3(“Thunderball” , 480)); list.play() }

(b) The Program below defines a number of classes for handling invoices. An invoice is produced for a client and contains a number of lines, each which records a component of the total invoice, either the cost of some materials or a charge for labour. Draw a class diagram showing as much information as possible from the following class definitions [5] Class Client{ private string name; public client~(string n){name = n;} public string getName(){return name;}} abstract class Line { protected string description; public Line (string d){descrition = d;} public string getDescription(){return description;} public abstract double getCost(); } Class Material extends Line { private double cost; public Material(string d, double c) { super(d); cost = c ; } public double getCost() { return cost;} } Class Labour extends Line { private double rate; private double time; public labour (string d,double r, double t) { super(d) rate = r; time = t; } public double getCost(){return time * rate;} }

Class Invoice