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.