Thursday 9 May 2013

OBJECT ORIENTED SYSTEM DESIGN QUESTION BANK

UNIT – I
PART-A

1.        What is a method?
             In an object-oriented system, a method denotes the behavior of an object which is defined by its class.  For example consider car object, the possible methods are start ( ), drive ( ), apply brake ( ) and stop( ).
2.        What is a methodology?
           Object oriented methodology is a technique to help people to execute good analysis and design based on object oriented concept.
3.        What is process?
           The process in OMT DFD is any function being performed; for example, verify Password or PIN in the ATM system.
4.        What are the phases of OMT? Briefly describe each phase.
           OMT consists of four phases, which can be performed iteratively:
i.    Analysis.  The results are objects and dynamic and functional models.
ii.    System design.  The results are a structure of the basic architecture of the system along with high-level strategy decisions.
iii.    Object design.  This phase produces a design document, consisting of detailed objects static, dynamic, and functional models.
iv.    Implementation.  This activity produces reusable, extendible, and robust code.
5.        What is an object model? What are the other OMT models?
          OMT separates modeling into three different parts:
i.    An object model, presented by the object model and the data dictionary.
ii.    A dynamic model, presented by the state diagrams and event low diagrams.
iii.    A functional model, presented by data flow and constraints.
The object model describes the structure of objects in a system: their identity, relationships to other objects, attributes, and operations.  The object model 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 of one class to the objects of another class.
6.        What is the main advantage of DFD?
                The OMT data flow diagram (DFD) shows the flow of data between different processes in a business.  An OMT DFD provides a simple and intuitive method for describing business processes without focusing on the details of computer systems.
7.        What is the strength OMT?
               OMT is a fast, intuitive approach for identifying and modeling all the objects making up a system.  Details such as class attributes, method, inheritance, and association also can be expressed easily.  The dynamic behavior of objects within a system can be describe using OMT dynamic model this model lets you specify detailed state transitions and their descriptions with in system. Finally, a process description and consumer-producer relationships can be expressed using OMT’s functional model.
8.        Name five Booch diagrams.
               Class diagrams, object diagrams, State transition diagrams, Module diagrams, Process diagrams, Interaction diagrams.
9.        Briefly describe the Booch system development processes.
               The Booch methodology prescribes a macro development process and a micro development process.  The macro process serves as a controlling framework for the micro process and can take weeks or even months.  The primary concern of the macro process is technical management of the system. In the micro process the traditional phases of analysis and design are preserved to a large extent. The macro development process consists of the following steps
i.    Conceptualization.
ii.    Analysis and development of the model.
iii.    Design or create the system architecture
iv.    Evolution or implementation.
v.    Maintenance.
             Each macro development process has its own micro development processes.  The micro process is a description of the day-to-day activities by a single or small group of software developers.
    The micro development process consists of the following steps:
i.    Identify classes and objects.
ii.    Identify class and object semantics.
iii.    Identify class and object relationships.
iv.    Identify class and object interfaces and implementation.
10.        What is the strength of Booch methodology?
                The Booch methodology is a widely used object-oriented method that helps you design your system using the object paradigm.  It covers the analysis and design phases of an object-oriented system.  Even though Booch defines a lot of symbols to document almost every design decision, if you work with his method, you will notice that you never use all these symbols and diagrams.  You start with class and object diagrams in the analysis phase and refine these diagrams in various steps.  Only when you are ready to generate code, you can add design symbols and you can document your object-oriented code.
11.        What is Objectory?
                  Object-oriented software engineering (OOSE), also called Objectory, is a method of object-oriented development with the specific aim to fit the development of large, real-time systems.
12.        Name the models in Objectory?
•    Use case-model
•    Domain object model
•    Analysis object model
•    Implementation model
•    Test model
13.        What is a use case?
               Use cases are scenarios for understanding system requirements.  A use is an interaction between users and a system.  The use-case model captures the goal of the user and the responsibility of the system to its user.
14.        What is the reason for having abstract use cases?
               Use cases could be viewed as concrete or abstract. An abstract use case is not complete and has no actors that initiate it but is used by another use case.  This inheritance could be used in several levels.  Abstract use cases also are the ones that have uses or extends relationships.
15.        What are some of the ways that use cases can be described?
In the requirements analysis, the use cases are described as one of the following
•    Nonformal text with no clear flow of events.
•    Text, easy to read but with a clear flow of events to follow (this is a recommended style).
•    Formal style using pseudo code.
16.        What must a use case contain?
The use case description must contain
•    How and when the use case begins and ends.
•    The interaction between the use case and its actors, including when the interaction occurs and what is exchanged.
•    How and when the use case will need data stored in the system or will store data in the system.
•    Exceptions to the flow of events.
•    How an when concepts of the problem domain are handled.
17.        What is the strength of the Jacobson  Methodology?
                   The Jacobson Methodologies (e.g., object-oriented Business Engineering (OOBE), object-oriented Software Engineering (OOSE), and Objectory) cover the entire life cycle and stress tractability between the different phases, both forward and backward.  This tractability enables reuse of analysis and design work and results in reduction of development time. At the heart of this methodologies is the use-case concept, which evolved with Objectory (Object Factory for Software Development).
18.        Describe the differences between patterns and frameworks.
               A framework is executable software, whereas design patterns represent knowledge and experience about software.  In this respect, frameworks are of a physical nature, while patterns are of a logical nature: frameworks are the physical realization of one or more software pattern solutions; patterns are the instructions for how to implement those solutions.
Gamma et al. describe the major differences between design patterns and frameworks as follows.
•    Design patterns are more abstract than frameworks.  Frameworks can be embodied in code, but only examples of patterns can be embodied in code.  A strength of frameworks is that they can be written down in programming languages and not only studied but executed and reused directly.  In contrast, design patterns have to be implemented each time they are used.  Design patterns also explain the intent, trade-offs, and consequences of a design.
•    Design patterns are smaller architectural elements than frameworks.  A typical framework contains several design patterns but the reverse is never true.
•    Design patterns are less specialized than frameworks.  Frameworks always have a particular application domain.  In contrast, design patterns can be used in nearly any kind of application.  While more specialized design patterns are certainly possible, even these would not dictate an application architecture.
19.        What is a model?
               A model is an abstract representation of a system, constructed to understand the system prior to building or modifying it.  The term system denotes any process or structure.  For example, the organizational structure of a corporation, health services, computer software, instruction of any sort (including computers), the national economy, and so forth all would be termed systems.
20.        Why do we need to model a problem?
              A model is simplified representation of reality a model is simplified because reality is too complex or large and much of the complexity is irrelevant to the problem what we are trying to describe. Complexity is reduced  by modeling.
21.        What are the different types of modeling? Briefly describe each.
                   Models can represent static or dynamic situations.  Each representation has different implications for how the knowledge about the model might be organized and represented. A static model can be viewed as a snapshot if a State’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.  For example, a customer could have more than one account or an order could be aggregated from one or more line items.  Static models assume stability and an absence of change in data over time.  The unified modeling language class diagram is an example of a static model. A dynamic model, in contrast to a static model, can be viewed as a collection of procedures or behaviors that, taken together, reflect the behavior of a system over time.  Dynamic relationships show how the business objects with inventory to determine product availability.
22.        What is UML? What is the importance of UML?
                 The unified modeling language is a language for specifying, constructing, visualizing, and documenting the software system and its components.  The UML is a graphical language with sets of rules and semantics.  The rules and semantics of a model are expressed in English, in a form known as object constraint language (OCL).  OCL is a specification language that uses simple logic for specifying the properties of a system.  The UML is not intended to be a visual programming language in the sense of having all the necessary visual and semantic support to replace programming languages.  However, the UML does have a tight mapping to a family of object-oriented languages, so that you can get the best of both worlds.
23.        What is Use case?
               A Use case is a description of a set of sequences of actions, including variants, that a system performs to yield an observable result of value to an actor. Graphically, a use case is rendered as an ellipse.
24.        Describe the class diagram.
                The UML class diagram, also referred to as object modeling, is the main static analysis diagram.  These diagrams show the static structure of the model.  A class diagram is a collection of static modeling elements, such as classes and their relationship, connected as a graph to each other and to their relationships to other classes.  Class diagrams do not show temporal information, which is required in dynamic modeling.
25.        How would you represent or model extremely visible behavior of a class?
                   Class interface notation is used to describe the externally visible behavior of a class; for example, an operation with public visibility.  Identifying class interfaces is a design activity of object-oriented system development.  The UML notation for an interface is a small circle with the name of the interface connected to the class.  A class that requires the operations in the interface may be attached to the circle by a dashed arrow.  The dependent class is not required to actually use all of the operations. For example, a person object may need to interact with the Bank Account object to get the Balance.
26.        What is an association role?
               A simple association -- the technical term for it is binary association –is drawn as a solid line connecting two class symbols.  The end of an association, where it connects to a class, shows the association role.  The role is part of the association, not part of the class.  Each association has two or more roles to which it is connected.  In figure , the association worksFor connects two roles, employee and employer.  A person is an employee of a company and a Company is an employer of a Person.








27.        What is multiplicity?                            
Multiplicity specifies the range of allowable associated classes.  It is given for roles within associations, parts within compositions, repetitions, and other purposes.  A multiplicity specification is shown as a text string comprising a period-separated sequence of integer intervals, where an interval represents a range of integers in this format.
Lower bound., upper bound.
    The terms lower bound and upper bound are integer values, specifying the range of integers including the lower bound to the upper bound.  The star character (*) may be used for the upper bound, denoting an unlimited upper bound.  If a single integer value is specified, then the integer range contains the single values.  For example,
