UML Review Answers
from cfw

1. Which of the following statements are TRUE about Use Cases?

  1. Use case diagrams are the primary tool to document requirements
  2. Use cases provide the basis of communication between sponsors and developers in planning phase
  3. Use cases description provides a good source to identify domain concepts
  4. A fully-dressed use case should include both "whats" and "hows" so that they are ready for "realization"
  5. A use case is an interaction between a user and a system.
Question This question has 3 correct answers.

Reference: UML Distilled, 1st edition, p18, 43

Topic: Requirements Modeling



2. During elaboration, you need to understand the risks to your project. Risks can be classified as:

  1. Security risks e.g. virus, intrusion
  2. Requirements risks
  3. Financial risks
  4. Technology risks
  5. Skills risks
  6. Political risks
  7. Scheduling risks
Question This question has 4 correct answers.

Reference: UML Distilled, 1st edition, p17

Topic: Requirements Modeling



3. Knowing UML means one can handle object-oriented analysis and design.

  1. True
  2. False
Question This question has 1 correct answer.

Reference: Larman

Topic: Development Process



4. Please identify different perspectives during OOAD.

  1. Conceptual
  2. Domain
  3. Design
  4. Specification
  5. Implementation
  6. Deployment
Question This question has 3 correct answers.

Reference: Fowler UML Distilled p51, p55

Topic: Development Process



5. Referring to the attached diagram, the arrow indicates:

  1. Refers to
  2. Association
  3. Dependency
  4. Navigability
Question This question has 1 correct answer.

View Attachment - PayableAccount

Reference: UML Distilled, 1st edition, p61

Topic: Static Modeling



6. At Conceptual level, a Class can consist attributes of:

  1. Primitive data type
  2. Value object data type e.g. Date, Money
  3. Complex data type e.g. Customer, Account, Inventory
  4. All of the above
  5. A, b ONLY
  6. A, c ONLY
Question This question has 1 correct answer.

Reference: UML Distilled, 1st edition, p88

Topic: Static Modeling



7. Class diagrams at conceptual level should include:

  1. attributes ONLY
  2. operations ONLY
  3. both attributes and operations
Question This question has 1 correct answer.

Reference: Larman

Topic: Static Modeling



8. Which of the following statements are true for Activity diagrams?

  1. can be used to depict workflow for a particular business activity
  2. can be used to explore/discover parallel activities
  3. do not tell you who does what and are difficult to trace back to object models
  4. all of the above
Question This question has 1 correct answer.

Reference: UML Distilled, 1st edition, p138

Topic: Dynamic Modeling



9. What are the strengths and weakness of Interaction Diagrams?

  1. when you want to look at the behavior of several objects within a single use case
  2. they are good at precise definition of the behavior
  3. they are good at showing collaborations among objects
  4. they are good at exploring concurrency and multi-thread issues
Question This question has 2 correct answers.

Reference: UML Distilled, 1st edition, p112

Topic: Dynamic Modeling



10. Package diagrams are designed for:

  1. organizing a large project into components
  2. depicting the overall structure of a system
  3. assisting testing
  4. assisting deployment
  5. reducing dependency
Question This question has 3 correct answers.

Reference: UML Distilled, 1st edition, p116

Topic: Design and Implementation Techniques



11. Which statements are true for a use case?

  1. a use case captures some user-visible and non-visible functions
  2. a use case may have many scenarios
  3. a use case can be traced to a discrete goal
  4. UML use case diagrams are designed to replace textual description since a picture is better than a thousand words
  5. a use case must be initiated by an actor
  6. good source for identifying use cases is external events
Question This question has 3 correct answers.

Reference: UML Distilled, 1st edition, p43

Topic: Requirements Modeling



12. Which statements are true for an Actor?

  1. an actor is a role a user plays with respect to the system
  2. generalization is not applicable to actors
  3. an actor does not need to be human. A subsystem or external system can be modelled as an actor
Question This question has 2 correct answers.

Reference: UML Distilled, 1st edition, p47

Topic: Requirements Modeling



13. Which are valid relationships in Use Case Diagrams?

  1. use
  2. generalization
  3. subtyping
  4. include
  5. extend
  6. extract
Question This question has 4 correct answers.

Reference: http://cafe.rational.com/HyperNews/get/hn/umlcafe/868/1.html?nogifs

Topic: Requirements Modeling



