34. Give the weaknesses of Sequence diagram

advertisement
Object Oriented Analysis and Design (CA233)
1. Define : Object Oriented Programming.
OOP is a method of implementation in which programs are
organized as cooperative collections of objects, each of which represents an
instance of some class ,and whose classes are all members of a hierarchy of
classes united via inheritance relationships.
2. Define: Object Oriented Design:
OOD is a method of design encompassing the process of
object oriented decomposition and a notation for depicting both logical and
physical as well as static and dynamic models of the system under design.
3. Define : Object Oriented analysis
OOA is a method of analysis that examines requirements
from the perspective of the classes and objects found in the vocabulary of
the problem domain.
4. What are the major elements of the object model.




Abstraction
Encapsulation
Modularity
Hierarchy
5. What are the minor elements of the object model.
 Typing
 Concurrency
 Persistence
6. What is meant by Abstraction.
An abstraction denotes the essential characteristics of an object that
distinguish it from all the other kinds of objects and thus provide
crisply defined conceptual boundaries relative to the perspective of
the viewer.
7. Give the kinds of abstraction.




Entity Abstraction
Action Abstraction
Virtual machine Abstraction
Coincidental Abstraction
8. Define Encapsulation
Encapsulation is the process of compartmentalizing the elements of
an abstraction that constitutes its structure and behavior. It serves to
separate the contractual interface of an abstraction and its implementation. It
is achieved through information hiding .
9. What is meant by Modularity .
Modularity is the property of a system that has been decomposed into
a set of cohesive and loosely coupled modules.
10. What do you mean by static and dynamic binding.
Static binding or early binding refers to the time when names are
bound to types.
Static binding means that the types of all variables and expressions are
fixed at the time of compilation. Dynamic binding (late binding )means that
the types of all variables and expressions are not known until runtime.
11. Define Persistence
Persistence is the property of an object through which its existence
transcends time(i.e. the object continues to exist after its creator ceases to
exist).
12. What is meant by State of an object.
The State of an object encompasses all of the ( static) properties of the
object
plus the current (dynamic) values of each of these properties.
13. What is Class
A Class is a set of objects that share a common structure and a common
behavior
14. List out the relationships among classes
 Association
 Inheritance
 Aggregation
 Using
 Instantiation
 Meta class
15. Give the common kinds of cardinality across an association
 one- to-one
 one-to-many
 many-to-many
16. Define Meta class
A Meta class is a class whose instances are themselves classes.
17. Give the metrics to measure the quality of an abstraction
 Coupling
 Cohesion
 Sufficiency
 Completeness
 Primitiveness
18. Give the classification methods.
 Classical categorization
 Conceptual clustering
 Prototype theory
19. Define State transition diagram
A State transition diagram is used to show the events that cause a
transition from one state to another, and the actions that result from a state
change.
20. List out some process scheduling strategies.
 Preemptive




Non preemptive
Cyclic
Executive
Manual
21. What are the activities of a Micro Development Process
1.
2.
3.
4.
Identifying Classes and Objects
Identifying the semantics of Classes and Objects
Identifying the relationships among Classes and Objects
Implementing Classes and Objects
22. What are the activities of a Macro Development Process
1. Conceptualization
2. Develop a model of the system’s desired behavior(analysis)
3. Create an architecture for the implementation
4. Evolve the implementation through successive refinements
Maintenance.
23. Define Static model
Static model can be viewed as a snapshot of a system’s
parameters at rest or at a specific point in time. Static models are needed to
represent the structural or static aspect of a system.
The UML class diagram is an example of a static model.
24. Define Dynamic model.
Dynamic model can be viewed as a collection of procedures or
behaviors that taken together ,reflect the behavior of a system over time
The UML interaction diagram is an example of a dynamic model.
25. Give any two advantages of modeling
1)
2)
3)
Reduction of complexity
Manipulation of the model is much easier than manipulating a
real system
Models make it easier to express complex ideas.
26. Define UML
The unified modeling language is a language for specifying,
constructing,
visualizing, and documenting the software system and its
components. UML is a graphical language with sets of rules and semantics. It is
a simplified representation of reality.
27. What are some of the UML diagrams.
1. Class diagram
2. Use-case diagram
3. Behavior diagram
4. Implementation diagram
28. What are some of the UML dynamic diagrams
1. Interaction diagram
Sequence diagram
Collaboration diagram
2. State chart diagram
3. Activity diagram
29. What is an association role
The end of an association ,where it connects to a class, shows the association
role. Each association has two or more roles to which it is connected Roles may
optionally have
Name
Multiplicity expression
Navigability
Eg:
Employer
Company
employee
Person
Works For
The association works for connects two roles, employee and employer
30. What is the purpose of an activity diagram
The purpose of an activity diagram is to provide a view of flows
and what is going on inside a use case or among several classes. It can be used
to model an entire business process.
31. Define UML State chart diagram
A State chart diagram(also called a state diagram) shows the sequence of
states that an object goes through during its life in response to outside stimuli
and messages.
32. Define UML Interaction diagram.
Interaction diagrams are diagrams that describe how groups of objects
collaborate to get the job done. Interaction diagrams capture the behavior of a
single use case , showing the pattern of interaction among objects. There are
two kinds of Interaction diagram.
1. Sequence diagram
2. Collaboration diagram
33. Give the strengths of Sequence diagram
 Simple notation
 Clearly shows sequence or time ordering of messages
