1. Define Object Oriented Programming? OOP is the method of implementation in which programs are organized as cooperative collections of objects, each of which represents an instance of some class 2. Define Object Oriented Design? OOD is the method of design encompassing the process of objects oriented decomposition and a notation for depicting 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. Name some kinds of programming styles? There are many they include Procedure oriented, object oriented, logic oriented, rule oriented etc. 5. What are the four major elements of the object model? They are Abstraction, Encapsulation, Modularity and Hierarchy. 6. What are the three minor elements of the object model? They are Typing, Concurrency and Persistence. 7. Define abstraction? An abstraction denotes the essential characteristics of an object that distinguishes it from all other kinds of objects and thus provides crisply defined conceptual boundaries. 8. Name the four kinds of abstraction? They are Entity, Action, Virtual machine and coincidental abstraction. 9. Define Encapsulation? Encapsulation is the process of compartmentalizing the elements of an abstraction that constitute its structure and behavior. 10. Define Modularity? Modularity is the property of a system that has been decomposed into a set of cohesive and loosely coupled modules. 11. Define Hierarchy? Hierarchy is a ranking or ordering of abstractions. 12. Define Typing? Typing is the enforcement oft the class of an object such that objects of different type may not be interchanged. 13. Define Concurrency? Concurrency is the property that distinguishes an active object from one that is not active. 14. Define Persistence? Persistence is the property of an object through which its existence transcends time. 15. Write some applications of object model? They include Air traffic control, Animation, Avionics, Database, Robotics etc. 16. Define an Object? An object has a state; behavior and identity, the structure an behavior of similar classes are defined in their common classes. 17. What is state of an object? The state of an object encompasses all of the properties of he object plus the current values of each of these properties. 18. What is Behavior of an object? Behavior is how an object acts and reacts in terms of its state changes and message passing. 19. Name the two relationships among objects? They are Links and Aggregation. 20. Define class? A class is a set of objects that share a common structure and a common behavior.
Unit II
21. Name the three general approaches for classification? They are Classical categorization, Conceptual clustering and Prototype theory. 22. Define Conceptual clustering? Conceptual clustering is a more modern variation of the classical approach and largely derives from attempts to explain how knowledge is represented. 23. Define Key abstraction and mechanism? They include classes and objects. 24. What is Classification? It is the process of identifying and categorizing the key abstractions and mechanisms. 25. Name any 2 Static diagrams? Class and Object diagram. 26. What are the dynamic diagrams? They include State and Interaction diagrams. 27. Name the 3 essential elements of process diagrams? They are Processor, devices and connections. 28. Define Classical categorization? Its the method of identifying the key abstractions and mechanisms in OOAD. Its makes use of the tangible things, roles, events, people etc. 29. Define Prototype theory? Prototype theory is a better theory than the other 2, where a class of objects is represented by a prototypical theory, were object is member of the class. 30. What is class utility? Class utility contains all the non member functions of the classes. 31. What is the role of an object? Role of an object is to be the type of its class and hold the implementation of the interface and to act at instances. 32. What are the conditions to follow while building quality classes? In order to build quality classes and objects we need to satisfy the following. They are Coupling, Cohesion, Sufficiency, Completeness and Primitiveness. 33. What is the need of an Object diagram? An object diagram is used to show the existence of objects and their relationships in the logical design of a system. 34. What is the need of an Interaction diagram? An Interaction diagram is used to trace the exception of a scenario in the same context of an object diagram. 35. What is the need of a Module diagram? A module diagram is used to show the allocation of classes and objects to modules in the physical design of the system. 36. What is the need of a Module diagram? A process diagram is used to show the allocation of processes to processors in the physical design of the system. 37. What are the characteristic features of an Interaction diagram? They include the representation of objects with its name and class name. Each object has a life line. The order of messaging between objects is well defined. 38. What is a Meta class? A Meta class is a class about a class. They are normally used to provide instance variables and operations. 39. What is the need of a Class diagram? A class diagram is used to show the existence of classes and their relationships in the logical view of a system. 40. What are the different models in OO development? They are Physical, Logical, Static and Dynamic models.
Unit III
41. Name the five levels of process maturity in OOD? They are Initial, Repeatable, Defined, Managed and Optimized. 42. Name the two process used by Grady BOOCH in his OO software development? They are Macro and Micro development process. 43. Name the four steps in Micro development process? They are Identify the classes, Give semantics to the classes, Set relationship to classes and implement the classes and objects. 44. What are activities in identifying the class micro process? They are applying the classical approach, apply the techniques of behavior analysis and apply the use case analysis. 45. What are activities in giving semantics to the class in class micro process? The activities include Select one scenario or a set, walkthrough the activity of the scenario and story boarding. 46. What are activities in giving relationships to the class in class micro process? They are collecting a set of classes at a given level of abstraction, consider the presence of semantic dependency between any two classes, specify the role of the participant and validate the decision. 47. What are activities in implementing the class in class micro process? They are for each class considers its protocol, consider the use of protected or private inheritance for implementation, consider the objects to which we might delegate responsibility and represent the primitives in the language. 48. What are the steps followed in macro development process? They are Conceptualization, Analysis, Design, Evolution and Maintenance. 49. What are the activities in the conceptualization of macro process? They are establishing a set of goals for the proof of concept, assemble an appropriate team to develop the prototype and evaluate the resulting prototype. 50. What are the activities in the Analysis of macro process? They are Domain analysis and Scenario planning. 51. What are the activities in the Design macro process? They include the clustering of function points from the products of analysis, validate the architecture by creating an executable release and instrument that architecture and assess its weakness and strengths. 52. What are the activities in the Evolution of macro process? They are identify the function points, assign tasks to the team to carry out this release, and understand the semantics of the system desired behavior etc. 53. What are the activities in the maintenance of macro process? They are prioritize requests, establish a meaningful collection of changes, add less intense and more localized enhancements and manage the next evolutionary release. 54. Name some development team roles? They are like Project architect, Subsystem lead and application engineer. 55. Define SQA? SQA stands for Software Quality Assurance. This is the measure of assuring the quality of the software products. The major activity done here is testing. The assurance process also follows the quality model called the QAI-MODEL. 56. What is QAI? QAI stands for Quality Assurance Institute that proposes a QAI-MODEL that is to be followed by all testing process to achieve world class testing. 57. What are the various Defects? The various defects include Wrong, Missing, Variance, Extra etc. 58. Name any two testing tools? They are many it includes Rational Robo, Enterprise Architect etc. 59. What is V Testing? V testing stands for Verification and Validation testing. 60. What is the responsibility of the tools manager? They are responsible for the selection of tool, purchase, training etc. They help in the implementation of the appropriate tool for the desired process. They keep track of the legacy tools also.
Unit IV
61. Expand FCL? It goes like Foundation Class Library. 62. What are the requirements for FCL? The requirements are as follows Complete, Adaptable, Efficient, Safe, Simple and Extensible. 63. Define a Framework? A frame work is a collection of classes that provide a set of services for a particular domain. 64. Name some data structures used in FCL? They include bags, collections, Deques, graphs, lists, maps, queues, rings, sets, stacks, strings, trees etc. 65. Name some tools for domain analysis in FCL? They are date/time, filters, pattern matching, searching, sorting, utilities etc. 66. Write some issues in the analysis patterns of FCL? They are Time and space semantics, storage management policies, response to exceptional conditions, idioms for iteration etc. 67. What is class interface design in FCL? Here the identifiers, variables, functions prototype is declared and the link as well as aggregation steps are started. 68. Name some storage management classes in the example FCL? They are many like Queue, Unbounded Queue, Pool, Storage manager, Client etc. 69. Name some diagrams used for the design of the FCL? They include all the diagrams that can be used for object oriented development using the micro and macro development process. 70. What are the types of inheritance? The types of inheritance are Single inheritance, Multiple inheritance, Hierarchical inheritance, Multilevel inheritance etc. 71. Define the term reusability? The term reusability means reuse of properties of base class in the derived class, this is achieved by inheritance. 72. Define pattern mining? The process of looking for patterns to document is called pattern mining Some times called reverse architecture. 73. Define anti-patterns? An anti-pattern represents a worst practice while a pattern represents a best Practice. Anti-patterns come in two varieties. Those describing a bad solution to a problem that resulted in a bad situation and Those describing how to get out of a bad situation. 74. Define patterns template? Every pattern must be expressed in the form of a rule which is called as a Template. It should establish a relationship between a context, a system of forces which arises in the context, and a configuration.
75. Define proto-patterns? If something appears to have all the requisite pattern components, it should not be considered a pattern until it has been verified to be a recurring phenomenon .A proto-pattern is the pattern in waiting which is not yet known to recur. 76. What are the traditional software development methodologies? Most traditional development methodologies are either algorithm centric or data centric. 77. Define Prototype? A prototype is a version of a software product developed in the early stages of the products life cycle for specific, experimental purposes. A prototype enables you to fully understand how easy or difficult it will be to implement some of the features of the system. 78. What does RAD stands for? Rapid application development (RAD) is a set of tools and techniques that can be used to build an application faster than typically possible with traditional methods. 79. Define object persistence? A file or a database can provide support for objects having a longer lifeline, longer than the duration of the process for which they were created. This is called object persistence. An object can persist beyond application session boundaries, during which the object is stored in a file or a database. 80. Define meta-classes? If a class is an object, it must belong to a class which is called as meta-class or a class of classes. All the objects are instances of a class and all classes are instances of a meta-class.
Unit V
81. What do you mean by object diagram? The object model of OMT is represented graphically with an object diagram. The object diagram contains classes interconnected by association lines. Each class represents a set of individual objects. The association lines establish relationships among the classes. Each association line represents a set of links from the objects o f one class to the objects of another class. 82. What are the primary symbols used in Data Flow Diagrams? Data flow diagrams use four primary symbols they are process, data flow, data store, external entity. 83. Name the diagrams used in Booch methodology? They include Class diagrams, Object diagrams, State transition diagrams etc. 84. Define Design phase in Macro process? Use the class diagram to decide what classes exist and how they relate to each other, the object diagram to decide what mechanisms are used, the module diagram to map out where each class and object should be declared, and the process
85. Define Design phase in OMT? Object Design-Produces a design document, consisting of detailed objects static, dynamic and functional models. 86. Define Analysis phase in Macro process? Use the class diagram to describe the roles and responsibilities of objects. Use the object diagram to describe the desired behavior of the system. 87. What are the results of Analysis phase in OMT? The results are objects and dynamic & functional models. 88. What is Micro development process in Booch methodology? The micro process is a description of the day-to-day activities by a single or small group of software developers. 89. What is Objectory? Objectory, is a method or object-oriented development with the specific aim to fit the development of large, real-time systems. 90. Define Static model? It can be viewed as a snapshot of a systems parameters at rest or a specific point in time. They are needed to represent the structural or static aspect of a system. 91. Define Dynamic model? It can be viewed as a collection of procedures or behaviors that taken together reflect the behavior of a system over time. Dynamic modeling is the most useful during the design and implementation phases of the system development. 92. Write the advantages of Modeling? Good models are essential for communication among project teams. As the complexity of systems increases, so does the importance of good modeling techniques. 93. What is a Faade? Facade classes are the public classes in a package for public behavior. 94. What is an activity? An activity is a set of operations that is executing during the entire period an object is in a state. 95. What is a link? A link is a relationship between objects that lets one object knows about another object so that one object may request the services of another object. 96. Name any two traditional techniques for identifying objects? They are Using nouns and Using CRC cards. 97. Define discordant attribute? An attribute that seems completely unrelated to all other attributes is called discordant attribute. 98. Give any two techniques for documenting static behavior? They are Flowcharting and Data flow diagrams. 99. Define model? Model is an approximation of the real world problem. 100. Define history state? A history state captures the concept that a state must remember its sub- state when it is exited and be able to enter the same sub-state on subsequent reentry in to the state. Descriptive Questions and answers Unit I 1. Explain the Object Model with necessary examples? Object Model contains the following 7 elements Abstraction Encapsulation Modularity Persistence Typing Concurrency Hierarchy
2. Write notes about Evolution of programming languages? Evolution of programming languages include the shift of focus from programming in the small to the large High order programming languages evolved. Generation of languages came into being. First generation(1954-1958) Second generation(1959-1961) Third generation(1962-1970) The topology of the languages during every generations are different.
3. Write notes on Link and aggregation? Link and aggregation are the basic relationship between the objects Link is the physical or conceptual relationship between objects Roles played are Actor, Server and Agent Aggregation is a whole/part relation ship. A special type of association. Synchronization in association are sequential, guarded and synchronous mode of accessing.
4. Explain Object oriented analysis? OOA stands for Object oriented analysis a process of gathering the requirements for the development of a software solution OOD stands for Object oriented design a process of creating a design using the OOSDLC. OOP is the process of creating object oriented programs. Operators of a class include the following Modifier Selector Iterator Constructor Destructor
Unit II
5. Explain the Interface and Implementation of a class Interface of a class provides is outside view It hides the structure and behavior of the class protocol. Implementation of a class is the inside view. Interface of a class are three they are o Public o Protected o Private Object persistence is the property of an object through which its existence transcends over time. Concurrency is the property that distinguishes an active object from an passive one. It includes Heavy weight concurrency Light weight concurrency.
6. Write about the kinds of relation ships among Classes? Relation ships among Classes include the following Association Inheritance Aggregation Using Instantiation Meta Class
7. Explain Structured analysis in classification? Structured analysis is used for object oriented design that is supported by CASE tools. It should contain the following External entities Data stores Control stores Control transformations Data flows Control flows. Unit III 8. Explain in detail about Macro Development process? Macro Development process consists of the following phases Conceptualization Analysis Design Implementation Maintenance It acts as the controlling architecture for the micro development process It explains the overall life cycle of the development Each phase of the macro process can be supplemented by the micro process
9. Explain in detail about Micro Development process wit neat diagram? Micro Development process consists of 4 phases they are the following Identify classes and objects Add semantics to classes and objects Create the interface and implementation for the classes Implement the classes with the language perspective It explains the day to day work done by the developers It is supplemented with the macro development process It is an iterative and incremental process
10. Create analysis and design diagrams for the problem Scenario Banking? Analysis and design diagrams for the problem Scenario Banking must contain the following Use case Analysis diagrams Different scenarios Design diagrams the include Class diagram, Activity diagram, Sequence diagram etc The relationship between different entities must be finite Inheritance must be practiced etc Unit IV 11. Write in detail about FCL? FCL stands for Foundation Class Library. It contains the analysis and design perspectives The requirements are as follows Complete, Adaptable, Efficient Safe, Simple and Extensible The boundary of the problem must be defined Time and space semantics must be calculated The Evolution and Maintenance of the FCL must also be there The data structure used must also be specified
12. Write about Classification, Building quality classes and objects? In order to build quality classes and objects we need to satisfy the following Coupling Cohesion Sufficiency Completeness Primitiveness Domain analysis is the method by which the key abstractions and mechanisms are abstracted in the OOAD. The abstraction is based on the findings in the problem vocabulary. Behavioral analysis is the abstraction based on the action and event things. Rather than noun the classes and objects are taken from verb and verbal forms.
13. Write briefly about inheritance and explain the types of inheritance? Inheritance is the property of object-oriented systems that allows objects to be built from other objects. Inheritance is a relationship between classes where one class is the parent class of another derived class called base class or super class. Inheritance allows classes to share and reuse behaviors and attributes of all its super classes. Types of inheritance i. Dynamic inheritance. It allows objects to change and evolve over time. Since base classes provide properties and attributes for objects, changing base classes changes the properties and attributes of a class. ii. Multiple inheritance. Some object-oriented systems permit a class to inherit its state (attributes) and behaviors form more than one super class. Unit V 14. Write a comparative study on Booch and Rumbaugh Methodologies? Booch methodology has the following It has two process like the following The Micro development process Second is the macro development process It acts as the controlling architecture for the micro development process It make use of the following diagrams Class diagram, object diagram, Interaction diagram State chart diagram, activity diagram etc Rumbaugh Methodology is mainly called the OMT OMT stands for Object Modeling Technique It consist of the following three models Object Model Dynamic model Functional model Object model describes the objects in the system Dynamic model contains the dynamic diagrams and transitions The functional model shows the flow of data with diagrams OMT consists of four phases like Analysis, System design Object design and Implementation
15. Write about the four phases in OMT? OMT consists of four phases. They are Analysis-The results are objects and dynamic & functional models. System design-The results are a structure of the basic architecture of the system along with high-level strategy decisions. Object Design-Produces a design document, consisting of detailed objects static, dynamic and functional models Implementation-This activity produces reusable, extendible, robust code.
16. What are the advantages of Modeling? Good models are essential for communication among project teams. As the complexity of systems increases, so does the importance of good modeling techniques. Some of the advantages are as follows: Models make it easier to express complex ideas. The main reason for modeling is to reduction of complexity. Models enhance and reinforce learning and training. The cost of modeling analysis is much lower than the cost of similar perimentation conducted in real system. Manipulation of the model is much easier.