UML - unified modeling language Interview Questions and Answers

Analysis and Design Tools
Home Page.....
UMLOOP'sDesign Patterns
OOAD
Design Patterns ASP.NetC#   MFCJAVAJ2EE   EJB
 

1. what is meant by "method-wars"?
Before 1994 there were different methodologies like Rumbaugh, Booch, Jacobson, Meyer etc who followed their own notations to model the systems. The developers were in a dilemma to choose the method which best accomplishes their needs. This particular span was called as "method-wars"

2. Whether unified method and unified modeling language are same or different?
Unified method is convergence of the Rumbaugh and Booch.
Unified modeling lang. is the fusion of Rumbaugh, Booch and Jacobson as well as Betrand Meyer (whose contribution is "sequence diagram"). Its' the superset of all the methodologies.

3. Who were the three famous amigos and what was their contribution to the object community?
The Three amigos namely,
 James Rumbaugh (OMT): A veteran in analysis who came up with an idea about the objects and their Relationships (in particular Associations).
 Grady Booch: A veteran in design who came up with an idea about partitioning of systems into subsystems.

 Ivar Jacobson (Objectory): The father of USECASES, who described about the user and system interaction.

4. Differentiate the class representation of Booch, Rumbaugh and UML?
If you look at the class representaiton of Rumbaugh and UML, It is some what similar and both are very easy to draw.
Representation: OMT UML.
Diagram:

Booch: In this method classes are represented as "Clouds" which are not very easy to draw as for as the developer's view is concern.
Diagram:

5. What is an USECASE? Why it is needed?
A Use Case is a description of a set of sequence of actions that a system performs that yields an observable result of value to a particular action.
In SSAD process <=> In OOAD USECASE. It is represented elliptically.
Representation:


6. Who is an Actor?
An Actor is someone or something that must interact with the system.In addition to that an Actor initiates the process(that is USECASE).
It is represented as a stickman like this.
Diagram:

7. What is guard condition?
Guard condition is one, which acts as a firewall. The access from a particular object can be made only when the particular condition is met.
For Example,
customer check customer number ATM.
Here the object on the customer accesses the ATM facility only when the guard condition is met.

8. Differentiate the following notations?
I: :obj1 :obj2

II: :obj1 :obj2
In the above representation I, obj1 sends message to obj2. But in the case of II the data is transferred from obj1 to obj2.

22. USECASE is an implementation independent notation. How will the designer give the implementation details of a particular USECASE to the programmer?
This can be accomplished by specifying the relationship called "refinement” which talks about the two different abstraction of the same thing.
Or example,

calculate pay calculate

class1 class2 class3

23. Suppose a class acts an Actor in the problem domain, how to represent it in the static model?
In this scenario you can use “stereotype”. Since stereotype is just a string that gives extra semantic to the particular entity/model element. It is given with in the << >>.

class A
<< Actor>>
attributes
methods.

24. Why does the function arguments are called as "signatures"?
The arguments distinguish functions with the same name (functional polymorphism). The name alone does not necessarily identify a unique function. However, the name and its arguments (signatures) will uniquely identify a function.
In real life we see suppose, in class there are two guys with same name, but they can be easily identified by their signatures. The same concept is applied here.
ex:
class person
{
public:
char getsex();
void setsex(char);
void setsex(int);
};
In the above example we see that there is a function setsex() with same name but with different signature.


Multiple Choice – True or False – Fill in the Blanks

2. It is important to check early in the development process that a system will run.
__________ feature provides systems with stability, as a small change in requirements does not require
massive changes in the system.
a) Inheritance & Encapsulation
b) Inheritance & Polymorphism
c) Encapsulation & Polymorphism
d) Polymorphism & Abstraction

4. The use of object-oriented technology will always result in efficient, useful, compact systems. State true or
false.

5. It is necessary to model only a single view of a system. State true or false.

6. Analysis takes place from a _________ perspective and design takes place from a _________
perspective.
a) User & Developer
b) Developer & User
c) User & Designer
d) Designer & Developer

