SlideShare una empresa de Scribd logo
1 de 28
Descargar para leer sin conexión
BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 1 of 28
CS6502 OBJECT ORIENTED ANALYSIS AND DESIGN (V- Semester)
QUESTION BANK
Syllabus
OBJECTIVES:
The student should be made to:
• Learn the basics of OO analysis and design skills.
• Learn the UML design diagrams.
• Learn to map design to code.
• Be exposed to the various testing techniques.
UNIT I - UML DIAGRAMS - 9
Introduction to OOAD - Unified Process - UML diagrams - UseCase - Class Diagrams - InteractionDiagrams -
State Diagrams - Activity Diagrams - Package Diagrams - component and Deployment Diagrams.
UNIT II - DESIGN PATTERNS - 9
GRASP: Designing objects with responsibilities - Creator - Information expert - Low Coupling - High Cohesion
- Controller - Design Patterns - creational - factory method - structural - Bridge - Adapter - behavioral - Strategy
- observer.
UNIT III - CASE STUDY - 9
Case study - the Next Gen POS system, Inception - Use case Modeling - Relating Use cases -include, extend and
generalization - Elaboration - Domain Models - Finding conceptual classes and description classes - Associations
- Attributes - Domain model refinement - Finding conceptual class Hierarchies - Aggregation and Composition.
UNIT IV - APPLYING DESIGN PATTERNS - 9
System sequence diagrams - Relationship between sequence diagrams and use cases Logical architecture and
UML package diagram - Logical architecture refinement - UML class diagrams - UML interaction diagrams -
Applying GoF design patterns.
UNIT V - CODING AND TESTING - 9
Mapping design to code - Testing: Issues in OO Testing - Class Testing - OO Integration Testing -
GUI Testing - OO System Testing. TOTAL: 45 PERIODS
OUTCOMES:
• At the end of the course, the student should be able to:
• Design and implement projects using OO concepts.
• Use the UML analysis and design diagrams.
• Apply appropriate design patterns.
• Create code from design.
• Compare and contrast various testing techniques.
TEXT BOOK:
1. Craig Larman, "Applying UML and Patterns: An Introduction to Object-Oriented Analysis and
Design and Iterative Development”, Third Edition, Pearson Education, 2005.
REFERENCES:
1. Simon Bennett, Steve Mc Robb and Ray Farmer, “Object Oriented Systems Analysis and Design Using UML”,
Fourth Edition, Mc-Graw Hill Education, 2010.
2. Erich Gamma, a n d Richard Helm, Ralph Johnson, John Vlissides, “Design patterns: Elements of Reusable
Object-Oriented Software”, Addison-Wesley, 1995.
3. Martin Fowler, “UML Distilled: A Brief Guide to the Standard Object Modeling Language”, Third edition,
Addison Wesley, 2003.
4. Paul C. Jorgensen, “Software Testing:- A Craftsman’s Approach”, Third Edition, AuerbachPublications, Taylor
and Francis Group, 2008.
BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 2 of 28
UNIT I - UML DIAGRAMS
PART – A (2 MARKS)
1. Define Use Case and Actor.
Use Case - a use case is a collection of related success and failure scenarios that describe an actor
using a system to support a goal.
Actor – actor is something with behavior, such as a person (identified by role), computer system,
or organization. Eg: a cashier.
2. What is Activity Diagram? Mention the elements of an Activity Diagram.
A UML activity diagram offers rich notation to show a sequence of activities, including parallel
activities. It may be applied to any perspective or purpose, but is popular for visualizing business
processes, workflows, data flows, complex algorithms and use cases.
Elements of an Activity Diagram
• Initial Node - The initial node represents the starting point of the activity diagram.
• Activity Final Node - The activity final node represents the termination point of the activity.
• Action Node - An action node is a type of activity node that represents a single action or behavior
of the activity being modeled.
• Activity Edge - An activity edge creates a directed connection between two activity nodes. It
represents the path that a token can take between two activity nodes.
• Decision - A decision has one flow entering and several exiting. The exiting flows each have a
condition that must be met in order to traverse the flow.
• Merge - A merge has several flows entering and one exiting. The merge denotes that multiple
parallel flows are merging at a single point. Only one flow must reach the merge point in order
to continue to traverse the flow to the next activity.
• Fork - A fork has one flow entering and several exiting. A fork denotes that several processes
are occurring in parallel.
• Join - A join has several flows entering it and one exiting it. A join denotes that multiple parallel
flows are merging at a single point. All flows going into the join must be completed before the
next activity can start.
3. Define an object. Identify the probable attributes that will be modelled in a Library database
for the object BOOK.
An object is a real-world element in an object oriented environment that may have a physical or a
conceptual existence. It is a software bundle of variables and related methods.
BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 3 of 28
Attributes for the object BOOK: Book ID, Book Title, Author, Publisher, Edition and Year of
Publication.
4. Outline the purpose of using use cases to describe requirements.
• Used to gather requirements of a system.
• To identify external and internal factors influencing the system.
• To get an outside view of a system.
• Show the interaction among the requirements through actors.
5. What is Object-Oriented Analysis and Design? (or) What is analysis and design?
Object-oriented analysis and design (OOAD) is a popular technical approach for analyzing and
designing an application, system, or business by applying object-oriented programming, as well as
using visual modeling throughout the development life cycles to foster better stakeholder
communication and product quality.
6. What is UML?
Unified Modeling Language (UML) is a graphical language for OOAD that gives a standard way
to write a software system’s blueprint. It helps to visualize, specify, construct, and document the
artifacts of an object-oriented system. It is used to depict the structures and the relationships in a
complex system.
7. Distinguish between Method and Message in object.
Message Method
Each (typical synchronous) message between
objects is represented with a message expression
on a filled-arrowed solid line between the vertical
lifelines. The time ordering is organized from top
to bottom of lifelines.
A method is the implementation of an operation.
It specifies the algorithm or procedure associated
with an operation.
There are two ways to show the return result from
a message
1. Using the message syntax returnVar =
message(parameter)
2. Using a reply (or return) message line at the
end of an activation bar.
A set of operations that portray the behaviour of
the objects of the class. Operations are also
referred as functions or methods.
BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 4 of 28
8. What are the three perspectives to apply UML?
1. Conceptual perspective - the diagrams are interpreted as describing things in a situation of the
real world or domain of interest.
2. Specification (software) perspective - the diagrams (using the same notation as in the
conceptual perspective) describe software abstractions or components with specifications and
interfaces, but no commitment to a particular implementation (for example, not specifically a
class in C# or Java).
3. Implementation (software) perspective - the diagrams describe software implementations in
a particular technology (such as Java).
9. Define design class diagrams.
A static view of the class definitions is usefully shown with a design class diagram. This illustrates
the attributes and methods of the classes.
This design class diagram is not the same as the domain model, some class names and content are
similar.
10. What tests can help to find useful Use Cases?
• The Boss Test
• The EBP (Elementary Business Process) Test
• The Size Test
11. What is the need for modeling?
The purpose of modeling is to discover, understand, and share that understanding.
• Modelling help us to visualize a system or larger and more complex the system.
• Modelling permit us to specify the structure or behavior of a system.
• Modelling gives us a template that guides us in constructing a system.
12. List out any four reasons for complexity of software.
1) Greater predictability
2) Software Risk Mitigation
3) Reduced Costs
4) Extended Value
5) Decision Support
13. Why do we need object oriented system development?
Object-oriented design is an approach to systems development that proposes the use of system
objects to build new systems and rebuild old ones.
BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 5 of 28
An important goal of object-oriented system development is to change the nature of traditional
software development from designing and writing models from scratch to building systems through
the assembly of reusable software objects.
14. List out the various phases of Unified Process.
• Inception
• Elaboration (Milestone)
• Construction (Release)
• Transition (Final production release)
15. What are the primary goals in the design of UML?
• Provide users with a ready-to-use, expressive visual modeling language so they can develop
and exchange meaningful models.
• Provide extensibility and specialization mechanisms to extend the core concepts.
• Be independent of particular programming languages and development processes.
• Provide a formal basis for understanding the modeling language.
• Encourage the growth of the OO tools market.
• Support higher-level development concepts such as collaborations, frameworks, patterns and
components.
• Integrate best practices.
16. What is Guard condition?
Guard conditions are Boolean expressions evaluated dynamically based on the value of extended
state variables and event parameters. Guard conditions affect the behavior of a state machine by
enabling actions or transitions only when they evaluate to TRUE and disabling them when they
evaluate to FALSE.
In the UML notation, guard conditions are shown in square brackets (e.g., [valid subscriber]
17. Define Visibility.
Visibility is the ability of an object to "see" or have a reference to another object.
UML has the following types of visibility:
• Public (+)
• Package (~)
• Protected (#)
• Private (-)
BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 6 of 28
18. What is the use of Rake symbol in UML Activity diagram?
19. What is the basic element of a deployment diagram? Give its types.
The basic element of a deployment diagram is a node.
Types:
• Device node
• Execution Environment Node (EEN)
20. Define Component.
A component represents a modular part of a system that encapsulates its contents and whose
manifestation is replaceable within its environment. A component defines its behaviour in terms of
provided and required interfaces.
PART – B (13/15 MARKS)
1. Consider an elevator that has the basic functions such as moving up and down open and close doors
and pick up passengers. The elevator is supposed to be used in a building having floors numbered
from 1 to n. There are call buttons in the elevator corresponding to each floor. For every floor except
floors 1 and n, there are two floor call buttons for the passengers to call elevator for going up and
down. There is only one down call button at floor n and one up call button in floor 1. Then the car
stops at a floor, the doors are opened and the elevator light indicating the current direction the
elevator is going is illuminated so that the passengers can get to know the current moving direction
of the elevator. When the elevator is moving a music, audio is played inside the elevator.
BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 7 of 28
Draw class diagram, activity diagram and component diagram for designing this system. (OR)
List various UML diagrams and explain the purpose of each diagram with an example problem.
(OR)
Write a problem statement for Library Management System. Draw the UML Use Case, Activity
Diagram, Class Diagram, Sequence Diagram, State Chart Diagram, Package Diagram, Component
and Deployment Diagram. (OR)
Discuss about UML Deployment and Component Diagrams. Draw the diagrams for a banking
application. (OR)
i) Model a use case diagram for the following scenario: (8)
Deepthi super market wants a subsystem to process supply orders via the Web. The user will supply
via a form their name, password, account number and a list of supplies along with an indication of
the quantities desired. The subsystem will validate the input, enter the order into a database and
generate a receipt with the order number, expected ship date and the total cost of the order. If the
validation step fails, the subsystem will generate an error message describing the cause of the
failure.
ii) "A component represents a modular, deployable and replaceable part of a system that
encapsulates implementation and exposes a set of interfaces”. Elucidate with an example. (7) (OR)
i) Draw and discuss an analysis model for Banking system. (8)
ii) Explain the software development life cycle of object oriented approach. (7)
2. Explain in detail about the interaction diagrams and also notations.
3. Explain in detail about Unified Process in Object Oriented Analysis and Design. Explain the phases
with neat diagrams. (OR)
i) Present an outline of object-oriented analysis and object-oriented design. (7)
ii) Why the Unified process has emerged as a popular and effective software development process?
(6) (OR)
Explain about Unified process phases.
4. Explain about activity diagram with an example. (OR)
When to use activity diagram? Describe the situation with an example. (OR)
What is UML Activity Diagram? Using an example explain the features of basic UML activity
diagram notations.
5. Model a state transition diagram for the following scenario. (13)
Here is what happens in a microwave oven:
• The oven is initially in an idle state with door open, where the light is turned on.
• When the door is closed it is now in idle but the light is turned off.
• If a button is pressed, then it moves to initial cooking stage, where the timer is set and lights
are on and heating starts.
BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 8 of 28
• At any moment the door may be opened, the cooking is interrupted, the timer is cleared and
heating stops.
• Also, while cooking, another button can be pushed and extended cooking state starts, where the
timer gets more minutes. At any moment door can be opened here also.
• If the timer times out, then cooking is complete, heating stops, lights are off and it sounds a
beep.
• When the door is open, again the oven is in idle state with the door open.
6. Explain about Use Case Model for a case study of your choice.
7. Model a class diagram for a "Banking System". State the functional requirements you are
considering.
--------------******--------------
UNIT II - DESIGN PATTERNS
PART – A (2 MARKS)
1. Mention the list of behavioural patterns used during design phase of software development.
• Chain of Responsibility
• Command
• Iterator
• Mediator
• Memento
• Observer
• State
• Strategy
• Visitor
2. List out the types of coupling.
Coupling can be "low" (also "loose" and "weak") or "high" (also "tight" and "strong").
• Content coupling
• Common coupling
• External coupling
• Control coupling
• Stamp coupling
• Data coupling
3. Define Patterns and Design pattern. (OR) What are design patterns?
A design pattern is a general reusable and proven solution to a commonly occurring problem in
software design.
A pattern is a named problem/solution pair that can be applied in new contexts, with advice on
how to apply it in novel situations.
4. When to use patterns? (OR) State the use of design pattern.
Design Patterns have following usages in software development.
• Common platform for developers.
• When problems you find again and again in real-world application development
• Best Practices.
• In a common problem that needs solution.
BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 9 of 28
5. Define Modular Design.
Modular design, or "modularity in design", is a design approach that subdivides a system into
smaller parts called modules or skids, that can be independently created and then used in different
systems.
A modular system can be characterized by functional partitioning into discrete scalable, reusable
modules.
6. Distinguish between coupling and cohesion. (OR) Define cohesion and coupling.
Cohesion Coupling
Cohesion is the indication of the relationship
within module.
Coupling is the indication of the relationships
between modules.
Cohesion shows the module’s relative
functional strength.
Coupling shows the relative independence
among the modules.
Cohesion is a degree (quality) to which a
component / module focuses on the single thing.
Coupling is a degree to which a component /
module is connected to the other modules.
While designing you should strive for high
cohesion i.e. a cohesive component/ module
focus on a single task with little interaction with
other modules of the system.
While designing you should strive for low
coupling i.e. dependency between modules
should be less.
Cohesion is the kind of natural extension of data
hiding for example, class having all members
visible with a package having default visibility.
Making private fields, private methods and non
public classes provides loose coupling.
Cohesion is Intra – Module Concept. Coupling is Inter -Module Concept.
7. Mention the Interface and Domain Layer responsibility.
The UI layer should not have any domain logic responsibilities. It should only be responsible for
user interface tasks, such as updating widgets. The UI layer should forward requests for all domain-
oriented tasks on to the domain layer, which is responsible for handling them.
8. What is meant by Low Coupling?
Coupling is a measure of how strongly one element is connected to, has knowledge of, or relies on
other elements.
Low coupling is an evaluative pattern that dictates how to assign responsibilities to support
• lower dependency between the classes,
• change in one class having lower impact on other classes,
• higher reuse potential.
BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 10 of 28
9. What is GRASP?
GRASP - General Responsibility Assignment Software Patterns
Describe fundamental principles for assigning responsibilities to classes and for designing
interactions between classes.
10. Define Object with an example.
An object is a real-world element in an object oriented environment that may have a physical or a
conceptual existence. It is a software bundle of variables and related methods.
11. What do you mean by High Cohesion?
High cohesion is an evaluative pattern that attempts to keep objects appropriately focused,
manageable and understandable. High cohesion is generally used in support of low coupling.
High cohesion means that the responsibilities of a given element are strongly related and highly
focused. Breaking programs into classes and subsystems is an example of activities that increase
the cohesive properties of a system.
12. ‘A system must be loosely coupled and highly cohesive’. Justify,
A system must be loosely coupled and highly cohesive, because highly cohesive means the class
does one job well. Low cohesion indicates that there are elements in the class which have little to
do with each other. Modules whose elements are strongly and genuinely related to each other are
desired. Each method should also be highly cohesive
13. Define Factory method.
• Factory Method is to creating objects as Template Method is to implementing an algorithm.
• Factory Method makes a design more customizable and only a little more complicated.
• Factory Methods are routinely specified by an architectural framework, and then implemented
by the user of the framework.
BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 11 of 28
14. How to select a design pattern?
• Consider how design patterns solve design problems
• Scan intent sections
• Study how patterns interrelate
• Study patterns of like purpose
• Examine a cause of redesign
• Consider what should be variable in your design
15. What is a Use Case Realization?
A use-case realization describes how a particular use case is realized within the Design Model, in
terms of collaborating objects. More precisely, a designer can describe the design of one or more
scenarios of a use case; each of these is called a use case realization. Use case realization is a UP
term used to remind us of the connection between the requirements expressed as use cases and the
object design that satisfies the requirements.
16. Differentiate Adaptor and Bridge.
Adaptor Bridge
Adapter is about creating an intermediary
abstraction that translates, or maps, the old
component to the new system.
The bridge pattern is a design pattern used in
software engineering which is meant to
"decouple an abstraction from its
implementation so that the two can vary
independently".
Translator adapts a server interface for a client. Abstraction for binding one of many
implementations.
Adapters use interfaces and polymorphism to
add a level of indirections to varying APIs in
other components.
The bridge uses encapsulation, aggregation, and
can use inheritance to separate responsibilities
into different classes.
The bridge pattern is often implemented using
the class adapter pattern.
BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 12 of 28
17. Define Push model and Pull Model.
Push model - The subjects send detailed information about the change to the observer whether it
uses it or not. Because the subject needs to send the detailed information to the observer this might
be inefficient when a large amount of data needs to be sent and it is not used.
Pull model - The subject just notifies the observers when a change in his state appears and it's the
responsibility of each observer to pull the required data from the subject. This can be inefficient
because the communication is done in 2 steps and problems might appear in multithreading
environments.
18. Define Wrapper Class.
A wrapper class wraps (encloses) around a data type and gives it an object appearance.
19. Why are strategy patterns used?
A good use of the Strategy pattern would be saving files in different formats, running various
sorting algorithms, or file compression. The Strategy pattern provides a way to define a family of
algorithms, encapsulate each one as an object, and make them interchangeable.
20. How design patterns are classified?
• Creational Pattern
• Structural Pattern
• Behavioral Pattern
• Controller Pattern
• Concurrency Pattern
PART – B (13/15 MARKS)
1. What is GRASP? Explain the following GRASP patterns: Creator, Information Expert, and Low
Coupling, and High Cohesion. (OR)
What is GRASP? Explain the design patterns and the principles used in it. (OR)
Explain in detail about the GRASP pattern and also explain in designing objects with
responsibilities.
2. Compare cohesion and coupling with suitable example.
BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 13 of 28
State the role and patterns while developing system design.
3. i) Write short notes on: adaptor pattern and observer pattern. (7)
ii) Compare between different categories of design patterns. (6) (OR)
Differentiate Bridge and Adapter. How will you design the behavioral pattern? (OR)
What is Design pattern? Explain GOF design Patterns. (OR)
Write a short note on Adapter, Bridge, Factory Method, Strategy and Observer patterns. (OR)
Explain with an example the factory method design pattern. (OR)
Explain in detail about the Factory Pattern and mention the Limitations and applications of Factory
pattern.
4. Designing the Use Case realizations with GOF design patterns.
5. What GRASP? Explain the following GRASP patterns: Creator, Information Expert, Low
Coupling, High Cohesion, Controller. (or)
Explain creator and controller design pattern with examples. (or)
Explain the design principle in object modeling. Explain in detail the GRASP method for designing
objects with examples.
--------------******--------------
UNIT III - CASE STUDY
PART – A (2 MARKS)
1. List out the components of a POS system.
• Computer
• Bar code scanner
• Software
• Cash Drawer
• Receipt Printers
• Magnetic Stripe Readers and PIN Pads
2. When to create a subclass of a superclass?
A subclass of a superclass can be created, when
• The subclass has additional attributes of interest.
• The subclass has additional associations of interest.
• The subclass concept is operated on, handled, reacted to, or manipulated differently than the
superclass or other subclasses, in ways that are of interest.
• The subclass concept represents an animate thing (for example, animal, robot) that behaves
differently than the superclass or other subclasses, in ways that are of interest.
3. What is the relationship of a conceptual super class to a subclass?
Generalization is the activity of identifying commonality among concepts and defining superclass
(general concept) and subclass (specialized concept) relationships.
BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 14 of 28
Conceptual subclasses and superclasses are related in terms of set membership (Generalization). All
members of a conceptual subclass set are members of their superclass set.
4. Define Aggregation and Composition.
Aggregation Composition
• Aggregation is a special case of
association.
• A directional association between
objects. When an object ‘has-a’ another
object, then you have got an aggregation
between them.
• Direction between them specified which
object contains the other object.
• Aggregation is also called a “Has-a”
relationship.
Eg: A car without doors
• Composition is a special case of
aggregation.
• In a more specific manner, a restricted
aggregation is called composition.
• When an object contains the other object,
if the contained object cannot exist without
the existence of container object, then it is
called composition.
Eg: A car without engine
5. What are the tasks performed in elaboration?
• Explore concepts from requirements/use cases
• Domain models: basic concepts and their inter-relationships
• Basic architectural concepts for system
• System sequence interactions – system events, UI basics
6. How to create a Domain Model?
A domain model is created using a set of class diagrams in which no operations (method signatures)
are defined. It provides a conceptual perspective. It may show:
• domain objects or conceptual classes
• associations between conceptual classes
• attributes of conceptual classes
7. Define Conceptual Class.
A conceptual class is an idea, thing, or object. It may be considered in terms of its symbol, intension,
and extension.
• Symbol - words or images representing a conceptual class.
• Intension - the definition of a conceptual class.
• Extension - the set of examples to which the conceptual class applies.
8. When to define new datatype classes?
A new data type class defined in the domain model if,
BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 15 of 28
• It is composed of separate sections.
phone number, name of person
• There are operations associated with it, such as parsing or validation.
social security number
• It has other attributes.
promotional price could have a start (effective) date and end date
• It is a quantity with a unit.
payment amount has a unit of currency
• It is an abstraction of one or more types with some of these qualities.
item identifier in the sales domain is a generalization of types such as Universal Product
Code (UPC) and European Article Number (EAN)
9. Why call a Domain Model a ‘Visual Dictionary’?
To understand the terms and especially their relationships in a visual language, since our brains
are good at understanding visual elements and line connections. Therefore, the domain model
is a visual dictionary of the noteworthy abstractions, domain vocabulary, and information content
of the domain.
10. List the relationships used in class diagram.
11. Define: Use Case Model.
Use case model is to find the actors and their goals, and create solutions that produce a result of
value. It describes the functional requirements and related non-functional requirements. It is mostly
text.
12. Define: Inception. (OR) What is inception?
Inception is a short step to elaboration. It determines basic feasibility, risk, and scope, to decide if
the project is worth more serious investigation.
13. Give the hint to identify the attributes of class.
• Choose a class from the evolving object model and look for the properties associated with it.
• Select a property candidate (e.g., from a problem statement or a requirements document) and
look for the class that it describes.
14. List the advantages of Use Case Modeling.
• Provides tool for capturing functional requirements.
BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 16 of 28
• Assist in decomposing system into manageable pieces.
• Provides means of communication user/stakeholder concerning system functionality in the
language they understand.
• Provides aid in estimating project scope, effort and schedule.
• Aids in defining test plan and test cases.
• Provides tool for requirements traceability.
• Provides framework for driving the system development project.
15. When to use Generalization use case relationship.
Generalization is used when you find two or more use cases that have commonalities in behavior,
structure, and purpose. When this happens, you can describe the shared parts in a new, often abstract,
use case, that is then specialized by child use cases.
16. Difference between Include and Extend use case relationships.
Include Extend
Include relationships insert additional behavior into
a base use case
Extend puts additional behavior in a use
case that does not know about it.
They are shown as a dotted line with an open arrow
and the key word <<include>>
It is shown as a dotted line with an arrow
point and labeled <<extend>>
Eg: A process in ATM fund deposit and withdraw. Eg: A customer can request a catalog when
placing an order.
17. What is Elaboration? What are the tasks performed in elaboration?
Elaboration is the initial series of iterations during which the team does serious investigation,
implements (programs and tests) the core architecture, clarifies most requirements, and tackles
the high-risk issues.
18. What are the three kinds of actors?
• Primary actor
• Supporting actor
• Offstage actor
19. What are Three Common Use Case Formats?
• Brief
• Casual
• Fully dressed
BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 17 of 28
20. Distinguish between Qualified Associations and Reflexive Associations.
Qualified Associations Reflexive Associations
A qualifier may be used in an association; it
distinguishes the set of objects at the far end of
the association based on the qualifier value.
An association with a qualifier is a qualified
Association.
A concept may have an association to itself;
this is known as a reflexive association.
PART – B (13/15 MARKS)
1. Write about elaboration and discuss the differences between elaboration and Inception with suitable
diagram for university domain. (OR)
Write briefly about elaboration and discuss the differences between elaboration and inception with
examples.
2. Construct design for library information system which comprises and following notations
(i) aggregations (ii) compositions (iii) associations. (OR)
Explain association, aggregation and composition relationships in detail. (OR)
i) Explain in detail about use case diagrams. (6)
ii) Discuss about aggregation and composition. (7) (OR)
i) What is multiplicity of an association? Explain with an example the different types of
multiplicities. (7)
ii)Explain with an example aggregation and composition. (6)
3. What are the guidelines used to partition the class in the domain model to be organized into
packages? Explain with suitable examples. (OR)
Illustrate the concept the domain model with examples. (OR)
i) Define domain model with suitable examples. ii) Explain about the Next Gen POS System.
4. Explain the guidelines for finding conceptual class with neat diagrams. (OR)
Discuss in detail about the three strategies to find conceptual classes. (OR)
For the hospital management system draw and explain Conceptual Class Diagram (Overall system).
(OR)
Describe the strategies used to identify conceptual classes. Describe the steps to create domain
model used for representing conceptual classes.
5. What is the purpose of a Use Case model? Identify the Actors, Scenarios and Use Case for a Library
Management System. (OR)
BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 18 of 28
Explain with an example, how use case modeling is used to describe functional requirements.
Identify the actors, scenario and use cases for example.
6. i) Explain with an example a concrete use case and an abstract use case. (5)
ii) Explain with an example generalization and specialization and write a note on abstract class and
abstract operation. (8)
--------------******--------------
UNIT IV - APPLYING DESIGN PATTERNS
PART – A (2 MARKS)
1. Outline the key reason for modeling a package diagram.
• Package diagrams are used to structure high level system elements.
• Packages are used for organizing large system which contains diagrams, documents and other
key deliverables.
• Package Diagram can be used to simplify complex class diagrams, it can group classes into
packages.
• A package is a collection of logically related UML elements.
• Packages are depicted as file folders and can be used on any of the UML diagrams.
2. Name the two types of UML interaction diagrams.
i. Sequence Diagram
ii. Collaboration Diagram (Communication Diagram)
3. What are the strength and weakness of Sequence and Collaboration Diagram.
Diagram Strengths Weaknesses
Sequence Diagram
Clearly shows sequence or time
ordering of messages.
Large set of detailed notation
options.
Forced to extend to the right
when adding new objects;
consumes horizontal space.
Collaboration Diagram
(Communication
Diagram)
Space economical flexibility to
add new objects in two
dimensions.
More difficult to see sequence
of messages fewer notation
options.
4. What is SSD?
A System Sequence Diagram (SSD) is a fast and easily created artifact that illustrates input and
output events related to the systems under discussion. They are input to operation contracts and
most importantly object design.
BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 19 of 28
5. List the relationships used in class diagram.
6. Difference between Logical Architecture and Layers.
Logical architecture Layer
Logical architecture is the large-scale
organization of the software classes into
packages (or namespaces), subsystems, and
layers.
A layer is a very coarse-grained grouping of
classes, packages, or subsystems that has
cohesive responsibility for a major aspect of the
system.
There's no decision about how the elements are
deployed across different operating system
processes or across physical computers in a
network.
Layers are organized such that "higher" layers
(such as the UI layer) call upon services of
"lower" layers, but not normally vice versa.
7. What is meant by System Behavior?
System behavior is a description of what a system does, without explaining how it does it. One part
of that description is a system sequence diagram.
8. Define Classifier.
A UML classifier is "a model element that describes behavioral and structure features". Classifiers
can also be specialized. They are a generalization of many of the elements of the UML, including
classes, interfaces, use cases, and actors. In class diagrams, the two most common classifiers are
regular classes and interfaces.
9. What is qualified association?
A qualified association has a qualifier that is used to select an object (or objects) from a larger set
of related objects, based upon the qualifier key. In a software perspective, it suggests looking things
up by a key, such as objects in a HashMap.
10. Why UML as blueprint?
UML as blueprint because it applies to both code and diagram generation. Relatively detailed
diagrams guide some code generation (e.g., Java) with a tool. And diagrams are generated from the
code to visualize the code base. After generating code, many fine details are usually filled in by
developers while programming
BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 20 of 28
11. How to Name System Events and Operations?
System events (and their associated system operations) should be expressed at the abstract level of
intent rather than in terms of the physical input device or interface widget level.
It also improves clarity to start the name of a system event with a verb (add..., enter…, end…,
make…).
12. Define System Events and the System Boundary.
A system event is a type of action that results from system activity and contains system data. System
events can include resource state changes or unusual system states or actions performed by an
object.
System boundaries are established to define what is inside and what is outside the system.
• They show other systems that are used or depend on the system being developed.
13. When to use Package Diagrams and Collaboration diagram?
Package Diagrams
• It is used in large scale systems to picture dependencies between major elements in the system.
• Package diagrams represent a compile time grouping mechanism.
Collaboration diagram
• Collaboration diagrams are used to show how objects interact to perform the behavior of a
particular use case, or a part of a use case.
• Along with sequence diagrams, collaborations are used by designers to define and clarify the
roles of the objects that perform a particular flow of events of a use case.
System events
BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 21 of 28
• They are the primary source of information used to determining class responsibilities and
interfaces.
14. Draw the sequence diagram for ATM system.
15. How to create an Instance?
Any message can be used to create an instance, but the convention in the UML is to use a message
named create for this purpose (some use new). The create message may include parameters,
indicating the passing of initial values.
BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 22 of 28
16. How a sequence diagram is related to a use case?
Sequence Diagram (SSD) shows system events for one scenario of a use case, therefore it is
generated from inspection of a use case.
17. What do you mean by sequence number in UML? Where and for what it is used?
Sequence Number is a number that represents the message sequence in sequence diagram. It is
used to show the sequential order of messages in the current thread of control or overall interaction
of a sequence diagram.
18. Differentiate Synchronous message and Asynchronous Message.
Synchronous message Asynchronous Message
A synchronous message call must wait until the
message is done, such as invoking a subroutine.
An asynchronous message call does not wait
for a response; it doesn't block.
Synchronous messaging is a two-way
communication.
It is one-way communication, they are used in
multi-threaded environments such as .NET and
Java.
UML notation for synchronous (blocking) calls
are shown with a filled arrow.
UML notation for asynchronous calls is a stick
arrow message.
19. What's the Relationship Between the Domain Layer and Domain Model?
There's a relationship between the domain model and the domain layer, the domain model (which
is a visualization of noteworthy domain concepts) for inspiration for the names of classes in the
domain layer.
The domain layer is part of the software and the domain model is part of the conceptual perspective
analysis they aren't the same thing. But by creating a domain layer with inspiration from the domain
model, we achieve a lower representational gap, between the real-world domain, and our software
design.
BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 23 of 28
20. Define the term package vs subsystem.
Package Subsystem
A package is a grouping of model elements and
provides a namespace for the grouped
elements.
A grouping of model elements that represents a
behavioral unit in a physical system.
A package can contain model elements of other
packages to create hierarchies.
Subsystems are used for system decomposition.
A subsystem has a specification and a
realization to represent the two views
PART – B (13/15 MARKS)
1. Draw a neat sketch of the logical layered architecture of Next-Gen application and explain the
components in detail.
2. Explain details about various static and dynamic UML important diagram with suitable example.
(OR)
Explain the UML Class and Interaction Diagrams for Library Management System.
3. How to Add New SSDs and Contracts to the design diagram?
What are the concepts involved in domain refinement?
4. Explain about Interaction Diagram Notation for inventory management system. (OR)
Explain with an example UML Interaction diagram. (OR)
What do you mean by Interaction diagram? Explain them with suitable example. (OR)
Compare Sequence versus Collaboration diagram with suitable example. (OR)
Explain how Interaction diagram used to model the dynamic aspects of the system. (OR)
What are interactive diagrams? Explain the components involved in interactive diagram. (OR)
Consider the following use cases that play a role in a banking system:
i) Deposit ii) Withdraw (Minimum balance has to be checked)
Model Sequence diagram for the above two use cases.
5. Describe UML notation for Class diagram with an example. Explain the concept of link, association
and inheritance.
6. What is Model view separation Principle? Explain the motivation for model-view separation. (OR)
State Model view separation Principle and explain its motivations.
7. What are System Sequence Diagrams? What is the relationship between SSDs and Use cases?
Explain with an example. (OR)
Illustrate with an example, the relationship between sequence diagram and use cases.
BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 24 of 28
--------------******--------------
UNIT V - CODING AND TESTING
PART – A (2 MARKS)
1. How to use the creating methods from Interaction diagrams?
The sequence of the messages in an interaction diagram translates to a series of statements in
the method definitions. Each sequenced message within a method is mapped to a statement in the
Java method.
2. What is unit testing?
Unit Testing is a level of software testing where individual units/ components of a software are
tested. The purpose is to validate that each unit of the software performs as designed. A unit is the
smallest testable part of any software. Test each operation as part of a class hierarchy because its
class hierarchy defines its context of use
3. Define a test case. Give example.
A test case has an identity and is associated with a program behavior. It also has a set of inputs and
expected outputs.
A complete test case will contain a test case identifier, a brief statement of purpose (e.g., a business
rule), a description of preconditions, the actual test case inputs, the expected outputs, a description
of expected postconditions, and an execution history.
4. What are the steps for mapping Designs to Code? (OR)
Mention the steps involved in mapping Designs to Code.
Write source code for:
• Class and interface definitions
• Method definitions
Work from OOA/D artifacts
• Create class definitions for Domain Class Diagrams (DCDs)
• Create methods from Interaction diagrams
5. List out the issues in OO Testing.
• Implications of Composition and Encapsulation
• Implications of Inheritance
BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 25 of 28
• Implications of Polymorphism
6. Distinguish between OO Integration Testing and OO System Testing. (OR)
Explain about OO Integration Testing.
OO Integration Testing OO System Testing
Object-oriented software, collaboration and
sequence diagrams are the basis for integration
testing. Once this level is defined, integration-
level details are added.
System testing is (or should be) independent of
system implementation. A system tester does
not really need to know if the implementation
is in procedural or object-oriented code.
A collaboration diagram supports both the
pairwise and neighbourhood approaches to
integration testing.
The primitives of system testing are port input
and output events. At the system level, a UML
description is composed of various levels of use
cases, a use case diagram, class definitions, and
class diagrams.
7. What is refactoring? (OR) What is refactoring and testing?
Refactoring is a structured, disciplined method to rewrite or restructure existing code without
changing its external behavior, applying small transformation steps combined with re-executing
tests each step.
8. What is Regression Testing?
Regression testing a black box testing technique that consists of re-executing those tests that are
impacted by the code changes. These tests should be executed as often as possible throughout the
software development life cycle.
9. Define GUI testing?
GUI testing is the process of ensuring proper functionality of the graphical user interface for a given
application and making sure it confirms to its written specification.
It involves carrying set of tasks and comparing the results of same with the expected output and
ability to repeat same set of tasks multiple times with different data input and same level accuracy.
10. What is Stress testing?
Stress testing a Non-Functional testing technique that is performed as part of performance testing.
During stress testing, the system is monitored after subjecting the system to overload to ensure that
the system can sustain the stress.
11. What are the various levels of Testing?
• Unit Testing
• Integration Testing
• System Testing
• Acceptance Testing
BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 26 of 28
12. What is TDD? Write the advantages of TDD?
Test-driven development (TDD) is the extreme case of agility. It is driven by a sequence of user
stories. A user story can be decomposed into several tasks, and this is where the big difference
occurs. Before any code is written for a task, the developer decides how it will be tested. The tests
become the specification.
13. Define Flattened class.
A flattened class is an original class expanded to include all the attributes and operations it inherits.
Flattened classes are mildly analogous to the fully flattened data flow diagrams of Structured
Analysis.
14. How UML supports Integration Testing?
In UML-defined, object-oriented software, collaboration and sequence diagrams are the basis for
integration testing. Once this level is defined, integration-level details are added. A collaboration
diagram shows (some of) the message traffic among classes. As such, a collaboration diagram
supports both the pairwise and neighbourhood approaches to integration testing.
15. What do you mean by MM-paths?
An object-oriented MM-path (Method/Message Path) is a sequence of method executions linked
by messages. It starts with a method and ends when it reaches a method that does not issue any
messages of its own; this is the point of message quiescence.
MM-paths are a hybrid of functional and structural testing. They are functional in the sense that
they represent actions with inputs and outputs.
16. What are the activities and goals refactoring?
They are simply the activities and goals of good programming:
• remove duplicate code
• improve clarity
• make long methods shorter
• remove the use of hard-coded literal constants
• and more.
17. What is test harness?
Test harness or automated test framework is a collection of software and test data configured to
test a program unit by running it under varying conditions and monitoring its behavior and outputs.
It has two main parts: the test execution engine and the test script repository.
18. What do you mean by program graphs?
Program graph is a directed graph in which nodes are either entire statements or fragments of a
statement, and edges represent flow of control.
BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 27 of 28
19. Define Code Smell.
Code smells is a metaphor in refactoring they are hints that something may be wrong in the code.
The name code smell was chosen to suggest that when we look into the smelly code, it might turn out to
be alright and not need improvement.
Some code smells include:
• duplicated code
• big method
• class with many instance variables
• class with lots of code
• strikingly similar subclasses
• little or no use of interfaces in the design
20. Define OO Testing.
Testing is a continuous activity during software development. In object-oriented systems, testing
encompasses three levels, namely, unit testing, subsystem testing, and system testing. There is a
minimum set of inputs and object states that must be tested.
PART – B (13/15 MARKS)
1. Discuss briefly about issues in OO Testing. (OR)
Explain the issues involved in OO Testing.
2. Elucidate the operation of Mapping Designs to Code. (OR)
Explain in detail the design artifacts to implementation code in Object Oriented Language. (OR)
Explain in detail about the Mapping of Deign to Code implementation in an Object-Oriented
Language. (OR)
Explain about implementation model (Mapping Designs to Code). (OR)
Explain how the designs are translated to code.
3. What is OO testing? Explain in detail about the Concepts of OO testing in OOAD. (OR)
i) Explain in detail about GUI testing. (6)
ii) Comparison between OO integration testing and OO system testing. (7) (OR)
i) How is class testing different from conventional testing? Explain with an example. (7)
ii) Write a note on system testing. (6) (OR)
What is Integration Testing? Discuss in detail about its impact in OO testing. (OR)
What is integration testing? Explain the same with respect to object oriented systems.
4. Discuss the various types of testing strategies in object oriented environment. (OR)
Explain in detail about the different types of testing in OOAD. (OR)
Discuss in detail about OO Integration Testing and OO System Testing. (OR)
Write a short note on integration testing and class testing. (OR)
Explain how System Testing is performed for Currency conversion program.
BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 28 of 28
5. Draw Interaction diagram for ATM system and define the methods in Java.
6. What is MM-Path? Describe MM path for OO calendar.
Write short notes on:
i. EUC ii. EEUC iii. HLUC iv. Statechart based system testing
--------------******--------------