0..1
0..*
1..3, 7..10, 15, 19..*
28.        What is a qualifier?
           A qualifier is an association attribute.  For example, a person object may be associated to a bank object.  An attribute of this association is the account#.  The account# is the qualifier of this association.
    A qualifier is shown as a small rectangle attached to the end of an association path, between the final path segment and the symbol of the class to which it connects. The qualifier rectangle usually is smaller than the attached class rectangle.
29.        How would you show complete and incomplete generalizations?
            Generalization is the relationship between a more general class and a more specific class.  Generalization is displayed as a directed line with a closed, hollow arrowhead at the superclass end. The UML allows a discriminator label to be attached to a generalization of the superclass.  For class Boeing-Airplane has instances of the classes Boeing 373, Boeing 747, and Boeing 767, which are subclasses of the class Boeing Airplaned.  Ellipses (…) indicate that the generalization is incomplete and more subclasses exist that are not shown.  The constructor complete indicates that the generalization is complete and no more subclasses exist that are not shown is complete and no more subclasses are needed.
30.        What are model constraints, and how are they represented in the UML?
           Constraints are assumptions or relationships among model elements specifying conditions and propositions that must be maintained as true; otherwise the system described by the model would be invalid.  Some constructions, such as association OR constraints, are predefined in the UML; others may be defined by users.  Constraints are show as test in braces, { }. The UML also provides language for writing constraints in the OCL.  However, the constraint may be written in a natural language.
31.        How does the UML group model elements?
                  A package is a grouping of model elements.  Packages themselves may contain other packages.  A package may contain both subordinate packages and ordinary model elements.  The entire system can be thought of as a single high-level package with everything else in it.  All UML model elements and diagrams can be organized into packages.
                 A package is represented as a folder, shown as a large rectangle with a tab attached to its upper left corner.  If contents of the package are not shown, then the name of the package is placed within the large rectangle.  If contents of the package are shown, then the name of the package may be placed on the tab .  The contents of the package are shown within the
32.        Name and describe the relationships in a use case diagram.
                A use-case diagram is a graph of actors, a set of use cases enclosed by a system boundary, communication (participation) associations between the actors and the use cases, and generalization among the use cases.
33.        What are some of the UML dynamic diagrams?
Behavior diagrams (dynamic):
•    Interaction diagrams:
•    Sequence diagrams
•    Collaboration diagrams
•    Statechart diagrams
•    Activity diagrams
34.        When would you use interaction diagrams?
           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.  The diagram shows a number of example objects and the messages passed between those objects within the use case.  There are two kinds of interaction models: sequence diagrams and collaboration diagrams. 
35.        What is the difference between sequence diagrams and collaboration diagrams?
              In a collaboration diagram, objects are shown as figures.  As in a collaboration diagram, the sequence is indicated the message sent within the given use case.  In a collaboration diagram, the sequence is indicated by numbering the messages.
36.        What is the purpose of an activity model?
              An activity diagram is a variation or special case of a state machine, in which the states are activities representing the performance of operations and the transitions are triggered by the completion of the operations.  Unlike state diagrams that focus on the events occurring to a single object as it responds to messages, an activity diagram can be used to model an entire business process.  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, activity diagram can also be used to represent a class’s method implementation.    
37.        What is a meta-model? Is understanding a meta-model important?
           The UML defines notations as well as a meta-model.  UML graphic notations can be used not only to describe the system’s components but also to describe a model itself.  This is known as a meta-model, a meta-model is a model of modeling elements. The purpose of the UML meta-model is to provide a single, common and definitive statement of the syntax and semantics of the elements of the UML.
38.        What is Activity diagram?
          An activity diagram is a variation or special case of a state machine,in which the states are activities representing the performance of operations and the transitions are triggered the completion of the operations.
39.        What is UML Statechart diagram?
A Statechart diagram shows the sequence of states that an object goes through
during its life in response to outside stimuli and messages.
40.        What is UML Collaboration Diagram?
Collaboration diagram represents collaboration,which is a set of objects related in a particular context,and interaction,which is a set of messages exchanged among the objects within the collaboration to achieve a desired outcome.
41.        What is UML Sequence diagram?
Sequence diagrams are an easy and intuitive way of describing the behavior of a
system by viewing the interaction between the system and its environment.A sequence diagram shows an interaction arranged in a time sequence.
42.        What is Aggregation and Composition?
          Aggregation is a form of association .A hollow diamond is attached to the end of the path to indicate aggregation.
          Composition ,also known as the a-part-of,is a form of aggregation with strong ownership to represent the component of a complex object.Composition is also known as a part-whole relationship.Uml notation for composition is a solid diamond at the end of a path.
43.        What are the UML diagrams?
1.Class diagram
2.Use-case diagram
3.Behavior diagram
3.1.Interaction diagram
3.1.1.Sequence diagram
3.1.2.Collaboration diagram
3.2.Statechart diagram
3.3.Activity diagram
4.Implementation diagram
4.1.Component diagram
4.2.Deployment diagram
44.        What are the different UML diagrams?
•    Class diagram
•    Object diagram
•    Sequence diagram
•    Collaboration diagram
•    State chart diagram
•    Activity diagram
•    Component diagram
•    Deployment diagram
45.        What is a diagram?
         A diagram is the graphical presentation of a set of elements, most often rendered as a connected graph of vertices (things) and arcs (relationships).
46.        What are kinds of things in UML?
•    Structural things
•    Behavioral things
•    Grouping Things
•    Annotational things
47.        What are the kinds of Relationships?
•    Dependency
•    Association
•    Generalization
•    Realization
48.        Name the building blocks of UML?
•    Things
•    Relationships
•    Diagrams
49.        Mention the major elements required to form a conceptual model of language?
•    UML’s basic building blocks
•    Rules that dictate how those building blocks may be put together
•    Some common mechanisms that apply through out the UML
50.        What does Use case diagram contain?
•    Use case
•    Actors
•    Dependency, generalization and association relationships
51.        Define Use case diagram?
              A Use case diagram is a diagram that shows a set of use cases and actors and their relationships.
52.        How will you organize Use cases?
              Use cases can be organized by grouping them in packages in the same manner classes are organized. Use cases can also be organized by specifying generalization, include, and extend relationships among them. These relationship are applied in order to factor common behaviors and in order to factor variants.


PART-B
1.        What is OMT? Explain the phases of it. Explain how it does modeling.
2.        State the Booch methodology for modeling.
3.        Explain the Jacobson modeling methodology.
4.        What are design patterns? What are their types? What are the components of them? How can you capture them.
5.        What are antipatterns? Why are they considered?
6.        What is a framework? How does it differ from pattern?
7.        Explain the components and processes in unified approach?
8.        What is modeling? What are advantages of it?
9.        Explain UML class diagram and use case diagram in detail.


UNIT – I
PART-A

1.        What is a method?
             In an object-oriented system, a method denotes the behavior of an object which is defined by its class.  For example consider car object, the possible methods are start ( ), drive ( ), apply brake ( ) and stop( ).
2.        What is a methodology?
           Object oriented methodology is a technique to help people to execute good analysis and design based on object oriented concept.
3.        What is process?
           The process in OMT DFD is any function being performed; for example, verify Password or PIN in the ATM system.
4.        What are the phases of OMT? Briefly describe each phase.
           OMT consists of four phases, which can be performed iteratively:
i.    Analysis.  The results are objects and dynamic and functional models.
ii.    System design.  The results are a structure of the basic architecture of the system along with high-level strategy decisions.
iii.    Object design.  This phase produces a design document, consisting of detailed objects static, dynamic, and functional models.
iv.    Implementation.  This activity produces reusable, extendible, and robust code.
5.        What is an object model? What are the other OMT models?
          OMT separates modeling into three different parts:
i.    An object model, presented by the object model and the data dictionary.
ii.    A dynamic model, presented by the state diagrams and event low diagrams.
iii.    A functional model, presented by data flow and constraints.
The object model describes the structure of objects in a system: their identity, relationships to other objects, attributes, and operations.  The object model 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 of one class to the objects of another class.
6.        What is the main advantage of DFD?
                The OMT data flow diagram (DFD) shows the flow of data between different processes in a business.  An OMT DFD provides a simple and intuitive method for describing business processes without focusing on the details of computer systems.
7.        What is the strength OMT?
               OMT is a fast, intuitive approach for identifying and modeling all the objects making up a system.  Details such as class attributes, method, inheritance, and association also can be expressed easily.  The dynamic behavior of objects within a system can be describe using OMT dynamic model this model lets you specify detailed state transitions and their descriptions with in system. Finally, a process description and consumer-producer relationships can be expressed using OMT’s functional model.
8.        Name five Booch diagrams.
               Class diagrams, object diagrams, State transition diagrams, Module diagrams, Process diagrams, Interaction diagrams.
9.        Briefly describe the Booch system development processes.
               The Booch methodology prescribes a macro development process and a micro development process.  The macro process serves as a controlling framework for the micro process and can take weeks or even months.  The primary concern of the macro process is technical management of the system. In the micro process the traditional phases of analysis and design are preserved to a large extent. The macro development process consists of the following steps
i.    Conceptualization.
ii.    Analysis and development of the model.
iii.    Design or create the system architecture
iv.    Evolution or implementation.
v.    Maintenance.
             Each macro development process has its own micro development processes.  The micro process is a description of the day-to-day activities by a single or small group of software developers.
    The micro development process consists of the following steps:
i.    Identify classes and objects.
ii.    Identify class and object semantics.
iii.    Identify class and object relationships.
iv.    Identify class and object interfaces and implementation.
10.        What is the strength of Booch methodology?
                The Booch methodology is a widely used object-oriented method that helps you design your system using the object paradigm.  It covers the analysis and design phases of an object-oriented system.  Even though Booch defines a lot of symbols to document almost every design decision, if you work with his method, you will notice that you never use all these symbols and diagrams.  You start with class and object diagrams in the analysis phase and refine these diagrams in various steps.  Only when you are ready to generate code, you can add design symbols and you can document your object-oriented code.