7. The environment the system will be implemented in should be considered during analysis. State true or
false.
8. During development, there is never any overlap between analysis and design.
State true or false.
9. The implemented modules should be separately compilable.
State true or false.
10. A good notation should include as much detail as possible.
State true or false.
11. It is important to record the diagrams that you create.
State true or false.
12. The UML can be used to model only object-oriented systems.
State true or false.
13. Each model element always retains the same symbol and meaning.
State true or false.
14. Diagrams portray different combinations of _______.
a) Views
b) Model elements
c) Behavioral elements
d) Objects
15. Which of the following steps do you think developers should take to create efficient, compact applications?
a) Clearly define the initial requirements of the system
b) Concentrate early development efforts on modeling implementation mechanisms
c) Analyze and manage risk throughout the development process
d) Leave all software testing until after the system has been implemented
Choose the correct ones.
a) a and c
b) a and b
c) a, b and d
d) a, b and c
16. Identify the strengths of object-oriented technology.
a) It allows the real world to be more closely modeled
b) It provides a single paradigm for users, programmers, and testers
Choose the correct ones.
a) a and c
b) a and b
c) a, b and d
d) a, b and c
17. Object-oriented technology's ______ feature means that a small change in user requirements should not
require large changes to be made to the system.
a) abstraction
b) modularity
c) encapsulation
d) modeling
18. Identify the true statements about OOAD.
a) It provides a model of the system based on the user's requirements
b) It provides abstraction from the underlying complexity of the system
c) It allows users, analysts, designers, implementers, and testers to view different
aspects of the same system
d) It provides the bulk of the code for the implementers
a) a and c
b) a and b
c) a, b and d
d) a, b and c
19. The analysis phase takes a ______ approach to the system, ignoring its inner workings whereas the
design phase takes a _____ approach, making decisions on how the model will be implemented in code.
a) White box & Black box
b) Black box & White box
c) Top-Down & Bottom-Up
d) Bottom-Up & Top-Down
20. Identify the true statements about analysis.
a) Analysis involves abstracting from the problem domain to find classes and objects
b) Objects in the analysis model should include implementation concepts
c) Analysis takes place from a user's perspective
d) The implementation environment should be considered during analysis
a) a and c
b) a and b
c) a, b and d
d) a, b and c
21. In practice, many portions of the analysis model will not need to be changed in design. State true or false.
22. Which of the following combine to form an OOAD method?
a) Notation
b) Diagram
c) Process
d) View
a) a and c
b) a and b
c) a, b and d
d) a, b and c
23. Identify the characteristics of a good notation.
a) It should allow an accurate description of what it represents
b) It should include a very high level of detail about its subject
a) a and c
b) a and b
c) a, b and d
d) a, c and d
24. Which of the following are the OOAD methods that form the basis of the UML?
a) OOSE
b) Object Modeling Technique
c) Rational Objectory
d) Booch
a) a and c
b) a and b
c) a, b and d
d) a, c and d