Más contenido relacionado

La actualidad más candente

Object Oriented Analysis Design using UML
Object Oriented Analysis Design using UMLObject Oriented Analysis Design using UML
Object Oriented Analysis Design using UMLAjit Nayak
 
Cyrus beck line clipping algorithm
Cyrus beck line clipping algorithmCyrus beck line clipping algorithm
Cyrus beck line clipping algorithmPooja Dixit
 
Object oriented methodologies
Object oriented methodologiesObject oriented methodologies
Object oriented methodologiesnaina-rani
 
Evolving role of Software,Legacy software,CASE tools,Process Models,CMMI
Evolving role of Software,Legacy software,CASE tools,Process Models,CMMIEvolving role of Software,Legacy software,CASE tools,Process Models,CMMI
Evolving role of Software,Legacy software,CASE tools,Process Models,CMMInimmik4u
 
Object oriented analysis
Object oriented analysisObject oriented analysis
Object oriented analysisMahesh Bhalerao
 
Time advance mehcanism
Time advance mehcanismTime advance mehcanism
Time advance mehcanismNikhil Sharma
 
11 ooad uml-14
11 ooad uml-1411 ooad uml-14
11 ooad uml-14Niit Care
 
Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes arvind pandey
 
Object Oriented Modeling and Design with UML
Object Oriented Modeling and Design with UMLObject Oriented Modeling and Design with UML
Object Oriented Modeling and Design with UMLMalek Sumaiya
 