34. Give the weaknesses of Sequence diagram
 Consumes horizontal space
 Forced to extend to the right when adding new objects
35. Give the strengths of Collaboration diagram
 Space economical – Flexible to add new objects in two
dimensions.
 Better to illustrate complex branching, iteration and concurrent
behavior
36. Give the weaknesses of Collaboration diagram
 Complex notation
 Difficult to see sequence of messages
37. Define Conceptual model
Conceptual model is a visual representation of conceptual classes or
real world objects in a domain of interest .They are also called Domain
model , Domain object model and Analysis Object model
38. What is use case?
Use cases are scenarios that describe how actors use the system
(interaction between users and a system. Use case model provides an
external view of the system. A use case is a sequence of transaction in a
system whose task is to yield results of measurable value to an individual
actor of the system
39. What is the purpose of extends association.
Extends association is used when we have one use case that is
similar to other use case but does a little bit more or is more specialized ie it
is like a subclass.
40. How do regular inheritance and selective inheritance differ?
Regular inheritance occurs when the subtype inherits all the
functions of the super type . Selective inheritance occurs when the
subtype inherits only some of the functions of the super type.
41. What is the difference between structured and unstructured complex
object?
Unstructured complex object - DBMS does not know what their
structure is. Eg: bitmap
Images , long text strings .They are also called as binary large objects
(BLOBs)
Structured complex object - Object structure is defined by the type
constructors ( tuple , atom ,set, list, bag ..) provided by OODBMS
42. Define frame works.
Frame work- is a set of cooperating classes that make up a reusable
design for a specific class of software . It gives a solution to a
particular problem domain.
43. Define the following terms
 Derived attribute
 Key attribute
Derived attribute - The value for this type of attribute can be derived
from the values of other related attributes.
Key attribute - An entity usually has an attribute whose values are
distinct for each individual entity.
44. List out the GoF design patterns.
Adapter, Factory, Singleton , Strategy ,Composite, Facade
45.What is the difference between persistent and Transient object
Transient objects exist in the executing program and disappear once
the program terminates. Persistent objects are stored permanently in the
data base and persist after program termination.
46.Discuss the type constructors in Object Oriented Terminology.
Type constructors are used to define the data structure for an object
oriented design schema .example - atom , tuple , list , bag ,array .
47. What are the steps involved in Coad / Yourdon OOAD?
1.Finding class & objects
2. Identifying structures
3.Defining subjects
4. Defining attributes
5. Defining services
48. What is the difference between ownership semantics and reference
semantics in structured complex object.
Ownership semantics - sub objects of complex objects are
encapsulated within the complex object.
Reference semantics
- components of the complex object are
independent objects they may be referenced from complex object.
49. List out the CK class oriented metrics
Weighted methods per class
Depth of the inheritance tree
Number of children
Response for a class
Coupling between object class
Lack of cohesion in methods
50. Explain the following terms in Object Oriented terminology
 Method
 Signature
Method- Operation implementation
Signature- Interface part of each operation.
51.
Differentiate framework from design pattern
1. Design patterns are more abstract than framework
2. Design patterns are smaller architectural elements than frame
work
3. Design patterns are less specialized than frame work
52. Explain the difference between attributes and value set.
Attribute – Property that describe it
Value set – Set of values that may be assigned to each attribute for
each individual entity.
53. Define : Weak entity set.
Entity types that do not have key attribute of their own.
54. Define : Middleware.
Middleware - The additional software layer between the user interface
front end and the DBMS backend that facilitates access to heterogeneous
databases. It Provides services such as routing, distribution, message,
and network management. ORB is a middleware Eg: CORBA, COM
55. List out the steps involved in Booch OOD?




Identify classes & objects
Identify class & object semantics
Identify classes & objects relationships
Identify classes & objects implementation.
56. List out the metrics that are directly applied to object oriented system
Weighted methods per class
Depth of the inheritance tree
Number of children
Response for a class
Coupling between object class
Lack of cohesion in methods
57. Define : Instantiation:
The process of filling in the template of a generic class to produce a
class from which one can create instances.
58.
What is meant by precondition and post condition.
Precondition – An invariant assumed by an operation
Post condition - An invariant satisfied by an operation
59. Define Scenario:
An outline of events that elicits some system behavior.
60. Define cardinality:
The number of instances that a class may have ; the number of
instances that participate in a class relationship.
61. What is class category
A logical collection of classes ,some of which are visible to other class
categories, and others are hidden .The classes in the class category
collaborate to provide a set of services.
62. Define class diagram:
Part of a notation of object oriented design., used to show the
existence of classes and their relationships in a logical design of a system
63. Define Collaboration
The process whereby several objects cooperate to provide some higher
level behavior.
64. Define Concrete class:
A class whose implementation is complete and thus may have
instances.
65. What is meant by CRC cards.
Class/Responsibilities/Collaborators ; a simple tool for brainstorming
about the key abstractions and mechanisms in a system.
66. Define Delegation:
The act of one object forwarding an operation to another object ,to be
performed on behalf of the first object.
67. What is meant by information hiding:
The process of hiding all the secrets of an object that do not
contribute to its essential characteristics ;typically the structure of an
object is hidden, as well as the implementation of its method.
68. Define Module diagram.
Part of a notation of object oriented design., used to show the
allocation of classes and objects to modules in the physical design of the
system
69. Define Process diagram.
Part of a notation of object oriented design., used to show the
allocation of processes to processors in the physical design of the system
70. What is meant by Parameterized class.
A class that serves as a template for other classes ,in which the template
may be parameterized by other classes, objects, and/or operations .A
Parameterized class must be instantiated before instances can be created.
71. Define Selector operation:
An operation that accesses the state of an object but does not alter the
state.
72. Define abstract class
A class that has no instances. An abstract class is written with
the expectation that its concrete subclasses will add to its structure and
behavior ,typically by implementing its abstract operations.
73. What is meant by association
A relationship denoting a semantic connection between two
Classes
74. What is virtual function.
An operation upon an object. A virtual function may be redefined by
subclasses; thus, for a given object, it is implemented through a set
of methods declared in various classes that are related via inheritance
hierarchy.
75. List out Rumbaugh OMT modeling parts
OMT separates modeling into three different parts. They are
1. Object Model
2. Dynamic Model
3. Functional Model
76. Define :Aggregation
A part of relationship. It is a kind of relationship used to model whole /
part relationships between things . Two major properties are
Transitivity – if A is a part of B and B is a part of C, then A is a part
of C.
Anti symmetry - if A is a part of B then B is not a part of A. .
77. Give



the three kinds of part of relationship patterns.
Composition
Container
Collection
78. Define: Using relationship
Association denotes a bi-directional semantic connection .Using
relationship is one possible refinement of an association. Whereby we
assert which abstraction is the client and which is the supplier of certain
services
79. What is meant by uses association in use case diagram
When we want to share common sequences in several use cases,
utilize the uses association by extracting common sequences into a
new shared use case.
80.What is meant by abstract and concrete usecase.
An abstract usecase is not complete and has no initiation actors but is
used by a concrete use case ,which does interact with actors. Abstract
use cases also are the use cases that have uses or extends association
81.Write the difference between actor and user
A user may play more than one role. The term actor represents the
role a user plays with respect to a system.
82. Define: Generalization
Generalization is the relationship between a more general class and a
more specific class.
83. Define use case diagram.
Use case diagram is a graph of actors ,set of use cases enclosed by a
system boundary, communication association betweens between the
actors and the use cases, and generalization among the use cases.
84.List out the strategies to identify conceptual classes.
i. Identify noun phrases
ii. Use a conceptual class category list.
85.List out the GRASP patterns
1. Information expert
2. Creator
iii. High cohesion
iv. Low coupling
v. Controller
86. Define polymorphism.
The concepts that two or more classes of an object can respond to the
same message in different ways, using polymorphic operations. Also , the
ability to define polymorphic operations.
87. Define Recursive association.
An association where the source and destination are the same object
classes.
88. Define : CORBA
Common object request broker architecture .It is a standard proposed as a
means to integrate distributed , heterogeneous business application and data.
89. Define : Validation
The task of predicting correspondence : are we building the right
product ?
90. Define : Verification
The task of determining correctness : are we building the product right?
91. Multiple inheritance
The inheritance in some object oriented systems, that permits a class to
inherits its attributes and methods from more than one super class .
92. Define lifeline in object oriented terminology.
Lifeline represents the existence of an object at a particular time.
93. Waterfall life cycle
An approach to software development that starts with deciding what to do
and how to do it ,then doing it, testing, and using the application.
94. What is meant by n-ary association
It is an association among more than two classes .
95.Define : ORB
Object request broker is a middleware that implements a communication
channel through which applications can access object interfaces and request
data and services.
96. What is meant by two-tier and three-tier architecture.
In a two-tier architecture ,a client talks directly to a server, with no
intervening server.
This type of architecture typically is used in small environments with less
than 50 users.
A three-tier architecture introduces a server ( application or web server)
between the server and client.
97. Define the term Concurrency in object oriented terminology.
It allows different objects to act as the same time. This property
distinguishes an active object from one that is not active. Many operating
systems provide direct support for concurrency
98. What is meant by composition
It is a part of relationship pattern. Complex object is constructed
from its parts . Eg : Engine is a part of a car.
99. Define the Container part of relationship pattern
A physical whole encompasses but is not constructed from physical
parts Eg : house can be considered as a container for furniture and home
appliances.
100. Define Collection part of relationship pattern
A conceptual whole encompasses parts that may be physical or
conceptual. Eg: football team is a collection of players.
Download
Study collections