25. Which of the following are aims of the UML?
a) To model systems using object-oriented concepts
b) To provide a process for software development
c) To support small-scale and large-scale analysis and design
d) To provide an insight into implementation mechanisms
a) a and c
b) a and b
c) a, b and d
d) a, c and d
26. In the UML, ______ represent basic object-oriented concepts and _______ provide the highest level of
abstraction for analyzing the system.
a) Views & Model elements.
b) Model elements & Views
c) Objects & Views
d) Behavioral Views & Objects
27. The UML was designed to be used by only one process. State true or false.
28. Implementation details are discussed during requirements capture. State true or false.
29. UML diagrams can be used during requirements capture. State true or false.
30. During analysis, the _______ are examined to find the _______ that will provide functionality for the
system.
a) Classes & Use Cases
b) Use Cases & Classes
c) State diagrams & Classes
d) Classes and State diagrams
31. It is good practice to put functional and technical classes in the same package. State true or false.
32. Towards the end of the design phase, _______ should be allocated to source code components.
a) use cases
b) relationships
c) models
d) classes
33. It is important to document all decisions made during design. State true or false.
34. Many new UML diagrams are produced during the implementation phase. State true or false.
36. In which of the following phases of a use-case driven process do you think use cases have a role?
a) Requirements capture
b) Analysis
c) Design
d) Implementation
e) Test
a) a, b and c
b) a, b, c and d
c) b and d
d) a, b, c, d and e
37. A good architecture should take into account the nonfunctional elements of the system. State true or false
38. Identify the true statements about using a process for software development.
a) Processes usually divide software development into phases
b) Processes provide guidelines for what to do at each phase of development
c) Processes are used only during the analysis phase of a project
d) Processes make it easier to measure the progress of a project
a) a and c
b) a and b
c) a, b and d
d) a, c and d
39. Which of the following are phases of a traditional OOAD process?
a) Requirements capture
b) Use-case analysis
c) Elaboration
d) Implementation
e) Test
a) a, d and e
b) a, b, c and d
c) a, b and d
d) a, b, c, d and e
40. Which of the following activities occur during the analysis phase?
a) Use cases are analyzed to find classes
b) Relationships between classes are examined
c) Classes are separated into functional packages
d) The behavior and state of objects are examined
e) The interface design should be completed
a) a, d and e
b) a, b, c and d
c) a, b and d
d) a, b, c, d and e
41. Which of the following activities occur during the design phase?
a) Test cases are used to examine the system for errors
b) Classes are allocated to source code components
c) Executable components are allocated to nodes
d) Code is reviewed on a regular basis
e) Code components are compiled, linked, and debugged
a) a, d and e
b) a, b, c and d
42. Identify the true statements about the UML and OOAD processes.
a) The UML is designed to work only with traditional OOAD processes
b) The UML is designed to work with use-case driven processes
c) The UML is designed to work with architecture-driven processes
d) The UML cannot be used with processes that are iterative
a) a and c
b) b and c
c) a, b and d
d) a, c and d
43. While designing the projects, what kind of resources do you think you should take into account ?
a) Budgets
b) Compilers
c) Personnel
d) Time
a) a and c
b) b and c
c) a, b and d
d) a, c and d
44. What do you think is the first step you should take in designing any project?
a) Design a prototype
b) Create the test cases.
c) Define the problem domain and produce a problem statement
d) Draw up a plan for the entire project
45. What is the primary purpose of the first stage of software analysis and design?
a) Determining system deployment
b) Writing code
c) Capturing requirements
d) Building GUIs
46. Which of the following best describes what a problem domain is?
a) The kinds of resources available to a design team
b) The surroundings in which a system will operate
c) The set of all the functionality’s required of a system
d) The list of technical details needed to implement a project
47. A problem statement should be written in computer-related language, using code where appropriate. State
true or false.
48. The use-case model also illustrates the relationships between the use cases and the actors. State true of
false.
49. Which of the following do you think should have input into the development of the use-case model?
a) The customers
b) The domain experts
c) The end-users
d) The developers
a) a, b and c
b) a, b, c and d
c) a, b and d
d) a and c
51. Use cases enable the developers to track how the system requirements are implemented in classes and
operations. State true or false.
52. Which of the following details do you think the use-case model includes?
a) Who will interact with the system
b) What the system will do
c) What interfaces are required
d) The implementation diagram
a) a, b and c
b) a, b, c and d
c) a, b and d
d) a and c
53. The use-case model enables the developers to trace the realization from the Use cases through to the
Classes. State true or false.
54. An actor is part of the system. State true or false.
55. Which of the following do you think are possible actors?
a) A data inputter
b) GUI components
c) Another system
d) A printer
a) a, b and c
b) a, b, c and d
c) a, c and d
d) a and c
56. The logical and physical views of the system are not affected by the use-case view. State true or false.
57. In a use-case diagram, what is the system illustrated by?
a) An oval
b) A box
c) A circle
d) A triangle

58. Which of the following steps are involved in creating a use-case model?
a) Defining the system
b) Identifying the actors and the use cases
c) Defining the relationships between the actors and the use cases
d) Defining the relationships between the use cases
a) a, b and c
b) a, b, c and d
c) a, c and d
d) a and c
59. The same use-case model cannot be used to create later versions of the same system. State true or false.
60. A use case can model only software systems. State true or false.
61. Identify what an actor represents.
a) An individual user
b) A role
c) An operation
62. Which of the following statements are true of actors?
a) One person cannot be a number of different actors
b) Use cases are initiated by actors
c) An actor is an instance of a class
d) An actor can have behaviors and attributes
a) a, b and c
b) a, b, c and d
c) a, b and d
d) a and c
63. Identify each of the distinct ways in which an actor can interact with the system.
a) An actor can input information into the system
b) An actor can receive information from the system
c) An actor can both input and receive information to and from the system
d) An actor can be a part of the system
a) a, b and c
b) a, b, c and d
c) a, b and d
d) a and c
64. Which of the following questions are relevant when identifying actors?
a) Where in the organization is the system used?
b) Which hardware devices will interact with the system?
c) How will the hardware devices interact with the system?
d) Which other systems will interact with the system?
a) a, b and c
b) a, b, c and d
c) a, b and d
d) a and c
65. Which of the following statements are true of use cases and use-case models?
a) The functionality of a use case has to be complete from start to finish
b) Use cases provide developers with classes and operations
c) Use cases outline the functionality of the system
d) Use-case models can be used to test the system
a) a, b and c
b) a, b, c and d
c) a, c and d
d) a and c
66. The context and behaviors of the system is the main Use-case diagram used to visualize. State true or
false.

73. In a class diagram, you must always show either the attributes or the operations of a class. State true or
false.
74. The UML conventions for object names are the same as those for class names. State true or false. (False)
75. What do you think you can show in a class diagram?
a) Groups of classes
b) The relationships between classes
c) The dynamic behavior of classes
d) The sequence of steps needed to complete a use case
a) a, b and c
b) a, b, c and d
c) a, c and d
d) a and b