15 puzzle problem using branch and bound
15 puzzle problem using branch and bound15 puzzle problem using branch and bound
15 puzzle problem using branch and boundAbhishek Singh
 
Context model
Context modelContext model
Context modelUbaid423
 
Object Modeling Techniques
Object Modeling TechniquesObject Modeling Techniques
Object Modeling TechniquesShilpa Wadhwani
 
Unit 1( modelling concepts & class modeling)
Unit  1( modelling concepts & class modeling)Unit  1( modelling concepts & class modeling)
Unit 1( modelling concepts & class modeling)Manoj Reddy
 
Importance & Principles of Modeling from UML Designing
Importance & Principles of Modeling from UML DesigningImportance & Principles of Modeling from UML Designing
Importance & Principles of Modeling from UML DesigningABHISHEK KUMAR
 

La actualidad más candente (20)

Object Oriented Analysis Design using UML
Object Oriented Analysis Design using UMLObject Oriented Analysis Design using UML
Object Oriented Analysis Design using UML
 
Cyrus beck line clipping algorithm
Cyrus beck line clipping algorithmCyrus beck line clipping algorithm
Cyrus beck line clipping algorithm
 
System Modelling
System ModellingSystem Modelling
System Modelling
 
Behavioural modelling
Behavioural modellingBehavioural modelling
Behavioural modelling
 