11.        What is Objectory?
                  Object-oriented software engineering (OOSE), also called Objectory, is a method of object-oriented development with the specific aim to fit the development of large, real-time systems.
12.        Name the models in Objectory?
•    Use case-model
•    Domain object model
•    Analysis object model
•    Implementation model
•    Test model
13.        What is a use case?
               Use cases are scenarios for understanding system requirements.  A use is an interaction between users and a system.  The use-case model captures the goal of the user and the responsibility of the system to its user.
14.        What is the reason for having abstract use cases?
               Use cases could be viewed as concrete or abstract. An abstract use case is not complete and has no actors that initiate it but is used by another use case.  This inheritance could be used in several levels.  Abstract use cases also are the ones that have uses or extends relationships.
15.        What are some of the ways that use cases can be described?
In the requirements analysis, the use cases are described as one of the following
•    Nonformal text with no clear flow of events.
•    Text, easy to read but with a clear flow of events to follow (this is a recommended style).
•    Formal style using pseudo code.
16.        What must a use case contain?
The use case description must contain
•    How and when the use case begins and ends.
•    The interaction between the use case and its actors, including when the interaction occurs and what is exchanged.
•    How and when the use case will need data stored in the system or will store data in the system.
•    Exceptions to the flow of events.
•    How an when concepts of the problem domain are handled.
17.        What is the strength of the Jacobson  Methodology?
                   The Jacobson Methodologies (e.g., object-oriented Business Engineering (OOBE), object-oriented Software Engineering (OOSE), and Objectory) cover the entire life cycle and stress tractability between the different phases, both forward and backward.  This tractability enables reuse of analysis and design work and results in reduction of development time. At the heart of this methodologies is the use-case concept, which evolved with Objectory (Object Factory for Software Development).
18.        Describe the differences between patterns and frameworks.
               A framework is executable software, whereas design patterns represent knowledge and experience about software.  In this respect, frameworks are of a physical nature, while patterns are of a logical nature: frameworks are the physical realization of one or more software pattern solutions; patterns are the instructions for how to implement those solutions.
Gamma et al. describe the major differences between design patterns and frameworks as follows.
•    Design patterns are more abstract than frameworks.  Frameworks can be embodied in code, but only examples of patterns can be embodied in code.  A strength of frameworks is that they can be written down in programming languages and not only studied but executed and reused directly.  In contrast, design patterns have to be implemented each time they are used.  Design patterns also explain the intent, trade-offs, and consequences of a design.
•    Design patterns are smaller architectural elements than frameworks.  A typical framework contains several design patterns but the reverse is never true.
•    Design patterns are less specialized than frameworks.  Frameworks always have a particular application domain.  In contrast, design patterns can be used in nearly any kind of application.  While more specialized design patterns are certainly possible, even these would not dictate an application architecture.
19.        What is a model?
               A model is an abstract representation of a system, constructed to understand the system prior to building or modifying it.  The term system denotes any process or structure.  For example, the organizational structure of a corporation, health services, computer software, instruction of any sort (including computers), the national economy, and so forth all would be termed systems.
20.        Why do we need to model a problem?
              A model is simplified representation of reality a model is simplified because reality is too complex or large and much of the complexity is irrelevant to the problem what we are trying to describe. Complexity is reduced  by modeling.
21.        What are the different types of modeling? Briefly describe each.
                   Models can represent static or dynamic situations.  Each representation has different implications for how the knowledge about the model might be organized and represented. A static model can be viewed as a snapshot if a State’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.  For example, a customer could have more than one account or an order could be aggregated from one or more line items.  Static models assume stability and an absence of change in data over time.  The unified modeling language class diagram is an example of a static model. A dynamic model, in contrast to a static model, can be viewed as a collection of procedures or behaviors that, taken together, reflect the behavior of a system over time.  Dynamic relationships show how the business objects with inventory to determine product availability.
22.        What is UML? What is the importance of UML?
                 The unified modeling language is a language for specifying, constructing, visualizing, and documenting the software system and its components.  The UML is a graphical language with sets of rules and semantics.  The rules and semantics of a model are expressed in English, in a form known as object constraint language (OCL).  OCL is a specification language that uses simple logic for specifying the properties of a system.  The UML is not intended to be a visual programming language in the sense of having all the necessary visual and semantic support to replace programming languages.  However, the UML does have a tight mapping to a family of object-oriented languages, so that you can get the best of both worlds.
23.        What is Use case?
               A Use case is a description of a set of sequences of actions, including variants, that a system performs to yield an observable result of value to an actor. Graphically, a use case is rendered as an ellipse.
24.        Describe the class diagram.
                The UML class diagram, also referred to as object modeling, is the main static analysis diagram.  These diagrams show the static structure of the model.  A class diagram is a collection of static modeling elements, such as classes and their relationship, connected as a graph to each other and to their relationships to other classes.  Class diagrams do not show temporal information, which is required in dynamic modeling.
25.        How would you represent or model extremely visible behavior of a class?
                   Class interface notation is used to describe the externally visible behavior of a class; for example, an operation with public visibility.  Identifying class interfaces is a design activity of object-oriented system development.  The UML notation for an interface is a small circle with the name of the interface connected to the class.  A class that requires the operations in the interface may be attached to the circle by a dashed arrow.  The dependent class is not required to actually use all of the operations. For example, a person object may need to interact with the Bank Account object to get the Balance.
26.        What is an association role?
               A simple association -- the technical term for it is binary association –is drawn as a solid line connecting two class symbols.  The end of an association, where it connects to a class, shows the association role.  The role is part of the association, not part of the class.  Each association has two or more roles to which it is connected.  In figure , the association worksFor connects two roles, employee and employer.  A person is an employee of a company and a Company is an employer of a Person.








27.        What is multiplicity?                            
Multiplicity specifies the range of allowable associated classes.  It is given for roles within associations, parts within compositions, repetitions, and other purposes.  A multiplicity specification is shown as a text string comprising a period-separated sequence of integer intervals, where an interval represents a range of integers in this format.
Lower bound., upper bound.
    The terms lower bound and upper bound are integer values, specifying the range of integers including the lower bound to the upper bound.  The star character (*) may be used for the upper bound, denoting an unlimited upper bound.  If a single integer value is specified, then the integer range contains the single values.  For example,
0..1
0..*
1..3, 7..10, 15, 19..*
28.        What is a qualifier?
           A qualifier is an association attribute.  For example, a person object may be associated to a bank object.  An attribute of this association is the account#.  The account# is the qualifier of this association.
    A qualifier is shown as a small rectangle attached to the end of an association path, between the final path segment and the symbol of the class to which it connects. The qualifier rectangle usually is smaller than the attached class rectangle.
29.        How would you show complete and incomplete generalizations?
            Generalization is the relationship between a more general class and a more specific class.  Generalization is displayed as a directed line with a closed, hollow arrowhead at the superclass end. The UML allows a discriminator label to be attached to a generalization of the superclass.  For class Boeing-Airplane has instances of the classes Boeing 373, Boeing 747, and Boeing 767, which are subclasses of the class Boeing Airplaned.  Ellipses (…) indicate that the generalization is incomplete and more subclasses exist that are not shown.  The constructor complete indicates that the generalization is complete and no more subclasses exist that are not shown is complete and no more subclasses are needed.
30.        What are model constraints, and how are they represented in the UML?
           Constraints are assumptions or relationships among model elements specifying conditions and propositions that must be maintained as true; otherwise the system described by the model would be invalid.  Some constructions, such as association OR constraints, are predefined in the UML; others may be defined by users.  Constraints are show as test in braces, { }. The UML also provides language for writing constraints in the OCL.  However, the constraint may be written in a natural language.
31.        How does the UML group model elements?
                  A package is a grouping of model elements.  Packages themselves may contain other packages.  A package may contain both subordinate packages and ordinary model elements.  The entire system can be thought of as a single high-level package with everything else in it.  All UML model elements and diagrams can be organized into packages.
                 A package is represented as a folder, shown as a large rectangle with a tab attached to its upper left corner.  If contents of the package are not shown, then the name of the package is placed within the large rectangle.  If contents of the package are shown, then the name of the package may be placed on the tab .  The contents of the package are shown within the
32.        Name and describe the relationships in a use case diagram.
                A use-case diagram is a graph of actors, a set of use cases enclosed by a system boundary, communication (participation) associations between the actors and the use cases, and generalization among the use cases.
33.        What are some of the UML dynamic diagrams?
Behavior diagrams (dynamic):
•    Interaction diagrams:
•    Sequence diagrams
•    Collaboration diagrams
•    Statechart diagrams
•    Activity diagrams
34.        When would you use interaction diagrams?
           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.  The diagram shows a number of example objects and the messages passed between those objects within the use case.  There are two kinds of interaction models: sequence diagrams and collaboration diagrams. 
35.        What is the difference between sequence diagrams and collaboration diagrams?
              In a collaboration diagram, objects are shown as figures.  As in a collaboration diagram, the sequence is indicated the message sent within the given use case.  In a collaboration diagram, the sequence is indicated by numbering the messages.
36.        What is the purpose of an activity model?
              An activity diagram is a variation or special case of a state machine, in which the states are activities representing the performance of operations and the transitions are triggered by the completion of the operations.  Unlike state diagrams that focus on the events occurring to a single object as it responds to messages, an activity diagram can be used to model an entire business process.  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, activity diagram can also be used to represent a class’s method implementation.    
37.        What is a meta-model? Is understanding a meta-model important?
           The UML defines notations as well as a meta-model.  UML graphic notations can be used not only to describe the system’s components but also to describe a model itself.  This is known as a meta-model, a meta-model is a model of modeling elements. The purpose of the UML meta-model is to provide a single, common and definitive statement of the syntax and semantics of the elements of the UML.
