Analysis and Design Tools
Home Page.....
UML
OOP
Design Patterns
OOAD
Design Patterns
ASP.NetObject OrientedC#MFCJAVAJ2EEEJB
OOAD WITH UML
Multiple Choice – True or False – Fill in the Blanks
Q. 1. Fill in the blanks:
1. UML supports __________________ phase of software development life cycle.
2. __________________ and __________________ are two of the behavioural type of UML components.
3. __________________ and __________________ describes the physical aspect of software system.
4. One UML component can be related with any other UML component by __________________ ,
__________________ , __________________ or __________________ type of relation.
5. Sort.dll can typically be __________________ type of component in a software system.
Q. 2. Match the pairs. Write the matched SN-A and SN-B pairs in answer sheet.
SN-A COL A SN-B COL B
1 Activity Diagram A Requirements
2 Class Diagram B Concepts
3 Collaboration Diagram C Snapshot of Class Diagram
4 Component Diagram D Messages
5 Deployment Diagram E Organisation of Components
6 Object Diagram F State
7 Sequence Diagram G Actions
8 Stakeholder H Physical Aspect
9 StateChart Diagram I Processor
10 Use Case Diagram J External Entity
Q. 3. State whether TRUE or FALSE.
1. Modelling is nothing but a template that guides us in constructing a system.
2. All the models of a system should have the same precision.
3. An architect doesn’t produce architecture representation.
4. Models can’t be used for communication among different stakeholders.
5. Use case diagrams can be built and refined through out the development.
6. In sequence diagrams the different messages are numbered as per their occurrences.
7. Use cases can be included in any type of collaboration diagrams
8. Collaboration diagrams and Activity Diagrams describe the dynamic behaviour of the system
9. We can’t describe any type of static behaviour by the representation of Object Diagrams.
10. Tabbed Values can be used to describe sample values of a particular component in UML Diagrams.
Q.4. Assorted Questions
1. Which of the following do you think are reasons for the software crisis?
a) The development of new technology
b) Higher user expectations
c) Growth in distributed systems
d) Development of visual programming tools
Choose the correct ones.
a) a and c
b) a and b
c) a, b and d
d) a, b and c
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.
67. What do you think you should do after creating problem statements or use cases?
a) Integrate use cases with problem statements
b) Model how the problem domain behaves
c) Create component diagrams
d) Create the sequence diagrams
68. When do you think objects are created?
a) When the classes to which they belong are created
d) At the start of the program execution.
69. What do you think an attribute is?
a) An aspect of an object's behavior
b) The way an object relates to other objects
c) A feature of an object which distinguishes it from other objects
d) A way to interact with the object
70. The values of properties are static. State true or false.
71. What do you think occurs when an object uses an operation?
a) A new instance of the object is created
b) A message is passed to another object
c) All the values of the object are changed
d) A value of attributes is changed.
72. One object can be identical to another if both have the same properties and behavior. 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
76. What do you think you should do if you've chosen a class that performs two functions?
a) Divide it into two new classes
b) Omit one of its functions
c) Make one of the functions a pure virtual one
d) Make the class a virtual one
77. Which of the following do you think are problems that strong coupling leads to?
a) It makes programs more difficult to use
b) It makes programs more difficult to extend
c) It makes programs more difficult to debug
d) It makes program easy to maintain
a) b and c
b) a, b, c and d
c) a, c and d
d) a and b
78. When do you think a class is sufficient?
a) When it contains many objects
b) When its attributes have values
c) When it has enough attributes and operations to fulfil its specified purpose
d) When it contains nested classes
79. If a class needs to model something in great detail, you need more specifications to make it sufficient.
State true or false.
b) It results in programs that are easier to maintain and extend
c) It creates programs that run faster
d) It makes it easier to design complex, large-scale programs
a) b and c
b) a, b, c and d
c) a, b and d
d) a and b
81. What characteristics should all objects have?
a) Clear boundaries
b) Well-defined behavior
c) Position and quantity
d) Extendibility
a) b and c
b) a, b, c and d
c) a, b and d
d) a and b
82. What do objects of a class have in common?
a) Behavior
b) Properties
c) Initial values
d) Structure
e) Relationships to other objects
a) a, b and d
b) a, b, c and d
c) a, b, d and e
d) a, b and e
83. How might one object change another object's state?
a) By using a modifier operation on the object
b) By using a selector operation on the object
c) By getting the value of one of that object's attributes
d) By creating a new object of that object's class
84. An object's identity depends on its attributes and operations. State true or false.
85. Which of the following are the conventions most commonly used for class names in the UML?
a) Names should be in bold
b) No underscores should be used
c) The initial letter of each word should be capitalized
d) There should be a space between each word in the class name
a) a, b and d
b) a, b, c and d
c) a and b
d) a and c
86. The second compartment of a UML class diagram contains the class's ________, while the third
compartment contains its ________.
(Attributes & Operations)
87. How should object names usually appear in the UML?
a) Underlined and in bold type
b) Underlined and in plain type
c) In plain type and preceded by a colon
d) Entirely in lower case
b) Cohesion
c) Sufficiency
d) Completeness
e) Primitiveness
a) a, b, c and d
b) a, b, c and e
c) a, b, c, d and e
d) a, b and c
89. Well-designed class models tend to use ________ coupling, whereas badly designed ones use _______
coupling.
a) Weak & Strong
b) Strong & Weak
c) No & Weak
d) Strong & No
90. What are the characteristics of a functionally cohesive class?
a) It is well defined
b) It contains members that are closely related
c) It is connected to many other classes
d) It serves a definite purpose
e) It contains only basic operations
a) a, b and d
b) a, b, c and e
c) a, b, c, d and e
d) a, b and c
91. What does primitiveness mean?
a) A class should have only one function
b) You should include as few objects in a class as possible
c) You should use the most basic operations and attributes possible in a class
d) A complete class with all functionality.
92. Classes need to be very specific. State true or false.
93. What do you think attributes describe?
a) The state of the object
b) The properties of the object
c) The function of the object
d) The characteristics of the object
a) a, b and d
b) a, b and c
c) a and b
d) a and c
94. What do classes that are classified with stereotypes share?
a) Attributes
b) Operations
c) Behavior
d) Some general purpose
95. Which of these statements are true?
a) Natural language is unambiguous
b) It is possible for one term to refer to more than one class
c) It is possible for several terms to refer to the same class
d) Classes need to be very specific
b) a, b and c
c) b, c and d
d) a and c
96. Which of the following actions do you think you should take if the definition is the same as that for another
class?
a) Delete the second class
b) Combine the classes
c) Rename the classes
d) Write two identical definitions
97. If the documentation is very large, you should break the class into more manageable classes. State true or
false.
98. If you are finding it hard to identify the name of the class and to write a concise definition for it, what do you
think you should do?
a) Ignore the class completely
b) Do more analysis to get a better understanding of what is involved in the class
c) Write a definition for the class, even if it is not very good
d) Combine it with another class
99. This is a bad definition because it does not say why the class is needed. State true or false.
100. What benefits do you think there are to using packages?
a) Classes are easier to use
b) Classes are easier to reuse
c) Classes are easier to maintain
d) It is easier to view all of the use cases in the model
a) a, b and d
b) a, b and c
c) b, c and d
d) a, b, c and d
101. A package can contain other packages. State true or false.
102. A class can be owned by more than one package. State true or false.
103. In the logical view of the system what do you think the main class diagram is a view of?
a) All the top-level packages in the system
b) Each individual class in the entire system
c) All of the use case diagrams in the system
d) A Complete model of the system
104. A package can have its own main class diagram. State true or false.