Object oriented methodologies
Object oriented methodologiesObject oriented methodologies
Object oriented methodologies
 
Evolving role of Software,Legacy software,CASE tools,Process Models,CMMI
Evolving role of Software,Legacy software,CASE tools,Process Models,CMMIEvolving role of Software,Legacy software,CASE tools,Process Models,CMMI
Evolving role of Software,Legacy software,CASE tools,Process Models,CMMI
 
Object oriented analysis
Object oriented analysisObject oriented analysis
Object oriented analysis
 
Time advance mehcanism
Time advance mehcanismTime advance mehcanism
Time advance mehcanism
 
11 ooad uml-14
11 ooad uml-1411 ooad uml-14
11 ooad uml-14
 
Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes
 
Domain Modeling
Domain ModelingDomain Modeling
Domain Modeling
 
Object Oriented Modeling and Design with UML
Object Oriented Modeling and Design with UMLObject Oriented Modeling and Design with UML
Object Oriented Modeling and Design with UML
 
15 puzzle problem using branch and bound
15 puzzle problem using branch and bound15 puzzle problem using branch and bound
15 puzzle problem using branch and bound
 
Uml class-diagram
Uml class-diagramUml class-diagram
Uml class-diagram
 
Context model
Context modelContext model
Context model
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
 
Ooad
OoadOoad
Ooad
 
Object Modeling Techniques
Object Modeling TechniquesObject Modeling Techniques
Object Modeling Techniques
 
Unit 1( modelling concepts & class modeling)
Unit  1( modelling concepts & class modeling)Unit  1( modelling concepts & class modeling)
Unit 1( modelling concepts & class modeling)
 
Importance & Principles of Modeling from UML Designing
Importance & Principles of Modeling from UML DesigningImportance & Principles of Modeling from UML Designing
Importance & Principles of Modeling from UML Designing
 

Similar a CS6502 OOAD - Question Bank and Answer

Module3 - Object Oriented Analysis & Functional Model.pdf
Module3 - Object Oriented Analysis & Functional Model.pdfModule3 - Object Oriented Analysis & Functional Model.pdf
Module3 - Object Oriented Analysis & Functional Model.pdfGerard Alba
 
Oose unit 4 ppt
Oose unit 4 pptOose unit 4 ppt
Oose unit 4 pptDr VISU P
 
OOSE Unit 4 PPT.ppt
OOSE Unit 4 PPT.pptOOSE Unit 4 PPT.ppt
OOSE Unit 4 PPT.pptitadmin33
 
SADP PPTs of all modules - Shanthi D.L.pdf
SADP PPTs of all modules - Shanthi D.L.pdfSADP PPTs of all modules - Shanthi D.L.pdf
SADP PPTs of all modules - Shanthi D.L.pdfB.T.L.I.T
 
Assignment 1 SYD601 2012 rick_danby completed with audio
Assignment 1 SYD601 2012 rick_danby completed with audioAssignment 1 SYD601 2012 rick_danby completed with audio
Assignment 1 SYD601 2012 rick_danby completed with audioRickNZ
 
Object Oriented Analysis and Design Unit-1
Object Oriented Analysis and Design Unit-1Object Oriented Analysis and Design Unit-1
Object Oriented Analysis and Design Unit-1SangeethaSubramaniam14
 
CS8592 Object Oriented Analysis & Design - UNIT I
CS8592 Object Oriented Analysis & Design - UNIT ICS8592 Object Oriented Analysis & Design - UNIT I
CS8592 Object Oriented Analysis & Design - UNIT Ipkaviya
 
Object Oriented Approach for Software Development
Object Oriented Approach for Software DevelopmentObject Oriented Approach for Software Development
Object Oriented Approach for Software DevelopmentRishabh Soni
 
Unit-1 OOAD Introduction.pptx
Unit-1 OOAD Introduction.pptxUnit-1 OOAD Introduction.pptx
Unit-1 OOAD Introduction.pptxRavindranath67
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptUNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptVGaneshKarthikeyan
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptUNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptVGaneshKarthikeyan
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptUNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptVGaneshKarthikeyan
 
Unit-1_Notes(OOAD).pdf
Unit-1_Notes(OOAD).pdfUnit-1_Notes(OOAD).pdf
Unit-1_Notes(OOAD).pdfganeshkarthy
 

Similar a CS6502 OOAD - Question Bank and Answer (20)

Module3 - Object Oriented Analysis & Functional Model.pdf
Module3 - Object Oriented Analysis & Functional Model.pdfModule3 - Object Oriented Analysis & Functional Model.pdf
Module3 - Object Oriented Analysis & Functional Model.pdf
 
Oose unit 4 ppt
Oose unit 4 pptOose unit 4 ppt
Oose unit 4 ppt
 
Chapter1
Chapter1Chapter1
Chapter1
 