38.        What is Activity diagram?
          An activity diagram is a variation or special case of a state machine,in which the states are activities representing the performance of operations and the transitions are triggered the completion of the operations.
39.        What is UML Statechart diagram?
A Statechart diagram shows the sequence of states that an object goes through
during its life in response to outside stimuli and messages.
40.        What is UML Collaboration Diagram?
Collaboration diagram represents collaboration,which is a set of objects related in a particular context,and interaction,which is a set of messages exchanged among the objects within the collaboration to achieve a desired outcome.
41.        What is UML Sequence diagram?
Sequence diagrams are an easy and intuitive way of describing the behavior of a
system by viewing the interaction between the system and its environment.A sequence diagram shows an interaction arranged in a time sequence.
42.        What is Aggregation and Composition?
          Aggregation is a form of association .A hollow diamond is attached to the end of the path to indicate aggregation.
          Composition ,also known as the a-part-of,is a form of aggregation with strong ownership to represent the component of a complex object.Composition is also known as a part-whole relationship.Uml notation for composition is a solid diamond at the end of a path.
43.        What are the UML diagrams?
1.Class diagram
2.Use-case diagram
3.Behavior diagram
3.1.Interaction diagram
3.1.1.Sequence diagram
3.1.2.Collaboration diagram
3.2.Statechart diagram
3.3.Activity diagram
4.Implementation diagram
4.1.Component diagram
4.2.Deployment diagram
44.        What are the different UML diagrams?
•    Class diagram
•    Object diagram
•    Sequence diagram
•    Collaboration diagram
•    State chart diagram
•    Activity diagram
•    Component diagram
•    Deployment diagram
45.        What is a diagram?
         A diagram is the graphical presentation of a set of elements, most often rendered as a connected graph of vertices (things) and arcs (relationships).
46.        What are kinds of things in UML?
•    Structural things
•    Behavioral things
•    Grouping Things
•    Annotational things
47.        What are the kinds of Relationships?
•    Dependency
•    Association
•    Generalization
•    Realization
48.        Name the building blocks of UML?
•    Things
•    Relationships
•    Diagrams
49.        Mention the major elements required to form a conceptual model of language?
•    UML’s basic building blocks
•    Rules that dictate how those building blocks may be put together
•    Some common mechanisms that apply through out the UML
50.        What does Use case diagram contain?
•    Use case
•    Actors
•    Dependency, generalization and association relationships
51.        Define Use case diagram?
              A Use case diagram is a diagram that shows a set of use cases and actors and their relationships.
52.        How will you organize Use cases?
              Use cases can be organized by grouping them in packages in the same manner classes are organized. Use cases can also be organized by specifying generalization, include, and extend relationships among them. These relationship are applied in order to factor common behaviors and in order to factor variants.


PART-B
1.        What is OMT? Explain the phases of it. Explain how it does modeling.
2.        State the Booch methodology for modeling.
3.        Explain the Jacobson modeling methodology.
4.        What are design patterns? What are their types? What are the components of them? How can you capture them.
5.        What are antipatterns? Why are they considered?
6.        What is a framework? How does it differ from pattern?
7.        Explain the components and processes in unified approach?
8.        What is modeling? What are advantages of it?
9.        Explain UML class diagram and use case diagram in detail.
10.        What are UML behavior diagrams? Explain them with suitable examples?
11.        Write notes on UML extensibility.

UNIT – I
PART-A

1.        Where do objects come from?
             Classes are an important mechanism for classifying objects.  The chief role of a class is to define the attributes, methods, and applicability of its instances.  The class car, for example, defines the property color.  Each individual car (formally, each instance of the class car) will have a value for this property, such as maroon, yellow, or white.
2.        What is nongenerative pattern?
             Non generative patterns are static and passive.They describe recurring phenomena without necessarily saying how to reproduce them.
3.        Describe the noun phrase strategy for identifying tentative classes in a problem domain.
            The following are guidelines for selecting classes in an application:
•    Look for nouns and noun phrases in the use cases.
•    Some classes are implicit or taken from general knowledge.
•    All classes must make sense in the application domain; avoid computer implementation classes-defer them to the design stage.
4.        Describe relevant, fuzzy, and irrelevant classes.
            Relevant classes have purpose or they are used in the system fuzzy classes are those purpose is not clear.  Irrelevant classes are those which either have no purpose or they are unnecessary.
5.        How would you select candidate classes for the list of relevant and fuzzy classes?
            The noun phrase approach was proposed by Rebecca Wirfs-Brock, Brian Wilker-son, and Lauren Wiener.  In this method, read through the requirements or use cases looking for noun phrases.  Nouns in the textual description are considered to be classes and verbs to be methods of the classes. All plurals are changed to singular, the nouns are listed, and the list divided into three categories: relevant classes, fuzzy classes  (the “fuzzy area”, classes we are not sure about), and irrelevant classes.  It is safe to scrap the irrelevant classes, which either have no purpose or will be unnecessary.
6.        What criteria would you use to eliminate a class?
The following guidelines help in selecting candidate classes from the relevant and fuzzy categories of classes in the problem domain..
•    Redundant classes.  Do not keep two classes that express the same information.  If more than one word is being used to describe the same idea, select the one that is the most meaningful in the context of the system.  This is part of building a common vocabulary for the system as a whole.  Choose your vocabulary carefully; use the word the is being used by the user of the system.
•    Adjectives classes. Wirfs-Brock, Wilkerson, and Wiener warn us about adjectives: “Be wary of the use of adjectives.  Adjectives can be used in many ways.  An adjective can suggest a different kind of object, different use of the same object, or it could be utterly irrelevant.  Does the object represented by the noun behave differently when the adjective is applied to it? If the use of the adjective signals that the behavior of the object is different, then make a new class”.  For example, Adult Members behave differently than Youth Members, so the two should be classified as different classes.
•    Attribute classes.  Tentative objects that are used only as values should be defined or restated as attributes and not as a class.  For example, Client Status and Demographic of Client are not classes but attributes of the Client class.
•    Irrelevant classes.  Each class must have a purpose and every class should be clearly defined and necessary.  You must formulate a statement of purpose for each candidate class.  If you cannot come up with a statement of purpose, simply eliminate the candidate class.

7.        What is the common class patterns strategy?
    The second method for identifying classes is using common class patterns, which is based on a knowledge base of the common classes that have been proposed by various researchers, such as Shlaer and Mellor, Ross, and Coad and Yourdon.  They have complied and listed the following patterns for finding the candidate class and object:
•    Name. Concept class
•    Name. Events class
•    Name. Organization class
•    Name. People class.
•    Name. Places class.
•    Name. Tangible things and devices class.
8.        How would you name classes?
•    The class name must be singular.
•    Use names with which the users are comfortable.
•    Names should denote its intrinsic nature.
•    Use readable names.
•    Do not add prefix or suffix to a  name.
9.        What are the concept classes?
    A concept is a particular idea or understanding that we have of our world.  The concept class encompasses principles that are not tangible but used to organize or keep track of business activities or communications.  Martin and Odell describe concepts elegantly, “Privately held ideas or notations are called conceptions.  When an understanding is shared by another, it becomes a concept.  To communicate with others, we must share our individually held conceptions and arrive at agreed concepts”.  Furthermore, Martin and Odell explain that, without concepts, mental life would be total chaos since every item we encountered would be different.
      Example. Performance is an example of concept class object. 
10.        What are the event classes?
           Event classes are points in time that must be recorded.  Things happen, usually to something else at a given date and time or as a step in an ordered sequence.  Associated with things remembered are attributes (after all, the things to remember are objects) such as who, what, when where, how, or why.
Example. Landing, interrupt, request, and order are possible events.
11.        What are the organization classes?
                An organization class is a collection of people, resources, facilities, or groups to which the users belong; their capabilities have a defined mission, whose existence is largely independent of the individuals.
Example: An accounting department might be considered a potential class.
12.        What are the people (person) classes?
                The people class represents the different roles users play in interacting with the application.  People carry out some function.  What role does a person play in the system?  Coad and Yourdon explain that a class which is represented by a person can be divided into two types: those representing users of the system, such as an operator or clerk who interacts with the system; and those representing people who do not use the system but about whom information is kept by the system.
Example:  Employee, client, teacher, and manager are examples of people.
13.        Explain the places class source.
               Places are physical locations that the system must keep information about.
Example: Building, stores, sites, and offices are examples of places.
14.        What are the tangible things and devices classes?
             This class includes physical objects or groups of objects that are tangible and devices with which the application interacts.
Example: Cars are an example of tangible things, and pressure sensors are an example of devices. 
15.        Why is developing a sequence/collaboration diagram a useful activity in identifying classes?
               Use-case modeling is considered a problem-driven approach to object-oriented analysis, in that the designer first considers the problem at hand and not the relationship between objects, as in a data-driven approach.
Like use-case diagrams, sequence diagrams are used to model scenarios in the systems.  Whereas use cases and the steps or textual descriptions that define them offer a high-level view of a system, the sequence diagram enables you to model a more specific analysis and also assists in the design of the system by modeling the interactions between objects in the system.
16.        Why is Classes, Responsibilities, and Collaborators useful?
                  Classes, Responsibilities, and Collaborators stresses the importance of creating objects, not to meet mythical future needs, but only under the demands of the moment.  This ensures that a design contains only as much information as the designer has directly experienced and avoids premature complexity.  Working in teams helps here, because a concerned designer can influence team members by suggesting scenarios  aimed specifically at suspected weaknesses or omissions.  