14. Which statements are true for use case relationships?

  1. An Include relationship means that a UseCase includes the behavior described in another UseCase
  2. an Extend relationship implies that a UseCase may extend the behavior described in another UseCase
  3. Generalization between UseCases means that the child is a more specific form of the parent. The child inherits all Features and Associations of the parent, and may add new Features and Associations
  4. All of the above
  5. Only a) and b)
  6. Only b) and c)
Question This question has 1 correct answer.

Reference: http://cafe.rational.com/HyperNews/get/hn/umlcafe/868/1.html?nogifs

Topic: Requirements Modeling



15. Which statements are true about Class Diagrams?

  1. From the conceptual perspective, associations represent conceptual relationships between classes
  2. Naming role is optional. If missing, it is named after the source class
  3. Multiplicities are normally 0, 1, *. It does not support for a range number e.g. 2-4
  4. Within the specification perspective, associations represent methods.
  5. From the conceptual perspective, associations have no arrow heads meaning that they are non-directional
  6. From specification perspective, association lines with arrows indicate navigability. The source class has responsibility of 'knowing' the target class but not the other way round.
Question This question has 2 correct answers.

Reference: UML Distilled, 1st edition, p56

Topic: Requirements Modeling



16. Which statements are true about associations in Class Diagrams?

  1. It is good practice to name every association and most data modelers prefer to name association using a "verb"
  2. Most object modelers prefer to assign role name using a "noun" to association
  3. If there is no name on the role, the implied name is the name of target class
Question This question has 1 correct answer.

Reference: UML Distilled, 1st edition, p62

Topic: Static Modeling



17. What is the difference between an attribute and an association?

  1. From the conceptual perspective, there is a distinct difference.
  2. From specification and implementation perspective, an attribute is owned by a type while an association allows one to navigate from one type to another
  3. UML syntax for attribute - visibility name: type = default value
Question This question has 2 correct answers.

Reference: UML Distilled, 1st edition, p63

Topic: Static Modeling



18. Which of the following are false about CRC cards?

  1. During OO design, many developers use CRC cards to capture responsibilities of classes rather than constructing class diagrams
  2. Responsibilities are used to replace attributes and methods of a class
  3. Responsibility is a low-level description of the purpose of a class
  4. You are not allowed to write more than will fit on the 4x6 card
  5. CRC cards are replaced by UML interaction diagrams
  6. CRC cards encourage animated discussion among developers especially during walk-through of use cases.
Question This question has 2 correct answers.

Reference: Fowler 1ed p65

Topic: Dynamic Modeling



19. Which of the following are true about operations of a class?

  1. At conceptual level, operations are used to specify the interface of a class
  2. The UML syntax for operation is: visibility name (parameter-list) : return-type-expression {property-string}
  3. Most people use operation and method interchangeably. Strictly speaking, operation is method declaration while method is referring to the body of procedure.
Question This question has 2 correct answers.

Reference: UML Distilled, 1st edition, p67

Topic: Static Modeling



20. Which of the following statements are true?

  1. Within a specification model, generalization means that the interface of the subtype must include all elements from the interface of the supertype.
  2. Generalization at the implementation perspective is associated with inheritance in programming languages.
  3. Subclassing is the preferred way to implement subtyping over delegation due to high cohesion
  4. The principle of substitutability means that if I write code assuming that I have a Customer, then I can freely use any subtype of Customer such Corporate Customer or Individual Customer and everything should work fine.
Question This question has 2 correct answers.

Reference: UML Distilled, 1st edition, p68

Topic: Static Modeling



21. Constraints can be represented in UML by:

  1. [ text string ]
  2. { text string }
  3. notes
  4. constraint
Question This question has 1 correct answer.

Reference: UML Distilled, 1st edition, p70

Topic: Dynamic Modeling



22. Which of the following statements are true?

  1. as models are refined, it is acceptable to use the same set of class diagrams for different perspectives: conceptual, specification and implementation.
  2. Maintaining different models for different perspectives will run into a risk of inconsistency among models.
  3. All of the above
  4. None of the above.
Question This question has 1 correct answer.

Reference:

Topic: Development Process



23. Which of the following statements are true?

  1. According to Rebecca Wirfs-Brock, a stereotype is a high-level classification of an object such as "controller" and "coordinator".
  2. According to Jacobson, class stereotypes are: interface object, control object and entity object.
  3. Within UML, stereotypes are used for meta-model extensions.
  4. All of the above.
  5. None of the above.
Question This question has 1 correct answer.

Reference: UML Distilled, 1st edition, p76

Topic: Development Process