OOSE Unit 4 PPT.ppt
OOSE Unit 4 PPT.pptOOSE Unit 4 PPT.ppt
OOSE Unit 4 PPT.ppt
 
SADP PPTs of all modules - Shanthi D.L.pdf
SADP PPTs of all modules - Shanthi D.L.pdfSADP PPTs of all modules - Shanthi D.L.pdf
SADP PPTs of all modules - Shanthi D.L.pdf
 
SMD.pptx
SMD.pptxSMD.pptx
SMD.pptx
 
Assignment 1 SYD601 2012 rick_danby completed with audio
Assignment 1 SYD601 2012 rick_danby completed with audioAssignment 1 SYD601 2012 rick_danby completed with audio
Assignment 1 SYD601 2012 rick_danby completed with audio
 
Object Oriented Analysis and Design Unit-1
Object Oriented Analysis and Design Unit-1Object Oriented Analysis and Design Unit-1
Object Oriented Analysis and Design Unit-1
 
Unit 2
Unit 2Unit 2
Unit 2
 
SMD Unit i
SMD Unit iSMD Unit i
SMD Unit i
 
OOSD_UNIT1 (1).pptx
OOSD_UNIT1 (1).pptxOOSD_UNIT1 (1).pptx
OOSD_UNIT1 (1).pptx
 
CS8592 Object Oriented Analysis & Design - UNIT I
CS8592 Object Oriented Analysis & Design - UNIT ICS8592 Object Oriented Analysis & Design - UNIT I
CS8592 Object Oriented Analysis & Design - UNIT I
 
Cs8592 ooad unit 1
Cs8592 ooad unit 1Cs8592 ooad unit 1
Cs8592 ooad unit 1
 
Cs8592 ooad unit 1
Cs8592 ooad unit 1Cs8592 ooad unit 1
Cs8592 ooad unit 1
 
Object Oriented Approach for Software Development
Object Oriented Approach for Software DevelopmentObject Oriented Approach for Software Development
Object Oriented Approach for Software Development
 
Unit-1 OOAD Introduction.pptx
Unit-1 OOAD Introduction.pptxUnit-1 OOAD Introduction.pptx
Unit-1 OOAD Introduction.pptx
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptUNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptUNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptUNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
 
Unit-1_Notes(OOAD).pdf
Unit-1_Notes(OOAD).pdfUnit-1_Notes(OOAD).pdf
Unit-1_Notes(OOAD).pdf
 

Más de Gobinath Subramaniam

CCW332-Digital Marketing Unit-5 Notes
CCW332-Digital Marketing Unit-5 NotesCCW332-Digital Marketing Unit-5 Notes
CCW332-Digital Marketing Unit-5 NotesGobinath Subramaniam
 
CCW332-Digital Marketing Unit-4 Notes
CCW332-Digital Marketing Unit-4 NotesCCW332-Digital Marketing Unit-4 Notes
CCW332-Digital Marketing Unit-4 NotesGobinath Subramaniam
 
CCW332-Digital Marketing Unit-3 Notes
CCW332-Digital Marketing Unit-3 NotesCCW332-Digital Marketing Unit-3 Notes
CCW332-Digital Marketing Unit-3 NotesGobinath Subramaniam
 
CCCW332-Digital Marketing Unit-2 Notes
CCCW332-Digital Marketing Unit-2 NotesCCCW332-Digital Marketing Unit-2 Notes
CCCW332-Digital Marketing Unit-2 NotesGobinath Subramaniam
 
CCW332-Digital Marketing Unit-1 Notes
CCW332-Digital Marketing Unit-1 NotesCCW332-Digital Marketing Unit-1 Notes
CCW332-Digital Marketing Unit-1 NotesGobinath Subramaniam
 
CS878 Green Computing Anna University Question Paper
CS878 Green Computing Anna University Question Paper CS878 Green Computing Anna University Question Paper
CS878 Green Computing Anna University Question Paper Gobinath Subramaniam
 
OBM752 Hospital Management Question Bank
OBM752 Hospital Management Question BankOBM752 Hospital Management Question Bank
OBM752 Hospital Management Question BankGobinath Subramaniam
 
CS8078-Green Computing Question Bank
CS8078-Green Computing Question BankCS8078-Green Computing Question Bank
CS8078-Green Computing Question BankGobinath Subramaniam
 
CS8078-Green Computing Notes Unit-3
CS8078-Green Computing Notes Unit-3CS8078-Green Computing Notes Unit-3
CS8078-Green Computing Notes Unit-3Gobinath Subramaniam
 
CS8078-Green Computing Notes Unit-2
CS8078-Green Computing Notes Unit-2CS8078-Green Computing Notes Unit-2
CS8078-Green Computing Notes Unit-2Gobinath Subramaniam
 

Más de Gobinath Subramaniam (20)

CCW332-Digital Marketing Unit-5 Notes
CCW332-Digital Marketing Unit-5 NotesCCW332-Digital Marketing Unit-5 Notes
CCW332-Digital Marketing Unit-5 Notes
 
CCW332-Digital Marketing Unit-4 Notes
CCW332-Digital Marketing Unit-4 NotesCCW332-Digital Marketing Unit-4 Notes
CCW332-Digital Marketing Unit-4 Notes
 
CCW332-Digital Marketing Unit-3 Notes
CCW332-Digital Marketing Unit-3 NotesCCW332-Digital Marketing Unit-3 Notes
CCW332-Digital Marketing Unit-3 Notes
 
CCCW332-Digital Marketing Unit-2 Notes
CCCW332-Digital Marketing Unit-2 NotesCCCW332-Digital Marketing Unit-2 Notes
CCCW332-Digital Marketing Unit-2 Notes
 
CCW332-Digital Marketing Unit-1 Notes
CCW332-Digital Marketing Unit-1 NotesCCW332-Digital Marketing Unit-1 Notes
CCW332-Digital Marketing Unit-1 Notes
 
CCW332-DIGITAL MARKETING.pdf
CCW332-DIGITAL MARKETING.pdfCCW332-DIGITAL MARKETING.pdf
CCW332-DIGITAL MARKETING.pdf
 
CS878 Green Computing Anna University Question Paper
CS878 Green Computing Anna University Question Paper CS878 Green Computing Anna University Question Paper
CS878 Green Computing Anna University Question Paper
 
OBM752 Hospital Management Question Bank
OBM752 Hospital Management Question BankOBM752 Hospital Management Question Bank
OBM752 Hospital Management Question Bank
 
CS8078-Green Computing Question Bank
CS8078-Green Computing Question BankCS8078-Green Computing Question Bank
CS8078-Green Computing Question Bank
 
CS8078-Green Computing Notes Unit-3
CS8078-Green Computing Notes Unit-3CS8078-Green Computing Notes Unit-3
CS8078-Green Computing Notes Unit-3
 
CS8078-Green Computing Notes Unit-2
CS8078-Green Computing Notes Unit-2CS8078-Green Computing Notes Unit-2
CS8078-Green Computing Notes Unit-2
 
CS8078-Green Computing Unit-1
CS8078-Green Computing Unit-1CS8078-Green Computing Unit-1
CS8078-Green Computing Unit-1
 
CS8592-OOAD Question Bank
CS8592-OOAD  Question BankCS8592-OOAD  Question Bank
CS8592-OOAD Question Bank
 
CS8592-OOAD Lecture Notes Unit-5
CS8592-OOAD Lecture Notes Unit-5 CS8592-OOAD Lecture Notes Unit-5
CS8592-OOAD Lecture Notes Unit-5
 
CS8592-OOAD Lecture Notes Unit-4
CS8592-OOAD Lecture Notes Unit-4CS8592-OOAD Lecture Notes Unit-4
CS8592-OOAD Lecture Notes Unit-4
 
CS8592-OOAD Lecture Notes Unit-3
CS8592-OOAD Lecture Notes Unit-3CS8592-OOAD Lecture Notes Unit-3
CS8592-OOAD Lecture Notes Unit-3
 
CS8592-OOAD Lecture Notes Unit-2
CS8592-OOAD Lecture Notes Unit-2CS8592-OOAD Lecture Notes Unit-2
CS8592-OOAD Lecture Notes Unit-2
 
CS8592-OOAD Lecture Notes Unit-1
CS8592-OOAD Lecture Notes Unit-1CS8592-OOAD Lecture Notes Unit-1
CS8592-OOAD Lecture Notes Unit-1
 
OBM752 Hospital Management Unit-5
OBM752 Hospital Management Unit-5OBM752 Hospital Management Unit-5
OBM752 Hospital Management Unit-5
 
OBM752-Hospital Management Unit:4
OBM752-Hospital Management Unit:4OBM752-Hospital Management Unit:4
OBM752-Hospital Management Unit:4
 

Último

BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
General AI for Medical Educators April 2024
General AI for Medical Educators April 2024General AI for Medical Educators April 2024
General AI for Medical Educators April 2024Janet Corral
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Disha Kariya
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...Sapna Thakur
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...PsychoTech Services
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDThiyagu K
 

Último (20)

BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
General AI for Medical Educators April 2024
General AI for Medical Educators April 2024General AI for Medical Educators April 2024
General AI for Medical Educators April 2024
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 

