




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
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
1 / 8
This page cannot be seen from the preview
Don't miss anything!





Instructions: Answer five questions All questions carry equal marks
Examiner: Ms. M. Davin Ms A. Brown Dr K. O Dubhchair
(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]
(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.
(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
(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
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
(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
(e) What are the major uses of class diagrams? [2]