object oriented programming course, Thesis of Cooperative Governance

hand note for software engineering

Typology: Thesis

2016/2017

Uploaded on 04/17/2017

tesfa-abe
tesfa-abe 🇬🇧

2 documents

1 / 10

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Self-test OOAD/UML
Document: E0767Test.fm
10/09/2010
ABIS Training & Consulting
P.O. Box 220
B
-
3000 Leuven
Belgium
TRAINING & CONSULTINGTRAINING & CONSULTING
pf3
pf4
pf5
pf8
pf9
pfa

Partial preview of the text

Download object oriented programming course and more Thesis Cooperative Governance in PDF only on Docsity!

Self-test OOAD/UML

Document: E0767Test.fm

ABIS Training & Consulting

P.O. Box 220

B- 3000 Leuven

Belgium

TRAINING & CONSULTINGTRAINING & CONSULTING

INTRODUCTION TO THE SELF - TEST OOAD/UML

With this test you can see for yourself if you attained the objectives of the OOAD/UML course (or if you will profit from following it). This test contains 20 questions. For each question you should mark only one choice, unless indicated otherwise. A question is answered correctly, if only all correct choices are marked. The test will take about 15 minutes. You can find the right answers and guidelines for the evaluation at the end of this docu- ment.

  1. Consider the following situation: a company realizes projects; each project is executed by a team of employees. Which would be a suitable conceptual UML diagram?

O (a) diagram A O (b) diagram B O (c) diagram C O (d) diagram D

  1. How do you express that some persons keep animals as pets?

O (a) diagram A O (b) diagram B O (c) diagram C O (d) diagram D

Company

Project Team

* Employee

1

Company

Project Team

* Employee

1..*

1

Company

Projects Team

Employees

1

Company

Project Team

Employee

1

A

C D

B

1..* (^) 1..*

1..*

Person (^) pet0..* Animal

A

Person pet^ 0..* Animal

B

Person 0..* animal Pet

C

Person 0..*keeps as pet Animal

D

  1. What can UML interfaces be used for? O (a) to provide concrete classes with the stereotype <> O (b) to program in Java and C++, but not in C# O (c) to define executable logic that can be reused in several classes O (d) to specify required services for types of objects
  2. Consider the following design.

How would the introduction of a subtotal() method in OrderLine improve the design? O (a) It increases the cohesion of Article. O (b) It reduces the coupling of Order. O (c) It reduces the cohesion of Order. O (d) It increases the coupling of Article.

  1. What is correct about the following State Diagram?

O (a) ‘ON’ is a concurrent state. O (b) This State Diagram is invalid because it contains no final state. O (c) ‘play’, ‘stop’ and ‘rew’ are actions. O (d) ‘ON’ is a superstate.

total()

Order getQuantity()getArticle()

OrderLine

getPrice()

Article

for all my OrderLines ol: tot =tot + ol.getArticle().getPrice()

  • ol.getQuantity()

Idle

Rewinding Playing

ON

H (^) play

stop

stop

rew

  1. Which of the following are known refactorings (according to Fowler)?[2 answers] [] [a] Protect Variations [] [b] Replace Inheritance with Delegation [] [c] Replace Delegation with Inheritance [] [d] Introduce Association Class
  2. If you need to show the physical relationship between software components and the hardware in the delivered system, which diagram can you use? O (a) component diagram O (b) deployment diagram O (c) class diagram O (d) network diagram
  3. What is a true statement about the following packages?

O (a) If package C changes, package B must be inspected for necessary changes, and if there are any, package A may have to be adapted as well. O (b) If package B changes, package A and package C must be inspected for necessary changes. O (c) Packages should be designed so that a change in one package does not have an effect to other packages. O (d) If package C changes, package A has to be examined (as well as B), because depend- encies are transitive.

A B C

  1. Given the following diagram, which method(s) should be implemented for the Account class?

O (a) xfer() O (b) xfer(), plus(), minus() O (c) check(), plus(), minus() O (d) xfer(), evaluation(), plus(), minus()

  1. Which is true about the method doIt()?

O (a) The method doIt() must be implemented by Thing3 and possibly also by Thing4. O (b) The method doIt() must be implemented only by Thing5. O (c) The method doIt() must be implemented by Thing2, Thing3, Thing4 and Thing5. O (d) There is no need for any class to implement doIt(), because it is already implemented by Thing1.

xfer(m:Money, a2)

a1:Account john:Person

check()

[OK] minus(m)

a2:Account

plus(m)

evaluation

Thing

doIt()

<> Thing

Thing

Thing

Thing

EVALUATION.

Here are the correct answers to all questions:

  1. b
  2. d
  3. a
  4. b
  5. b
  6. a
  7. d
  8. b
  9. d
  10. b c
  11. b d
  12. d
  13. b c
  14. b
  15. a
  16. b
  17. a
  18. b d
  19. a
  20. d Give yourself 1 point for each correctly answered question (for multiple answer ques- tions, this means that all correct answers must be marked and no other choices). If you answered less than 50% of the questions correctly, you will definitely profit from following the OO analysis and design with UML course. If you answered between 50% and 75% of the questions correctly, you know already some concepts, but you will still learn a lot in the OO analysis and design with UML course. If you answered more than 75% correctly, then the OO analysis and design with UML course is probably not useful for you any more: maybe you should consider the Patterns in practice course.