17.        Why is identifying class hierarchy important in object-oriented analysis?
                Class inheritance is useful for a number of reasons.  For example, in some cases, you want to create a number of classes that are similar in all but a few characteristics.  In other cases, someone already has developed a class that you can use, but you need to modify that class.  Subclasses are more specialized versions of their superclasses.  The classes are not ordered this way for convenience’s sake.
18.        What is association?
               Association represents a physical or conceptual connection between two or more objects.  For example, if an object has the responsibility for telling another object that a credit card number is valid or invalid, the two classes have an association.
19.        What is generalization?
              Super class-subclass relationships, also known as generalization hierarchy, allow objects to be built from other objects.  Such relationship allow us to explicitly take advantage of the commonality of objects when constructing new classes.  The super-sub class hierarchy is a relationship between classes, where one class is the parent class of another (derived) class.
20.        How would you identify a super-subclass structure?
                 The following are guidelines for identifying super-sub relationships in the application:
•    Top-down.  Look for noun phrases composed of various adjectives in a class name.  Often, you can discover additional special cases.  Avoid excessive refinement.  Specialize only when the subclasses have significant behavior.  For example, a phone operator employee can be represented as a cook as well as a clerk or manager because they all have similar behaviors.
•    Bottom-up.  Look for classes with similar attributes or methods.  In most cases, you can group them by moving the common attributes and methods to an abstract class.  You may have to alter the definitions a bit; this is acceptable as long as generalization truly applies.  However, do not force classes to fit a preconceived generalization structure. 
•    Reusability.  Move attributes and behaviors (methods) as high as possible in the hierarchy.  This is easier said than done.  The balancing act can be achieved through several iterations. The balancing act can be achieved through several iterations.  This process ensures that you design objects that can be reused in another application.
21.        What is an a-part-of structure?  What are major properties of an a-part-of structure?
    A part-of relationship, also called aggregation, represents the situation where a class consists of several component classes.  A class that is composed of other classes does not behave like its parts; actually, it behaves very differently.  For example, a car consists of many other classes, one of which is a radio, but a car does not behave like a radio.
22.        What guidelines would you use to identify a-part-of structure?
            To identify a-part-of structures, Coad and Yourdon provide the following guidelines:
•    Assembly.  An assembly is constructed from its parts and an assembly-part situation physically exists; for example, a French onion soup is an assembly of onion, butter, flour, wine, French bread, cheddar cheese, and so on.
•    Container.  A physical whole encompasses but is not constructed from physical parts; for example, a house can be considered as a container for furniture and appliances.
23.        What are some common associations?
The common associations are
•    Location association - next to, part of , contained in
•    Communication association - talk to, order to.
24.        What are unnecessary associations?  How would you know?
•    Implementation association.  Defer implementation-specific associations to the design phase. Implementation associations are concerned with the implementation or design of the class within certain programming or development environments and not relationships among business objects. 
•    Ternary associations: is an association among more than two classes. They complicate the representation. If possible, restate them as binary association.
•    Directed actions: can be defined in terms of other associations. Since they are redundant, avoid these types.
25.        Describe uses and extends associations
    The extends association is used when you have one use case that is similar to another use case but does a bit more or is more specialized; in essence, it is like a subclass.
           The uses association occurs when you are describing your use cases and notice that some of them have sub flows in common.  To avoid describing a subflow more than once in several use cases, you can extract the common subflow and make it a use case of its own.  This new use case then can be used by other use cases.  The relationships among the other use cases and this new extracted use case is called a uses association.  The uses association helps us avoid redundancy by allowing a use case to be shared.
26.        How would you identify actors?
            Candidates for actors can be found through the answers to the following questions:
•    Who is using the system? Or, who is affected by the system? Or, which groups need help from the system to perform a task?
•    Who affects the system? Or, which user groups are needed by the system to perform is functions?  These functions can be both main functions and secondary functions, such as administration.
•    Which external hardware or other systems (if any) use the system to perform tasks?
•     What problems does this application solve (that is, for whom)?
•    And, finally, how do users use the system (use case)? What are they doing with the system.
27.        How would you define attributes?
•    Attributes usually correspond to nouns followed by a prepositional phrases
•    Keep the classes simple. State only enough attributes to define object state.
•    Attributes are less likely to be described.
•    Omit derived attributes.
•    Do not carry discovery of attributes to excess.
28.        What are unnecessary attributes?
               Another point to remember is that your may think of many attributes that can be associated with a class.  You must be careful to add  only those attributes necessary to the design at hand.  Let  cases guide you in this process.  For example, your initial thought is that the library Member class may have attributes such as Name, Social Security Number, Age and Weight.  The attributes Age and Weight may be important to the lass Member in a personal system, but it is not within the scopte of the system since there is not scenario in Library Borrow Books that requires or needs to keep track of the Age and Weight of the member.
29.        How would you identify methods?
               Operations in the object oriented system usually correspondent to queries about attributed of the object. Methods are responds for managing the value of attributes such as query, updating, reading and writing. The same manner we need a set of operations that can maintain or change values.
30.        How would you identify association?
•    A dependency between to more classes may be an association.  Association of ten corresponds to a verb or prepositional phrase, such as part of, next to, works for, or contained in.
•    A reference from one class to another is an association. Some associations are implicit or taken from generalknowledge. 
31.        What are major properties of a -part-of relation?
1.    Transitivity
2.    Antisymmetry
32.        What is proto-pattern?
             A “pattern in waiting,” which is not yet known to recur,is called proto-pattern.
33.        What is an Actor?
              An actor represents a coherent set of roles that users of use cases play when interacting with these use cases. Typically, an actor represents a role that a human, a hardware device, or even another system plays with a system.
34.        What is generative patterns?
             Generative patterns are pattern that describes a recurring problem and they can tell how to generate something and can be observed in the resulting system architectures
35.        What are the characteristics of good pattern?
•    It solves a problem
•    It is a proven concept
•    The solution is not obvious
•    It describes a relationship
           The pattern has a significant human component
36.        What is pattern?
A pattern is an instructive information that captures the essential structure and
insight of a successful family of proven solutions to a recurring problem that arises within a certain context and system of forces.
37.        What are the major differences between design patterns and frameworks?
    Design patterns are more abstract than frameworks
    Design patterns are smaller architectural elements than frameworks
    Design patterns are less specialized than frameworks
38.        Define Framework?
          A framework is a way of presenting a generic solution to a problem that can be applied to all levels in a development. Design and software frameworks are the most popular.
39.        What are guidelines for capturing patterns?
•    Focus on practicability
•    Aggressive disregard of originality
•    Nonanonymous review
•    Writers workshops instead of presentations
•    Careful editing
40.        Define pattern mining
         The process of looking for patterns to document is called pattern mining or
sometimes reverse architecting.
41.        Define Antipatterns
           A pattern represents a "best practice." whereas an antipattern represents "worst practice" or a "lesson learned."Antipatterns come in two varieties:
Those describing a bad solution to a problem that resulted in a bad situation.
Those describing how to get out of a bad situation and how to proceed from there to a good solution.
42.        What is Pattern thumbnail?
           A good pattern often begins with an abstract that provides a short summary or overview. This gives readers a clear picture of the pattern and quickly informs them of its relevance to any problems they may wish to solve. Sometimes such a description is called a thumbnail sketch of the pattern, or a pattern thumbnail.
43.        What are the essential components of a pattern?
•    Name
•    Problem
•    Context
•    Forces
•    Solution
•    Examples
•    Resulting context
•    Rationale
•    Related Patterns
•    Known uses
44.        What is an activity diagram?
          Activity diagram shows the flow from activity to activity. An activity is an
ongoing non-atomic execution within a state machine. Activity results in some action which is made up of executable atomic computations that result in a change in state of the system.
45.        What are the common uses of interaction diagram?
1) To model flows of control by time-ordering.
2) To model flows of control by organization.
46.        Difference between collaboration and sequence diagram?
       a) In collaboration diagram, there is a path to indicate how an object is
linked to another.
       b) There is a sequence no: to indicate time-order of the message. Prefix the
message with the no: increasing monotonically for each new message in
the flow of control.
47.        What do you mean by Collaboration diagram?
              A collaboration diagram emphasizes the organization of objects that
participate in object interactions .A collaboration diagram is formed by placing the objects that participate in the interaction as the vertices in a graph.Next, render the links that connect these objects as the arcs of this graph.
48.        What do you mean by sequence diagram?
              Sequence diagram is an interaction diagram that emphasizes the timeordering of messages.Graphically,a sequence diagram that shows object arranged along x-axis and messages ordered in increasing time along the y-axis.
49.        Give 2 steps to model an embedded system?
I. To identify devices and nodes that is unique to your system.
II. To provide visual for unusual devices using the UML's extensibility mechanisms to define system specific stereo types
with appropriate icons.
50.        What are the common uses of Deployment diagram?
1) To model embedded system.
2) To model Client/Server systems
3) To model distributed systems.
51.        What are the contents of Deployment diagram?
    Dependency and association relationships.
    Nodes.
    Packages and subsystems.
52.        What is meant by a deployment diagram?
          Deployment diagram is a diagram that shows the configuration of run time
processing nodes and the components that live on them. It is a collection of vertices and arcs.
53.        What are the common uses of Component diagram?
1) To model source code
2) To model executable releases
3) To model physical databases
4) To model adaptatable systems
54.        What are the contents of Component diagram?
•    Components
•    Interfaces
•    Dependency,Generalisation,Association and realization relationships
•    Packages and subsystems.
55.        What is meant by a component diagram?
Component diagram shows a set of components and their
relationships. Graphically, it is a collection of vertices and arcs.