24. Which of the following statements is false?

  1. Classification refers to the relationship between an object and its type.
  2. In multiple classification, an object may be described by several types that are not necessarily connected by inheritance.
  3. Multiple classification is similar to multiple inheritance.
  4. Dynamic classification allows objects to change type within the subtyping structure. e.g. Person <-- (Job <<dynamic>>) Manager, Engineer, Salesman.
  5. Static classification does not allow objects to change type. e.g. Person <-- (Sex {complete}) Female, Male.
  6. All of the above.
  7. None of the above.
Question This question has 1 correct answer.

Reference: UML Distilled, 1st edition, p79

Topic: Static Modeling



25. Which of the following statement is false?

  1. Aggregation is a special kind of Association.
  2. Both Aggregation and Composition are 'part-of' relationship.
  3. When the whole is deleted, parts in aggregation are also removed
  4. All of the above
  5. None of the above
Question This question has 1 correct answer.

Reference: UML Distilled, 1st edition, p80

Topic: Static Modeling



26. Which of the following statements are true?

  1. Derived associations and attributes can be found in class diagrams and interaction diagrams.
  2. Derived associations and attributes can be found in class diagrams only.
  3. Within a specification perspective, derived associations and attributes indicate an implementation option e.g. optimization and performance considerations.
  4. Within a specification perspective, derived associations and attributes indicate a constraint between values.
Question This question has 2 correct answers.

Reference: UML Distilled, 1st edition, p82

Topic: Static Modeling



27. Which of the following statements are true?

  1. One of the strengths of objected-oriented development is that you can vary the interfaces of classes independently of the implementation.
  2. Inheritance is a common technique to reuse interfaces and attributes of superclasses.
  3. Interfaces are often declared through abstract classes that may provide some implementation but the majority of implementation is at the subclass level. However, client programs will never see the implementation, only the interface.
  4. A pure interface does not contain attributes. It only consists of operations declarations with no implementation bodies
  5. All of the above.
  6. A, B, and C.
Question This question has 1 correct answer.

Reference: UML Distilled, 1st edition, p85

Topic: Static Modeling



28. Identify which of the following are value objects:

  1. Customer, Inventory, Sale
  2. BirthDate, PrimeRate, Money
  3. Account, Transaction, InstitutionNumber
  4. All of the above
Question This question has 1 correct answer.

Reference: UML Distilled, 1st edition, p88

Topic: Static Modeling



29. Which statement is correct to test subtyping?

  1. Use "is a" e.g. Silky is a Cat; Cat is an Animal
  2. Cat is a kind of Animal
  3. Animal is a kind of Cat
Question This question has 1 correct answer.

Reference: UML Distilled, 1st edition, p90

Topic: Static Modeling



30. Which of the following statements is true about an Association Class?

  1. It can contain attributes and operations.
  2. There can be more than one instance between participating objects.
  3. It is designed to support the Historic Mapping pattern.
Question This question has 1 correct answer.

Reference: UML Distilled, 1st edition, p94

Topic: Static Modeling



31. Which of the following statement is true about visibility?

  1. UML uses # for public element
  2. UML uses - for private element
  3. UML uses * for protected element
  4. UML adopts Java's convention
  5. All of the above
Question This question has 1 correct answer.

Reference: UML Distilled, 1st edition, p99

Topic: Static Modeling



32. Which of the following statement are false about interaction diagrams?

  1. Interaction diagrams is the superset of Sequence diagrams and Collaboration diagrams
  2. An interaction diagram captures the behaviour of a single or more use cases
  3. Within Sequence Diagram, each vertical line is called the object's lifeline; each message is represented by an arrow between the lifelines.
  4. Condition is represented by { xxx }
  5. Iteration is represented by *
  6. Self-delegation message is sending message to itself
  7. Return messages are implied and it is unnecessary to show them
Question This question has 2 correct answers.

Reference: UML Distilled, 1st edition, p105

Topic: Dynamic Modeling



33. Which of the following statement are false about sequence diagrams?

  1. Sequence Diagrams can also capture concurrent activities.
  2. Activations should not be used for concurrent activities
  3. Asynchronous message is represented by "half-arrow";
  4. Asynchronous message blocks the caller until it is completed.
  5. Asynchronous message must create a new thread, create a new object and communicate with a thread that is already running
  6. Object deletion, indicated by a large X, must be self-delegation (cleaning up your own mess)
Question This question has 2 correct answers.

Reference: UML Distilled, 1st edition, p107

Topic: Dynamic Modeling