CS6502 OOAD - Question Bank and Answer

  • 1. BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 1 of 28 CS6502 OBJECT ORIENTED ANALYSIS AND DESIGN (V- Semester) QUESTION BANK Syllabus OBJECTIVES: The student should be made to: • Learn the basics of OO analysis and design skills. • Learn the UML design diagrams. • Learn to map design to code. • Be exposed to the various testing techniques. UNIT I - UML DIAGRAMS - 9 Introduction to OOAD - Unified Process - UML diagrams - UseCase - Class Diagrams - InteractionDiagrams - State Diagrams - Activity Diagrams - Package Diagrams - component and Deployment Diagrams. UNIT II - DESIGN PATTERNS - 9 GRASP: Designing objects with responsibilities - Creator - Information expert - Low Coupling - High Cohesion - Controller - Design Patterns - creational - factory method - structural - Bridge - Adapter - behavioral - Strategy - observer. UNIT III - CASE STUDY - 9 Case study - the Next Gen POS system, Inception - Use case Modeling - Relating Use cases -include, extend and generalization - Elaboration - Domain Models - Finding conceptual classes and description classes - Associations - Attributes - Domain model refinement - Finding conceptual class Hierarchies - Aggregation and Composition. UNIT IV - APPLYING DESIGN PATTERNS - 9 System sequence diagrams - Relationship between sequence diagrams and use cases Logical architecture and UML package diagram - Logical architecture refinement - UML class diagrams - UML interaction diagrams - Applying GoF design patterns. UNIT V - CODING AND TESTING - 9 Mapping design to code - Testing: Issues in OO Testing - Class Testing - OO Integration Testing - GUI Testing - OO System Testing. TOTAL: 45 PERIODS OUTCOMES: • At the end of the course, the student should be able to: • Design and implement projects using OO concepts. • Use the UML analysis and design diagrams. • Apply appropriate design patterns. • Create code from design. • Compare and contrast various testing techniques. TEXT BOOK: 1. Craig Larman, "Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development”, Third Edition, Pearson Education, 2005. REFERENCES: 1. Simon Bennett, Steve Mc Robb and Ray Farmer, “Object Oriented Systems Analysis and Design Using UML”, Fourth Edition, Mc-Graw Hill Education, 2010. 2. Erich Gamma, a n d Richard Helm, Ralph Johnson, John Vlissides, “Design patterns: Elements of Reusable Object-Oriented Software”, Addison-Wesley, 1995. 3. Martin Fowler, “UML Distilled: A Brief Guide to the Standard Object Modeling Language”, Third edition, Addison Wesley, 2003. 4. Paul C. Jorgensen, “Software Testing:- A Craftsman’s Approach”, Third Edition, AuerbachPublications, Taylor and Francis Group, 2008.
  • 2. BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 2 of 28 UNIT I - UML DIAGRAMS PART – A (2 MARKS) 1. Define Use Case and Actor. Use Case - a use case is a collection of related success and failure scenarios that describe an actor using a system to support a goal. Actor – actor is something with behavior, such as a person (identified by role), computer system, or organization. Eg: a cashier. 2. What is Activity Diagram? Mention the elements of an Activity Diagram. A UML activity diagram offers rich notation to show a sequence of activities, including parallel activities. It may be applied to any perspective or purpose, but is popular for visualizing business processes, workflows, data flows, complex algorithms and use cases. Elements of an Activity Diagram • Initial Node - The initial node represents the starting point of the activity diagram. • Activity Final Node - The activity final node represents the termination point of the activity. • Action Node - An action node is a type of activity node that represents a single action or behavior of the activity being modeled. • Activity Edge - An activity edge creates a directed connection between two activity nodes. It represents the path that a token can take between two activity nodes. • Decision - A decision has one flow entering and several exiting. The exiting flows each have a condition that must be met in order to traverse the flow. • Merge - A merge has several flows entering and one exiting. The merge denotes that multiple parallel flows are merging at a single point. Only one flow must reach the merge point in order to continue to traverse the flow to the next activity. • Fork - A fork has one flow entering and several exiting. A fork denotes that several processes are occurring in parallel. • Join - A join has several flows entering it and one exiting it. A join denotes that multiple parallel flows are merging at a single point. All flows going into the join must be completed before the next activity can start. 3. Define an object. Identify the probable attributes that will be modelled in a Library database for the object BOOK. An object is a real-world element in an object oriented environment that may have a physical or a conceptual existence. It is a software bundle of variables and related methods.
  • 3. BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 3 of 28 Attributes for the object BOOK: Book ID, Book Title, Author, Publisher, Edition and Year of Publication. 4. Outline the purpose of using use cases to describe requirements. • Used to gather requirements of a system. • To identify external and internal factors influencing the system. • To get an outside view of a system. • Show the interaction among the requirements through actors. 5. What is Object-Oriented Analysis and Design? (or) What is analysis and design? Object-oriented analysis and design (OOAD) is a popular technical approach for analyzing and designing an application, system, or business by applying object-oriented programming, as well as using visual modeling throughout the development life cycles to foster better stakeholder communication and product quality. 6. What is UML? Unified Modeling Language (UML) is a graphical language for OOAD that gives a standard way to write a software system’s blueprint. It helps to visualize, specify, construct, and document the artifacts of an object-oriented system. It is used to depict the structures and the relationships in a complex system. 7. Distinguish between Method and Message in object. Message Method Each (typical synchronous) message between objects is represented with a message expression on a filled-arrowed solid line between the vertical lifelines. The time ordering is organized from top to bottom of lifelines. A method is the implementation of an operation. It specifies the algorithm or procedure associated with an operation. There are two ways to show the return result from a message 1. Using the message syntax returnVar = message(parameter) 2. Using a reply (or return) message line at the end of an activation bar. A set of operations that portray the behaviour of the objects of the class. Operations are also referred as functions or methods.
  • 4. BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 4 of 28 8. What are the three perspectives to apply UML? 1. Conceptual perspective - the diagrams are interpreted as describing things in a situation of the real world or domain of interest. 2. Specification (software) perspective - the diagrams (using the same notation as in the conceptual perspective) describe software abstractions or components with specifications and interfaces, but no commitment to a particular implementation (for example, not specifically a class in C# or Java). 3. Implementation (software) perspective - the diagrams describe software implementations in a particular technology (such as Java). 9. Define design class diagrams. A static view of the class definitions is usefully shown with a design class diagram. This illustrates the attributes and methods of the classes. This design class diagram is not the same as the domain model, some class names and content are similar. 10. What tests can help to find useful Use Cases? • The Boss Test • The EBP (Elementary Business Process) Test • The Size Test 11. What is the need for modeling? The purpose of modeling is to discover, understand, and share that understanding. • Modelling help us to visualize a system or larger and more complex the system. • Modelling permit us to specify the structure or behavior of a system. • Modelling gives us a template that guides us in constructing a system. 12. List out any four reasons for complexity of software. 1) Greater predictability 2) Software Risk Mitigation 3) Reduced Costs 4) Extended Value 5) Decision Support 13. Why do we need object oriented system development? Object-oriented design is an approach to systems development that proposes the use of system objects to build new systems and rebuild old ones.
  • 5. BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 5 of 28 An important goal of object-oriented system development is to change the nature of traditional software development from designing and writing models from scratch to building systems through the assembly of reusable software objects. 14. List out the various phases of Unified Process. • Inception • Elaboration (Milestone) • Construction (Release) • Transition (Final production release) 15. What are the primary goals in the design of UML? • Provide users with a ready-to-use, expressive visual modeling language so they can develop and exchange meaningful models. • Provide extensibility and specialization mechanisms to extend the core concepts. • Be independent of particular programming languages and development processes. • Provide a formal basis for understanding the modeling language. • Encourage the growth of the OO tools market. • Support higher-level development concepts such as collaborations, frameworks, patterns and components. • Integrate best practices. 16. What is Guard condition? Guard conditions are Boolean expressions evaluated dynamically based on the value of extended state variables and event parameters. Guard conditions affect the behavior of a state machine by enabling actions or transitions only when they evaluate to TRUE and disabling them when they evaluate to FALSE. In the UML notation, guard conditions are shown in square brackets (e.g., [valid subscriber] 17. Define Visibility. Visibility is the ability of an object to "see" or have a reference to another object. UML has the following types of visibility: • Public (+) • Package (~) • Protected (#) • Private (-)
  • 6. BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 6 of 28 18. What is the use of Rake symbol in UML Activity diagram? 19. What is the basic element of a deployment diagram? Give its types. The basic element of a deployment diagram is a node. Types: • Device node • Execution Environment Node (EEN) 20. Define Component. A component represents a modular part of a system that encapsulates its contents and whose manifestation is replaceable within its environment. A component defines its behaviour in terms of provided and required interfaces. PART – B (13/15 MARKS) 1. Consider an elevator that has the basic functions such as moving up and down open and close doors and pick up passengers. The elevator is supposed to be used in a building having floors numbered from 1 to n. There are call buttons in the elevator corresponding to each floor. For every floor except floors 1 and n, there are two floor call buttons for the passengers to call elevator for going up and down. There is only one down call button at floor n and one up call button in floor 1. Then the car stops at a floor, the doors are opened and the elevator light indicating the current direction the elevator is going is illuminated so that the passengers can get to know the current moving direction of the elevator. When the elevator is moving a music, audio is played inside the elevator.
  • 7. BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 7 of 28 Draw class diagram, activity diagram and component diagram for designing this system. (OR) List various UML diagrams and explain the purpose of each diagram with an example problem. (OR) Write a problem statement for Library Management System. Draw the UML Use Case, Activity Diagram, Class Diagram, Sequence Diagram, State Chart Diagram, Package Diagram, Component and Deployment Diagram. (OR) Discuss about UML Deployment and Component Diagrams. Draw the diagrams for a banking application. (OR) i) Model a use case diagram for the following scenario: (8) Deepthi super market wants a subsystem to process supply orders via the Web. The user will supply via a form their name, password, account number and a list of supplies along with an indication of the quantities desired. The subsystem will validate the input, enter the order into a database and generate a receipt with the order number, expected ship date and the total cost of the order. If the validation step fails, the subsystem will generate an error message describing the cause of the failure. ii) "A component represents a modular, deployable and replaceable part of a system that encapsulates implementation and exposes a set of interfaces”. Elucidate with an example. (7) (OR) i) Draw and discuss an analysis model for Banking system. (8) ii) Explain the software development life cycle of object oriented approach. (7) 2. Explain in detail about the interaction diagrams and also notations. 3. Explain in detail about Unified Process in Object Oriented Analysis and Design. Explain the phases with neat diagrams. (OR) i) Present an outline of object-oriented analysis and object-oriented design. (7) ii) Why the Unified process has emerged as a popular and effective software development process? (6) (OR) Explain about Unified process phases. 4. Explain about activity diagram with an example. (OR) When to use activity diagram? Describe the situation with an example. (OR) What is UML Activity Diagram? Using an example explain the features of basic UML activity diagram notations. 5. Model a state transition diagram for the following scenario. (13) Here is what happens in a microwave oven: • The oven is initially in an idle state with door open, where the light is turned on. • When the door is closed it is now in idle but the light is turned off. • If a button is pressed, then it moves to initial cooking stage, where the timer is set and lights are on and heating starts.
  • 8. BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 8 of 28 • At any moment the door may be opened, the cooking is interrupted, the timer is cleared and heating stops. • Also, while cooking, another button can be pushed and extended cooking state starts, where the timer gets more minutes. At any moment door can be opened here also. • If the timer times out, then cooking is complete, heating stops, lights are off and it sounds a beep. • When the door is open, again the oven is in idle state with the door open. 6. Explain about Use Case Model for a case study of your choice. 7. Model a class diagram for a "Banking System". State the functional requirements you are considering. --------------******-------------- UNIT II - DESIGN PATTERNS PART – A (2 MARKS) 1. Mention the list of behavioural patterns used during design phase of software development. • Chain of Responsibility • Command • Iterator • Mediator • Memento • Observer • State • Strategy • Visitor 2. List out the types of coupling. Coupling can be "low" (also "loose" and "weak") or "high" (also "tight" and "strong"). • Content coupling • Common coupling • External coupling • Control coupling • Stamp coupling • Data coupling 3. Define Patterns and Design pattern. (OR) What are design patterns? A design pattern is a general reusable and proven solution to a commonly occurring problem in software design. A pattern is a named problem/solution pair that can be applied in new contexts, with advice on how to apply it in novel situations. 4. When to use patterns? (OR) State the use of design pattern. Design Patterns have following usages in software development. • Common platform for developers. • When problems you find again and again in real-world application development • Best Practices. • In a common problem that needs solution.
  • 9. BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 9 of 28 5. Define Modular Design. Modular design, or "modularity in design", is a design approach that subdivides a system into smaller parts called modules or skids, that can be independently created and then used in different systems. A modular system can be characterized by functional partitioning into discrete scalable, reusable modules. 6. Distinguish between coupling and cohesion. (OR) Define cohesion and coupling. Cohesion Coupling Cohesion is the indication of the relationship within module. Coupling is the indication of the relationships between modules. Cohesion shows the module’s relative functional strength. Coupling shows the relative independence among the modules. Cohesion is a degree (quality) to which a component / module focuses on the single thing. Coupling is a degree to which a component / module is connected to the other modules. While designing you should strive for high cohesion i.e. a cohesive component/ module focus on a single task with little interaction with other modules of the system. While designing you should strive for low coupling i.e. dependency between modules should be less. Cohesion is the kind of natural extension of data hiding for example, class having all members visible with a package having default visibility. Making private fields, private methods and non public classes provides loose coupling. Cohesion is Intra – Module Concept. Coupling is Inter -Module Concept. 7. Mention the Interface and Domain Layer responsibility. The UI layer should not have any domain logic responsibilities. It should only be responsible for user interface tasks, such as updating widgets. The UI layer should forward requests for all domain- oriented tasks on to the domain layer, which is responsible for handling them. 8. What is meant by Low Coupling? Coupling is a measure of how strongly one element is connected to, has knowledge of, or relies on other elements. Low coupling is an evaluative pattern that dictates how to assign responsibilities to support • lower dependency between the classes, • change in one class having lower impact on other classes, • higher reuse potential.
  • 10. BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 10 of 28 9. What is GRASP? GRASP - General Responsibility Assignment Software Patterns Describe fundamental principles for assigning responsibilities to classes and for designing interactions between classes. 10. Define Object with an example. An object is a real-world element in an object oriented environment that may have a physical or a conceptual existence. It is a software bundle of variables and related methods. 11. What do you mean by High Cohesion? High cohesion is an evaluative pattern that attempts to keep objects appropriately focused, manageable and understandable. High cohesion is generally used in support of low coupling. High cohesion means that the responsibilities of a given element are strongly related and highly focused. Breaking programs into classes and subsystems is an example of activities that increase the cohesive properties of a system. 12. ‘A system must be loosely coupled and highly cohesive’. Justify, A system must be loosely coupled and highly cohesive, because highly cohesive means the class does one job well. Low cohesion indicates that there are elements in the class which have little to do with each other. Modules whose elements are strongly and genuinely related to each other are desired. Each method should also be highly cohesive 13. Define Factory method. • Factory Method is to creating objects as Template Method is to implementing an algorithm. • Factory Method makes a design more customizable and only a little more complicated. • Factory Methods are routinely specified by an architectural framework, and then implemented by the user of the framework.
  • 11. BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 11 of 28 14. How to select a design pattern? • Consider how design patterns solve design problems • Scan intent sections • Study how patterns interrelate • Study patterns of like purpose • Examine a cause of redesign • Consider what should be variable in your design 15. What is a Use Case Realization? A use-case realization describes how a particular use case is realized within the Design Model, in terms of collaborating objects. More precisely, a designer can describe the design of one or more scenarios of a use case; each of these is called a use case realization. Use case realization is a UP term used to remind us of the connection between the requirements expressed as use cases and the object design that satisfies the requirements. 16. Differentiate Adaptor and Bridge. Adaptor Bridge Adapter is about creating an intermediary abstraction that translates, or maps, the old component to the new system. The bridge pattern is a design pattern used in software engineering which is meant to "decouple an abstraction from its implementation so that the two can vary independently". Translator adapts a server interface for a client. Abstraction for binding one of many implementations. Adapters use interfaces and polymorphism to add a level of indirections to varying APIs in other components. The bridge uses encapsulation, aggregation, and can use inheritance to separate responsibilities into different classes. The bridge pattern is often implemented using the class adapter pattern.
  • 12. BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 12 of 28 17. Define Push model and Pull Model. Push model - The subjects send detailed information about the change to the observer whether it uses it or not. Because the subject needs to send the detailed information to the observer this might be inefficient when a large amount of data needs to be sent and it is not used. Pull model - The subject just notifies the observers when a change in his state appears and it's the responsibility of each observer to pull the required data from the subject. This can be inefficient because the communication is done in 2 steps and problems might appear in multithreading environments. 18. Define Wrapper Class. A wrapper class wraps (encloses) around a data type and gives it an object appearance. 19. Why are strategy patterns used? A good use of the Strategy pattern would be saving files in different formats, running various sorting algorithms, or file compression. The Strategy pattern provides a way to define a family of algorithms, encapsulate each one as an object, and make them interchangeable. 20. How design patterns are classified? • Creational Pattern • Structural Pattern • Behavioral Pattern • Controller Pattern • Concurrency Pattern PART – B (13/15 MARKS) 1. What is GRASP? Explain the following GRASP patterns: Creator, Information Expert, and Low Coupling, and High Cohesion. (OR) What is GRASP? Explain the design patterns and the principles used in it. (OR) Explain in detail about the GRASP pattern and also explain in designing objects with responsibilities. 2. Compare cohesion and coupling with suitable example.
  • 13. BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 13 of 28 State the role and patterns while developing system design. 3. i) Write short notes on: adaptor pattern and observer pattern. (7) ii) Compare between different categories of design patterns. (6) (OR) Differentiate Bridge and Adapter. How will you design the behavioral pattern? (OR) What is Design pattern? Explain GOF design Patterns. (OR) Write a short note on Adapter, Bridge, Factory Method, Strategy and Observer patterns. (OR) Explain with an example the factory method design pattern. (OR) Explain in detail about the Factory Pattern and mention the Limitations and applications of Factory pattern. 4. Designing the Use Case realizations with GOF design patterns. 5. What GRASP? Explain the following GRASP patterns: Creator, Information Expert, Low Coupling, High Cohesion, Controller. (or) Explain creator and controller design pattern with examples. (or) Explain the design principle in object modeling. Explain in detail the GRASP method for designing objects with examples. --------------******-------------- UNIT III - CASE STUDY PART – A (2 MARKS) 1. List out the components of a POS system. • Computer • Bar code scanner • Software • Cash Drawer • Receipt Printers • Magnetic Stripe Readers and PIN Pads 2. When to create a subclass of a superclass? A subclass of a superclass can be created, when • The subclass has additional attributes of interest. • The subclass has additional associations of interest. • The subclass concept is operated on, handled, reacted to, or manipulated differently than the superclass or other subclasses, in ways that are of interest. • The subclass concept represents an animate thing (for example, animal, robot) that behaves differently than the superclass or other subclasses, in ways that are of interest. 3. What is the relationship of a conceptual super class to a subclass? Generalization is the activity of identifying commonality among concepts and defining superclass (general concept) and subclass (specialized concept) relationships.
  • 14. BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 14 of 28 Conceptual subclasses and superclasses are related in terms of set membership (Generalization). All members of a conceptual subclass set are members of their superclass set. 4. Define Aggregation and Composition. Aggregation Composition • Aggregation is a special case of association. • A directional association between objects. When an object ‘has-a’ another object, then you have got an aggregation between them. • Direction between them specified which object contains the other object. • Aggregation is also called a “Has-a” relationship. Eg: A car without doors • Composition is a special case of aggregation. • In a more specific manner, a restricted aggregation is called composition. • When an object contains the other object, if the contained object cannot exist without the existence of container object, then it is called composition. Eg: A car without engine 5. What are the tasks performed in elaboration? • Explore concepts from requirements/use cases • Domain models: basic concepts and their inter-relationships • Basic architectural concepts for system • System sequence interactions – system events, UI basics 6. How to create a Domain Model? A domain model is created using a set of class diagrams in which no operations (method signatures) are defined. It provides a conceptual perspective. It may show: • domain objects or conceptual classes • associations between conceptual classes • attributes of conceptual classes 7. Define Conceptual Class. A conceptual class is an idea, thing, or object. It may be considered in terms of its symbol, intension, and extension. • Symbol - words or images representing a conceptual class. • Intension - the definition of a conceptual class. • Extension - the set of examples to which the conceptual class applies. 8. When to define new datatype classes? A new data type class defined in the domain model if,
  • 15. BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 15 of 28 • It is composed of separate sections. phone number, name of person • There are operations associated with it, such as parsing or validation. social security number • It has other attributes. promotional price could have a start (effective) date and end date • It is a quantity with a unit. payment amount has a unit of currency • It is an abstraction of one or more types with some of these qualities. item identifier in the sales domain is a generalization of types such as Universal Product Code (UPC) and European Article Number (EAN) 9. Why call a Domain Model a ‘Visual Dictionary’? To understand the terms and especially their relationships in a visual language, since our brains are good at understanding visual elements and line connections. Therefore, the domain model is a visual dictionary of the noteworthy abstractions, domain vocabulary, and information content of the domain. 10. List the relationships used in class diagram. 11. Define: Use Case Model. Use case model is to find the actors and their goals, and create solutions that produce a result of value. It describes the functional requirements and related non-functional requirements. It is mostly text. 12. Define: Inception. (OR) What is inception? Inception is a short step to elaboration. It determines basic feasibility, risk, and scope, to decide if the project is worth more serious investigation. 13. Give the hint to identify the attributes of class. • Choose a class from the evolving object model and look for the properties associated with it. • Select a property candidate (e.g., from a problem statement or a requirements document) and look for the class that it describes. 14. List the advantages of Use Case Modeling. • Provides tool for capturing functional requirements.
  • 16. BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 16 of 28 • Assist in decomposing system into manageable pieces. • Provides means of communication user/stakeholder concerning system functionality in the language they understand. • Provides aid in estimating project scope, effort and schedule. • Aids in defining test plan and test cases. • Provides tool for requirements traceability. • Provides framework for driving the system development project. 15. When to use Generalization use case relationship. Generalization is used when you find two or more use cases that have commonalities in behavior, structure, and purpose. When this happens, you can describe the shared parts in a new, often abstract, use case, that is then specialized by child use cases. 16. Difference between Include and Extend use case relationships. Include Extend Include relationships insert additional behavior into a base use case Extend puts additional behavior in a use case that does not know about it. They are shown as a dotted line with an open arrow and the key word <<include>> It is shown as a dotted line with an arrow point and labeled <<extend>> Eg: A process in ATM fund deposit and withdraw. Eg: A customer can request a catalog when placing an order. 17. What is Elaboration? What are the tasks performed in elaboration? Elaboration is the initial series of iterations during which the team does serious investigation, implements (programs and tests) the core architecture, clarifies most requirements, and tackles the high-risk issues. 18. What are the three kinds of actors? • Primary actor • Supporting actor • Offstage actor 19. What are Three Common Use Case Formats? • Brief • Casual • Fully dressed
  • 17. BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 17 of 28 20. Distinguish between Qualified Associations and Reflexive Associations. Qualified Associations Reflexive Associations A qualifier may be used in an association; it distinguishes the set of objects at the far end of the association based on the qualifier value. An association with a qualifier is a qualified Association. A concept may have an association to itself; this is known as a reflexive association. PART – B (13/15 MARKS) 1. Write about elaboration and discuss the differences between elaboration and Inception with suitable diagram for university domain. (OR) Write briefly about elaboration and discuss the differences between elaboration and inception with examples. 2. Construct design for library information system which comprises and following notations (i) aggregations (ii) compositions (iii) associations. (OR) Explain association, aggregation and composition relationships in detail. (OR) i) Explain in detail about use case diagrams. (6) ii) Discuss about aggregation and composition. (7) (OR) i) What is multiplicity of an association? Explain with an example the different types of multiplicities. (7) ii)Explain with an example aggregation and composition. (6) 3. What are the guidelines used to partition the class in the domain model to be organized into packages? Explain with suitable examples. (OR) Illustrate the concept the domain model with examples. (OR) i) Define domain model with suitable examples. ii) Explain about the Next Gen POS System. 4. Explain the guidelines for finding conceptual class with neat diagrams. (OR) Discuss in detail about the three strategies to find conceptual classes. (OR) For the hospital management system draw and explain Conceptual Class Diagram (Overall system). (OR) Describe the strategies used to identify conceptual classes. Describe the steps to create domain model used for representing conceptual classes. 5. What is the purpose of a Use Case model? Identify the Actors, Scenarios and Use Case for a Library Management System. (OR)
  • 18. BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 18 of 28 Explain with an example, how use case modeling is used to describe functional requirements. Identify the actors, scenario and use cases for example. 6. i) Explain with an example a concrete use case and an abstract use case. (5) ii) Explain with an example generalization and specialization and write a note on abstract class and abstract operation. (8) --------------******-------------- UNIT IV - APPLYING DESIGN PATTERNS PART – A (2 MARKS) 1. Outline the key reason for modeling a package diagram. • Package diagrams are used to structure high level system elements. • Packages are used for organizing large system which contains diagrams, documents and other key deliverables. • Package Diagram can be used to simplify complex class diagrams, it can group classes into packages. • A package is a collection of logically related UML elements. • Packages are depicted as file folders and can be used on any of the UML diagrams. 2. Name the two types of UML interaction diagrams. i. Sequence Diagram ii. Collaboration Diagram (Communication Diagram) 3. What are the strength and weakness of Sequence and Collaboration Diagram. Diagram Strengths Weaknesses Sequence Diagram Clearly shows sequence or time ordering of messages. Large set of detailed notation options. Forced to extend to the right when adding new objects; consumes horizontal space. Collaboration Diagram (Communication Diagram) Space economical flexibility to add new objects in two dimensions. More difficult to see sequence of messages fewer notation options. 4. What is SSD? A System Sequence Diagram (SSD) is a fast and easily created artifact that illustrates input and output events related to the systems under discussion. They are input to operation contracts and most importantly object design.
  • 19. BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 19 of 28 5. List the relationships used in class diagram. 6. Difference between Logical Architecture and Layers. Logical architecture Layer Logical architecture is the large-scale organization of the software classes into packages (or namespaces), subsystems, and layers. A layer is a very coarse-grained grouping of classes, packages, or subsystems that has cohesive responsibility for a major aspect of the system. There's no decision about how the elements are deployed across different operating system processes or across physical computers in a network. Layers are organized such that "higher" layers (such as the UI layer) call upon services of "lower" layers, but not normally vice versa. 7. What is meant by System Behavior? System behavior is a description of what a system does, without explaining how it does it. One part of that description is a system sequence diagram. 8. Define Classifier. A UML classifier is "a model element that describes behavioral and structure features". Classifiers can also be specialized. They are a generalization of many of the elements of the UML, including classes, interfaces, use cases, and actors. In class diagrams, the two most common classifiers are regular classes and interfaces. 9. What is qualified association? A qualified association has a qualifier that is used to select an object (or objects) from a larger set of related objects, based upon the qualifier key. In a software perspective, it suggests looking things up by a key, such as objects in a HashMap. 10. Why UML as blueprint? UML as blueprint because it applies to both code and diagram generation. Relatively detailed diagrams guide some code generation (e.g., Java) with a tool. And diagrams are generated from the code to visualize the code base. After generating code, many fine details are usually filled in by developers while programming
  • 20. BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 20 of 28 11. How to Name System Events and Operations? System events (and their associated system operations) should be expressed at the abstract level of intent rather than in terms of the physical input device or interface widget level. It also improves clarity to start the name of a system event with a verb (add..., enter…, end…, make…). 12. Define System Events and the System Boundary. A system event is a type of action that results from system activity and contains system data. System events can include resource state changes or unusual system states or actions performed by an object. System boundaries are established to define what is inside and what is outside the system. • They show other systems that are used or depend on the system being developed. 13. When to use Package Diagrams and Collaboration diagram? Package Diagrams • It is used in large scale systems to picture dependencies between major elements in the system. • Package diagrams represent a compile time grouping mechanism. Collaboration diagram • Collaboration diagrams are used to show how objects interact to perform the behavior of a particular use case, or a part of a use case. • Along with sequence diagrams, collaborations are used by designers to define and clarify the roles of the objects that perform a particular flow of events of a use case. System events
  • 21. BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 21 of 28 • They are the primary source of information used to determining class responsibilities and interfaces. 14. Draw the sequence diagram for ATM system. 15. How to create an Instance? Any message can be used to create an instance, but the convention in the UML is to use a message named create for this purpose (some use new). The create message may include parameters, indicating the passing of initial values.
  • 22. BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 22 of 28 16. How a sequence diagram is related to a use case? Sequence Diagram (SSD) shows system events for one scenario of a use case, therefore it is generated from inspection of a use case. 17. What do you mean by sequence number in UML? Where and for what it is used? Sequence Number is a number that represents the message sequence in sequence diagram. It is used to show the sequential order of messages in the current thread of control or overall interaction of a sequence diagram. 18. Differentiate Synchronous message and Asynchronous Message. Synchronous message Asynchronous Message A synchronous message call must wait until the message is done, such as invoking a subroutine. An asynchronous message call does not wait for a response; it doesn't block. Synchronous messaging is a two-way communication. It is one-way communication, they are used in multi-threaded environments such as .NET and Java. UML notation for synchronous (blocking) calls are shown with a filled arrow. UML notation for asynchronous calls is a stick arrow message. 19. What's the Relationship Between the Domain Layer and Domain Model? There's a relationship between the domain model and the domain layer, the domain model (which is a visualization of noteworthy domain concepts) for inspiration for the names of classes in the domain layer. The domain layer is part of the software and the domain model is part of the conceptual perspective analysis they aren't the same thing. But by creating a domain layer with inspiration from the domain model, we achieve a lower representational gap, between the real-world domain, and our software design.
  • 23. BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 23 of 28 20. Define the term package vs subsystem. Package Subsystem A package is a grouping of model elements and provides a namespace for the grouped elements. A grouping of model elements that represents a behavioral unit in a physical system. A package can contain model elements of other packages to create hierarchies. Subsystems are used for system decomposition. A subsystem has a specification and a realization to represent the two views PART – B (13/15 MARKS) 1. Draw a neat sketch of the logical layered architecture of Next-Gen application and explain the components in detail. 2. Explain details about various static and dynamic UML important diagram with suitable example. (OR) Explain the UML Class and Interaction Diagrams for Library Management System. 3. How to Add New SSDs and Contracts to the design diagram? What are the concepts involved in domain refinement? 4. Explain about Interaction Diagram Notation for inventory management system. (OR) Explain with an example UML Interaction diagram. (OR) What do you mean by Interaction diagram? Explain them with suitable example. (OR) Compare Sequence versus Collaboration diagram with suitable example. (OR) Explain how Interaction diagram used to model the dynamic aspects of the system. (OR) What are interactive diagrams? Explain the components involved in interactive diagram. (OR) Consider the following use cases that play a role in a banking system: i) Deposit ii) Withdraw (Minimum balance has to be checked) Model Sequence diagram for the above two use cases. 5. Describe UML notation for Class diagram with an example. Explain the concept of link, association and inheritance. 6. What is Model view separation Principle? Explain the motivation for model-view separation. (OR) State Model view separation Principle and explain its motivations. 7. What are System Sequence Diagrams? What is the relationship between SSDs and Use cases? Explain with an example. (OR) Illustrate with an example, the relationship between sequence diagram and use cases.
  • 24. BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 24 of 28 --------------******-------------- UNIT V - CODING AND TESTING PART – A (2 MARKS) 1. How to use the creating methods from Interaction diagrams? The sequence of the messages in an interaction diagram translates to a series of statements in the method definitions. Each sequenced message within a method is mapped to a statement in the Java method. 2. What is unit testing? Unit Testing is a level of software testing where individual units/ components of a software are tested. The purpose is to validate that each unit of the software performs as designed. A unit is the smallest testable part of any software. Test each operation as part of a class hierarchy because its class hierarchy defines its context of use 3. Define a test case. Give example. A test case has an identity and is associated with a program behavior. It also has a set of inputs and expected outputs. A complete test case will contain a test case identifier, a brief statement of purpose (e.g., a business rule), a description of preconditions, the actual test case inputs, the expected outputs, a description of expected postconditions, and an execution history. 4. What are the steps for mapping Designs to Code? (OR) Mention the steps involved in mapping Designs to Code. Write source code for: • Class and interface definitions • Method definitions Work from OOA/D artifacts • Create class definitions for Domain Class Diagrams (DCDs) • Create methods from Interaction diagrams 5. List out the issues in OO Testing. • Implications of Composition and Encapsulation • Implications of Inheritance
  • 25. BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 25 of 28 • Implications of Polymorphism 6. Distinguish between OO Integration Testing and OO System Testing. (OR) Explain about OO Integration Testing. OO Integration Testing OO System Testing Object-oriented software, collaboration and sequence diagrams are the basis for integration testing. Once this level is defined, integration- level details are added. System testing is (or should be) independent of system implementation. A system tester does not really need to know if the implementation is in procedural or object-oriented code. A collaboration diagram supports both the pairwise and neighbourhood approaches to integration testing. The primitives of system testing are port input and output events. At the system level, a UML description is composed of various levels of use cases, a use case diagram, class definitions, and class diagrams. 7. What is refactoring? (OR) What is refactoring and testing? Refactoring is a structured, disciplined method to rewrite or restructure existing code without changing its external behavior, applying small transformation steps combined with re-executing tests each step. 8. What is Regression Testing? Regression testing a black box testing technique that consists of re-executing those tests that are impacted by the code changes. These tests should be executed as often as possible throughout the software development life cycle. 9. Define GUI testing? GUI testing is the process of ensuring proper functionality of the graphical user interface for a given application and making sure it confirms to its written specification. It involves carrying set of tasks and comparing the results of same with the expected output and ability to repeat same set of tasks multiple times with different data input and same level accuracy. 10. What is Stress testing? Stress testing a Non-Functional testing technique that is performed as part of performance testing. During stress testing, the system is monitored after subjecting the system to overload to ensure that the system can sustain the stress. 11. What are the various levels of Testing? • Unit Testing • Integration Testing • System Testing • Acceptance Testing
  • 26. BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 26 of 28 12. What is TDD? Write the advantages of TDD? Test-driven development (TDD) is the extreme case of agility. It is driven by a sequence of user stories. A user story can be decomposed into several tasks, and this is where the big difference occurs. Before any code is written for a task, the developer decides how it will be tested. The tests become the specification. 13. Define Flattened class. A flattened class is an original class expanded to include all the attributes and operations it inherits. Flattened classes are mildly analogous to the fully flattened data flow diagrams of Structured Analysis. 14. How UML supports Integration Testing? In UML-defined, object-oriented software, collaboration and sequence diagrams are the basis for integration testing. Once this level is defined, integration-level details are added. A collaboration diagram shows (some of) the message traffic among classes. As such, a collaboration diagram supports both the pairwise and neighbourhood approaches to integration testing. 15. What do you mean by MM-paths? An object-oriented MM-path (Method/Message Path) is a sequence of method executions linked by messages. It starts with a method and ends when it reaches a method that does not issue any messages of its own; this is the point of message quiescence. MM-paths are a hybrid of functional and structural testing. They are functional in the sense that they represent actions with inputs and outputs. 16. What are the activities and goals refactoring? They are simply the activities and goals of good programming: • remove duplicate code • improve clarity • make long methods shorter • remove the use of hard-coded literal constants • and more. 17. What is test harness? Test harness or automated test framework is a collection of software and test data configured to test a program unit by running it under varying conditions and monitoring its behavior and outputs. It has two main parts: the test execution engine and the test script repository. 18. What do you mean by program graphs? Program graph is a directed graph in which nodes are either entire statements or fragments of a statement, and edges represent flow of control.
  • 27. BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 27 of 28 19. Define Code Smell. Code smells is a metaphor in refactoring they are hints that something may be wrong in the code. The name code smell was chosen to suggest that when we look into the smelly code, it might turn out to be alright and not need improvement. Some code smells include: • duplicated code • big method • class with many instance variables • class with lots of code • strikingly similar subclasses • little or no use of interfaces in the design 20. Define OO Testing. Testing is a continuous activity during software development. In object-oriented systems, testing encompasses three levels, namely, unit testing, subsystem testing, and system testing. There is a minimum set of inputs and object states that must be tested. PART – B (13/15 MARKS) 1. Discuss briefly about issues in OO Testing. (OR) Explain the issues involved in OO Testing. 2. Elucidate the operation of Mapping Designs to Code. (OR) Explain in detail the design artifacts to implementation code in Object Oriented Language. (OR) Explain in detail about the Mapping of Deign to Code implementation in an Object-Oriented Language. (OR) Explain about implementation model (Mapping Designs to Code). (OR) Explain how the designs are translated to code. 3. What is OO testing? Explain in detail about the Concepts of OO testing in OOAD. (OR) i) Explain in detail about GUI testing. (6) ii) Comparison between OO integration testing and OO system testing. (7) (OR) i) How is class testing different from conventional testing? Explain with an example. (7) ii) Write a note on system testing. (6) (OR) What is Integration Testing? Discuss in detail about its impact in OO testing. (OR) What is integration testing? Explain the same with respect to object oriented systems. 4. Discuss the various types of testing strategies in object oriented environment. (OR) Explain in detail about the different types of testing in OOAD. (OR) Discuss in detail about OO Integration Testing and OO System Testing. (OR) Write a short note on integration testing and class testing. (OR) Explain how System Testing is performed for Currency conversion program.
  • 28. BUILDERS/CSE/CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN -Question Bank Page 28 of 28 5. Draw Interaction diagram for ATM system and define the methods in Java. 6. What is MM-Path? Describe MM path for OO calendar. Write short notes on: i. EUC ii. EEUC iii. HLUC iv. Statechart based system testing --------------******--------------