PART-B
1.        Explain the activities involved in use-case driven OOA unified approach.
2.        Explain use case model with a neat example
3.        State the definition of use case given by Jacobson and explain that in detail.
4.        What are the types of relationships used between use cases?
5.        List out of the guidelines for finding use cases.
6.        Develop a case study for library information system to find the usecases.
7.        List out and explain the different approaches for identifying classes in a system.
8.        List out the guidelines for naming classes.
9.        What are the possible relationships between classes and explain the guidelines for identifying them.
10.        Find out the use cases, classes, and relationship among classes, attributes and methods for library information system.  Explain the above with the guidelines used.
UNIT – I
PART-A

1.        What is the task of design?  Why do we need analysis?
               During the analysis, we look at the physical entities or business objects in the system; that is, who the players are and how they cooperate to do the work of the application.  These objects represent tangible elements of the business.  These objects could be individuals, organizations, machines, or what ever else makes sense in the context of the real-world system.  During the design phase, we elevate the model into logical entities, some of which might relate more world or the physical domain (such as user interfaces or the access layer) than the real world or the physical domain (such as people or employees).
2.        What is the significance of Occam's razor?
             Scientific theoreticians often rely on a general rule known as Occams razor, after william of Occam, a 14th century scholastic philosopher.  Briefly put, Occams razor says that, "the best theory explains the known facts with a minimum amount of complexity and maximum simplicity and straightforwardness".
3.        How does Occam's razor relate to object oriented design?
              Occams razor has a very useful implication in approaching the design of an object-oriented application.  Let us restate occam's razor rule of simplicity in object-oriented terms: The best designs usually involve the least complex code but not necessarily the feasts number of classes or methods.  Minimizing complexity should be the goal, because that produces the most easily maintained and enhanced application.  In an object-oriented system, the best way to minimize complexity is to use inheritance and the systems built in classes and to add as little as possible to what already is there.
4.        How would you differentiate good design from bad design?
           Good-object oriented design is very iterative.  As long as you think in terms of class of objected, learn what already is there, and are willing to experiment, you soon will feel comfortable with process.  Design also must be traceable across requirements, analysis, design, code, and testing.  Here must be a clear step-by-step approach to the design from the requirements mode.  All the designed components must directly trace back to the user requirements.  Usage scenarios can serve as test cases to be used during system testing.
5.        What are the basic activities in designing an application?
1.    Apply design axioms to design classes, their attributes, methods, associations, structures, and protocols.
2.    Design the access layer.
3.    Design the view layer classes.
4.    Iterate and refine the should design.  Reapply the design axioms and, if needed, repeat the preceding steps.
6.        Why is a large number of simple classes better than a small number of complex classes?
A great benefit results from having a large number of simpler classes. You cannot possibly foresee all the future scenarios in which the classes you create will be reused.  The less specialized the classes are, the more likely future problems can be solved by a recombination of existing classes, adding a minimal number of subclasses.  A class that easily can be understood and reused contributes to the overall system, while a complex, poorly designed class is just so much dead weight and usually cannot be reused.
7.        What is the significance of being able to describe in a few sentences what a class does?
                Each class must have a purpose, every class should be clearly defined and necessary in the context of achieving the systems goals.  When you document a class, you should be able to easily explain its purpose in a sentence or two.  If you cannot, then rethink the class and try to subdivide it into more independent pieces.  In summary, keep it simple; to be more precise, each method must provide only one service.  Each method should be of moderate size, no more than a page; half a page is better.
8.        How can an object-oriented system be thought of as an organic system?
               Object-oriented systems are like organic systems, meaning that they grow as you create new applications.  The knowledge of existing classes will help you determine what new classes are needed to accomplish the tasks and where you might inherit useful behavior rather than reinvent the wheel.
9.        Why are people not utilizing reusability?  List some reasons.
Coad and Yourdon describe four reasons why people are not utilizing this concept.
1.    Software engineering textbooks teach new practitioners to build systems from "first principles:; reusability is not promoted or even discussed.
2.    The "not invented here" syndrome and the intellectual challenge of solving an interesting software problem in one's own unique way mitigates against reusing someone else's software component.
3.    Unsuccessful experiences with software reusability in the past have convinced many practitioners and development managers that the concept is not practica.
4.    Most organizations provide no reward for reusability; sometimes productivity is measured in terms of new lines of code written plus a discounted credit for reused lines of code.
10.        Describe single and multiple inheritance.
                 Single inheritance means that each class has only a single superclass.  This technique is used in small talk and several other object-oriented systems.  One result of using a single inheritance hierarchy is the absence of ambiguity as to hw an object will respond to a given method; you simply trace up the class tree beginning with the object's class, looking for a method of the same name.  However, languages like LISP or C++ have a multiple inheritance scheme whereby objects can inherit behavior from unrelated areas of the class tree.  This could be desirable when you wan t new class to behave similar to more than one existing class.  However, multiple inheritance brings with it some complications, such as how to determine which behavior to get from which class, particularly when several ancestors define the same method.  It also is more difficult to understand programs written in a multiple inheritance system.
11.        What are the risks of a cut-and-paste type of reusability?
                Coad and Yourdon describe cut and paste type of reusability as follows:  This is better than no reuse at all, but is the most primitive from of reuse.  The clerical cost of transcribing the code has largely disappeared with today's cut and paste text editors nevertheless, the software engineer runs the risk of introducing errors during the copying of the original code.  Worse is the configuration management problem; it is almost impossible for the manager to keep track of the multiple mutated uses of the original "chunk" of code.
12.        How can you achieve multiple inheritance in a single inheritance system?
One way of achieving he benefits of multiple inheritance in a language with single inheritance is to inherit from the most appropriate class and add an object of another class as an attribute or aggregation.  Therefore, as class designer, you have two ways to borrow existing functionality in a class.  One is to inherit, it, and the other is to use the instance of the class as an attribute.  This approach is described in the next section.
13.        How can you avoid a subclass inheriting inappropriate behavior?
Beginners in an object-oriented system frequently err by designing subclasses that inherit from inappropriate superclasses.  Before a class inherits, ask the following questions:
•    Is the subclass fundamentally similar to its superclass
•    Is it an entirely new thing that simply wants to borrow some expertise from its super class.
14.        List the object-oriented design axioms and corollaries.
The two design axioms are
•    Axiom 1. The independence axiom.  Maintain the independence of components.
•    Axiom 2. The information axiom.  Minimize the information content of the design.
The six design corollaries are
•    Corollary 1.  Uncoupled design with less information content.
•    Corollary 2.  Single purpose
•    Corollary 3.  Large number of simple classes.
•    Corollary 4.  Strong mapping.
•    Corollary 5.  Standardization.
•    Corollary 6.  Design with inheritance.
15.        What is the relationship between coupling and cohesion?
Coupling deals with interactions between objects or software components.  We also need to consider interactions within a single object or software component, called cohesion.  Cohesion reflects the "single-purposeless" of an object.  Highly cohesive components can lower coupling because only a minimum of essential information need be passed between components.  Cohesion also helps in designing classes that have very specific goals and clearly defined purposes.
16.        What are public and private protocols?
The private protocol of the class, includes messages that normally should be sent from other objects. It is only accessible to operations of that class. In private protocol, only the class itself can use the method
17.        What are some characteristics of a bad design?
1.    It looks messy
2.    It is too complex
3.    It is too big
4.    If people don't like
5.    If it doesn't work
18.        How do design axioms help avoid design pitfalls?
It is important to apply design axioms to avoid common design problems and pitfalls. It is much better to have large number of simple classes than a few large, complex classes. In your first attempt your class might be too big and therefore more complex than it needs to be. Take the time to apply the design axioms and corollaries, then critique what you have proposed.  You may find you can gather "peer" class that the others consult; or you might be able to create a super class for several classes that gathers in a single place very similar code.  Your goal should be maximum reuse of what you have to avoid creating new classes as much as possible.
19.        What are the different types of attributes?
The three basic types of attributes are
1.    Single-Value Attributes.
2.    Multiplicity or multivalue attributes.
3.    Reference to another object, or instance connection.
20.        What are the different types of visibility?
Visibility types are
+ Public visibility (accessibility to all classes).
# Protected visibility (accessibility to subclasses and operations of the class).
-    Private visibility (accessibility only to operations of the class).
21.        What is a DBMS?
            DBMS is a set of programs that enable the creation and maintenance of a collection of related data.  DBMS have a number of properties that distinguish them from the file based data management approach.  In traditional file processing, each application defines and implements the files it requires.  Using a database approach, a single repository of data is maintained, which can be defined once and subsequently accessed by various users.
22.        What is a DDL?
              A data definition language is the language used to describe the structure of information is termed the database schema.  In traditional or the collection of relationships, templates, and table records used to store information about entities of interest to the application.
23.        What is a distributed database?
             Many modern databases are distributed databases, which implies that portions of the database reside on different nodes and disk drives in the network.  Usually, each portion of the database is managed by a server, a process responsible for controlling access and retrieval of data from the database portion.
24.        What is shareability?
             Data and objects in the database often need to be accessed and shared by different applications.  With multiple applications having access to the object concurrently, it is likely that conflicts over object access will arise.  The database then must defect and mediate these conflicts and promote the greatest amount of sharing possible without sacrificing the integrity of data.  This mediation process is managed through concurrency control policies, implemented, in part, by transactions.
25.        What is a transaction?
                  A transaction is a unit of change in which many individual modifications are aggregated into a single modification that occurs in its entirety or not at all.  Thus, or none of the changes.  A transaction is said to commit if all changes can be made database cannot be made successfully.  This ability of transactions ensures atomicity of change that maintains the database in a consistent state.
26.        What is a concurrency policy?
                   When several users attempt to read and write the same object simultaneously, they create a contention for object. The concurrency control mechanism is established to mediate such conflicts by making policies that dictate how they will be handled. A basic goal of the transaction is to provide each user with a consistent view of the database. This means that transactions must occur in serial order. In other words, a given user must see the database as it exists before a given transaction occurs or after that transaction.