34. Which of the following statement are true about collaboration diagrams?

  1. Basically sequence diagrams and collaboration diagrams are used to depict objects interaction. Sequencing is indicated by decimal numbering scheme (UML standard)
  2. The numbering scheme starts from 0
  3. UML object naming syntax - objectName : ClassName
  4. Collaboration Diagrams are preferred because the layout indicates how objects are statically connected
  5. Interaction diagrams can support complex conditional or looping behavior either by creating separate diagrams for each scenario or by inserting conditions on message [condition]
Question This question has 2 correct answers.

Reference: UML Distilled, 1st edition, p112

Topic: Dynamic Modeling



35. When to use Interaction Diagrams?

  1. When you want to look at the behavior of several objects within a single use case or several use cases
  2. They are good at showing collaborations among objects; they are not so good at conditions and looping
  3. They are good to look at behavior of a single object across many use cases.
  4. All of the above
  5. None of the above
Question This question has 1 correct answer.

Reference: UML Distilled, 1st edition, p112

Topic: Dynamic Modeling



36. Which of the following statements are true about Package Diagrams?

  1. Package in UML is similar to Java, to avoid name collision
  2. Package is a grouping mechanism that can be applied to classes only
  3. Package diagrams are particularly useful for testing
  4. Package dependency and class dependency are not the same.
  5. Dependency is indicated by a solid line with arrow head at one end
  6. Package is an object-oriented approach in managing system structure
  7. A package may contain class(es), list of classes, another package
  8. Whenever a class diagram that encompasses the whole system is no longer legible on a single letter-size sheet of paper.
Question This question has 3 correct answers.

Reference: UML Distilled, 1st edition, p114

Topic: Design and Implementation Techniques



37. Which of the following statements are false about State Diagrams?

  1. It is used to depict all possible states of a particular object and which event is causing the object to transition to that state
  2. More advanced State Diagrams are drawn for multiple objects
  3. A state diagram may contain the following elements: Start (solid black-circle), State (round-cornered rectangle), transition (solid line with arrow-head) and End (double circle with inner solid black-circle).
  4. UML transition syntax has 3 parts: Event [Guard] / Action, all of which are optional
  5. Actions are associated with transitions and are considered to be processes that occur quickly and are not interruptible.
  6. Activities are associated with states and can take longer to process. An activity may be interrupted by some event.
  7. A guard is a logical condition that will return either "true" or "false". A guard transition occurs only if the guard returns "false"
  8. A superstate means that it contains 2 or more substates.
  9. For a complex application, it is inevitable to have many concurrent states and State Diagrams are ideal for this situation
Question This question has 2 correct answers.

Reference: UML Distilled, 1st edition, p114

Topic: Dynamic Modeling



38. Which of the following statements are true?

  1. State diagrams are good at describing the behavior of an object across several use cases.
  2. To describe behavior that involves a number of objects in a use case, use interaction diagrams
  3. To describe behavior that involves a number of objects in several use cases, use activity diagrams
  4. UI and control objects are ideal candidates to be depicted by a state diagram.
  5. All of the above
  6. None of the above
Question This question has 1 correct answer.

Reference: UML Distilled, 1st edition, p128

Topic: Dynamic Modeling



39. Which of the following statements are false about Activity Diagrams?

  1. From conceptual perspective, an activity is some task that needs to be done, whether automated or manual
  2. From specification perspective, an activity is a method of a class
  3. It is illegal to have an activity followed by another activity
  4. Activity diagrams may contain the following elements: activity, trigger (solid-line with arrow at one end), guard ([condition]), decision (diamond), synchronization bar, start and end point
  5. Activity diagram could depict parallel activities and it imposes which one should be executed first
  6. Flowcharts are normally limited to sequential processes; activity diagrams can handle parallel processes.
  7. Activity diagrams are ideal for business modeling or workflow analysis
  8. Activity diagrams are not object-oriented, as their contents are not readily mapped to object models.
Question This question has 2 correct answers.

Reference: UML Distilled, 1st edition, p130

Topic: Dynamic Modeling



40. Which of the following statements are true?

  1. Modeling language is a notation, a way you use to express your thinking and others can understand.
  2. Process is "Who is doing What and How" do you organize OOP activities, such as RUP and waterfall process.
  3. Methodology = Process + Notatione.g.Booch Method = Booch Process + Booch Notation
  4. All of the above
  5. Only a and b
  6. Only a and c
Question This question has 1 correct answer.

Reference: Larman

Topic: Development Process



41. Which of the following statement is true?

  1. Development case is a document defining the case tools adopted by a project
  2. Development case is a document outlining the choice of UP artifacts for a project
  3. To support for reuse, it is recommended for an organization to adopt a development case for all applications
