UML, Software Engineering, and Object-Oriented Concepts, Exams of Control Systems Analysis

Various topics related to uml (unified modeling language), software engineering, and object-oriented concepts. It includes questions about software engineering principles, use cases, functional and non-functional requirements, and object models. It also provides a case study for designing a system using uml class and communication diagrams. Additionally, it explains object-oriented concepts such as polymorphism, encapsulation, and message passing.

Typology: Exams

2012/2013

Uploaded on 03/25/2013

digvijay
digvijay 🇮🇳

4.4

(17)

185 documents

1 / 8

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Cork Institute of Technology
Bachelor of Science in Computing – Award (EMC)
(NFQ – Level 7)
Autumn 2006
Systems Modelling
(Time: 3Hours)
Instructions:
Answer five questions
All questions carry equal marks
Examiner: Ms. M. Davin
Ms A. Brown
Dr K. O Dubhchair
Q1
(a) What is meant by Software Engineering? [2]
(b) Differentiate between the accidental and essential complexity of software development.
[2]
(c) Explain what is meant by the following terms when applied to a software process
i. Agility
ii. Iteration
[4]
(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. Testers
ii. Managers
(e) What is the primary measure of progress in an iterative incremental process? [2]
(f) What is meant by scooping a release? [2]
(g) Give an overview of the agile method XP [4]
pf3
pf4
pf5
pf8

Partial preview of the text

Download UML, Software Engineering, and Object-Oriented Concepts and more Exams Control Systems Analysis in PDF only on Docsity!

Cork Institute of Technology

Bachelor of Science in Computing – Award (EMC)

(NFQ – Level 7)

Autumn 2006

Systems Modelling

(Time: 3Hours)

Instructions: Answer five questions All questions carry equal marks

Examiner: Ms. M. Davin Ms A. Brown Dr K. O Dubhchair

Q

(a) What is meant by Software Engineering? [2] (b) Differentiate between the accidental and essential complexity of software development. [2]

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

i. Agility ii. Iteration [4] (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. Testers ii. Managers

(e) What is the primary measure of progress in an iterative incremental process? [2] (f) What is meant by scooping a release? [2]

(g) Give an overview of the agile method XP [4]

Q

(a) What is a use case? [2]

(b) What is the purpose of User experience(UX) modelling and for which types of projects is it most appropriate. [4]

(c) Differentiate between a scenario and an alternate flow for a use case? [2]

(d) Give an overview of a suitable technique that could be used to identify use case scenarios [4]

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

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

i. Data maintenance Use Cases ii. Request approval use cases

(g) Differentiate between Functional and non functional requirements. Give an example of each type of requirement. [2]

(h) How are functional and non functional requirements documented? Give an example of each type of requirement. [2]

Q4 (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.

Q

(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]

Q

(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

Q

(a) Differentiate between the three different types of analysis classes. Include in your answer how they are modelled in UML. [3] (b) How does the object oriented concept of message passing help to encapsulate the implementation of an object including is data? [2]

(c) Explain what is meant by the following terms when used in relation to classes [2]

i. Class responsibility

ii. Class collaborator

(d) Differentiate between structured and object oriented methodologies. [2] (e) OOBank has many branches ,each of which has an address and branch number. A client opens accounts at a branch. Each account is uniquely identified by an account number; it has a balance and a credit or overdraft limit. There are many types of accounts, including a mortgage account(which has a property as a collateral), a chequing account and a credit card account(which has an expiry date and can have secondary cards attached to it). It is possible to have a joint account(e.g. for a husband and wife). Each type of account has a particular interest rate, a monthly fee and a specific set of privileges (e.g. ability to write cheques, insurance for purchases) Draw a class diagram to describe the above situation [6] (f) Using the analysis class diagram below for a vehicle rental system answer the following questions i. Differentiate between the three different types of relationships

  1. Association
  2. Composition
  3. Aggregation [3] ii. What is an Association class [1] iii. Differentiate between a mandatory and optional association [1]

R e n t a l L o c a t i o n

V e h i c l e In v e n t o r y 1

1

P r o te c t i o n P ro d u c t

R e s e rv a ti o n A w a r d P r o g r a m

**

0.. 10.. 1

i s a p p l i e d t o - - >

A n a l y s i s c l a s s d i a g r a m f o r v e h i c l e r e n t a l s y s t e m

V e h i c l e

1

1

C u s t o m e r P r o f i l e

C u s t o m e r

11


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 ) { 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() } [6] (b) Draw a collaboration for the following interaction. [5]

(c) A client searches for a book in a library. He or she then asks to borrow the book. If a copy of this book is available a loan object is created A communication link can exist between two objects whenever it is possible for two objects to send a message to the other one. Several situations can make this message exchange possible. Describe theses situations. [4] (d) Consider the following model used to model items in a library. What is the problem with this model? How would you improve on it? [3] LibraryItem

  • name
  • author
  • is bn
  • accessionN umber
  • edition

(e) What are the major uses of class diagrams? [2]