27.        What are different types of servers?
•    Database Server
•    Transaction Server
•    File Server
•    Application Servers
•    Object Servers.
28.        Why do you think DOC is so important in the computing world?
            Distributed object Computing (DOC) resulted from the need to integrate mission-critical applications and data residing on systems that are geographically remote, sometimes from users and often from each other, and running on many different hardware platforms. Furthermore, the information systems must link applications developed in different languages, use data from object and relational databases and from mainframe systems, and be optimized for use across the Internet and through departmental intranets.
29.        What is an OODBMS?
                 Object oriented DBMS is the mix of OOP and database technology to provide objet oriented databases. OODBMS allow all the benefits of an object orientation as well as the ability to have a strong equivalence with object-oriented programs, an equivalence that would be lost if an alternative were chosen, as with relational database. By combining OOP with database technology, we have an integrated application development system, a significant characteristic of OO database technology.
30.        Describe reverse and forward engineering.
                     Creating an object model from an existing relational database layout is referred to as reverse engineering.
Creating a relational schema from an existing object model is referred as forward engineering.
31.        What is two tier architecture?
                      In a two-tier architecture, a client talks directly to a server, with no intervening server. It is used in small environments with less than 50 users. A common error in client-server development is to prepare a prototype of an application in a small. Two-tier environment then scale up by simply adding more users to the server.     
32.        What is three tier architecture?
                        A three - tier architecture introduces a server (web server) between the client and the server. The role of the application or web server is manifold. It can provide translation services, metering services or intelligent agent services.
33.        What are the components of client server application?
1.    User interface
2.    Business processing
3.    Database processing
34.        What are the kinds of errors that you might encounter when you run a program?
•    Syntax error - result from incorrectly constructed code
•    Run time errors - detected as the program is running
•    Logic error - when the code does not perform the way we indented
35.        What are the two major categories of quality assurance testing?
Error based testing, Scenario based testing
36.        Define error based testing?
            Error based testing searches a given class's method for particular clues of intrest then describe how these clues should be tested.
Eg: to test the payroll computation method of an employee class: anEmployee.computePayroll(hours)
             To test this method we must try different values for hours (say 100). To see if the program can handle them. This is also called testing the boundary conditions.
37.        Define scenario based testing?
             Scenario based testing also called usage based testing concentrates on what the user does not what the product does. This means capturing use cases and the task users perform then performing them and their variants as tests.
38.        Define black box testing?
             In black box testing a system is represented who's internal; working are not available for inspection. The test item is treated as black since its logic is unknown. All that is known is the input and the output.
Eg: user manual.
39.        Define white box testing?
             White box testing assumes that the specific logic is important and must be tested to guarantee the system's proper functioning. The main use of white box is in error based testing. In white box testing we are looking for bugs that have an low probability of execution.
40.        Define path testing?
            Its a form of white box testing which makes certain that each path in a objects method is executed at least once during testing. There are two types: Statement testing coverage and Branch testing coverage.
41.        What is Statement testing coverage?
         In statement testing coverage every statement in an objects method is tested by executing it at least once.
42.        What is branch testing coverage?
         In branch testing coverage tests are performed to ensure that every branch alternative has been executed at least once during some test.
43.        What is Top-Down testing?
         Top- down testing should find critical design errors early in the testing process and significantly improve the quality of the delivered software because of the iterative nature of the test.
44.        What is Bottom Up testing?
           In Bottom up testing each object is tested then its combined and their integration is tested and the messages passed among objects are tested by utilizing the top down approach. Bottom up testing leads to integration testing which leads to systems testing.
45.        What is the impact of Object orientation on testing?
           Some types of error could become less plausible (not worth testing for). Some types of errors could become more plausible (worth testing for now). Some new types of error might appear.
46.        What is the objective of testing?
According to Myers
1. Testing is the process of executing a program with the intent of finding errors.
2. A good test case is the one that has a high probability of detecting an as-yet undiscovered error.
3. A successful test case is the one that detects an as-yet undiscovered error.
47.        State few guidelines for developing quality assurance test cases?
1. Describe which feature or service your test attempts to cover.
2. If the test case is based on a use case it's a good idea to refer to the use case
name
3. Test the normal use of objects methods
4. Test the abnormal but reasonable use of objects method.
5. Test the abnormal but unreasonable use of objects method.
48.        What are the tests needed to create a test plan?
1. Objective of the test
2. Development of the test case
3. Test analysis
49.        What is beta testing?
               It's a popular inexpensive and effective way to test software on a select group of actual users of the system.
50.        What is alpha testing?
              In alpha testing,. Testing is done by in-house testers such as programmers, software engineers and internal users.
51.        State a few guidelines for writing test plan developed by Thomas?
1. Requirements that dictate a specific appearance or format for a test plan
2. Test plan should contain a schedule and list opf reqiried resources
3. Determine what types of testing are necessary.
4. Configuration control system providing a way of tracking the changes to the
code.
5. Keeping the plan up-to-date
52.        What are the steps for successful testing?
1. Understand and communicate the business case for improved testing
2. Develop an internal infrastructure to support continuous testing
3. Look for leaders who will commit to and own the process
4. Measure and document your findings in a defect recording system.
5. Publicize improvements as they are made and let people know what they are
doing better.
53.        State Myers bug location and debugging principle?
Bug locating principles
1. Think
2. If you reach an impasse, sleep on it
3. If the impasse remains describe the problem to some one else
4. Use debugging tools
5. Experimentation should be done as a last resort
Debugging principles
1. Where there one bug, there is likely to be another
2. Fix the error not just the symptom of it
3. Probability of the solution being correct drops as the size of the program
increases.
4. Beware of the possibility that an error correction will create a new error


PART-B
1.        What are object oriented design axioms? Explain them?
2.        Explain the differences between coupling and cohesion.
3.        Explain the façade design pattern with an example.
4.        What is class visibility? How is it assigned?
5.        How can you refine attributes? Explain with an example.
6.        How will you avoid design pitfalls?
7.        List out the characteristics of OO database.
8.        Compare OO database with traditional database.
9.        How are relational data mapped into objects?
10.        Explain the process of creating an access layer.
11.        What are the tables of access layer?
12.        Explain micro level process.
13.        List out the guidelines for view layer designing.

UNIT – 5
PART-A

1.        What is a successful test when you are looking for bugs?
       Quality Assurance test.
2.        What is black box testing?
       In black box testing, you try various inputs and examine the resulting output; you can learn what the box does but nothing about how this conversion is implemented black box testing works very nicely in testing objects in an object-oriented environment.  The black box testing technique also can be used for scenario-based tests, where the systems inside may not be available for inspection but the input and output are defined through use cases or other analysis information.
3.        When would you use white box testing?
       The main use of the white box is in error based testing when you already have tested all objects of an application and all external or public methods of an object that you believe to be of greater importance.  In white box testing, you are looking for bugs that have a low probability of execution, have been carelessly implemented, or were overlooked previously.
4.        What is the importance of developing a test case?
       To have a comprehensive testing scheme, the test must cover all methods or a good majority of them.  All the services of your system must be checked by at least one test.  To test a system, you must construct some test input cases, then describe how the output will look.  Next, perform the tests and compare the outcome with the expected output.
5.        What is white box testing?
        White box testing assumes that the specific logic is important and must be tested to guarantee the systems proper functioning.
6.        What is path testing?
        One form of white box testing, called path testing, makes certain that each path in a objects method is executed at least once during testing.
7.        What is statement testing coverage?
        The main idea of statement testing coverage is to test every statement in the objects method by executing it at least once.
8.        What is branch testing coverage?
        The main idea behind branch testing coverage is to perform enough tests to ensure that every branch alternative has been executed at least once under some test as in statement testing coverage, it is unfeasible to fully test any program of considerable size. 
9.        What is regression testing?
         All passed tests should be repeated with the revised program, called regression testing, which can discover errors introduced during the debugging process.  When sufficient testing is believed to have been conducted, this fact should be reported, and testing for this specific product is complete.
10.        What is test plain?
          A test plan offers a road map for testing activities, whether usability, user satisfaction, or quality assurance tests.  It should state the test objectives and how to meet them.  The test plan need not be very large; in fact, devoting too much time to the plain can be counterproductive.   
11.        What is debugging?
         Debugging is the process of finding out where something went wrong and correcting the code to eliminate the errors or bugs that cause unexpected results.  For example, if an incorrect result was produced at the and of a long series of computations, perhaps you forgot to assign the correct value to a variable, chose the wrong operator, or used an incorrect formula.
12.        What are the different types of errors?
The kinds of errors you might encounter when you run your program:
•    Language errors result from incorrectly constructed code, such as an incorrectly typed keyboard or some necessary punctuation omitted.
•    Run-time errors occur and are detected as the program is running, when a statement attempts an operation that is impossible to carry out.  For example, if the program tries to access a nonexistent object (say, a file), a run-time error will occur.
•    Logic errors occur when code does not perform the way you intended.  The code might be syntactically valid and run without performing any invalid operations and yet produce incorrect results.
13.        What are the types of quality assurance testing?
          Quality assurance testing can be divided into two major categories: error-based testing and scenario-based testing.  Error-based testing techniques search a given class’s method for particular clues of interests, then describe how these clues should be tested.
14.        What is top-down testing?
          Top-down testing assumes that the main logic or object interactions and systems messages of the application need more testing than an individual object’s methods or supporting logic.  A top-down strategy can detect the serious design flaws early in the implementation.  In theory, top-down testing should find critical design errors early in the testing process and significantly improve the quality of the delivered software because of the iterative nature of the test.  A top-down strategy supports testing the user interface and event-driven systems.