Question This question has 1 correct answer.

Reference: Larman 2ed p23

Topic: Development Process



42. What is the preferred size of use cases that capture the same functional requirements for a given project?

  1. 20 use cases
  2. 100 use cases
  3. 500 use cases
  4. It depends
Question This question has 1 correct answer.

Reference: UML Distilled, 1st edition, p51

Topic: Development Process



43. Which of the following statements are false about Deployment Diagrams?

  1. To show the physical relationships among software and hardware components for a given release.
  2. A node represents some kind of hardware.
  3. A component represents some kind of software source code
  4. A connection is the communication path between two hardware components
  5. The dependencies among components is the same as package dependencies
  6. It is a good practice that each component should have one and only one interface.
  7. Most practitioners draw Deployment Diagrams informally not following UML convention.
Question This question has 2 correct answers.

Reference: Fowler 1ed p143

Topic: Design and Implementation Techniques



44. Which of the following statements are false about use case realization?

  1. A use-case realization describes how a particular use case is realized within the design model in terms of collaborating objects.
  2. Use-case realization is part of requirements gathering activity.
  3. Interaction diagrams and patterns apply while doing use-case realizations
  4. During construction use-case realizations are created for remaining design problems.
Question This question has 1 correct answer.

Reference: Ezequiel's Section 6 - Design and Implementation Techniques.

Topic: Dynamic Modeling



45. Which of the following statements are true about use-case driven development?

  1. Requirements are primarily captured in use cases.
  2. Use cases are the essential part of iterative planning by choosing some use case scenarios.
  3. Use cases are key input to project sizing
  4. User manuals are normally organized based on use cases
  5. Business use cases should not be developed within the project scope
  6. All of the above
  7. Only a, b and c
Question This question has 1 correct answer.

Reference: Larman 2ed p75

Topic: Requirements Modeling



46. Which of the following statements is false about the goals of Inception?

  1. What is the vision and business case for this project
  2. Is it feasible?
  3. Are we going to buy or build?
  4. Provide accurate estimates of cost
  5. Produce a development schedule
  6. Get decision from management to proceed or stop
Question This question has 2 correct answers.

Reference: Larman 2ed p35

Topic: Development Process



47. Which documents are NOT part of the deliverables at the end of Inception?

  1. Vision and business case
  2. Use case model: list of actor-goal-use case, use case context diagram and all in high level format.
  3. Supplementary specification
  4. Glossary of terms
  5. List of risks and risk management plan
  6. Build prototypes if appropriate
  7. High level domain model
  8. High level business use cases
  9. Iteration plan
  10. Phase plan and development plan
  11. Development case
  12. High level implementation plan
Question This question has 4 correct answers.

Reference: Larman 2ed p37

Topic: Development Process



48. Which of the following are true when mapping designs to code?

  1. Classes need to be implemented and ideally fully unit tested from most-coupled to least-coupled.
  2. Use case model: list of actor-goal-use case, use case context diagram and all in high level format.
  3. Unit testing code should be written before the code to be tested and the developer writes unit testing code for all production code. The basic rhythm is to write a little test code, then write a little production code, make it pass the test, then write some more test code and so forth.
  4. Unit testing should be at package level rather than at class level. One or a few test classes are created to test the entire functions of the package.
Question This question has 2 correct answers.

Reference: Ezequiel's Section 6 - Design and Implementation Techniques.

Topic: Development Process



49. Most systems have a Start Up use case and some initial system operations related to the starting up of the application. How are we going to realize the Start Up use case?

  1. It should be designed first as the rest of application is depending on the availability of this feature.
  2. The development of an iteration diagram for a Start Up operation must be designed last after all other system operations have been considered. This ensures that information has been discovered concerning the initialization activities required.
  3. It can be implemented in any order depending on the availability of resources
Question This question has 1 correct answer.

Reference: Ezequiel's Section 6 - Design and Implementation Techniques.

Topic: Design and Implementation Techniques



50. Which of the following statements are true about Responsibilities?

  1. Responsibilities are related to the obligations of an object in terms of its behavior. Basically, responsibilities are of two types: Doing and Knowing
  2. Responsibilities are assigned to objects during object design while creating interaction diagrams.
  3. A responsibility is the same thing as a method that is designed to fulfill responsibility.
Question This question has 2 correct answers.

Reference: Ezequiel's Section 6 - Design and Implementation Techniques.

Topic: Dynamic Modeling




Valid XHTML 1.0!