15.        What is bottom-up testing?
         Bottom-up testing starts with the details of the system and proceeds to higher levels by a progressive aggregation of details until they collectively fit the requirements for the system.  This approach is more appropriate for testing the  individual objects in a system.  Here, you test each objet, then combine them and test their interaction and the messages passed among objects by utilizing the top-down approach.
16.        What steps are followed in developing a test plan?
The following steps are needed to create a test plan:
1.    Objectives of the test.  Create the objectives and describe how to achieve them.  For example, if the objective is usability of the system, that must be stated and also how to realize it.
2.    Development of a test case.  Develop test data, both input and expected output, based on the domain of the data and the expected behaviors that must be tested.
3.    Test analysis, this step involves the examination of the test output and the documentation of the test results.  If bugs are detected, then this is reported and the activity centers on debugging.  After debugging, steps 1 though 3 must be repeated until no bugs can be detected.
17.        What is beta testing?
          Most software companies also use beta testing, a popular, in expensive, and effective way to test software on a select group of the actual users of the system.
18.        What is alpha testing?
          In alpha testing, testing is done by in house testers, such as programmers, software engineers, and internal user.
19.        What is quality?
         Quality refers to the ability of products to meet the users' and expectations.  The task of satisfying user requirements is the basic motivation for quality.  Quality also means striving to do the things are being done.
20.        Why do we need usability testing?
        Usability testing measures the ease of use as well as the degree of comfort and satisfaction users have with the software.  Products with poor usability can be difficult to learn, complicated to operate, and misused or not used at all.  Therefore, low product usability leads to high costs for users and a bad reputation for the developers.
21.        Why do need to apply usability testing early on? Why should we apply it often?
       You can incorporate your findings into the usability test plan and test cases.  As the design progresses, usability testing continues to provide valuable input for analyzing initial design concepts and, in the later stages of product development, can be used to test specific product tasks, especially the UI.
22.        Why should usability testing include all components of the software?
      Furthermore, by following Jacobson's life cycle model, you can produce designs that are traceable across requirements, analysis, design, implementation, and testing.  The main advantage is that all design traces directly back to the user requirements.  Use cases and usage scenarios can become test scenarios; and therefore, the use case will drive the usability, user satisfaction, and quality assurance test cases.
23.        What are some other techniques to gather usability information?
         Many techniques can be used to gather usability information.  In addition to use cases, focus groups can be helpful for generating initial ideas or trying out new ideas.  A focus group requires a moderator who directs the discussion about aspects of a task or design but allows participants to freely express their opinions.
24.        What is user satisfaction test?
            User satisfaction testing is the process of quantifying the usability test with some measurable attributes of the test, such as functionality, cost, or ease of use.
25.        Why do we need to measure user satisfaction?
            To ensure user satisfaction and therefore high-quality software, measure user satisfaction along the way as the design takes from.    
26.        What is usability?
            The international Organization for Standardization (ISO) defines usability as the effectiveness, efficiency, and satisfaction with which a specified set of users can achieve a specified set of tasks in particular environments.  The ISO definition requires •    Defining tasks.  What are the tasks?
•    Defining users.  Who are the users?
•    A means for measuring effectiveness, efficiency, and satisfaction.  How do we measure usability?
27.        When do we use usability testing?
           Usability is one of the most crucial factors in the design and development of a product, especially the user interface.  Therefore, usability testing must be a key part of the UI design process.  Usability testing should begin in the early stages of product development; for example, it can be used to gather information about how users do their work and find out their tasks, which can complement use cases.   
28.        How is usability test assessed?
    Usability can be assessed by defining measurable goals, such as
•    95 percent of users should be able to find how to withdraw money from the ATM machine without error and with no formal training.
•    70 percent of all users should experience the new function as "a clear improvement over the previous one".
•    90 percent of consumers should be able to operate the VCR within 30 minutes.                                                                    
29.        Define DBMS
         DBMS is Data Base Management System, which consists of a collection of interrelated data and a set of programs to access those data. The collection of data is database. These are designed to manage large bodies of information.
30.        List out the database applications.
The following are examples of database applications:
# computerized library systems
    * automated teller machines
# flight reservation systems
    * computerized parts inventory systems
31.        What is the idea behind access layer?
It is to create a set of classes that know how to communicate with a datasource. Regardless of data it must be able to translate data-related requests from business layer into appropriate protocol for data access.
32.        What are the two tasks performed by access layer ?
1.Translate the request
2.Transulate the result
33.        Define CORBA?
Common Object Request Broker Architecture a standard proposed as a means to integrate
distributed heterogenous business application and data.
34.        Define cooperative processing?
              It is the computing that requires two or more distinct processors to complete a single transaction.It is related to both distributed and client server processing.
35.        What are the components involved in client-server application?
-User interface
-Business processing
-Dataprocessing
36.        What is a middleware?
             It is the network operating system which is the key element of connectivity is known as middleware.
37.        What is client server computing?
             It is the logical extension of modular programming.The fundamental assumption is that separation of large piece of software into its constient parts which creates the possibility for easier development and better maintainability.
38.        What is a DB model? What are the types?
             It is a collection of logical constructs used to represent the data structure and data relationships within the database. There are
•    Hierarchial model
•    Network model
•    Relational model

PART-B
1.        Explain Quality Assurance tests.
2.        Describe different testing strategies.
3.        Discuss the guidelines for developing quality assurance test cases.
4.        What is a test plan? Explain the guidelines for it.
5.        Describe continuous testing
6.        What is usability testing? Explain the guidelines for developing it.
7.        What is user satisfaction test? Explain the guidelines for it.
8.        Explain the overview of the legacy system.
9.        Overview of the managing modeling.
10.        Explain the iterative development process.
11.        Write about the programming style with clear examples.
12.        Brief explanation about the implementation modeling.

OOAD IMPORTANT QUESTIONS

UNIT-1

16MARKS:

    How structured oriented system differs from object oriented systems? Discuss the steps involved in object oriented system design with appropriate diagrams.
    Encapsulation, information hiding, inheritance, reusability.
    Object oriented system development- use case driven approach.

2MARKS:

    Define object, class, method, messages.
    Inheritance, association, meta classes.
    Object persistence.
    Difference between dynamic and static binding.
    Difference between object oriented approach and traditional approach.
    Difference between verification and validation.
    What is prototype?
    Define RAD, CBD.
    What is 80-20 rule?

UNIT-2

16MARKS:

    Rumbaugh et al’s object modelling technique.
    Booch methodology.
    Jacobson methodology.
    Unified approach.
    UML diagrams.

2MARKS:

    Define OMT and its phases.
    What is Stereotype?
    What is package?
    Activity, collaboration, statechart, implementation and usecase diagrams.
    Why we go for modelling?
    What is a-part of relationship?
    What is antipattern?
    What is pattern template?
    What is objector?
    What is macro development process?

UNIT-3

16MARKS:

    Use case model.
    Noun phrase approach.
    Super- sub class relationship, a- part- of relationship.

2MARKS:

    What is the objective of analysis?
    What are the 4 major tools for information extraction?
    What are the 3 most common sources of requirement difficulties?
    Who are actors?
    What is two-three rule?
    CRC approach.
    What is transitivity and anti-symmetry?

UNIT-4

16MARKS:

    Corollaries.( v.v.imp question)
    Designing methods and protocols.
    Micro level process.
    Purpose of view layer interface.
    Designing access layer classes.
    What are the different mappings?
    Object oriented database systems.

2MARKS:

    What are the different axioms?
    Difference between corollary and axiom, theorem.
     Difference between coupling and cohesion.
    What are design patterns?
    What is encapsulation leakage?
    What are the types of attributes?
    What is DDL, DML, meta data, schema, persistence.
    What are the components of client server computing?
    What is cooperative processing?
    What is CORBA, ORB?
    What Is stored procedure?
    Purpose for using windows?
    Forward and reverse engineering.

UNIT-5

16MARKS:

    Testing strategies.
    Usability testing.
    User satisfaction test.

2MARKS:

    What is syntactical bug and logical bug?
    Difference between logical and run-time errors.
    What is debugging?
    Difference between Black-box and white-box testing.
    What is test plan?




1. (a) What are the benefits of object oriented development over structure development.

(b) How one way association is different than two way association.

(c) Microwave oven contains simple control button which is available for the users of the oven. If the oven door is closed and a user pushes the button, the oven will cook for two minute. If the user pushes the button at any time when the oven is cooking, the user gets an additional minute of cooking time. For e.g if the user has 30 sec more cooking time to go and he pushes the button twice, the cook time is now for 2 minutes and 30 seconds. If door of oven is open then light is on otherwise off.

(i) Draw a class diagram.

(ii) Draw an instance diagram.

(iii) Draw use case diagram.

(iv) Draw sequence diagram.

(v) Identify the states and transitions.

(d) Create an activity diagram for railway reservation system.

2. Differentiate between the following :

(a) Static binding and dynamic binding

(b) Generalization and aggregation

(c) Attributes and behaviour

(d) Packages and subsystems

(e) Dynamic model and functional model
Term End Examination June, 2012

3. (a) Write short notes on :

(i) Meta classes

(ii) Association class

(iii) Object constraint language

(iv) Derived attributes

(v) Persistency

(b) Why do we use integrity constraints in relational database management system. Justify your answer with appropriate example.

(c) What is state diagram ? Draw the state diagram for ‘Issue of Book’.

4. (a) Explain how DFD are designed in an object oriented approach. Discuss it with teaching learning system.

(b) Explain probe in sequential diagram.

5. (a) Explain major features of UML.

(b) Why we need of approach object oriented decomposition ?

(c) What is inheritance ? How we can incorporate inheritance adjustment in object oriented methodology ?






(d) Briefly explain the concept of collaboration diagram.

No comments:

Post a Comment