3 CS ‘A’
UNIT –I
SECTION-A(2 MARKS)
1. Define polymorphism. APRIL 2012, APRIL 2015, JULY 2014
Polymorphism is the ability for a message or data to be processed in more than one form.
2. List the steps of micro development process. APRIL 2012
The micro development process consists of the following steps:
i. Identify classes and objects.
ii. Identify classes and object semantics
iii. Identify classes and object relationships
iv. Identify class and object interface and implementation.
3. Define : OO Analysis and Design. APRIL 2014
Object oriented analysis concerns about determining the system requirements and
identifying classes and their relationship to other objects in a given application. The
object oriented design deals with the design of classes identified during the analysis
phases and the user interface.
4. Define : UML. APRIL 2014
UML is a language for specifying, constructing visualizing, documenting the
software system and its components.
5. Define : Patterns template. APRIL 2014, NOVEMBER 2013, NOVEMBER 2012,
NOVEMBER 2015
There are different pattern templates are available which will represent a pattern. It is
generally agreed that a pattern should contain certain following components.
Name : A meaningful name.
Problem : A statement of the problem that describes its intent.
Context : The preconditions under which the problem and its solution seem to recur and
for which the solution is desirable. This tells us the pattern’s applicability.
Forces : constraints and conflicts with one another with the goals which we wish to
achieve.
Solution : solution makes the pattern come alive.
Examples : sample implementation
Resulting context : describes the post conditions and side effects of the pattern.
Rationale : justifying explanation of steps or rules in the pattern. This tells how the
pattern actually works, why it works and why it is good.
Related patterns. : The static and dynamic relationships between these patterns and
others with in the same pattern language or system.
Known uses: The known occurrences of the pattern and its application within existing
systems.
6. Write the needs of unified approach. APRIL 2014, NOVEMBER 2014
The need for unified approach is to unify the modelling techniques of
booch,Rambaugh and Jacobson.
7. Why an object orientation? APRIL 2015
The reason for object orientation is
i. Higher level of abstraction
ii. Seamless transistion among different phases of software development
iii. Encouragement of good programming techniques.
iv. Promotion of reusability
8. What is the power of prototype? APRIL 2015
 Prototypes helps the designer to visualize and test the design
 It enables to understand how easy or difficult is to implement some of the
features of the system.
9. Define : Multiple inheritance. APRIL 2016
Object oriented system permits a class to inherit its states and behaviour from
more than one superclass. This is called multiple inheritance.
10. What is the goal of OOD? APRIL 2016
The goal of the object oriented design is to design the classes identified during the
analysis phases and the user interface.
11. Define static model. APRIL 2016
A static model can be viewed as a snapshot of a systems parameters at rest or at a
specific point in time. Static models are needed to represent the structural or static
aspect of a system. Static model assume stabile and an absence of change in data
over time. Eg: UML class diagram.
12. What is RAD? NOVEMBER 2014 , NOVEMBER 2013
RAD is a set of tools and techniques that can be used to build application faster
than typically possible with traditional methods
13. Differentiate single and multiple inheritance. NOVEMBER 2015
Object oriented system permits a class to inherit its states and behaviour from
more than one superclass. This is called multiple inheritance. Object oriented
system permits a class to inherit its states and behaviour from only one
superclass. This is called single inheritance.
14. What are meta-classes? NOVEMBER 2015
A class of classes is called meta classes. Meta classes are used by the compiler.
15. What do you meant by object diagram? APRIL 2013
The object diagrams describe the desired behavior of the system in terms of scenarios.
16. List the phases of OMT. NOVEMBER 2013
OMT consist of four phases, which can be performed iteratively,
1) Analysis: The results are objects and dynamic and functional models.
2) System design: The results are the structure of the basic architecture of the system
along with highlevel strategy decision.
3) Object design: this phase produces a design document, consisting of detailed
objects static,dynamic functional models.
4) Implementation : This activity produces reusable ,extensible, and robust code.
17. What is cardinality? NOVEMBER 2012
The number of instances of one class that may relate to a single instance of an
associated class.
18. State the software development methodology. JULY 2012
The software methodology is the series of processesthat , if followed can lead to
development of an application.
19. What is inheritance? JULY 2012
Inheritance is the property of object-oriented systems that allows objects to be built from
other objects. Inheritance is a relationship between classes where one class is the parent
class of another (derived) class.
22.What is software correspondence? (APR 2012)
Correspondence measures how well the delivered system matches the needs of the operational
environment as described in the original requirements statement.
23.Why do we need to model a problem? (APR 2012)
Model benefits are clarity, familiarity, maintenance and simplification.
A Model includes
a) Model Elements – Fundamental modeling concepts and semantics.
b) Notation – Visual rendering of model elements.
c) Guidelines – Expression of usage.
24.Define data abstraction. (Apr 2012)
Describing the functionality of a class independent of its implementation is called data
abstraction.
25.Define Objects.(Nov 2012, Apr 2013,Apr 2015, Nov 2015)
Objects means a combination of data and logic that represents some real-world entity (e.g)
cars name color, doors.
26.What is a model? (Nov 2012, Apr 2015, Nov 2015)
A model is an abstract representation of a system constructed to understand the system
prior to building or modifying it.
27.What is software validation? (Apr 2013, Nov 2013, Apr 2016)
Validation is the task of predicting correspondence. True correspondence can be
determined only after the system is in place.
28. What is polymorphism(Apr 2014,Apr 2016)
Polymorphism means that the same operations may behave differently on different classes.
Booch defines polymorphism as the relationship of objects many different classes by some
common super class.
29.What is System Development? (Apr 2014)
System Development refer to all activities that go into producing an information system
solutions. System development activities consist of system analysis, modeling, design,
implementation, testing and maintenance.
30.Define Behavior. (April 2014)
Behavior denotes the collection of methods that abstract describe when an object is capable
of doing.
31.Define Class Hierarchy. (Nov 2014)
An object-oriented system organizes classes into a subclass super class hierarchy. At the
top are the most general classes and more specific are at the bottom of the class hierarchy.
32.List the types of prototypes. JULY 2012
Prototyping defines the use case and it actually makes use case modeling much easier.
Protyping provides the developer, a means to test and refine the user interface and
increase the usability of the system.
Prototypes have been categorized in various ways.
 Horizontal prototype
 Vertical prototype
 Analysis prototype
 Domain prototype
SECTION-5(2 MARKS)
1. What are the benefits of modeling? Explain. APRIL 2012
• Clarity – Visual representations are mode clear and informative than listed or written
documents. Missed out details can be easily found out.
• Familiarity – Similar modeling language and techniques is followed by developers
working in same domain.
• Maintenance – Changes can be made easily in visual systems and changes can be
confirmed easily.
• Simplification – More complex structures can be represented in an abstract manner to
deliver the conceptual idea.
2. What is Framework? Give any two differences between design patterns and
frameworks. APRIL 2014, APRIL 2013, APRIL 2016
 Frameworks are the way of delivering application development patterns to
support/share best development practice during application development.
 In general framework is a generic solution to a problem that can be applied to all
levels of development.
 Design and Software frameworks and most popular where Design pattern helps on
Design phase and software frameworks help in Component Based Development
phase.
 Framework groups a set of classes which are either concrete or abstract.
 This group can be sub classed in to a particular application and recomposing the
necessary items.
 Differences:
a. Frameworks can be inserted in to a code where a design pattern cannot be
inserted. To include a design pattern the implementation of the design pattern is
used.
b. Design patterns are instructive information; hence they are less in space where
Frameworks are large in size because they contain many design patterns.
c. Frameworks are more particular about the application domain where design
patterns are less specified about the application domain.
3. Explain encapsulation and information hiding. APRIL 2015
 Encapsulation refers to the wrapping up of data and operations or functions into a
single unit.
 Encapsulation is achieved through information hiding.
 Information hiding is implemented through access levels or modifiers—
private,protected, public.. Private members are accessed only within the class
where as public members can be accessed outside the class.
4.What are the steps involved in software development process? APRIL 2015
It consists of the following steps:
 Analysis
 Design
 Implementation
 Testing
 Maintenance
5.Discuss briefly on : Object relationships and associations. APRIL 2016, APRIL 2013
Binary Association Notation and association role:
It represents the association between two classes represented by a straight line connecting
two classes. Association has got a name written on the line and association role.
Association Role:
It’s related to association. Each class that is a member of an association plays a role in the
association called association role.
 Qualifier
Qualifier is an attribute of an association. It makes the association more clear.
 Multiplicity:
It gives the range of associated classes. It is specified of the form lower bound..Upper
bound or integer. Lower bound must be an integer where upper bound can be an integer or a *.
 OR – Association:
It’s a relation in which a class is associated to more than one class and only one
association is instantiated at any instance of time for an object. It is represented by a dashed line
connecting two associations.
 Association Class:
It’s an association that has class properties. The association class is attached to an
association with a dashed line
.
 N – Ary Association:
It’s an association where more classes participate. They are connected by a big diamond and the
name of the association is named near the line.
4. Explain the component bases development.NOVEMBER 2014
Component based development: (CBD)
Component-Based Development is an industrialized approach to the software
development process. The two basic ideas of using Component-Based development.
1. The application development can be improved significantly if applications can be
assembled quickly from prefabricated software components.
2. An increasingly large collection of interpretable software components could be made
available to developers in both general and specified catalogs.
5. Explain the Booch methodology.NOVEMBER 2014 , JULY 2012
Booch provides a technique for creating more informative model.
This approach provides a large set of notations so that a complete model can be built during
the analysis and design phase.
BoochDiagrams are
 Class Diagram
 Object Diagram
 State Transition Diagram
 Module Diagram
 Process Diagram
 Interaction Diagram
(State transition diagram)
The Booch methodology prescribed a macro development and micro development process.
 The Macro Development Process:
The macro process serves as a controlling frame work for the micro process and
can takes weeks (or) even months.
The macro development process consists of the following steps.
 Conceptualization.
 Analysis and Development of the Architecture.
 Design or Create the System Architecture.
 Evolution or Implementation.
o Conceptualization:
Establish the core requirements of the system. Establish a set of goals and develop
a problem to prove the concept.
o Analysis and Development of the Model:
The class diagrams are used to describe the roles and responsibilities of objects to
carry out in performing the desired behavior of the system.
o Design or Create the System Architecture:
The class diagram is used to decide what classes exist and how they relate to each
other. The objects diagrams decide what mechanisms are used in object collaboration
finally use the process diagram to determine to which processor to allocate process.
o Evolution or Implementation:
Produce a stream of software implementation after a successfully refining
the system through many iterations.
o Maintenance:
Make localized changes to the system to add new requirements and eliminate bugs.
 The Micro Development Process:
Each macro development process has its own micro development process. The
micro process is a description of the day to day activities by a single (or) small group of
software developers.
The micro development process consists of the following steps.
 Identify classes and objects.
 Identify class and object semantics.
 Identify class and object relationships.
 Identify class and object interface and implementation.

6. Discuss the design patterns.NOVEMBER 2014
Design pattern is instructive information for that captures the essential structure and
insight of a successful family of proven design solutions to a recurring problem that
arises within a certain context.
Gang of Four (GoF) [Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides]
introduced the concept of design patterns.
Characteristics of Design Patterns:
1. It solves the problem – Design patterns are not just abstract representations of
theoretical research. To be accepted as a pattern it should have some proves practical
experiences.
2. It’s a proven concept – Patterns must have a successful history.
3. It describes a relationship – Patterns do not specify a single class instead it specifies
more than one classes and their relationship.
4. It has a human component - Good patterns make the job of the programmer easy and
time saving.
Contents of Design Pattern:
• Name of the pattern is used to identify the pattern as well as an descriptive of the
problem solution in general. Easy to remember and context related names makes
remembering patterns easy.
• Context of the pattern describes when and where the pattern is applicable. It also
describes the purpose of pattern and also the place where it is not applicable due to some
specific conditions.
• Solution of the design pattern is describes how to build the appropriate design using this
appropriate design.
• Consequences of design patterns describe the impact of choosing a particular design
pattern in a system.
Pattern templates: There are different pattern templates are available which will represent
a pattern. It is generally agreed that a pattern should contain certain following
components.
Name : A meaningful name.
Problem : A statement of the problem that describes its intent.
Context : The preconditions under which the problem and its solution seem to recur and
for which the solution is desirable. This tells us the pattern’s applicability.
Forces : constraints and conflicts with one another with the goals which we wish to
achieve.
Solution : solution makes the pattern come alive.
Examples : sample implementation
Resulting context : describes the post conditions and side effects of the pattern.
Rationale : justifying explanation of steps or rules in the pattern. This tells how the
pattern actually works, why it works and why it is good.
Related patterns. : The static and dynamic relationships between these patterns and others
with in the same pattern language or system.
Known uses: The known occurrences of the pattern and its application within existing
systems.
Generative Patterns: Patterns that suggest the way of finding the solution Non Generative
patterns: They do not suggest instead they give a passive solution.
Non Generative patterns cannot be used in all the situation.
7. Describe UML diagram with example. NOVEMBER 2015
Class diagrams are used in object modeling where real world objects are mapped to
logical objects in computer program. Notations and symbols used in Class diagrams are
 Class Notation
 Object Diagram
 Class Interface Notation
 Binary Association Notation and Association Role
 Qualifier
 Multiplicity
 OR Association
 Association Class
 N – ARY Association
 Aggregation and Composition
 Class Notation:
Classes are represented in a rectangular box. The top box has the name, the middle one
has the attributes/properties/data members and the lower one has the behavior/ member
functions/ methods. A Box with a class name represents the most abstract representation of a
class.
E.g.
 Object Diagram:
Object diagram is an instance of a class diagram.
 Class Interface Notation:
It represents the externally visible behavior of a class. Externally visible behaviors are
public members. The notation is small circle with a line connected to a class.
 Binary Association Notation and association role:
It represents the association between two classes represented by a straight line connecting
two classes. Association has got a name written on the line and association role.
Association Role:
It’s related to association. Each class that is a member of an association plays a role in the
association called association role.
 Qualifier:
Qualifier is an attribute of an association. It makes the association more clear.
 Multiplicity:
It gives the range of associated classes. It is specified of the form lower bound..Upper
bound or integer. Lower bound must be an integer where upper bound can be an integer or a *.
 OR – Association:
It’s a relation in which a class is associated to more than one class and only one
association is instantiated at any instance of time for an object. It is represented by a dashed line
connecting two associations.
 Association Class:
It’s an association that has class properties. The association class is attached to an
association with a dashed line
.
 N – Ary Association:
It’s an association where more classes participate. They are connected by a big diamond
and the name of the association is named near the line.
 Aggregation and Composition:
Aggregation is a ‘part – of’ association. Containment is a type of aggregation with weak
ownership where composition is a part of relationship with strong owner ship.
Containment is represented by a line with hollow diamond arrow at the end where a Composition
is represented by filled diamond at the end.
 Generalization:
It is a relationship between more general and specific classes. It’s represented by a
directed line with a hollow arrow head. Some diagrams specify incomplete number of
subclasses. It can be represented by ellipses.
 Use-case diagram:
A use case is an interaction between users and a system; it captures the goal of users
and responsibility of system to its users. The use – case model describes the uses of
system and shows the courses of events that can be performed.
(Library – system use case model)
Under the microscope:
A use case is a sequence of transactions in a system whose task is to yield results
of measurable value to an individual actor of system.
Now let us take to look at the keywords of this definition
i) Use–Case:
It is special flow of events through the system.
ii) Actors:
An actor is user playing a role with respect to system.
iii) System:
This simply means that the actors communicate with the system’s use case.
iv) Measurable value:
A use case must help the actor to perform a task that has some identifiable value.
v) Transaction:
It is an atomic set of activities that are performed either
fully or not at all.
 State chart diagram
A state chart diagram (also called a state diagram) shows the sequence of states hat an object
goes through during its life in response to outside stimuli and messages. The state is the set of
values that describes an object at a specific point in time and is represented by state symbols
and the transitions are represented by arrows connecting the state symbols. A state chart
diagram may contain sub diagrams.
The purpose of the state diagram is to understand the algorithm involved in performing
a method. To complete an object-oriented design, the activities within the diagram must be
assigned to objects and the control flows assigned to links in the object diagram.
(A simple state idle and a nested state)
Activity diagram
An Activity diagram is a variation or special case of a state machine, in which
the states are representing the performance of operation and the transitions are triggered by the
completion of the operations. The purpose of an activity diagram is to provide a view of flows
and what is going on inside a use case or among several classes.
(Activities diagram)
Actions may be organized into swimlanes which is indicated by vertical solid lines on both side.
Each swimlane represents responsibility for part of the overall activity and may be implemented
by one or more objects.
(Swimlanesin an Activity Diagram)
 Sequence diagram for Withdraw checking use case:
 Collaboration diagram for Withdraw checking use case:
8. Explain the symbols of DFD. NOVEMBER 2013
The OMT data flow diagram (DFD) shows the flow of data between different processes
in a business.
Data flow diagrams use four primary symbols:
I. Process:
The process is any function being performed. (eg: verify password
or pin in the ATM)
II. Data flow:
The data flow shows the direction of data element movement. (eg: pin code)
III. Data store:
The data store is a location where data is stored. (eg: account in ATM).
IV. External entity:
The external entity is a source or destination of a data element.(eg: ATM card reader)
(OMT DFD of the ATM machine)
9. Explain the macro development process. NOVEMBER 2012
 The Macro Development Process:
The macro process serves as a controlling frame work for the micro process and
can takes weeks (or) even months.
The macro development process consists of the following steps.
 Conceptualization.
 Analysis and Development of the Architecture.
 Design or Create the System Architecture.
 Evolution or Implementation.
o Conceptualization:
Establish the core requirements of the system. Establish a set of goals and develop
a problem to prove the concept.
o Analysis and Development of the Model:
The class diagrams are used to describe the roles and responsibilities of objects to
carry out in performing the desired behavior of the system.
o Design or Create the System Architecture:
The class diagram is used to decide what classes exist and how they relate to each
other. The objects diagrams decide what mechanisms are used in object collaboration
finally use the process diagram to determine to which processor to allocate process.
o Evolution or Implementation:
Produce a stream of software implementation after a successfully refining
the system through many iterations.
o Maintenance:
Make localized changes to the system to add new requirements and eliminate bugs.
10.Explain the extensibility of the UML.(Apr 2013).
 Model Constraints and Comments:
Relationships among model elements specifying conditions and propositions that must be
maintained as true; otherwise the system described by the model would be invalid. Constraints
are shown as text in braces, { }. A Constraint may be “comment”, in which case it is written in
text.
(Example of Constraints)
 Note:
A note is a graphic symbol containing textual information. It also could contain
embedded images. A note is shown as a rectangle with a “bent corner” in the upper right
corner. It can contain any length text.
(Note)
 Stereotypes:
It represent a built in extensibility mechanism of the UML. User-defined extension of the
UML are enabled through the use of stereotype and constraints. The stereotype allows
extensions of UML notation as well as a graphic figure, texture, and color.
(Various forms of stereotype notation)
SECTION-C(10 MARKS)
1. Explain the unified approach. APRIL 2012
The unified Approach (UA) establishes a unifying and unitary framework around their
works by utilizing the unified modeling language(UML) to describe, model and document the
software development process.
The process are:
1. Use case driven development
2. Object oriented analysis
3. Object oriented design
4. Incremental development and protyping
5. Continuous testing
The methods and technology employed include
1. Uml used for modeling
2. Layered Approach
3. Repository for object oriented system development
4. Component based development
 Object oriented Analysis(OOA):
It consist of the following steps:
1. Identify the Actors
2. Develop a simple business process model using UML Activity diagram
3. Develop the use case
4. Develop interaction diagrams
5. Identify classes
 Object oriented Design(OOD):
It consists of the following steps:
1. Designing classes, their attributes, methods, associations, structure and protocols,
apply design axioms.
2. Design the Access layer
3. Design and prototype user interface
4. User satisfaction and usability tests based on the usage/use cases.
5. Iterate and refine the Design.
 Iterative Development and continuous Testing:
Iterate and reiterate until, eventually, we are satisfied with the system. Since testing, often
uncovers design weaknesses or at least provides additional information.
 The UA proposed Repository:
Create a Repository that allows the maximum reuse of previous experience and previously
defined objects, patterns, frameworks and user interfaces.
 The layered Approah to software Development:
The two-layered architecture consists of interface and data. The three-layered architecture
consists of interface, business layer and Access layer.
(Two-layered Architecture)
(Three-layered Architecture)
 The Business layer:
The business layer contains all the objects that represents the business (both data and
behavior). These objects should not be responsible for the following.
1. Display details
2. Data Access details
 The user interface (view) layer:
It is responsible for two major aspects of the application.
1. Responding to user interaction
2. Displaying business objects
 The Access layer:
It consists objects which understand how to communicate with the place where the data
actually reside whether on RDBMS, Mainframe, and Internet on life.
The two major responsibilities for the access layer are
1. Translate Request
2. Translate results
2. Discuss the Object Oriented Methodologies in detail. APRIL 2014
Rumbaugh‘s object modelling technique(OMT):
 The OMT dynamic model:
The OMT state transition diagram is a network of states, events, and actions. Each state
receives one or more events and the next state depends on the current state as well as the
events.
(State transition diagram for the bank application user interface)
 The OMT functional Model:
The OMT data flow diagram (DFD) shows the flow of data between different processes in
a business.
Data flow diagrams use four primary symbols:
II. Process:
The process is any function being performed. (eg: verify password
or pin in the ATM)
II. Data flow:
The data flow shows the direction of data element movement. (eg: pin code)
III. Data store:
The data store is a location where data is stored. (eg: account in ATM).
IV. External entity:
The external entity is a source or destination of a data element.(eg: ATM card reader)
(OMT DFD of the ATM machine)
Booch Methodology:
Booch provides a technique for creating more informative model.
This approach provides a large set of notations so that a complete model can be built during
the analysis and design phase.
BoochDiagrams are
 Class Diagram
 Object Diagram
 State Transition Diagram
 Module Diagram
 Process Diagram
 Interaction Diagram
(State transition diagram)
The Booch methodology prescribed a macro development and micro development process.
 The Macro Development Process:
The macro process serves as a controlling frame work for the micro process and can takes weeks
(or) even months.
The macro development process consists of the following steps.
 Conceptualization.
 Analysis and Development of the Architecture.
 Design or Create the System Architecture.
 Evolution or Implementation.
o Conceptualization:
Establish the core requirements of the system. Establish a set of goals and develop a problem to
prove the concept.
o Analysis and Development of the Model:
The class diagrams are used to describe the roles and responsibilities of objects to carry out in
performing the desired behavior of the system.
o Design or Create the System Architecture:
The class diagram is used to decide what classes exist and how they relate to each other. The
objects diagrams decide what mechanisms are used in object collaboration finally use the process
diagram to determine to which processor to allocate process.
o Evolution or Implementation:
Produce a stream of software implementation after a successfully refining
the system through many iterations.
o Maintenance:
Make localized changes to the system to add new requirements and eliminate bugs.
 The Micro Development Process:
Each macro development process has its own micro development process. The micro process is a
description of the day to day activities by a single (or) small group of software developers.
The micro development process consists of the following steps.
 Identify classes and objects.
 Identify class and object semantics.
 Identify class and object relationships.
 Identify class and object interface and implementation.
JACOBSON’S METHODOLOGY:
The Jacobson methodologies cover the entire life cycle and stress trace ability between the
different phases, both forward and backward. This trace ability enables reuse of analysis and
design work. The heart of their methodologies is the usecase concept, which evolved with
objectory (Object Factory for Software Development)
 Object-oriented Business Engineering (OOBE)
 Object-Oriented Software Engineering (OOSE)
The Booch methodology prescribes a macro development and micro development process.
Use Cases
 Use cases are scenarios for understanding system requirements.
 A use case is an interaction between users and a system.
 The use-case model captures the goal of the user and the responsibility of the
system to its users
The use case description must contain:
 How and when the use case begins and ends.
 The interaction between the use case and its actors, including when the interaction occurs
and what is exchanged.
 How and when the use case will store data in the system.
 Exceptions to the flow of events.
Object-Oriented Software Engineering: Objectory
Object-oriented software engineering (OOSE), also called Objectory, is a method of object-
oriented development with the specific aim to fit the development of large, real-time systems.
Objectory is built around several different models:
 Use case model.
 Domain object model.
 Analysis object model.
 Implementation model.
 Test model.
Use case model: The use case model defines the outside (actors) and inside (use case) of the
system behavior.
Domain object model. The objects of the real world are mapped into the domain object model.
Analysis object model. The analysis object model presents how the source code should be
carried out and written.
Implementation model. The implementation model represents the implementation of the
system.
Test model :The test model constitutes the test plans, specifications, and reports.
Object-Oriented Business Engineering (OOBE)
Object-oriented business engineering (OOBE) is object modeling at the enterprise level.
Use cases again are the central vehicle for modeling, providing traceability throughout the
software engineering processes.
OOBE consists of:
 Analysis phase
 Design
 Implementation phases and
 Testing phase.
Analysis phase: The analysis phase defines the system to be built in terms of the problem-
domain object model, the requirements model, and the analysis model. The analysis process is
iterative but the requirements and analysis models should be stable before moving to subsequent
models.
Design and Implementation phases: The implementation environment must be identified for
the design model. The analysis objects are translated into design objects that fit the current
implementation.
Testing phase. There are several levels of testing and techniques. The levels include unit testing,
integration testing, and system testing.
3. Elaborate static and dynamic models. APRIL 2015, NOV 2014
 Model :
Represents an abstract of the system. It is build prior to the original system. It can be
used to make a study on the system and also can be used to analyze the effect of changes
on the system. Models are used in all disciplines of engineering.
 Static Model : Represents the static structure of the system. Static models are stable and
they don’t change over time. E.g. Class diagram.
 Dynamic Model : Collection of diagrams that represents the behavior of the system over
time.
It shows the interaction between various objects over time. E.g. Interaction Diagram.
A model includes
a) Model Elements – Fundamental modeling concepts and semantics.
b) Notation – Visual rendering of model elements.
c) Guidelines – Expression of usage.
4. Discuss the use case approach of object-oriented system development.
NOVEMBER 2014
 Object-Oriented Systems Development: A use-case Driven Approach:
The object-oriented S/W development Life Cycle (SDLC) consists of three
Macro process.
 Object-Oriented Analysis
 Object-oriented Design and
 Object-oriented Implementation
Object oriented system development include these activities..
 Object-oriented Analysis – Use case driven
 Object-oriented design
 Prototyping
 Component-based development
 Incremental testing
(Object-oriented system development approach)
Designs are produced that are traceable across requirements, analysis, design, and
implementation and testing.
 Object-Oriented Analysis –Use-Case Driven:
The object-oriented analysis phase of S/W development is concerned with determining the
system requirements and identifying classes and their relationship to other classes n the problem
domain. To understand the system requirements we need to identify the users or the actors.
Scenarios are a great way of examine who does what in the interactions among objects and
what role they play.
It is an intersection of objects roles to achieve a given goal is called collaboration.
A use-case is a typical interaction between a user and a system that captures user goals &
needs. An interaction with customers in a scenario and analyzing it is referred to as use-case
modeling.
 Object oriented Design:
The goal of object oriented design is to design the classes identified the classes during
analysis phase and the user interface.
Build the design based on the objects and their relationships, then iterate and refined the model.
 Design and refine classes
 Design and refine attributes
 Design and refine methods
 Design and refine structure
 Design and refine associations
 Prototyping:
Prototyping defines the use case and it actually makes use case modeling much easier.
Protyping provides the developer, a means to test and refine the user interface and increase the
usability of the system.
Prototypes have been categorized in various ways.
 Horizontal prototype
 Vertical prototype
 Analysis prototype
 Domain prototype
 Horizontal Prototype:
It is a simulation of the interface but contains no functionality. Very quick to
implement, providing a good overall feel of the system and allowing users to evaluate
the interface.
 Vertical Prototype:
It is a subset of the system features with complete functionality. The advantage of
this method is that the few implemented functions can be tested in great depth.
 Analysis Prototype:
This class of prototype is used to inform the user and demonstrate the proof of a
concept.
 Domain Prototype:
It is an aid for the incremental development of the ultimate software solution. It
demonstrates the feasibility of the implementation and eventually will evolve into a
deliverable product. Prototyping is a useful exercise of almost any stage of the
development. Prototyping should be done in parallel with the preparation of the
functional specification. It also results in modification to the specification.
 Implementation: Component based Development:
Software components are built and tested in-house, using a wide range of
technologies. Computer aided software engineering (CASE) tools allow their users to
rapidly develop information systems.
Component based development: (CBD)
Component-Based Development is an industrialized approach to the software
development process.
The two basic ideas of using Component-Based development.
1. The application development can be improved significantly if applications can be
assembled quickly from prefabricated software components.
2. An increasingly large collection of interpretable software components could be made
available to developers in both general and specified catalogs.
Rapid Application Development (RAD):
RAD is a set of tools and techniques that can be used to build application footer than
typically possible with traditional methods. The term is often conjunction with S/W prototyping.
RAD encourages the incremental development approach of “grow, do not build” software.
 Incremental Testing:
Testing is the process of uncovering errors prior to production. Majority of errors and
defects are identified during testing. Testing is normally carried out with detailed test
plan and test cases.
5. What are objects? How objects are grouped in classes? Give examples.
NOVEMBER 2015
Object: The term object means a combination or data and logic that represent some
real-world entity.
Methods: Procedures of an object or Behaviour of an object.
A Method implements the behavior of an object. Basically, a method is a
function or procedure that is defined for a class and typically can access the
internal state of an object of that class to perform some operation.
Attributes: Data of an object or Properties of an object.
Properties represent the state of an object. Often we want to refer to the
description of these properties rather than how they are represented in a
particular programming language.
OBJECT ARE GROUPED AS CLASSES:
Class are used to distinguish one type of object from another. A class is a set of
objects that share a common structure and a common behaviour. The chief role of
class is to define the properties and procedures and applicability of its instances.
Eg: employee class with a,b,c are instances or objects of the class employee.
6. Discuss the UML class diagram with notations. NOVEMBER 2012, JULY 2012
Class diagrams are used in object modeling where real world objects are mapped to
logical objects in computer program. Notations and symbols used in Class diagrams are
 Class Notation(static)
 Object Diagram
 Class Interface Notation
 Binary Association Notation and Association Role
 Qualifier
 Multiplicity
 OR Association
 Association Class
 N – ARY Association
 Aggregation and Composition
 Class Notation:
Classes are represented in a rectangular box. The top box has the name, the middle one
has the attributes/properties/data members and the lower one has the behavior/ member
functions/ methods. A Box with a class name represents the most abstract representation of a
class.
E.g.
 Object Diagram:
Object diagram is an instance of a class diagram.
 Class Interface Notation:
It represents the externally visible behavior of a class. Externally visible behaviors are
public members. The notation is small circle with a line connected to a class.
 Binary Association Notation and association role:
It represents the association between two classes represented by a straight line connecting
two classes. Association has got a name written on the line and association role.
Association Role:
It’s related to association. Each class that is a member of an association plays a role in
the association called association role.
 Qualifier:
Qualifier is an attribute of an association. It makes the association more clear.
 Multiplicity:
It gives the range of associated classes. It is specified of the form lower bound..Upper
bound or integer. Lower bound must be an integer where upper bound can be an integer or a *.
 OR – Association:
It’s a relation in which a class is associated to more than one class and only one
association is instantiated at any instance of time for an object. It is represented by a dashed line
connecting two associations.
 Association Class:
It’s an association that has class properties. The association class is attached to an
association with a dashed line
.
 N – Ary Association:
It’s an association where more classes participate. They are connected by a big diamond
and the name of the association is named near the line.
Aggregation and Composition:
Aggregation is a ‘part – of’ association. Containment is a type of aggregation with weak
ownership where composition is a part of relationship with strong owner ship.
Containment is represented by a line with hollow diamond arrow at the end where a Composition
is represented by filled diamond at the end.
 Generalization:
It is a relationship between more general and specific classes. It’s represented by a
directed line with a hollow arrow head. Some diagrams specify incomplete number of
subclasses. It can be represented by ellipses.
7. Explain the system development life cycle in OOAD. JULY 2014,APRIL 2013,
APRIL 2016
 Software Development process:
A process can be divided into small interacting phases sub process.
Each sub process mush have the following
 A description in terms of how it works
 Specification of the input required for the process
 Specification of the output to be produced
The software development process can be viewed as a series of transformations, where the
output of one transformation becomes the input of the subsequent transformation.
 Transformation 1 [Analysis]
 Transformation 2 [Design]
 Transformation 3 [Implementation]
 Transformation 1 [Analysis]:
It translates the users’ needs into system requirements and responsibilities.
 Transformation 2 [Design]:
It begins with a problem statement and ends with a detailed design that can
be transformed into an operational system.
 Transformation 3 [Implementation]:
It refines the detailed design into the system deployment that will satisfy the
user’s needs.
(S/w process reflecting transformation from needs to a s/w product that satisfies those needs)
An example of the software development process is the waterfall approach which starts with
deciding
 what is to be done (what is the problem)
 How to accomplish them
 Which we do it
 Test the result to see it we have satisfied the users requirements
 Finally we use what we have done.
(Waterfall s/w development process)
 Building high quality Software:
High quality products must meet users needs and expectations. The ultimate goal of
building high quality software is user satisfaction. System evaluation can be done in terms of
four quality measures as
 Correctness
 Correspondence
 Verification
 Validation
 Correctness:
It measures the consistency of the product requirements with respect to the design
specification.
 Correspondence:
It measures how well the delivered system matches the needs of the operational
environment.
 Validation:
It is the task of predicting correspondence. “Am I building the product right”
 Verification:
It is the exercise of determining correctness. “Am I building the right product”.
 Object-Oriented Systems Development: A use-case Driven Approach:
The object-oriented S/W development Life Cycle (SDLC) consists of three
Macro process.
 Object-Oriented Analysis
 Object-oriented Design and
 Object-oriented Implementation
Object oriented system development include these activities..
 Object-oriented Analysis – Use case driven
 Object-oriented design
 Prototyping
 Component-based development
 Incremental testing
(Object-oriented system development approach)
Designs are produced that are traceable across requirements, analysis, design, and
implementation and testing.
 Object-Oriented Analysis –Use-Case Driven:
The object-oriented analysis phase of S/W development is concerned with determining the
system requirements and identifying classes and their relationship to other classes n the problem
domain. To understand the system requirements we need to identify the users or the actors.
Scenarios are a great way of examine who does what in the interactions among objects and
what role they play.
It is an intersection of objects roles to achieve a given goal is called collaboration.
A use-case is a typical interaction between a user and a system that captures user goals &
needs. An interaction with customers in a scenario and analyzing it is referred to as use-case
modeling.
 Object oriented Design:
The goal of object oriented design is to design the classes identified the classes during
analysis phase and the user interface.
Build the design based on the objects and their relationships, then iterate and refined the model.
 Design and refine classes
 Design and refine attributes
 Design and refine methods
 Design and refine structure
 Design and refine associations
 Prototyping:
Prototyping defines the use case and it actually makes use case modeling much easier.
Protyping provides the developer, a means to test and refine the user interface and increase the
usability of the system.
Prototypes have been categorized in various ways.
 Horizontal prototype
 Vertical prototype
 Analysis prototype
 Domain prototype
 Horizontal Prototype:
It is a simulation of the interface but contains no functionality. Very quick to
implement, providing a good overall feel of the system and allowing users to evaluate
the interface.
 Vertical Prototype:
It is a subset of the system features with complete functionality. The advantage of
this method is that the few implemented functions can be tested in great depth.
 Analysis Prototype:
This class of prototype is used to inform the user and demonstrate the proof of a
concept.
 Domain Prototype:
It is an aid for the incremental development of the ultimate software solution. It
demonstrates the feasibility of the implementation and eventually will evolve into a
deliverable product. Prototyping is a useful exercise of almost any stage of the
development. Prototyping should be done in parallel with the preparation of the
functional specification. It also results in modification to the specification.
 Implementation: Component based Development:
Software components are built and tested in-house, using a wide range of
technologies. Computer aided software engineering (CASE) tools allow their users to
rapidly develop information systems.
Component based development: (CBD)
Component-Based Development is an industrialized approach to the software
development process.
The two basic ideas of using Component-Based development.
1. The application development can be improved significantly if applications can be
assembled quickly from prefabricated software components.
2. An increasingly large collection of interpretable software components could be made
available to developers in both general and specified catalogs.
Rapid Application Development (RAD):
RAD is a set of tools and techniques that can be used to build application footer than
typically possible with traditional methods. The term is often conjunction with S/W prototyping.
RAD encourages the incremental development approach of “grow, do not build” software.
 Incremental Testing:
Testing is the process of uncovering errors prior to production. Majority of errors and
defects are identified during testing. Testing is normally carried out with detailed test
plan and test cases.
8. Discuss about object relationships. JULY 2014
Association represents the relationships between objects and classes. Associations are
bidirectional. The directions implied by the name are the forward direction and the
opposite is the inverse direction.
Cardinality:
It specifies how many instances of one class may relate to a single instance of
an associated class. Cardinality constrains the number of related objects and often is
described as being “one” or “many”.
Consumer-producer association:
Consumer-producer relationship is also known as a client-server association (or) a use
relationship. It can be viewed as one-way interaction. One object requests the service or
another object. The object that makes the request is the consumer or client and the object
that receives the request and provides the service is the producer (or) server
Aggregations:
Since each object has an identity, one object can refer to other objects. This is known as
aggregation, where an attribute can be an object itself.
The car object is an aggregation of other objects such as engine, seat and wheel objects.
(Aggregations relationships)
UNIT -II
SECTION-A(2 MARKS)
1. What is Use-Case model? (Apr 2012 , Nov 2012 , Nov 2013, Apr 2014)
A use-case model can be instrumental in project development, planning, and
documentation of systems requirements. The use-case model describes the uses of the
system and shows the courses of events that can be performed. It also defines what
happens in the system when the use case is performed. It can also discover the classes
and the relationships among subsystems of the system.
2.What are the events classes? (Apr 2012)
Events classes are points in time that must be recorded. Associated with things
remembered are attributes. (E.g. Landing, interrupt, request).
3.Is association different from an a-part-of relation? (Apr 2012)
Yes. Association is different from a part of relation since a part of relation is
nothing but aggregation.
4.What is an Association?(Nov 2012, Apr 2013, Nov 2013, Apr 2016)
It guides to design the classes. Association represents a physical or conceptual
connection between two or more objects. It is represented by a straight line connecting
objects.
5.Define method. (Apr 2013)
In object-oriented environment, every piece of data, or object, is surrounded by set of
routines called methods.Methods are responsible and have the value of attributes such as
query, updating, reading and writing.
6.What are classifications? (Apr 2014)
Classifications are the process of checking the objects belong to a category or a
class, which is a basic attribute of human nature.
7.List the guidelines for identifying association. (Apr 2014)
i) A dependency between two or more class may be an association.
ii) A reference from one class to another is an association.
8.What is 80-20 Rule(Nov 2014)
80-20 rule generally applies for documentation. 80 percent of the work can be done
with 20 percent of the documentation. 20 percent is easily accessible and the remaining
(80 percent) is available to those (few) who need to know.
9.Define Aggregation? (Nov 2014)
A part-of-relationship is also called aggregation, represents the situation where a class
consists of several component classes. A class that is composed of other class does not
behave like its part.
10.What is a transaction? (April 2015, Nov 2015)
A transaction is an atomic set of activities that are performed either fully or not at
all. It is triggered by stimulus from an actor to system of by a point in time being reached
in the system.
11.Write down any two approaches for identifying classes. (Apr 2015, Nov 2015)
i. Noun Phrase Approach
ii. Use – Case driven Approach
iii. Common Class Approach
iv. Class Responsibilities and Collaborators
12. What are Use-Case actors? (Apr 2016)
An actors is a user playing a role with respect to the system. The actor is the key
to finding the correct use-cases. An actor also can be an external system, which needs
information from the current system.
13.What are the guidelines for effective documentation.(Nov 2015)
The guidelines for effective documentation are:
1. Common cover
2. 80-20 rule
3. Familiar vocabulary
4. Make the document as short as possible
5. Organize the document
14.Define the candidate class.(Nov 2015)
The candidate class is an initial list of classes from which the actual class design
classes will emerge.
15.What are the uses of use-cases(Apr 2014)
Use cases represents the things the user is doing with the system which can be
different from the user’s goals. The important use of building correct use cases is
the differentiate the users goals and system interaction.
16.List out the three type of actors.(Apr 2014)
The three types of actors are:
1.primary actor: the actors using the system to achieve the goal.
2. secondary actor: actors that the system needs assistance from to achieve the
primary actors goal.
3.Supporting actor: A supporting actor in a use case is an external actor that
provides a service to the system under design.
17.What is meant by primary supporting actor(Apr 2014)
A supporting actor in a use case is an external actor that provides a service to
the system under design.
18.How to identify association(Apr 2105)
i. A dependency between two or more class may be an association.
ii) A reference from one class to another is an association.
19.Define attribute.(Apr 14,Apr(12)
Attributes represent the state of an object.
20.What are the steps in CRC process(Apr 12)
Classes, responsibilities and collaborators process consists of three steps
1) Identify classes responsibilities.
2) Assign responsibilities.
3) Identify collaborators
21.What is ‘uses’ association(Nov 12)
The relationship among the other use- cases and new extracted use-cases is
called a uses association.it helps to avoid redundancy by allowing the use-case to
be shared.
22.Difference between user and actor(Nov 12)
The actor represents the role a user plays with respect to the system.
23.Difference between association and ‘extends’ association.(Nov12)
Association guides to design the classes. Association represents a physical or
conceptual connection between two or more objects. It is represented by a straight
line connecting objects.
The extends association is used when you have one use case that is similar to
another use case but does a bit more or is more specialized, it is like sub class.
24.List the guidelines for naming classes(Nov 12, Apr 15)
The guidelines for naming classes:
1. The class name should be singular.
2. The name of the classes should be which the client or users are
comfortable.
3. The name of class shouls reflect the intrinsic nature.
4. Use readable name. Capitalize class name.
25.What is extends association(Nov 13,Nov14)
The extends association is used when you have one use case that is similar to
another use case but does a bit more or is more specialized, it is like sub class.
26.Name the three types of relationship among objects(Nov 13)
The three types of relationship among objects are:
1. Association
2. Super-sub structure(generalization hierarchy)
3. Aggregation and a-part-of structure.
SECTION-B(5 MARKS)
1. How would you identify a super-subclass structure? Explain.(Apr 2012)
Super – Sub class relationship known as generalization hierarchy. New classes can
be
built from other classes hence the effort for creating new classes gets reduced. The
newly built class is called a derived class and the class from which the new
class is built is called Base Class. This inheritance allows user to share the attributes
and methods.
Guidelines for identifying Super – Subclass relationship
1) Top – Down:
Identify noun phrases composed of various adjectives in a class name.
2) Bottom – Up:
Identify classes with similar attributes and methods.
3) Reusability:
Move attributes and behavior methods as high as possible in the
hierarchy.
4) Multiple inheritance:
Inheritance from most appropriate class and add an object of another class
as an attribute.
2. W
hy are Classes, Responsibilities and Collaborators Useful? (Or) Write short notes
on CRC process. (Nov 2012, Nov 2013, Nov 2014, Apr 2016).
Classes, responsibilities, and collaborators is a technique used for identifying
classes responsibilities and therefore their attributes and methods. CRC can help us
identify classes and teaching the certain responsibility to assistance of other objects.
CRC cards are 4”X 6`` index cards in which all the information for an object is
written is cheap, portable, readily available and familiar.
Class name should appear in the left two third of card and list of collaborator
should appear under it in the left two third of the card and list of collaborators should
appear in the right third.
(CRC indexcards)
Classes, Responsibilities and Collaborators Process
Classes, responsibilities and collaborators process consists of three steps
4) Identify classes responsibilities.
5) Assign responsibilities.
6) Identify collaborators
(The Classes, Responsibilities and Collaborators Process)
E.g. Classes, Responsibilities and Collaborators for the account object
3. Explain about Class Responsibility. (Apr 2013)
 Identifying Attributes and Methods:
i. It is like finding classes, still a difficult activity and an iterative process,
once again use case and other UML diagram will be guide for
identifying attributes, methods and relationships among classes.
ii. Attributes are things an object must remember such as color, cost and
manufacture. Identifying attributes of systems classes start with
understanding the system responsibilities.
 Defining Attributes by analyzing use cases and other UML diagram:
i. Attributes can be derived from scenarion testing therfore, by analyzing
the usecase and sequence/collaboration activity and state diagram.
ii. Identify what attributes can be reused directly and what lessons can be
learned for defining attributes.
 Guidelines for defining Attributes:
i. Attributes usually correspond to nouns followed by prepositional
phrases such as cost of the soup.
ii. Keep the class simple, state only enough attributes to define the
object state.
iii. Attributes are less likely to be fully described in the problem
domain.
iv. Omit derived attributes.
v. Donot carry discovey of attributes.
4. Explain the guidelines for selecting classes from fuzzy categories. (Apr 2014).
Candidate classes are selected from the relevant and fuzzy categories. The
guidelines that are to be followed are:
 Redundant classes:
Don’t keep two classes that express the same information. If more than one
world is being used to describe the sane idea, select the one that is most
meaningful in the context of the system.
 Adjectives classes:
An adjective can suggest a different kind of object, different uses of the
same object.
 Attribute classes:
Objects that are used only as values should be defined as attributes and not
as a class.
 Irrelevant classes:
Each class should have a purpose and every class should be clearly defined.
(The process of eliminating the redundant Classes and Refining the Remaining
Classes)
5. What is an a-part-of structure? Explain. (Apr 2015, Nov 2015)
It represents the situation where a class consists of several component classes.
A class that is composed of other classes behaves differently.
Two major properties are
1) Transitivity:
The property where, if A is part of B and B is part of C, then A is part
of C.
2) Anti-symmetry:
The property where if A is part of B, then B is not part of A.
In UML, a filled diamond signifies the strong form of aggregation which is
composition.
Eg: Collection as hollow diamonds & solid diamond for strong composition.
To identify a–part–of structures, Coad & Yourdon provide following guidelines:
 Assembly:
It is constructed from its parts and & an assembly–part situation physically exists.
 Container:
A physical whole encompasses but is not constructed from physical parts.
 Collection–member:
A conceptual whole encompasses parts that may be physical or conceptual.
6. Explain in detail about associations.(Apr 2015, Nov 2015)
It represents a physical or conceptual connection between two or more objects.
The binary associtions are shown a lines connecting two class symbols.
(Basic Association)
 Identifying Association:
It begins by analyzing the interaction between classes and all dependency
relationship between two or more classes.
Following questions help us to identify association
 Is class capable of fulfilling the required task by itself?
 If not, what does it need?
 From what other class can it acquire what it needs?
 Guidelines for identifying Association :
i) A dependency between 2 or more classes may be an association. It is
related to a verb or prepositional phrase.
ii) A reference from one class to another is an association. Some
associations are implicit or taken from general knowledge.
 Common Associative Patterns:
i) Location association
Next to, part of, contained in.
ii) Communication association
Talk to, order to.
(Communication Association)
 Eliminate Unnecessary Associations:
i) Implementation association:
It is concerned with the implementation or design of the class within
certain programming or development environment.
ii) Ternary associations:
Ternary or n-art association is an association among more than two-
classes.
iii) Directed actions (or derived) association:
Avoid the redundancy among the object.
(Directed Associations)
7. Explain about Use Case model with example. (Nov 2012, Nov 2013, Apr 2016)
A use case is an interaction between users and a system; it captures the goal of
users and responsibility of system to its users. The use – case model describes the
uses of system and shows the courses of events that can be performed.
(Library – system use case model)
 Under the microscope:
A use case is a sequence of transactions in a system whose task is to yield
results of measurable value to an individual actor of system.
Now let us take to look at the keywords of this definition
i) Use–Case:
It is special flow of events through the system.
ii) Actors:
An actor is user playing a role with respect to system.
iii) System:
This simply means that the actors communicate with the system’s use
case.
iv) Measurable value:
A use case must help the actor to perform a task that has some identifiable
value.
v) Transaction:
It is an atomic set of activities that are performed either fully or not at all.
 Uses & Extends Associations:
The “extends association” is used when the use case is similar to
subclass. The uses association occurs when it is describing use-case and sub
flows. The relationship among other use cases and this new extracted use case is
called “uses association”. An “abstract use case” is not complete and has no
initiation actors but is used by a “concrete use case”, which does interact with
actors.
(Use-case diagram)
 Identifying Actors:
The term actor represents the role a user plays with respect to system.
When dealing with actors, it is important to think about roles rather than people or
job titles.
(Difference between users and actors)
 Guidelines for finding Use Cases:
The steps for finding use cases are
i) For each actor, find tasks & functions.
ii) Name the use cases.
iii) Describe use cases briefly by applying terms with which user are familiar.
iv) It is important to separate actors from users.
v) Each actor represents a role that one or several users can play.
 Dividing use cases into package:
Each use case represents a particular scenario in the system. A model can be
designed and broken into many packages. Many applications can be associated
with the particular system and one or more databases used to store the information.
8. Explain the common class patterns approach in object analysis. (Apr 2014)
It is based on a knowledge base of common classes that have been proposed by
various researchers.
 Concept class:
A concept is a particular idea or understanding that we have of our world.
It encompasses principles that are not tangible but used to
organize or keep track of business activities or communications.
Eg: Performance is an concept class object
 Events class:
These are points in time that must be recorded. Associated with things
remembered are attributes such as who, what, when, where, how or why.
Eg: Landing, interrupt, request and order are possible events.
 Organization class:
It is collection of people, resources, facilities or groups to which users belong;
their capabilities have a defined mission, whose existence is independent of
individuals
 People class:
It represents different roles users play in interacting with application.
Eg: employee, client, teacher and manager are example of people.
 Places class:
Places are physical locations that system must keep information about.
Eg: Buildings, Stores, sites and offices are examples of place.
 Tangible things & devices class:
This class includes physical objects or groups of objects that are tangible
& devices with which application interacts.
Eg: Cars is an example for tangible things and pressure sensors is an example of
devices.
The Bank TM system : identifying classes by using common class pattern Approach:
Event & class Organization People Place Tangible thing &
Device class
i. Account
ii.Checking
account
iii.Saving
Account
iv.Transaction
Bank class Bank client
class
i.Physical
location
ii.Buildings
iii.Stores
iv. Sites
ATM machine
class
9. How to define attributes by analyzing use-case and UML diagrams.(Apr15)
The guidelines for defining attributes are
1) Attributes usually corresponds to nouns followed by preposition phrases.
Attributes also correspond to adjectives or adverbs.
2) Keep the class simple. State only enough attributes to define the object
state.
3) Attributes are less likely to be fully described in the problem statement.
4) Omit derived attributes. They should be expressed as a method.
5) Do not carry excess identification.
10. What are the three types of attributes.(Apr 15)
The three basic types of attributes are
i. Single-value attributes:
The single-valued attribute has only one value or state.
ii. Multiplicity or multi value attributes:
The multiplicity or multi valued attribute can have a collection of
many values at any point in time.
i. Reference to another object, or instance connection:
These attributes are required to provide the mapping needed by an
object to fulfill its responsibilities, in other words, instance connection
model association.
11.What is the function of actors in the use case model.(Apr 15)
Identifying the actors is as important as identifying classes, structures,
attributes, and behaviour. The term actor represents the role a user plays with
respect of the system. A user may play more than one role. The actor interact with
the system, to provide the requirement analysis.
An actors is a user playing a role with respect to the system. The actor is the
key to finding the correct use-cases. An actor also can be an external system, which
needs information from the current system.
12.Explain the use case driven approach by identifying classes(Apr12)
The use case driven approach is the third approach. Use- case modelling is
considered a problem driven approach to object –oriented analysis, in that the
designer first considers a problem-driven at hand and not the relationship between
objects as in data driven approach.
The UML specification shows the different sequence of interaction between
actors and the systems. Like use-case diagrams, sequence diagrams are used to
model scenarios in the systems.
Whereas use cases and the steps or textual descriptions that define them offer
a high level view of a system, the sequence diagram enable to model a more
specific analysis and also assist in the design of the system by modelling the
interactions between objects in the system.
13.Explain the noun pharse approach for identifying classes (Nov 12)
The noun pharse approach usesnouns in the textual description to be classes and
verbs are to be the methods of the classes, All plurals are changed into singular, the
nouns are listed and the list is divided into three categories.
I. Relevant Classes
II. Fuzzy classes
III. Irrelevant classes
It is safe to scrap the irrelevant classes, which either has no purpose or will be
unnecessary. Candidate classes then are selected from the other two categories such
as fuzzy classes and relevant classes. Finding classes is an incremental and iterative
process.
Identifying tentative classes:
The following are the guidelines for selecting classes in an application:
1) Look for nouns and noun phrases in the use-cases.
2) Some classes are implicit or taken from general knowledge.
3) All the classes must make sense in the application domain, avoid computer
implementation classes
4) Carefully choose and define class names
Selecting classes from the relevant and fuzzy categories:
Candidate classes are selected from the relevant and fuzzy categories. The
guidelines that are to be followed are:
 Redundant classes:
Don’t keep two classes that express the same information. If more than one
world is being used to describe the sane idea, select the one that is most
meaningful in the context of the system.
 Adjectives classes:
An adjective can suggest a different kind of object, different uses of the
same object.
 Attribute classes:
Objects that are used only as values should be defined as attributes and not
as a class.
 Irrelevant classes:
Each class should have a purpose and every class should be clearly defined.
(The process of eliminating the redundant Classes and Refining the Remaining
Classes)
14.Explain about Use Case model with example. (Nov 2012, Nov 2013, Apr
2016,Apr 2013)
Refer Q. no: 7 five marks.
15.Develop sequence / collaboration diagrams for the withdraw savings Denied use
case of the bank system.(Apr 2012 )
Use case diagram/ Model represents different needs of the user and various actors
involved in the domain boundary. Unified Approach recommends identification of
objects with the Use Case model as the base. Since the use case represents the user
requirements the objects identified are also relevant and important to the domain.
The activities involved are
1. A particular scenario from an use case model is considered.
2. Sequence of activities involved in that particular scenario is
modeled.
3. Modeling the sequence diagram needs objects involved in
the sequence.
4. Earlier iteration starts with minimum number of objects and
it grows.
5. The process is repeated for all scenarios in the use case
diagram.
6. The above steps are repeated for all the Use Case diagrams.
Use case scenario with a sequence diagram:
We identified the use case for the bank system. The following are low level
executable
i.Deposit checking.
ii. Deposit saving.
iii. Invalid PIN.
iv. Withdraw checking.
v. Withdraw more from checking.
vi. Withdraw savings.
vii. Withdraw saving denied.
Let us create a sequence / collaboration diagram for following use case.
i. Invalid password use case.
ii. Withdraw checking use cases.
iii. Withdraw more from checking use case.
 Sequence diagram for invalid password:
The dotted lines are the lifeline, the line on the right represents an actor, and the
arrows connect the events objects.
 Sequence diagram for Withdraw checking use case:
 Collaboration diagram for Withdraw checking use case:
16. Discuss about Object Responsibility. (Apr 2013)
 Object Responsibility : Methods and Messages
In an object oriented environment, every piece of data or object is surrounded
by a rich set of routines called Methods. These methods do everything from
printing the object to initializing its variables.
Every class is responsible for storing certain information from the domain
knowledge. If an object requires certain information to perform some operation for
which it is responsible, it is logical to assign it the responsibility for maintaining
the information.
In UML sequence diagram, objects involved are drawn as vertical dashed
lines. An event is considered to be an action that transmits information. These
actions are operations that objects must perform & as in attributes, methods also
can be derived from scenario testing.
In additional, operations (methods or behavior) in object oriented system
usually correspond to queries about attributes & associations of objects. Therefore,
methods are responsible for managing the value of attributes such as query,
updating, reading & writing.
 Defining Methods by Analyzing UML Diagrams and Use-Cases:
In a sequence diagram, the objects involved are drawn on the diagram as
vertical dashed lines. The events that occur between objects are drawn between the
vertical object lines. Sequence diagrams can assist in defining the services the
objects must provide.
For example:
For defining methods for the account class:
1. Deposit Checking
2. Deposit Savings
3. Withdraw Checking
4. Withdraw more from checking
5. Withdraw Savings
6. Withdraw savings denied
7. Checking Transaction History
8. Savings transaction History.
18. Explain object analysis classification theory(Nov 15)`
Object oriented process is a process by which it is identifies classes that play a role
in achieving system goals and requirements.
Classification theory is the process of checking the objects which belong to
a category or a class, which is a basic attribute of human nature.
Booch explains that
1) Intelligent classification is apart of all good science.
2) Classification guides to make decisions about modularization.
3) Classification also plays a vital role in allocating processes to
various procedures.
4) The chief role of a class is to define the attributes, methods and
applicability of its instances.
UNIT –III
SECTION-A(2 MARKS)
1. What is a concurrency policy?(Apr 2012)
A concurrency control policy dictates what happens when conflicts arise between
transactions thatattempt access to the same object and how these conflicts are to be
resolved.
There are two policies,
ii. Conservative or pessimistic policy:
Allows a user to lock all objects or records when they are accessed and to release
the locks only after atransaction commits.
iii. Optimistic policy:
Two conflicting transactions are compared in their entirety and then their serial
ordering is determined.
2. Give examples for public and private protocols. (Apr 2012)
Public protocols specify messages that can be send by the methods with in the class as
wellas objects outside the class.
Private protocols specify messages that can be send only by the methods inside the
class.They are visible only inside the class.
E.g.
+ getName () : String
It’s a public protocol named getName with no parameters and it returns a value of
type String.
- setData (name : String, no : Integer) : Boolean
It is a private protocol that accepts two arguments one of type String and other of typeInteger. It
returns a value of type Boolean.
3. Define Theorem. (Nov 2012, Apr 2013, Nov 2013, Apr 2016)
A theorem is a proposition that may not be self–evident but can be proven from accepted
axioms.
4. What is meant by coupling? (or) Define Coupling. (Nov 2012, Nov 2013, Apr 2014,
Apr 2015)
Coupling is a measure of the strength of association established by a connection from one
object orsoftware component to another. Coupling is a binary relationship. For example
A is coupled with B.
5. Define DML. (Nov 2012, Nov 2013, Apr 2015, Apr 2016)
Data manipulation language (DML) is the language that allows users to access
and manipulate data organization. The structured (SQL) is the standard DML for
relational DBMS.
6. What is public protocol? (Apr 2013)
Public protocols specify messages that can be send by the methods with in the class as
well as objects outside the class.
7. What is DBMS? (Apr 2013, Nov 2015, Apr 2016)
Database Management System is a set of programs that enables the creation and
maintenance of collection of related data. The DBMS and associated programs access,
manipulate,protect and manage the data.
8. What is Object Constraint Language? (Apr 2014)
The rules and semantics of the UML are expressed in English, in a form known as object
constraintlanguage. Object constraint language (OCL) is a specification language that
uses simple logic forspecifying the properties of a system.
9. Define DDL.(Apr 2014, Nov 2015, Apr 2016)
Data definition language (DDL) is the language used to describe the structure of and
relationshipsbetween objects stored in a database. This structure of information is termed
as the database schema.
10. Define Axiom.(Nov 2014, Apr 2015, Nov 2015)
An axiom is a fundamental truth that always is observed to be valid and for which
there is nocounter-example or exception. There are two design axioms applied to object-
oriented design.
Axiom 1:The independence axiomdeals with relationships between system
components. Maintain the independence of components.
Axiom 2: The information axiom, whichdeals with the complexity of design.
Minimize the information content of the design.
11. List the three basic types of attributes.(Nov 2014)
The three basic types of attributes are
j. Single-value attributes:
The single-valued attribute has only one value or state.
ii.Multiplicity or multi value attributes:
The multiplicity or multi valued attribute can have a collection ofmany values
at any point in time.
iv. Reference to another object, or instance connection:
These attributes are required to provide the mapping needed by an object to
fulfill its responsibilities, inother words, instance connection model association.
12. What are data entry windows?(Nov 2014)
Data entry windows provide access to data that users can retrieve, display and change
in the application.
SECTION-B(5 MARKS)
1. What is the basic activity in designing and application? (Apr 2012)
The basic activity in designing and application are
i. Requirement collection
ii. Analysis
iii. Design
iv. Coding
v. Testing
vi. Implementation
vii. Maintenance
 Requirement collection:
Our goal during requirements analysis is to understand “what” the
customer “needs” us to build. We build a model of the application and
validate that our model will actually meet the customer’s needs.
 Analysis:
It translates the users’ needs into system requirements and
responsibilities.The project team analyzes the scope of the project and
plans the schedule and resources accordingly.
 Design:
It begins with a problem statement and ends with a detailed design that
can be transformed into an operational system. This transformation
includes the bulk of thesoftware development activity, including definition
of how to build the software, itsdevelopment and it’s testing.
 Coding:
Coding is the phaseof a software development project where developers
input the source code into a computer that will be complied into the final
software program.
 Testing:
After the code is developed it is tested against the requirements to make
sure that the product is actually solving the needs addressed and gathered
during the requirements phase.
 Implementation:
It refines the detailed design into the system deployment that will
satisfy the user’s needs.Software is tested for portability and adaptability
and integration related issues are solved during implementation.
 Maintenance:
This phase confirms the software operation in terms of more efficiency
and less errors. If required, the users are trained on, or aided with the
documentation on how to operate the software and how to keep the
software operational. The software is maintained timely by updating the
code according to the changes taking place in user end environment or
technology. This phase may face challenges from hidden bugs and real-
world unidentified problems.
2. What is the difference between a schema and meta-data?(Apr 2012)
 The schema is the collection of record types and set type or the collection of
relationships, templates, and table records, used to store information about
entities.
 The meta-data contains a complete definition of the data formats, such as the data
structures, typesand constraints. The meta-data are usually encapsulated in the
application programs themselves. InDBMS, the format of the meta-data is
independent of any particular application data structure; therefore itwill provide
a generic storage management mechanism.
3. Describe Client-Server Computing. (Nov 2012, Nov 2013, Apr 2016)
 In Client-Server Computing the calling module becomes the “client” and the
called module becomes the“server”. The connectivity allows applications to
communicate transparently with other programs (process), regardless of their
locations.
 The Client is a process (program) that sends a message to a server process
requesting the server toperform a task (service). Client programs usually manage
the user interface portion of the application;validate data entered by the user and
dispatch requests to server programs.
 A Server process (program)fulfills the client request by performing the task
requested. Server programs generally perform database retrieval and updates,
manage data integrity and dispatch responses to client requests.
4. Write a short note on Object-Relation Mapping. (Nov 2012 , Nov 2013, Apr 2015)
In a relational database, the schema is made up of tables, consisting of rows and
columns.A tuple (row) of a tablecontains data for a single entity that correlates to an object
(instance of a class) in an object-oriented system.
The mapping capabilities are
1. Table – Class Mapping
2. Table – Multiple Class Mapping
3. Table – Inherited Class Mapping
4. Tables – Inherited Class Mapping
1. Table– Class Mapping:
It’s a simple one – to – one mapping of a class to a table and properties of
class are becomethe fields. Each row in the table represents an object and
columnrepresents a property of objects.
2. Table – Multiple Classes Mapping:
It’s mapping a single table maps to multiple non inherited classes. Two or
more distinct, non-inheriting classes have properties that are mapped to
columns in a single table.
3. Table Inherited Classes Mapping:
In this case a single table is mapped to more than one class which has a
common super class. This mapping allows the user to specify the columns to
be shared among the related classes.
4. Multiple Tables – Inherited Classes Mapping:
This kind of mapping allows is a to be established among tables. In a
relational database thisis possible by using primary key and foreign key.
5. Discuss about Object Oriented Design Axioms. (or) Explain the Object-Oriented
Design Axioms. (Apr 2013,Apr 2015 ,Nov 2015)
An “Axiom” is a fundamental truth that always is observed to be valid and for which
there is no Counterexample or exception.
A “Theorem”is a proposition that may not be self–evident but can be proven from
accepted axioms.
A “Corollary”is a proposition that follows from an axiom or another proposition that has
been proven.
There are two design axioms applied to object-orienteddesign.
Axiom 1: Independence Axiom. Maintain the independence of components.
Axiom 2: Information Axiom. Minimize the information content of the
design.
 Axiom 1 states that, during the design process, as we go from requirement and use
case to a system component, each component must satisfy that requirement
without affecting other requirement
 Axiom 2 is concerned with simplicity. Occam razor says that “The best theory
explains known facts with a minimum among of complexity and maximum
simplicity & straightforwardness”
6. Describe the process of creating the access layer. (Apr 2013)
The process of creating an access class for the business classes are identified as follows:
1. For every business class identified, mirror the business class package.
2. Define relationships.
3. Simplify Classes & relationships
a. Redundant classes
b. Method classes
4. Iterate and Refine.
(Process of creating access layer classes)
 In the above process, the access layer classes stores not only the attributes
but also the methods.
 Another approach is to let the methods to stored in a program & store only
the persistent attributes and modified process is:
1. Determine if the class has any persistent data
2. Mirror the business class package
3. Define relationships
4. Simplify classes and relationships
a. Redundant classes
b. Method classes
5. Iterate and refine.
(Process of creating access layer classes with persistent attributes)
7. Discuss the types of coupling among objects. (Apr 2014)
Coupling is a measure of the strength of association established by a connection from one
object or software component to another. Coupling is a binary relationship. For example
A is coupled with B.
Object oriented design has two types of coupling. They are,
1. Interaction coupling
2. Inheritance coupling
 Interaction coupling:
Interaction coupling involves the amount and complexity of messages
between components. It is desirableto have little interaction.
(E is tightly coupled object)
 Inheritance coupling:
Inheritance is a form of coupling between super and subclasses. A subclass is
coupled to its super class interms of attributes and methods. Unlike interaction
coupling, high inheritance coupling is desirable.
8. Discuss design patterns in detail.(Nov 2014)
Design patterns are devices that allow systems to share knowledge about their design
by describing commonly recurring structure.
A perfect design pattern has the following documentation concepts
Pattern Name: FaçadeRationale & Motivation: The façade pattern can make the task of
accessing a large number of modules.
Classes:In façade system at least 4 or more classes are required: client, façade
&classes underneath façade.
Advantages:
The primary advantaged is making interfacing between many modules or classes
more manageable.
Disadvantages:
The lossof functionality will be lower level of classes.
Examples:Imagine a client request program a room that is used to view objects all in
room. Using a design pattern façade eliminates the need for the client class to deal
with a large number of classes.
9. How to design classes? Explain.(Nov 2014)
 Designing Classes – The Process:
It constitute of step 1 of OOD process is an iterative process and ateach
iteration,the design has been improved.
 Class visibility:
The main objective is designing well defined
i. Public Protocol.
ii. PrivateProtocol.
iii. ProtectedProtocol.
i. Publicprotocols:
It defines the stated behavior of the class as the behavior of all classes can access its
information.
ii. Private protocols:
Private protocol of the class includes message that normally should not be sent from other
objects and only access by the same class.
iii. Protectedprotocols:
In a protected protocol the subclasses can use the method in addition to the
class itself.
 Designing Classes :Refining Attributes:
Attributes identified in OOA must be refined on implementation during this
phase. In design phase, detailed information must be added to the model. The
main goal is to refine existing attributes or add attributes that can elevate the
system into implementation.
 Attribute Types:
The three types of attributes are
1. Single–value attributes
2. Multiplicity or Multivalue attributes
3. Reference to another object, or instance connection.
 UML Attribute representation:
The following is attribute presentation suggested by UML:
Visibility name: Type–Expression = Initial–ValueWhere visibility is
one of following:
+ Public visibility (accessibility to all classes)
# protected visibility (accessibility to subclassesclasses)
⎯ private visibility (accessibility only to particular class)
Type–expressionis language–dependent specification of implementation
type of an attribute. Initial value is language–dependent expression for
initial value of newly created object and is optional. Multiplicity indicated
by placing a multiplicity indicator in brackets.
SECTION-C(10 MARKS)
1. List the object-oriented design axioms and corollaries(or) Describe the object
oriented design axioms and its corollaries. (Apr 2012 , Apr 2014)
 Design Axioms:
An “Axiom” is a fundamental truth that always is observed to be valid and for
which there is no Counter example or exception.
A “Theorem” is a proposition that may not be self–evident but can be proven
from accepted axioms.
A “Corollary” is a proposition that follows from an axiom or another proposition
that has been proven.
There are two design axioms applied to object-oriented design.
Axiom 1: Independence Axiom. Maintain the independence of components.
Axiom2:Information Axiom. Minimize the information content of the design.
 Axiom 1 states that, during the design process, as we go from requirement and use
case to a system component, each component must satisfy that requirement
without affecting other requirement
 Axiom 2 is concerned with simplicity. Occam razor says that “The best theory
explains known facts with a minimum among of complexity and maximum
simplicity & straightforwardness”
 Corollaries:
Many corollaries may be derived as a direct consequence of axioms. These corollaries may be
more useful in making specific design decisions, since they can be applied to actual situations
more easily than original axioms. They are also called design rules and are derived from 2 basic
axioms
 Corollary 1: Uncoupled design with less information content.
Highly cohesive objects can improve coupling because only a minimal
amountofessential information need be passed between objects.
The main goal here is to maximize objects cohesiveness among objects and s/w
components in order to improve coupling because only a minimal amount of
essential information need be passed between components.
 Coupling:
Coupling is a measure of the strength of association established by a
connection from one object or software component to another. Coupling is
a binary relationship. For example A is coupled with B.
Object oriented design has two types of coupling. They are,
i. Interaction coupling
ii. Inheritance coupling
i. Interaction coupling:
Interaction coupling involves the amount and complexity of
messagesbetween components. It is desirable to have little interaction.
ii. Inheritance coupling:
Inheritance is a form of coupling between super and subclasses. A
subclass is coupled to its super class in terms of attributes and methods.
Unlike interaction coupling, high inheritance coupling is desirable.
 Cohesion:
Cohesion reflects the “single–purposeness” of an object. Method
cohesionfunction cohesion means that a method should carry only one
function. A method that carries multiple functions is undesirable. Class
cohesion means that all the class’s methods & attributes must be highly
cohesive meaning to be used by internal methods or derived classes’
methods.
 Corollary 2: Single Purpose.
Each class must have a single, clearly defined purpose. When we
document, we should be able to easily describe the purpose of a class in a few
sentences.
 Corollary 3:Large number of simple classes, Reusability.
Keeping the classes simple allows reusability.
The smaller are classes, the better are chances of reusing them in other
projects. Large & complex classes are too specialized to be reused.
The primary benefit of s/w reusability is higher productivity. The s/w
development team that achieves 80% reusability is 4 times as productive
as team that achieves 20% reusability.
 Corollary 4: Strong mapping.
There must be a string association between the physical system (analysis’s
object) & logical design (design’s object).
 Corollary 5: Standardization.
Promote standardization by designing interchangeable components and
reusing existing classes or components.
 Corollary 6: Design with inheritance.
Common behavior (methods) must be moved to super classes. The
superclasses–subclass structure must make logical sense.
2. Write a detailed noteon Database Management System. (Nov 2012, Nov 2013, Apr
2016)
DBMS is a set of programs that enable the creation & maintenance of a collection
of related data. They have number of properties that distinguish them from file–based
data management approach.
A fundamental characteristic of database approach is that DBMS contains not
only data but complete definition of data formats it manages. This description is known
as schema or meta–data containing a complete definition of data formats, such as data
structures, types & constraints.
Advantages:
i. The database approach is that it will provide a generic storage management
mechanism.
ii. Data independence.
iii. Accessing data is simple and uniform manner.
 Database Views:
DBMS provides the database users with a conceptual representation that is
independent of low–level details (physical view) of how the data are stored. The
database provides an abstract data model that uses logical concepts such as field,
records, tables & their interrelationships. DBMS can provide multiple virtual
views of data.
 Database Models:
It is a collection of logical constructs used to represent the data structure &
data relationships within the database.
It is grouped into two categories:
i. Conceptual model:
This model focuses on the logical nature of that data.
ii. Implementation model:
This model is concerned with how it is represented.
The other three different database models:
a) Hierarchical model.
b) Network model.
c) Relational model.
a) Hierarchical model:
It represents data as a single rooted tree. It represents a parent-child
relationship.
b) Network model:
In network database models, the record can have more than one parent.
c) Relational model:
 The columns of each table are called “attributes”.
 The values inside each column is called “domain”.
 The row of each table is called as “tuples”.
 The relational table should have only one primary key.
A primary key is a combination of one or more attributes whose value is
unique in the table.
 Database Interface:
The interface on a database must include a data definition language (DDL),
query and data manipulation language (DML).
Database systems adopt two approaches for interfaces with system.
i. To embed a database language, such as structured query language
(SQL).
ii. To extend the host programming language with database constructs.
 Database Schema & DDL:
DDL is the language used to describe structure of & relationships between
objects stored in a database. This structure of information is database
schema.
 DML & Query Capabilities:
DML is language that allows users to access & manipulate data
organization. SQL is standard DML for relational DBMSs. It is widely used
for its query capabilities.
The query usually specifies:
 Domain that stored on the table.
 Conditions or constraints that apply
 Ordering, sorting or grouping of elements.
The DML is generally categorized into two types:
i. Procedural:
A procedural DML requires users to specify what data are desired
& how to get data.
ii. Non-Procedural:
A Non procedural DML requires specifying what data are needed
not mention how to get them.
3. Describe the process of creating the access layer classes.(Nov 2012, Nov 2013, Apr
2015)
Refer Question No.6 (5 Marks).
4. Briefly explain the object oriented designing process (or)Explain the various
activities of the object oriented design process. (Apr 2013, Apr 2015, Nov 2015)
In the design phase the classes identified in OOA must be implementation.
The object–oriented design process consists of following activities,
1. Apply design axioms to design classes, their attributes, methods, associations, structures and
protocols.
⇒Refine & complete the static UML class diagram by adding details. This step consists of the
following activities.
i. Refine attributes.
ii. Design methods & protocols by UML activity diagram to represent method’s
algorithm.
iii. Refine associations between classes.
iv. Iterate and refine again.
2.Design the access layer
i. Create mirror classes.
ii. Identifyaccess layer class relationships.
iii. Simplify classes & their relationships.
a) Redundant classes.
b) Method classes
iv. Iterate & Refine again.
3. Design the view layer classes
i. Design the macro level user interface.
ii.Design the micro level user interface.
a)Design view layer objects by applying the design axioms &
corollaries.
b) Build a prototype of view layer interface.
iii. Test usability & user satisfaction.
iv. Iterate and refine.
4. Iterate & refine the whole design.
5. Explain the object store and persistence in detail. (Nov 2014)
A database management system (DBMS) is a set of programs that enables the
creation and maintenance of a collection of related data. The fundamental purpose is to
provide a reliable, persistent data storage facility & mechanisms for efficient, convenient
data access & retrieval.
Persistencerefers to the ability of some objects to outlive the programs that created
them. A program will create a large amount of data throughout its execution. Each item
of data will have a different life time.
They are categorized into two types:
 Transient Data:
The transient data will typically be a programming language that provides an
excellent, integrated support.
1. Transient results to evaluation of expressions.
2. Variables involved in procedure activation.
3. Global variables & variables that are Dynamically allocated.
4. Data that exist between the executions of a program.
5. Data that exist between the versions of a program.
6. Data that outlive a program.
The first three categories are transient data, data that cease to exist
beyondlifetimeof creating process. The other three are non-transient or
persistent data.
 Persistence Data:
A file or a database can provide a longer life for objects – longer than
duration of process in which they were created. From a language
perspective, this characteristic is called persistence.
 Essential elements in providing a persistent store are:
o Identification of persistent objects or reachability.
o Properties of objects & their interconnections.
o Scale of the object store.
o Stability: The system should be able to recover from unexpected
failures and return the system to a recent self–consistent state.
OOAD
Unit IV
1. Define User Centred Interface. (Nov ’12, Nov ’13, Apr ’14, Apr ‘15)
A user centred interface copies the user’s way of doing things and gives the outcome as
user expected for any action.
2. Why do users find OOUI easier to use?(Apr ’12)
It simplifies the learning process of the user since they have to identify only which object
need to be invoked to complete their task without need to concentrate on the entire programming.
3. What circumstances you can use modes in your user interface?or
What are different types of user interface modes?(Apr ’12, Apr ’13, Nov ’15,Apr ‘16)
The mode is a state that contains only specific interactions and avoid general interactions.
The situations we use modes are
(i) In some situations we need some input from the user to continue our work in the
applications. For eg., requesting the name of the file in which the user wants to save
the data. Here the mode used is the Modal dialog and the visual clue is color
boundary.
(ii) Spring loaded modes can be used to revert a process from a particular state to its default
state .eg., Shift key in the keyboard is perfect example.
(iii)Tool driven modes are used in drawing applications to remind you what the tool we
have chosen by changing its mouse pointer.
4. What is an Application Window?(Apr ’13,Apr ‘14)
It is the container that has entire application’s object or icons through which the user
interacts.
5.Define Metaphor. (Nov ’14)
Relating two otherwise unrelated things by using one to denote the other(such as a
question mark to label a Help button).
6. Define GUI. (Nov ’14)
User interface, using icons to represent objects, a pointing device to select operations, and
graphical imagery to represent relationships.
7. What are data entry windows?
It provides access to data that users can retrieve,display and change in the application.
5marks
1.Explain the purpose of view layer interface.(Nov ’12, Nov ’13)
User interface can employ one or more windows. Windows commonly used for the
following purposes.
Forms and data entry windows: It provides access to data that users can retrieve, display and
change in the application.
Dialog boxes: It displays status information or gets data from the user or makes the decision
before continuing with a task. Eg., Dialog box with OK button which continues thhe process
after selected by the user.
Application Windows: (main windows).It is the container that has entire application’s object or
icons through which the user interacts.
Each window should explain its purpose in a single sentence.
2.Describe the UI design rules.(Apr ’12,Nov ’15, Apr ‘16).
UI Design Rule 1: Making the interface simple
For complex application if the user interface is simple it is easy for the users to learn new
applications. Each User Interface class should have a well define single purpose. If a user cannot
sit before a screen and find out what to do next without asking multiple questions, then it says
your interface is not simple. An interface design expert says that the interface should always be
simple and uses the acronym KISS-Keep it Simple and Straightforward.
UI Design Rule 2: Making the Interface Transparent and Natural.
The user interface should be natural that users can anticipate what to do next by applying
previous knowledge of doing things without a computer. This rule says there should be a strong
mapping between theusers view of doing things and UI classes. The UI should not make users
focus on the mechanics of an application.
UI Design Rule 3: Allowing users to be in control of the Software.
The UI should make the users feel in control of the software and not the software controls the
user. The user should play an active role and not a reactive role in the sense user shouldinitiate
the action and not the software. The software should be as interactive and responsive as possible.
Some ways to make put users in control are
1. Make the interface forgiving.
2. Make the interface visual.
3. Provide immediate feedback.
4. Avoid Modes.
5. Make the interface consistent.
3. Explain about the designing of the view layer classes. (Apr ‘13) or
Explain the categories of designing view layer classes. (Apr ‘14)
The view layer objects are responsible for two major aspects of applications:
1. Input – responding to user interaction
2. Output – displaying or printing business objects
The process of designing view layer classes is divided into four major activities
(i) The macro level UI design process – identifying view layer objects.
(a) Identify the classes that interact with human actors with the help of the use
cases developed in the analysis phase.
(b) A sequence or collaboration diagram can be used to represent the clear picture
of actor system interaction.
(c) For every class identified determine if the class interacts with the human
actor. If so
i. Identify the view layer object for that class.
ii. Define the relationship among view layer objects.
(ii). Micro Level UI Design Process
a. Design of view layer objects by applying Design Axioms and Corollaries.
Determine how to use and extend the components so that they provide best
application specific functions and provide best usable interface.
b. Create prototype of the view
layer interface.
Prototype the basic aspects of the design
(iii). Testing the usability and user satisfaction testing.
Test the application to make sure it meets the clients requirements.
(iv). Refining and iterating the design.
4. Explain the view layer objects in applications. (Nov ‘14)
Three Layer architecture used for software development, namely Access layer, view layer and
user-interface / business layer.
The separation of the view layer from the business and access layers is that, when you design of
UI objects, you have to think more explicitly about distinctions between objects that are useful to
users.
View layer classes or interface objects are objects that represent the set of operations in the
business that users must perform to complete their tasks, ideally in a way they find natural, easy
to remember, and useful. Any objects that have direct contact with the outside world are visible
in interface objects.
The view layer objects are responsible for two major aspects of applications:
1. Input-responding to user interaction: The user interface must be designed to translate an action
by the user, such as clicking on a button or selecting from a menu, into an appropriate response.
2. Output-displaying or printing business objects. This layer must paint the best picture possible
of the business objects for the user. In one interface, this may mean entry fields and list boxes to
display an order and its items. In another, it may be a graph of the total price of a customer‟s
orders.
10 marks.
1. Describe the macro and micro processes of view layer design(Apr ’12)
Macro – Level Process
 The main goal of this level is identifying view class by analysing use cases.The
interface object handles all communication with actor but processes no business rules
or object storage
 The view layer macro process consists of two steps as shown in diagram.
1.Determineif class interacts with a human actor.
a. Identify view (interface) objects for class.
b. Define relationships among the view (interface) objects
2. Iterate and refine
 The advantage of utilizing use cases in identifying & designing view layer objects is that
the focus centres on the user and including users as part of the planning & design is the
best way to ensure accommodating them.
Micro – Level Process: -
 A user–centred interface replicates the user‘s view of doing things by providing the
outcomes users expect for any action. The micro level process of designing view objects
has two steps
1. For very interface object identified in macro UI design process, apply micro –
level UI design rules & corollaries to develop the UI
2. Iterate and Refine
o UI design rule 1: Making the interface simple (Application of corollary 2) –Labels, static
text, check boxes, group boxes & option buttons often clutter the interface & take up
twice the room mandated by actual data. The following factors should be considered
while evaluating the impact:
 Every additional feature potentially affects performance, complexity, stability,
maintenance & support costs of an application
 It is harder to fix a design problem after release of product because users may
adapt or even become dependent on a peculiarity in design.
 Simplicity is different from being simplistic. Making something simple to use often
requires a good deal of work & code
 Features implemented by a small extension in application code do not necessarily have a
proportional effect in a UI
o UI design rule 2: Making the interface Transparent and Natural (Application of
Corollary 4) – It implies that there should be strong mapping between user’s view of
doing things & UI classes. A metaphor or analog, relates two otherwise unrelated things
Apply micro-level UI
design rules and GUI
guidelines to each
interface object
identified to develop
the UI
by using one to denote the other. A goal of UI design is to make user interaction with
computer as simple and natural as possible
o UI design rule 3: Allowing Users to be in Control of s/w. A mode is a state that
excludes general interaction or otherwise limits the user to specific interactions. Some of
ways to put users in control are the following : ∝ Make the interface forgiving ∝ Make
the Interface Visual ∝ Provide immediate feedback ∝ Avoid modes ∝ Make the interface
consistent o There can be some of the modes that can be used in the user interface –
Modal dialog, spring loaded modes and tool–driven modes
2.Explain the guidelines for designing application windows(Apr ’13)
A typical application window consists of a frame (or border) that defines its extent and a
title bar that identifies what is being viewed in the window. If the viewable content of the
window exceeds the current size of the window, scroll bars are used. The windows also can
include other components like menu bars, toolbars and status bars. An application window
usually contains common drop-down menus.
The File menu: It provides an interface for the primary operations that apply a file such as open,
Save, Save As… and Print.
The Edit Menu : Include general purpose editing commands on the Edit menu. These commands
include the Cut, Copy and Paste commands and also includes Undo, Find, Delete command.
The View Menu and other command Menus: Commands on the View menu should change the
user‟s view of data in the Window. For example Zoom or Outline, Show Ruler.
The Window Menu: use the window menu in multiple document, interface style applications for
managing the windows within the main workspace.
The Help menu: It contains commands that provide access to Help information. Such as Help
Topic command – Contents, Index and Find Topic.
Toolbars and Status Bars : It is special interface constructs for managing sets of controls. A
toolbar is a panel that contains a set of controls.
A status bar is a special area within a window, typically at the bottom, that displays information
such as current state such as keyboard state.
3. Describe the micro-level design process with a neat diagram.(Nov ’14,Nov ’15, Apr ‘16)
Micro – Level Process: -
 A user–centred interface replicates the user‘s view of doing things by providing the
outcomes users expect for any action. The micro level process of designing view objects
has two steps
1. For very interface object identified in macro UI design process, apply micro –
level UI design rules & corollaries to develop the UI
2. Iterate and Refine
o UI design rule 1: Making the interface simple (Application of corollary 2) –Labels, static
text, check boxes, group boxes & option buttons often clutter the interface & take up
twice the room mandated by actual data. The following factors should be considered
while evaluating the impact:
 Every additional feature potentially affects performance, complexity, stability,
maintenance & support costs of an application
 It is harder to fix a design problem after release of product because users may adapt or
even become dependent on a peculiarity in design.
 Simplicity is different from being simplistic. Making something simple to use often
requires a good deal of work & code
 Features implemented by a small extension in application code do not necessarily have a
proportional effect in a UI
o UI design rule 2: Making the interface Transparent and Natural (Application of
Corollary 4) – It implies that there should be strong mapping between user’s view of
doing things & UI classes. A metaphor or analog, relates two otherwise unrelated things
by using one to denote the other. A goal of UI design is to make user interaction with
computer as simple and natural as possible
o UI design rule 3: Allowing Users to be in Control of s/w. A mode is a state that
excludes general interaction or otherwise limits the user to specific interactions. Some of
ways to put users in control are the following :
∝ Make the interface forgiving
∝ Make the Interface Visual
∝ Provide immediate feedback
Apply micro-level UI
design rules and GUI
guidelines to each
interface object
identified to develop
the UI
∝ Avoid modes
∝ Make the interface consistent
o There can be some of the modes that can be used in the user interface – Modal dialog, spring
loaded modes and tool–driven modes
4. Explain the macro-level design process in detail. (Apr ‘14)
Macro – Level Process
 The main goal of this level is identifying view class by analysing use cases.The
interface object handles all communication with actor but processes no business rules
or object storage
 The view layer macro process consists of two steps as shown in diagram.
1.Determineif class interacts with a human actor.
a. Identify view (interface) objects for class.
b. Define relationships among the view (interface) objects
2. Iterate and refine
 The advantage of utilizing use cases in identifying & designing view layer objects is that
the focus centres on the user and including users as part of the planning & design is the
best way to ensure accommodating them.
OOAD
UNIT V
2 marks
1. What is Black Box testing? (Nov ’12, Nov ’13, Apr ‘16)
To the tester the internal working of the product is kept hidden and that’s what it is called
as Black Box testing. But the tester tests the product for the expected output with various sets of
inputs.
2. What is Path testing? (Nov ‘12, Apr ’12, Nov ’13, Nov ’14, Apr ‘16)
It employs white box testing technique to ensure that all possible paths are executed
atleast once during testing.
3. What are the different kinds of errors? (Nov ’12, Nov ’13, Apr ’13,Apr ’14,Apr ‘16)
The different kinds of errors are
(i) Syntax Errors: It is informed during compile time which are likely to be spelling
mistake, omission of punctuation etc.,
(ii) Run-time Errors: It occurs during the execution of the program when it attempts
to carry out the impossible operation such as trying to access non-existent object.
(iii) Logic Errors: It occurs when our program simply doesn’t do what we want it to
do. We have an infinite loop because we failed to update the condition of the
loop.
4. What is quality?(Apr ’12, Nov ’15,Apr ‘15)
Quality refers to the ability of the products to meet the users requirementsand
expectations and delivering the product on time and within the budget.
5. What are the two types of Path Testing?(Apr ‘13)
Two types of path testing are
(i) Statement testing coverage: It tests every statement in the object’s method by executing
it at least once.
(ii) Branch testing coverage: It ensures that every branch alternative has been executed at
least once under some test condition.
6. What are logic errors?(Nov ‘14)
It occurs when our program simply doesn’t do what we want it to do. We have an infinite
loop because we failed to update the condition of the loop.
7. Define usability testing.(Nov ’14)
Measures the ease of use as well as the comfort and satisfaction users have with the
system.
8. What is user satisfaction test? (Apr ’14, Apr ‘15)
The process of quantifying the usability test with some measurable attributes such as
functionality, cost, or ease of use.
9. What is white box testing?(Nov ’15,Apr ‘15)
It tests the internal workings of the system. It is the process of giving input to the system
and checking how the system processes input to generate output.
10. What is meant by system usability? (Nov ‘15)
It is defined as the effectiveness, efficiency and satisfaction with which the specified set
of users can achieve specified set of tasks in particular environments.
5 marks
1.Write a short note on user satisfaction test.(Nov ’12, Nov ’13,Nov ’15,Apr ‘16)
o User satisfaction testing is process of quantifying usability test with some measurable attributes
of test, such as functionality, cost, intuitive UI, reliability or ease of use. Usability can be
accessed by defining measurable goals such as
◊ 95% of users should be able to find how to withdraw money from ATM machine without error
and no formal training
◊ 70% of all users should experience new function as “clear improvement over the previous one”
◊ 90% of consumers should be able to operate VCR within 30 minutes
o The principle objectives of user satisfaction test are
◊ Act as communication vehicle between designers as well as between users & designers
◊ To detect and evaluate changes during the design process
◊ To provide a periodic indication of divergence of opinion about current design
◊ To enable pinpointing specific areas of dissatisfaction for remedy
◊ To provide a clear understanding of just how the completed design is to be evaluated
o Guidelines for developing user satisfaction test: The format of every user satisfaction test is
basically same with contents different for each project. The work must be done with users or
clients finding out what attributes should be included in test. Ask users to select limited number
(5 to 10) of attributes by which final product can be evaluated.
User might select following attributes for customer tracking system: ease of use, functionality,
cost, intuitiveness of user interface and reliability. User must his/her judgment to answer each
question by selecting number between 1 – 10 with 10 as most favorable& 1 as least
o An interesting side effect of developing user satisfaction tests is that we benefit from it even if
test is never administered to anyone; it still provides useful information. Performing test
regularly user actively involved in system development. It also helps us stay focused on user’s
wishes
2. Briefly discuss about quality assurance tests.(Apr ’13) or
Write short notes on Quality Assurance Tests.(Nov ’15,Apr ’15,Apr ‘16)
o Debugging is a process of finding out where something went wrong and correcting the code to
eliminate the errors or bugs that cause unexpected results. A software debugging system can
provide tools for finding errors in programs and correcting them.
o Kinds of errors: In general, a software has three types of errors such as below
1. Language (syntax) errors are result of incorrectly constructed code, such as an
incorrectly typed keyword or punctuations. They are easiest error to be detected on simple
running system
2. Run–time errors are detected on running, when a statement attempts an operation
that is impossible to carry out. Eg.: if program tries to access a non-exist file or object, it occurs
3. Logic errors occur when expected output is not formed. They can detected only by
testing the code and analyzing the results performed by intended codes
o The elimination of syntactical bug is the process of debugging, whereas detection and
elimination of logical bug is the process of testing. Quality assurance testing can be divided into
two major categories: error–based testing and scenario–based testing
oError–based testing techniques search a given class’s method for particular clues of interests,
then describe how these clues should be tested. E.g: Boundary condition testing
oScenario–based testing also called usage–based testing, concentrates on capturing use –cases.
Then it traces user’s task, performing them with their variants as tests. It can identify interaction
bugs. These are more complex tests tend to exercise multiple subsystems in a single test covering
higher visibility system interaction bugs
o S/w testing is one element of a broader topic that is often referred to as verification and
validation (V&V). Verification refers to set of activities that ensure that software correctly
implements a specific function. Validation refers to different set of activities that ensure that s/w
that has been built is traceable to customer requirements
3. Explain the top-down & bottom-up testing with examples.(Nov ‘14)
Top-Down testing
Top-Down testing assumes that the object interaction and systems messages of the
application need more testing than an individual objects methods. Top-down testing should find
critical design errors early in the testing process and significantly improve the quality of the
delivered software because of the iterative nature of the test. A top-down strategy supports
testing the user interface and event-driven systems
This serves two purposes, First, top-down approach can test the navigation through
screens and verify that it matches the requirements.
Second, users can see, at an early stage, how the final application will look and feel. This
approach also is useful for scenario-based testing. Top-down testing is useful to testsubsystem
and system integration.
Bottom-Up testing
Bottom-up testing starts with the details of the system and proceeds to higher levels by a
progressive aggregation of details until they collectively fit the requirements for the system.
This approach is more appropriate for testing the individual objects in a system. This strategy
makes sense because you are checking the behavior of a piece of code before it is used by
another. Bottom-up testing leads to integration testing, which leads to systems testing.
4. Explain the Debugging Principles.(Nov ’14, Apr ‘15)
Myer’s Debugging principles: -
o Bug Locating principles:
* Think
* If you reach an impasse, sleep on it
* If the impasse remains, describe the problem to some one else
* Use debugging tools (slightly different from Myer’s suggestion)
* Experimentation should be done as a last resort (slightly different from Myer’s)
o Debugging principles:
* When where is one bug, there is likely to be another
* Fix the error, not just the symptom of it
* Probability of solution being correct drops as size of program increases
* Beware of possibility that an error correction will create a new error (this is less of a
problem in object – oriented environment)
5. Discuss about Black box testing and White box testing strategies. (Apr ’14)
Black Box testing
In black box, the test item is treated as “black”, since its logic is unknown; all that is
known is what goes in and what comes out or the input and output. In black box testing, we try
various inputs and examine the resulting output; we can learn what the box does but nothing
about how this conversion is implemented.
White Box testing
The main use of the white box is in error-based testing, assumes that the specific logic is
important and must be tested to guarantee the system‟s proper functioning. It is also called path
testing, makes certain that each path in aobject‟s method is executed at least once during testing.
Two types of path testing are
Statement testing coverage is to test every statement in the objects method by executing it at
least once. It is unfeasible to test a program on every single input, so you never can be sure that a
program will not fail on some input.
Branch testing coverage is to perform enough tests to ensure that every branch alternative has
been executed at least once under some test.
10 marks
1.Explain in detail about Test Plan. (Nov ’12,Apr ‘15) or
What is a test Plan? What steps are followed in developing a test plan?(Apr ‘12) or
Explain in detail various test plans.(Nov ’15)
o A test is developed to detect and identify potential problems before delivering the s/w
to its users. The test plan need not be very large; in fact, devoting too much time to the plan can
be counter productive.
The following steps are needed to create a plan
1. Objectives of test: Create objectives of test and describe how to achieve them
2. Development of test case: Develop test data, I/O based on domain of data & expected
behavior
3. Test analysis: It involves examination of test O/p and documentation of test results
o All passed tests should be repeated with revised program called regression
testingwhich can discover errors introduced during the debugging process. Most s/w companies
use beta testing, a popular inexpensive, effective way to test s/w and alpha testingwhere testing
is done by in-house testers, such as programmers, software engineers, and internal users.
o Guidelines for developing Test Plans:
Thomas stated following guidelines for writing test plans
◊ Specific appearance or format of test plan must include more details about test
◊ It should contain a schedule and a list of required resources including number of
peoples &time
◊ Document every type of test planned with level of detail driven by several factors
◊ A configuration control system provides a way of tracking changes to code should exist
◊ Try to develop a habit of routinely bring test plan sync with product or product
specification
◊ At end of each month or as reach each milestone, take time to complete routine updates
2. Explain the various testing strategies.(Nov ‘13) or
Describe the different Testing Strategies.(Apr ’13,Apr ‘16)
The extent of testing a system is controlled by many factors, such as the risks involved,
limitations on resources and deadlines. There are many testing strategies such as block box
testing, white box testing, top down testing and bottom up testing.
Black Box testing
In black box, the test item is treated as “black”, since its logic is unknown; all that is
known is what goes in and what comes out or the input and output. In black box testing, you try
various inputs and examine the resulting output; you can learn what the box does but nothing
about how this conversion is implemented.
White Box testing
The main use of the white box is in error-based testing, assumes that the specific logic is
important and must be tested to guarantee the system‟s proper functioning. It is also called path
testing, makes certain that each path in aobject‟s method is executed at least once during testing.
Two types of path testing are Statement testing coverage is to test every statement in the
object‟s method by executing it at least once. It is unfeasible to test a program on every single
input, so you never can be sure that a program will not fail on some input. Branch testing
coverage is to perform enough tests to ensure that every branch alternative has been executed at
least once under some test.
Top-Down testing
Top-Down testing assumes that the object interaction and systems messages of the
application need more testing than an individual object’s methods. Top-down testing should find
critical design errors early in the testing process and significantly improve the quality of the
delivered software because of the iterative nature of the test. A top-down strategy supports
testing the user interface and event-driven systems
This serves two purposes, First, top-down approach can test the navigation through
screens and verify that it matches the requirements.
Second, users can see, at an early stage, how the final application will look and feel. This
approach also is useful for scenario-based testing. Top-down testing is useful to test subsystem
and system integration.
Bottom-Up testing
Bottom-up testing starts with the details of the system and proceeds to higher levels by a
progressive aggregation of details until they collectively fit the requirements for the system.
This approach is more appropriate for testing the individual objects in a system. This strategy
makes sense because you are checking the behavior of a piece of code before it is used by
another. Bottom-up testing leads to integration testing, which leads to systems testing.
3. Explain the continuous testing in SQA.(Nov ‘14)
Continuous Testing: -
o A common practice among developers is to turn over applications to a quality assurance
(QA) group for testing only after development is completed. As it is not initial plan, it is time
consuming and on identification of design weakness whole process must be repeated.
o In order to overcome time constraint, testing must take place on a continuous basis &
refining cycle must continue throughout the development process until fully satisfied with results
o The use cases and usage scenarios can become test scenarios & will drive test plans.
The steps to successful testing are
* Understand & communicate the business case for improved testing
* Develop an internal infrastructure to support continuous testing
* Look for leaders who will commit to and own the process
* Measure & document the findings in a defect recording system
* Publicize improvements as they are made and let people know what they are doing
better
4. Explain the impact of object orientation testing(Apr ’14)
The impact of an object orientation on testing can be summarized as follows:
1. Some types of errors could become less plausible (not worth for testing)
2. Some types of errors could become more plausible (worth testing for now)
3. Some new types of errors might appear
oImpact of Inheritance in Testing: If designers do not follow OOD guidelines especially, if test
is done incrementally, it will lead with objects that are extremely hard to debug and maintain
The base class contains methods inherited() and redefined(). The derived class redefines
the redefined() method. The derived::redefined has to be tested afresh since it is a new code. If
the base::inherited has been changed, the derived::inherited() may not have to be completely
tested. Where it does depend on the base methods: otherwise it must be tested again.
oReusability of Tests: Marick argues that simpler is a test, more likely it is to be reusable in sub
classes. The models developed for analysis & design should be used for testing as well.
If base::redefined() and derived::redefined are two different methods with different
protocols and implementations, each needs a different set of test requirements derived from the
use cases, analysis, design or implementation. You need to write new tests only for those
derived::redefined requirements not satisfied by the base::redefined tests.
Furthermore, the use-case diagram and the highest level class diagrams can benefit the
scenario-based testing. Since a class diagram shows the inheritance structure, which is important
information for error-based testing.
APRIL 2012 51320/SEE6C/SEZ6C
Time : Three hours Maximum : 75 marks
SECTION A — (10 × 2 = 20 marks)
Answer any TEN questions.
1. Define polymorphism.
2. List the steps of micro development process.
3. Differentiate between user and actor.
4. What are the steps of CRC process?
5. What is association?
6. Define cohesion.
7. What is meta–data?
8. What is modal dialog?
9. What do you mean by user-centered interface?
10. What is black-box testing?
11. What is the role of configuration control system?
12. What is usability testing?
51320/SEE6C/SEZ6C 2
SECTION B — (5 × 5 = 25 marks) Answer any FIVE questions.
13. What are the benefits of modeling? Explain.
14. Differentiate between extends association and uses association.
15. Explain the use-case driven approach for identifying classes.
16. Explain the different database models.
17. Explain the four major activities of designing view layer classes.
18. Explain the impact of object orientation on testing.
19. Explain the user satisfaction testing.
SECTION C — (3 × 10 = 30 marks) Answer any THREE questions.
20. Explain the unified approach.
21. Discuss about object relationships.
22. Discuss about designing classes.
23. Explain the User Interface design rules.
24. Explain the test cases and test plans.
———————-----------
APRIL 2013 51320/SEE6C/ SEZ6C
Time : Three hours Maximum : 75 marks
SECTION A — (10 × 2 = 20 marks)
Answer any TEN questions.
All questions carry equal marks.
Each answer should not exceed 50 words.
1. List the key steps in OOAD.
2. Define patterns.
3. What do you meant by object diagram?
4. Define primary actor and supporting actor.
5. What are meta-classes?
6. Define axioms.
7. What are attributes?
8. Define user interface layer.
9. What is CRC?
10. State about usability testing.
11. What is meant by object store?
12. What is the purpose of debugging?
SECTION B — (5 × 5 = 25 marks)
Answer any FIVE questions.
13. Give the differences between design patterns and
frameworks.
14. Discuss briefly the object relationships and
associations.
15. What are the Attributes identified in object
oriented class design phase? Explain.
16. What are the windows in user interface used for?
Explain.
17. Illustrate test plan and continuous testing.
18. Briefly describe the micro level process.
19. Why do we go for unified approach? Explain.
SECTION C — (3 × 10 = 30 marks)
Answer any THREE questions.
20. Explain briefly the various steps in object oriented system development.
21. Explain elaborately about the use case model with suitable example.
22. Explain the object orientated design process and its axioms.
23. Describe the purpose of view layer interface.
24. What are the different types of testing strategies? Explain.
———————————
APRIL 2014 51320/SEE6C/SEZ6C
SECTION A — (10 × 2 = 20 marks)
Answer any TEN questions.
All questions carry equal marks.
1. Define : OO Analysis and Design.
2. Define : UML.
3. Define : Usecase.
4. Define : Patterns template.
5. Write the needs of unified approach.
6. List out the two design axioms applied to objectoriented design.
7. Define : Class Visibility.
8. What is meant by View Layer?
9. Define : Cohesion.
10. What are the types of errors that you could find in your program?
11. List the steps needed for a test plan.
12. What is the objective of testing?
SECTION B — (5 × 5 = 25 marks)
Answer any FIVE questions.
13. What is Framework? Give any two differences between design patterns and frameworks.
14. Differentiate between extends association and uses association.
15. Discuss how to design the classes.
16. What are the three general steps in creating a user interface object? Explain.
17. Briefly explain the user satisfaction cycle.
18. Explain the Attributes identified in object-oriented class design phase in brief.
19. What is meant by the micro level process? Explain.
SECTION C — (3 × 10 = 30 marks)
Answer any THREE questions.
20. Discuss the Object Oriented Methodologies in detail.
21. Discuss about Usecase Driven approach in detail.
22. Discuss the Object-Oriented Design Axioms in detail.
23. Explain the steps involved in designing the access layer classes.
24. Describe Quality Assurance test and Testing strategies.
———————
APRIL 2015 51320/SEE6C/SEZ6C
Time : Three hours Maximum : 75 marks
SECTION A — (10 2 = 20 marks) Answer any TEN questions.
1. Why an object orientation?
2. Define polymorphism.
3. What is the power of prototype
? 4. How naming is done in use-case model?
5. How to identify association?
6. Define attributes.
7. Explain design process.
8. Define axioms.
9. Define micro level process.
10. What is the purpose of view layer interface?
11. What is Top-down testing?
12. How to analyze the test?
SECTION B — (5 5 = 25 marks) Answer any FIVE questions.
13. Explain encapsulation and information hiding.
14. What are the steps involved in software development process?
15. Explain Association role in UML.
16. What is the function of actors in use-case model?
17. Differentiate coupling and cohesion.
18. Explain how to design a view layer class.
19. Give the guideline for developing a user satisfaction test.
SECTION C — (3 10 = 30 marks) Answer any THREE questions.
20. Elaborate static and dynamic models.
21. How to identify object relationship? What is the role of aggregation in relation?
22. Describe the overview of axioms.
23. User Interface design as a creative process – Explain.
24. Explain the testing strategies for a software.
———————
SECTION A — (10 2 = 20 marks) Answer any TEN questions.
1. Define : Multiple inheritance.
2. What is the goal of OOD?
3. Define static model.
4. Write a note on : actors.
5. What is association?
6. What is OCL?
7. Write a note : KISS.
8. Define : Reverse Engineering.
9. What is client-server computing?
10. Define : syntax errors.
11. What is white box testing?
12. Define : user satisfaction testing.
SECTION B — (5 × 5 = 25 marks) Answer any FIVE questions.
13. Discuss briefly on : Object relationships and associations.
14. Write short notes on : Frame works.
15. Discuss about classes, responsibilities and collaborators process.
16. Write about design patterns.
17. Discuss briefly on : Designing view layer classes.
18. Explain about quality assurance tests.
19. Write short notes on : Usability testing.
SECTION C — (3 10 = 30 marks) Answer any THREE questions.
20. Explain about object - oriented systems development.
21. Describe about use-case mode with example
22. Explain object-relational systems.
23. Discuss in detail, micro-level process.
24. Explain the case study on developing usability test plans and test cases for the VIANET
Bank ATM system
———————
JULY 2012 SE 51320/SEE6C/ SEZ6C
Time : Three hours Maximum : 75 marks
SECTION A — (10 × 2 = 20 marks)
Answer any TEN questions.
1. State the software development methodology.
2. What is inheritance?
3. List the types of prototypes.
4. Differentiate between users association and extends association.
5. List the guidelines for naming classes.
6. Define coupling.
7. Define private and public protocol.
8. What is user-centered interface?
9. What are avoid modes?
SE 51320/SEE6C/ SEZ6C 2
10. What is alpha testing?
11. Define the configuration control system.
12. List the debugging principles.
SECTION B — (5 × 5 = 25 marks)
Answer any FIVE questions.
13. Explain the Booch methodology.
14. Explain the noun phrase approach for identifying classes.
15. What is A-part-of relationship? Explain.
16. Explain the process of designing methods and protocols.
17. Explain the guidelines for designing forms and data entry windows.
18. How to prototype the user interface? Explain.
19. Explain the impact of object orientation on testing.
SECTION C — (3 × 10 = 30 marks)
Answer any THREE questions.
20. Discuss about UML class diagram.
21. Explain the use-case model.
22. Discuss the distributed databases and client-server computing.
23. Explain the micro-level process in designing view layer classes.
24. Discuss the different testing strategies.
———————
JULY 2014 SE 51320/ SEE6C/SEZ6C
Time : Three hours Maximum : 75 marks SECTION A — (10 2 = 20 marks)
Answer any TEN questions,
All questions carry equal marks.
1. What do you mean by polymorphism?
2. What are the uses of usecase?
3. List out the three types of actors.
4. What is meant by primary supporting actor?
5. Define meta-classes.
6. What is Class visibility?
7. What are the two design axioms applied to objectoriented design?
8. What is User Interface Layer?
9. Define schema or meta-data.
10. What is continuous testing?
11. Define Object Store.
12. Define System Usability.
SECTION B — (5 × 5 = 25 marks) Answer any FIVE questions,
13. Explain object-oriented design in unified approach.
14. Write briefly about Use cases with examples.
15. Explain briefly the object interoperability.
16. Explain the steps involved in designing the view layer classes.
17. Describe test cases and the impacts of object orientation on testing.
18. What are the three basic types of attributes? Explain.
19. Explain how to design the object oriented classes.
SECTION C — (3 10 = 30 marks) Answer any THREE
. 20. Explain the system development life cycle in OOAD.
21. Discuss about object relationships.
22. Discuss elaborately the Object Oriented Design Process.
23. Give steps involved in Micro development process.
24. Explain the following : (a) Quality Assurance tests (5) (b) Debugging Principles. (5)
————————
NOVEMBER 2012 51320/SEE6C/ SEZ6C
Time : Three hours Maximum : 75 marks
SECTION A — (10 × 2 = 20 marks)
Answer any TEN questions.
1. What is cardinality?
2. Define pattern.
3. What is 'uses association'?
4. Differentiate between user and actor.
5. Define aggregation.
6. Define coupling.
7. Name the types of attributes.
8. Define the spring-loaded mode of user interface.
9. What is a mode?
10. What is white-box testing?
11. What is regression testing?
12. List the debugging principles.
SECTION B — (5 × 5 = 25 marks)
Answer any FIVE questions.
13. Explain the macro development process.
14. Explain CRC (Classes, Responsibilities, and Collaborators)
15. Explain the super-sub class relationships.
16. Explain the design patterns.
17. Describe the guidelines for designing forms.
18. Explain the test cases.
19. Describe user satisfaction testing.
SECTION C — (3 × 10 = 30 marks)
Answer any THREE questions.
Each answer should not exceed 500 words.
20. Discuss the UML class diagram with notations.
21. Explain the noun phrase approach for identifying classes.
22. Describe the distributed databases and client/server computing.
23. Discuss about designing view layer classes.
24. Explain the usability testing.
———————————
NOVEMBER 2013 51320/SEE6C/SEZ6C
Time : Three hours Maximum : 75 marks
SECTION A — (10 × 2 = 20 marks)
Answer any TEN questions.
1. What is RAD?
2. List the phases of OMT.
3. What is ‘extends association’?
4. What are the steps of CRC process?
5. Name the three types of relationship among objects.
6. Differentiate between coupling and cohesion.
7. What are distributed databases?
8. What do you mean by user-entered interface?
9. Define patterns.
10. List the Myer’s debugging principles.
11. Define user satisfaction test.
12. What is COTS?
SECTION B — (5 × 5 = 25 marks)
Answer any FIVE questions.
13. Explain the symbols of DFD.
14. Explain the common class patterns approach for identifying classes.
15. What are the guidelines for naming classes?
16. What are the types of methods a class can provide? Explain.
17. Discuss about prototyping the user interface.
18. Explain the impact of object orientation on testing.
19. Explain usability testing.
SECTION C — (3 × 10 = 30 marks)
Answer any THREE questions.
20. Explain the UML dynamic modeling.
21. Discuss the use case model.
22. Explain the object oriented database management system.
23. Describe the macro and micro processes of view layer design.
24. Discuss the different testing strategies.
——————————
Ws1
NOVEMBER 2014 51320/SEE6C/ SEZ6C
Time : Three hours Maximum : 75 marks SECTION A — (10 2 = 20 marks) Answer any
TEN questions.
1. What is RAD?
2. Define UML.
3. What is ‘extends association’?
4. Write the needs of unified approach.
5. Define Cohesion.
6. What are the types of attributes?
7. What do you mean by user-entered interface?
8. List the Myer’s debugging principles.
9. What is meant by View Layer?
10. Define user satisfaction test.
11. What is spring-loaded mode?
12. What are the types of errors that you could find in your program?
SECTION B — (5 5 = 25 marks) Answer any FIVE questions.
13. Explain the component bases development.
14. Explain the Booch methodology.
15. Discuss the design patterns.
16. Explain the database models.
17. What is meant by the micro level process? Explain.
18. Briefly explain the user satisfaction cycle.
19. Explain usability testing.
SECTION C — (3 10 = 30 marks) Answer any THREE questions.
20. Discuss the use case approach of object-oriented system development.
21. Discuss the use case model.
22. Explain the object oriented DBMS.
23. Explain the steps involved in designing the access layer classes.
24. Discuss the different testing strategies.
———————————
NOVEMBER 2015 51320/SEE6C/SEZ6C
Time : Three hours Maximum : 75 marks PART A — (10 2 = 20 marks) Answer any TEN
questions.
1. Differentiate single and multiple inheritance.
2. What are meta-classes?
3. What is pattern template?
4. Define object oriented methodology.
5. What are the guidelines for effective documentation?
6. Define candidate class.
7. Write design axioms
. 8. What is UML?
9. What is the purpose of view layer interface?
10. Define black box testing.
11. Define white box testing.
12. How to develop test case?
PART B — (5 5 = 25 marks) Answer any FIVE questions.
13. Briefly explain object oriented systems development methodology.
14. Describe UML diagram with example.
15. How to define attributes by analyzing use case and UML diagram?
16. Explain object oriented design process.
17. Discuss the Overview of object interoperability.
18. Explain quality assurance tests.
19. Describe debugging principles.
PART C — (3 10 = 30 marks) Answer any THREE questions.
20. What are objects? How objects are grouped in classes? Give examples.
21. Explain object analysis classification theory.
22. Explain the object oriented design axioms and object storage.
23. Explain user interface design as a creative process.
24. What are the impacts of object orientation on testing? Explain.
———————
APRIL 2012 51412/SEU5C Time : Three hours Maximum : 75 marks SECTION A — (10 × 2
= 20 marks) Answer any TEN questions.
1. What is software correspondence?
2. Why do we need to model a problem?
3. Define ‘data abstraction’.
4. What is a use-case model?
5. What are the events classes?
6. Is association different from an a-part-of relation?
7. What is a concurrency policy?
8. Give examples for public and private protocols
. 9. Why do users find OOUI easier to use?
10. What circumstances you can use modes in your user interface?
11. What is path testing?
12. What is quality?
SECTION B — (5 × 5 = 25 marks) Answer any FIVE questions.
13. What is the difference between an object’s methods and an object’s attributes?
14. Describe any five Booch diagrams.
15. How would you identify a super-subclass structure? Explain.
16. What is the basic activity in designing an application?
17. What is the difference between a schema and meta-data?
18. Describe the UI Design rules.
19. What basic activities are performed in using debugging tools? SECTION C — (3 × 10 = 30
marks) Answer any THREE questions.
20. Describe the components of the unified approach.
21. Develop sequence / collaboration diagrams for the withdraw savings Denied use case of the
bank system.
22. List the object-oriented design axioms and corollaries.
23. Describe the macro and micro processes of view layer design.
24. What is a test plan? What steps are followed in developing a test plan?
–––––––––––
APRIL 2013 51412/SEU5C Time : Three hours Maximum : 75 marks SECTION A — (10 × 2
= 20 marks) Answer any TEN questions. 1. What is an object?
2. What is software validation?
3. What is UML?
4. Define method.
5. What is an Association?
6. Define theorem.
7. What is public protocol?
8. What is DBMS?
9. Write some of the modes used in the User Interface.
10. What is an Application Window?
11. What are the two types of Path Testing?
12. What are the different kinds of Errors?
SECTION B — (5 × 5 = 25 marks) Answer any FIVE questions.
13. What are the different models of the OMT? Explain.
14. Explain the extensibility of the UML.
15. Explain about Class Responsibility.
16. Discuss about Object Oriented Design Axioms.
17. Describe the process of creating the access layer.
18. Explain about the designing of the view layer classes.
19. Briefly discuss about Quality Assurance tests.
SECTION C — (3 × 10 = 30 marks) Answer any THREE questions.
20. Briefly describe about the Unified Approach.
21. Discuss about object Responsibility.
22. Briefly explain the object oriented designing process.
23. Explain the guidelines for designing application windows.
24. Describe the different Testing Strategies
. —————————
Wk 3 APRIL 2015 51412/SEU5C Time : Three hours Maximum : 75 marks
SECTION A — (10 × 2 = 20 marks) Answer any TEN questions each in 30 words.
1. Define Objects.
2. What is meant by Inheritance?
3. What is a model?
4. What is a transaction?
5. Write down any two approaches for identifying classes.
6. Define axiom.
7. What is meant by Coupling?
8. Define DML.
9. Define User Centered Interface.
10. What is white box testing?
11. What is quality?
12. What is a user satisfaction test?
SECTION B — (5 × 5 = 25 marks)
Answer any FIVE questions each in 200 words.
13. Write a short note on Activity Diagram.
14. Describe the basic activities in Object-Oriented Analysis.
15. What is an a-part-of structure? Explain.
16. Explain the object-oriented design axioms.
17. Write a short note on Object-Relation Mapping.
18. Write short notes on Quality Assurance Tests.
19. Write a short note on “Debugging principles”.
SECTION C — (3 × 10 = 30 marks)
Answer any THREE questions each in 500 words.
20. Describe the Processes and Components of the Unified approach
21. . Explain in detail about associations.
22. Explain the various activities of the objectOriented design process.
23. Describe the process of creating the access layer classes.
24. Explain in detail about Test Plan.
———————
OOAD-FULL-UNITS (full unit) SEE6A

OOAD-FULL-UNITS (full unit) SEE6A

  • 1.
    3 CS ‘A’ UNIT–I SECTION-A(2 MARKS) 1. Define polymorphism. APRIL 2012, APRIL 2015, JULY 2014 Polymorphism is the ability for a message or data to be processed in more than one form. 2. List the steps of micro development process. APRIL 2012 The micro development process consists of the following steps: i. Identify classes and objects. ii. Identify classes and object semantics iii. Identify classes and object relationships iv. Identify class and object interface and implementation. 3. Define : OO Analysis and Design. APRIL 2014 Object oriented analysis concerns about determining the system requirements and identifying classes and their relationship to other objects in a given application. The object oriented design deals with the design of classes identified during the analysis phases and the user interface. 4. Define : UML. APRIL 2014 UML is a language for specifying, constructing visualizing, documenting the software system and its components. 5. Define : Patterns template. APRIL 2014, NOVEMBER 2013, NOVEMBER 2012, NOVEMBER 2015 There are different pattern templates are available which will represent a pattern. It is generally agreed that a pattern should contain certain following components. Name : A meaningful name. Problem : A statement of the problem that describes its intent. Context : The preconditions under which the problem and its solution seem to recur and for which the solution is desirable. This tells us the pattern’s applicability. Forces : constraints and conflicts with one another with the goals which we wish to achieve. Solution : solution makes the pattern come alive. Examples : sample implementation Resulting context : describes the post conditions and side effects of the pattern. Rationale : justifying explanation of steps or rules in the pattern. This tells how the pattern actually works, why it works and why it is good. Related patterns. : The static and dynamic relationships between these patterns and others with in the same pattern language or system. Known uses: The known occurrences of the pattern and its application within existing systems.
  • 2.
    6. Write theneeds of unified approach. APRIL 2014, NOVEMBER 2014 The need for unified approach is to unify the modelling techniques of booch,Rambaugh and Jacobson. 7. Why an object orientation? APRIL 2015 The reason for object orientation is i. Higher level of abstraction ii. Seamless transistion among different phases of software development iii. Encouragement of good programming techniques. iv. Promotion of reusability 8. What is the power of prototype? APRIL 2015  Prototypes helps the designer to visualize and test the design  It enables to understand how easy or difficult is to implement some of the features of the system. 9. Define : Multiple inheritance. APRIL 2016 Object oriented system permits a class to inherit its states and behaviour from more than one superclass. This is called multiple inheritance. 10. What is the goal of OOD? APRIL 2016 The goal of the object oriented design is to design the classes identified during the analysis phases and the user interface. 11. Define static model. APRIL 2016 A static model can be viewed as a snapshot of a systems parameters at rest or at a specific point in time. Static models are needed to represent the structural or static aspect of a system. Static model assume stabile and an absence of change in data over time. Eg: UML class diagram. 12. What is RAD? NOVEMBER 2014 , NOVEMBER 2013 RAD is a set of tools and techniques that can be used to build application faster than typically possible with traditional methods 13. Differentiate single and multiple inheritance. NOVEMBER 2015 Object oriented system permits a class to inherit its states and behaviour from more than one superclass. This is called multiple inheritance. Object oriented system permits a class to inherit its states and behaviour from only one superclass. This is called single inheritance.
  • 3.
    14. What aremeta-classes? NOVEMBER 2015 A class of classes is called meta classes. Meta classes are used by the compiler. 15. What do you meant by object diagram? APRIL 2013 The object diagrams describe the desired behavior of the system in terms of scenarios. 16. List the phases of OMT. NOVEMBER 2013 OMT consist of four phases, which can be performed iteratively, 1) Analysis: The results are objects and dynamic and functional models. 2) System design: The results are the structure of the basic architecture of the system along with highlevel strategy decision. 3) Object design: this phase produces a design document, consisting of detailed objects static,dynamic functional models. 4) Implementation : This activity produces reusable ,extensible, and robust code. 17. What is cardinality? NOVEMBER 2012 The number of instances of one class that may relate to a single instance of an associated class. 18. State the software development methodology. JULY 2012 The software methodology is the series of processesthat , if followed can lead to development of an application. 19. What is inheritance? JULY 2012 Inheritance is the property of object-oriented systems that allows objects to be built from other objects. Inheritance is a relationship between classes where one class is the parent class of another (derived) class. 22.What is software correspondence? (APR 2012) Correspondence measures how well the delivered system matches the needs of the operational environment as described in the original requirements statement. 23.Why do we need to model a problem? (APR 2012) Model benefits are clarity, familiarity, maintenance and simplification. A Model includes a) Model Elements – Fundamental modeling concepts and semantics. b) Notation – Visual rendering of model elements. c) Guidelines – Expression of usage. 24.Define data abstraction. (Apr 2012) Describing the functionality of a class independent of its implementation is called data abstraction.
  • 4.
    25.Define Objects.(Nov 2012,Apr 2013,Apr 2015, Nov 2015) Objects means a combination of data and logic that represents some real-world entity (e.g) cars name color, doors. 26.What is a model? (Nov 2012, Apr 2015, Nov 2015) A model is an abstract representation of a system constructed to understand the system prior to building or modifying it. 27.What is software validation? (Apr 2013, Nov 2013, Apr 2016) Validation is the task of predicting correspondence. True correspondence can be determined only after the system is in place. 28. What is polymorphism(Apr 2014,Apr 2016) Polymorphism means that the same operations may behave differently on different classes. Booch defines polymorphism as the relationship of objects many different classes by some common super class. 29.What is System Development? (Apr 2014) System Development refer to all activities that go into producing an information system solutions. System development activities consist of system analysis, modeling, design, implementation, testing and maintenance. 30.Define Behavior. (April 2014) Behavior denotes the collection of methods that abstract describe when an object is capable of doing. 31.Define Class Hierarchy. (Nov 2014) An object-oriented system organizes classes into a subclass super class hierarchy. At the top are the most general classes and more specific are at the bottom of the class hierarchy. 32.List the types of prototypes. JULY 2012 Prototyping defines the use case and it actually makes use case modeling much easier. Protyping provides the developer, a means to test and refine the user interface and increase the usability of the system. Prototypes have been categorized in various ways.  Horizontal prototype  Vertical prototype  Analysis prototype  Domain prototype SECTION-5(2 MARKS) 1. What are the benefits of modeling? Explain. APRIL 2012 • Clarity – Visual representations are mode clear and informative than listed or written documents. Missed out details can be easily found out. • Familiarity – Similar modeling language and techniques is followed by developers working in same domain.
  • 5.
    • Maintenance –Changes can be made easily in visual systems and changes can be confirmed easily. • Simplification – More complex structures can be represented in an abstract manner to deliver the conceptual idea. 2. What is Framework? Give any two differences between design patterns and frameworks. APRIL 2014, APRIL 2013, APRIL 2016  Frameworks are the way of delivering application development patterns to support/share best development practice during application development.  In general framework is a generic solution to a problem that can be applied to all levels of development.  Design and Software frameworks and most popular where Design pattern helps on Design phase and software frameworks help in Component Based Development phase.  Framework groups a set of classes which are either concrete or abstract.  This group can be sub classed in to a particular application and recomposing the necessary items.  Differences: a. Frameworks can be inserted in to a code where a design pattern cannot be inserted. To include a design pattern the implementation of the design pattern is used. b. Design patterns are instructive information; hence they are less in space where Frameworks are large in size because they contain many design patterns. c. Frameworks are more particular about the application domain where design patterns are less specified about the application domain. 3. Explain encapsulation and information hiding. APRIL 2015  Encapsulation refers to the wrapping up of data and operations or functions into a single unit.  Encapsulation is achieved through information hiding.  Information hiding is implemented through access levels or modifiers— private,protected, public.. Private members are accessed only within the class where as public members can be accessed outside the class. 4.What are the steps involved in software development process? APRIL 2015 It consists of the following steps:  Analysis  Design  Implementation  Testing  Maintenance 5.Discuss briefly on : Object relationships and associations. APRIL 2016, APRIL 2013 Binary Association Notation and association role:
  • 6.
    It represents theassociation between two classes represented by a straight line connecting two classes. Association has got a name written on the line and association role. Association Role: It’s related to association. Each class that is a member of an association plays a role in the association called association role.  Qualifier Qualifier is an attribute of an association. It makes the association more clear.  Multiplicity: It gives the range of associated classes. It is specified of the form lower bound..Upper bound or integer. Lower bound must be an integer where upper bound can be an integer or a *.  OR – Association: It’s a relation in which a class is associated to more than one class and only one association is instantiated at any instance of time for an object. It is represented by a dashed line connecting two associations.
  • 7.
     Association Class: It’san association that has class properties. The association class is attached to an association with a dashed line .  N – Ary Association: It’s an association where more classes participate. They are connected by a big diamond and the name of the association is named near the line. 4. Explain the component bases development.NOVEMBER 2014 Component based development: (CBD) Component-Based Development is an industrialized approach to the software development process. The two basic ideas of using Component-Based development.
  • 8.
    1. The applicationdevelopment can be improved significantly if applications can be assembled quickly from prefabricated software components. 2. An increasingly large collection of interpretable software components could be made available to developers in both general and specified catalogs. 5. Explain the Booch methodology.NOVEMBER 2014 , JULY 2012 Booch provides a technique for creating more informative model. This approach provides a large set of notations so that a complete model can be built during the analysis and design phase. BoochDiagrams are  Class Diagram  Object Diagram  State Transition Diagram  Module Diagram  Process Diagram  Interaction Diagram (State transition diagram)
  • 9.
    The Booch methodologyprescribed a macro development and micro development process.  The Macro Development Process: The macro process serves as a controlling frame work for the micro process and can takes weeks (or) even months. The macro development process consists of the following steps.  Conceptualization.  Analysis and Development of the Architecture.  Design or Create the System Architecture.  Evolution or Implementation. o Conceptualization: Establish the core requirements of the system. Establish a set of goals and develop a problem to prove the concept. o Analysis and Development of the Model: The class diagrams are used to describe the roles and responsibilities of objects to carry out in performing the desired behavior of the system. o Design or Create the System Architecture: The class diagram is used to decide what classes exist and how they relate to each other. The objects diagrams decide what mechanisms are used in object collaboration finally use the process diagram to determine to which processor to allocate process. o Evolution or Implementation: Produce a stream of software implementation after a successfully refining the system through many iterations. o Maintenance: Make localized changes to the system to add new requirements and eliminate bugs.  The Micro Development Process: Each macro development process has its own micro development process. The micro process is a description of the day to day activities by a single (or) small group of software developers. The micro development process consists of the following steps.  Identify classes and objects.  Identify class and object semantics.  Identify class and object relationships.  Identify class and object interface and implementation. 
  • 10.
    6. Discuss thedesign patterns.NOVEMBER 2014 Design pattern is instructive information for that captures the essential structure and insight of a successful family of proven design solutions to a recurring problem that arises within a certain context. Gang of Four (GoF) [Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides] introduced the concept of design patterns. Characteristics of Design Patterns: 1. It solves the problem – Design patterns are not just abstract representations of theoretical research. To be accepted as a pattern it should have some proves practical experiences. 2. It’s a proven concept – Patterns must have a successful history. 3. It describes a relationship – Patterns do not specify a single class instead it specifies more than one classes and their relationship. 4. It has a human component - Good patterns make the job of the programmer easy and time saving. Contents of Design Pattern: • Name of the pattern is used to identify the pattern as well as an descriptive of the problem solution in general. Easy to remember and context related names makes remembering patterns easy. • Context of the pattern describes when and where the pattern is applicable. It also describes the purpose of pattern and also the place where it is not applicable due to some specific conditions. • Solution of the design pattern is describes how to build the appropriate design using this appropriate design. • Consequences of design patterns describe the impact of choosing a particular design pattern in a system. Pattern templates: There are different pattern templates are available which will represent a pattern. It is generally agreed that a pattern should contain certain following components. Name : A meaningful name. Problem : A statement of the problem that describes its intent. Context : The preconditions under which the problem and its solution seem to recur and for which the solution is desirable. This tells us the pattern’s applicability. Forces : constraints and conflicts with one another with the goals which we wish to achieve. Solution : solution makes the pattern come alive. Examples : sample implementation Resulting context : describes the post conditions and side effects of the pattern. Rationale : justifying explanation of steps or rules in the pattern. This tells how the pattern actually works, why it works and why it is good. Related patterns. : The static and dynamic relationships between these patterns and others with in the same pattern language or system.
  • 11.
    Known uses: Theknown occurrences of the pattern and its application within existing systems. Generative Patterns: Patterns that suggest the way of finding the solution Non Generative patterns: They do not suggest instead they give a passive solution. Non Generative patterns cannot be used in all the situation. 7. Describe UML diagram with example. NOVEMBER 2015 Class diagrams are used in object modeling where real world objects are mapped to logical objects in computer program. Notations and symbols used in Class diagrams are  Class Notation  Object Diagram  Class Interface Notation  Binary Association Notation and Association Role  Qualifier  Multiplicity  OR Association  Association Class  N – ARY Association  Aggregation and Composition  Class Notation: Classes are represented in a rectangular box. The top box has the name, the middle one has the attributes/properties/data members and the lower one has the behavior/ member functions/ methods. A Box with a class name represents the most abstract representation of a class. E.g.  Object Diagram: Object diagram is an instance of a class diagram.  Class Interface Notation:
  • 12.
    It represents theexternally visible behavior of a class. Externally visible behaviors are public members. The notation is small circle with a line connected to a class.  Binary Association Notation and association role: It represents the association between two classes represented by a straight line connecting two classes. Association has got a name written on the line and association role. Association Role: It’s related to association. Each class that is a member of an association plays a role in the association called association role.  Qualifier: Qualifier is an attribute of an association. It makes the association more clear.  Multiplicity: It gives the range of associated classes. It is specified of the form lower bound..Upper bound or integer. Lower bound must be an integer where upper bound can be an integer or a *.  OR – Association:
  • 13.
    It’s a relationin which a class is associated to more than one class and only one association is instantiated at any instance of time for an object. It is represented by a dashed line connecting two associations.  Association Class: It’s an association that has class properties. The association class is attached to an association with a dashed line .  N – Ary Association: It’s an association where more classes participate. They are connected by a big diamond and the name of the association is named near the line.  Aggregation and Composition:
  • 14.
    Aggregation is a‘part – of’ association. Containment is a type of aggregation with weak ownership where composition is a part of relationship with strong owner ship. Containment is represented by a line with hollow diamond arrow at the end where a Composition is represented by filled diamond at the end.  Generalization: It is a relationship between more general and specific classes. It’s represented by a directed line with a hollow arrow head. Some diagrams specify incomplete number of subclasses. It can be represented by ellipses.  Use-case diagram:
  • 15.
    A use caseis an interaction between users and a system; it captures the goal of users and responsibility of system to its users. The use – case model describes the uses of system and shows the courses of events that can be performed. (Library – system use case model) Under the microscope: A use case is a sequence of transactions in a system whose task is to yield results of measurable value to an individual actor of system. Now let us take to look at the keywords of this definition i) Use–Case: It is special flow of events through the system. ii) Actors: An actor is user playing a role with respect to system. iii) System: This simply means that the actors communicate with the system’s use case. iv) Measurable value: A use case must help the actor to perform a task that has some identifiable value. v) Transaction: It is an atomic set of activities that are performed either fully or not at all.  State chart diagram
  • 16.
    A state chartdiagram (also called a state diagram) shows the sequence of states hat an object goes through during its life in response to outside stimuli and messages. The state is the set of values that describes an object at a specific point in time and is represented by state symbols and the transitions are represented by arrows connecting the state symbols. A state chart diagram may contain sub diagrams. The purpose of the state diagram is to understand the algorithm involved in performing a method. To complete an object-oriented design, the activities within the diagram must be assigned to objects and the control flows assigned to links in the object diagram. (A simple state idle and a nested state) Activity diagram An Activity diagram is a variation or special case of a state machine, in which the states are representing the performance of operation and the transitions are triggered by the completion of the operations. The purpose of an activity diagram is to provide a view of flows and what is going on inside a use case or among several classes. (Activities diagram)
  • 17.
    Actions may beorganized into swimlanes which is indicated by vertical solid lines on both side. Each swimlane represents responsibility for part of the overall activity and may be implemented by one or more objects. (Swimlanesin an Activity Diagram)
  • 18.
     Sequence diagramfor Withdraw checking use case:  Collaboration diagram for Withdraw checking use case:
  • 19.
    8. Explain thesymbols of DFD. NOVEMBER 2013 The OMT data flow diagram (DFD) shows the flow of data between different processes in a business. Data flow diagrams use four primary symbols: I. Process: The process is any function being performed. (eg: verify password or pin in the ATM) II. Data flow: The data flow shows the direction of data element movement. (eg: pin code) III. Data store: The data store is a location where data is stored. (eg: account in ATM). IV. External entity: The external entity is a source or destination of a data element.(eg: ATM card reader) (OMT DFD of the ATM machine)
  • 20.
    9. Explain themacro development process. NOVEMBER 2012  The Macro Development Process: The macro process serves as a controlling frame work for the micro process and can takes weeks (or) even months. The macro development process consists of the following steps.  Conceptualization.  Analysis and Development of the Architecture.  Design or Create the System Architecture.  Evolution or Implementation. o Conceptualization: Establish the core requirements of the system. Establish a set of goals and develop a problem to prove the concept. o Analysis and Development of the Model: The class diagrams are used to describe the roles and responsibilities of objects to carry out in performing the desired behavior of the system. o Design or Create the System Architecture:
  • 21.
    The class diagramis used to decide what classes exist and how they relate to each other. The objects diagrams decide what mechanisms are used in object collaboration finally use the process diagram to determine to which processor to allocate process. o Evolution or Implementation: Produce a stream of software implementation after a successfully refining the system through many iterations. o Maintenance: Make localized changes to the system to add new requirements and eliminate bugs. 10.Explain the extensibility of the UML.(Apr 2013).  Model Constraints and Comments: Relationships among model elements specifying conditions and propositions that must be maintained as true; otherwise the system described by the model would be invalid. Constraints are shown as text in braces, { }. A Constraint may be “comment”, in which case it is written in text. (Example of Constraints)  Note: A note is a graphic symbol containing textual information. It also could contain embedded images. A note is shown as a rectangle with a “bent corner” in the upper right corner. It can contain any length text. (Note)
  • 22.
     Stereotypes: It representa built in extensibility mechanism of the UML. User-defined extension of the UML are enabled through the use of stereotype and constraints. The stereotype allows extensions of UML notation as well as a graphic figure, texture, and color. (Various forms of stereotype notation)
  • 23.
    SECTION-C(10 MARKS) 1. Explainthe unified approach. APRIL 2012 The unified Approach (UA) establishes a unifying and unitary framework around their works by utilizing the unified modeling language(UML) to describe, model and document the software development process. The process are: 1. Use case driven development 2. Object oriented analysis 3. Object oriented design 4. Incremental development and protyping 5. Continuous testing The methods and technology employed include 1. Uml used for modeling 2. Layered Approach 3. Repository for object oriented system development 4. Component based development
  • 24.
     Object orientedAnalysis(OOA): It consist of the following steps: 1. Identify the Actors 2. Develop a simple business process model using UML Activity diagram 3. Develop the use case 4. Develop interaction diagrams 5. Identify classes  Object oriented Design(OOD): It consists of the following steps: 1. Designing classes, their attributes, methods, associations, structure and protocols, apply design axioms. 2. Design the Access layer 3. Design and prototype user interface 4. User satisfaction and usability tests based on the usage/use cases. 5. Iterate and refine the Design.  Iterative Development and continuous Testing: Iterate and reiterate until, eventually, we are satisfied with the system. Since testing, often uncovers design weaknesses or at least provides additional information.  The UA proposed Repository: Create a Repository that allows the maximum reuse of previous experience and previously defined objects, patterns, frameworks and user interfaces.  The layered Approah to software Development: The two-layered architecture consists of interface and data. The three-layered architecture consists of interface, business layer and Access layer. (Two-layered Architecture) (Three-layered Architecture)
  • 25.
     The Businesslayer: The business layer contains all the objects that represents the business (both data and behavior). These objects should not be responsible for the following. 1. Display details 2. Data Access details  The user interface (view) layer: It is responsible for two major aspects of the application. 1. Responding to user interaction 2. Displaying business objects  The Access layer: It consists objects which understand how to communicate with the place where the data actually reside whether on RDBMS, Mainframe, and Internet on life. The two major responsibilities for the access layer are 1. Translate Request 2. Translate results 2. Discuss the Object Oriented Methodologies in detail. APRIL 2014 Rumbaugh‘s object modelling technique(OMT):  The OMT dynamic model: The OMT state transition diagram is a network of states, events, and actions. Each state receives one or more events and the next state depends on the current state as well as the events. (State transition diagram for the bank application user interface)
  • 26.
     The OMTfunctional Model: The OMT data flow diagram (DFD) shows the flow of data between different processes in a business. Data flow diagrams use four primary symbols: II. Process: The process is any function being performed. (eg: verify password or pin in the ATM) II. Data flow: The data flow shows the direction of data element movement. (eg: pin code) III. Data store: The data store is a location where data is stored. (eg: account in ATM). IV. External entity: The external entity is a source or destination of a data element.(eg: ATM card reader) (OMT DFD of the ATM machine)
  • 27.
    Booch Methodology: Booch providesa technique for creating more informative model. This approach provides a large set of notations so that a complete model can be built during the analysis and design phase. BoochDiagrams are  Class Diagram  Object Diagram  State Transition Diagram  Module Diagram  Process Diagram  Interaction Diagram
  • 28.
    (State transition diagram) TheBooch methodology prescribed a macro development and micro development process.  The Macro Development Process: The macro process serves as a controlling frame work for the micro process and can takes weeks (or) even months. The macro development process consists of the following steps.  Conceptualization.
  • 29.
     Analysis andDevelopment of the Architecture.  Design or Create the System Architecture.  Evolution or Implementation. o Conceptualization: Establish the core requirements of the system. Establish a set of goals and develop a problem to prove the concept. o Analysis and Development of the Model: The class diagrams are used to describe the roles and responsibilities of objects to carry out in performing the desired behavior of the system. o Design or Create the System Architecture: The class diagram is used to decide what classes exist and how they relate to each other. The objects diagrams decide what mechanisms are used in object collaboration finally use the process diagram to determine to which processor to allocate process. o Evolution or Implementation: Produce a stream of software implementation after a successfully refining the system through many iterations. o Maintenance: Make localized changes to the system to add new requirements and eliminate bugs.  The Micro Development Process: Each macro development process has its own micro development process. The micro process is a description of the day to day activities by a single (or) small group of software developers. The micro development process consists of the following steps.  Identify classes and objects.  Identify class and object semantics.  Identify class and object relationships.  Identify class and object interface and implementation.
  • 30.
    JACOBSON’S METHODOLOGY: The Jacobsonmethodologies cover the entire life cycle and stress trace ability between the different phases, both forward and backward. This trace ability enables reuse of analysis and design work. The heart of their methodologies is the usecase concept, which evolved with objectory (Object Factory for Software Development)  Object-oriented Business Engineering (OOBE)  Object-Oriented Software Engineering (OOSE) The Booch methodology prescribes a macro development and micro development process. Use Cases  Use cases are scenarios for understanding system requirements.  A use case is an interaction between users and a system.  The use-case model captures the goal of the user and the responsibility of the system to its users The use case description must contain:  How and when the use case begins and ends.  The interaction between the use case and its actors, including when the interaction occurs and what is exchanged.  How and when the use case will store data in the system.  Exceptions to the flow of events. Object-Oriented Software Engineering: Objectory Object-oriented software engineering (OOSE), also called Objectory, is a method of object- oriented development with the specific aim to fit the development of large, real-time systems. Objectory is built around several different models:  Use case model.  Domain object model.  Analysis object model.  Implementation model.  Test model. Use case model: The use case model defines the outside (actors) and inside (use case) of the system behavior. Domain object model. The objects of the real world are mapped into the domain object model. Analysis object model. The analysis object model presents how the source code should be carried out and written.
  • 31.
    Implementation model. Theimplementation model represents the implementation of the system. Test model :The test model constitutes the test plans, specifications, and reports. Object-Oriented Business Engineering (OOBE) Object-oriented business engineering (OOBE) is object modeling at the enterprise level. Use cases again are the central vehicle for modeling, providing traceability throughout the software engineering processes. OOBE consists of:  Analysis phase  Design  Implementation phases and  Testing phase. Analysis phase: The analysis phase defines the system to be built in terms of the problem- domain object model, the requirements model, and the analysis model. The analysis process is iterative but the requirements and analysis models should be stable before moving to subsequent models. Design and Implementation phases: The implementation environment must be identified for the design model. The analysis objects are translated into design objects that fit the current implementation. Testing phase. There are several levels of testing and techniques. The levels include unit testing, integration testing, and system testing. 3. Elaborate static and dynamic models. APRIL 2015, NOV 2014  Model : Represents an abstract of the system. It is build prior to the original system. It can be used to make a study on the system and also can be used to analyze the effect of changes on the system. Models are used in all disciplines of engineering.  Static Model : Represents the static structure of the system. Static models are stable and they don’t change over time. E.g. Class diagram.  Dynamic Model : Collection of diagrams that represents the behavior of the system over time. It shows the interaction between various objects over time. E.g. Interaction Diagram.
  • 32.
    A model includes a)Model Elements – Fundamental modeling concepts and semantics. b) Notation – Visual rendering of model elements. c) Guidelines – Expression of usage. 4. Discuss the use case approach of object-oriented system development. NOVEMBER 2014  Object-Oriented Systems Development: A use-case Driven Approach: The object-oriented S/W development Life Cycle (SDLC) consists of three Macro process.  Object-Oriented Analysis  Object-oriented Design and  Object-oriented Implementation Object oriented system development include these activities..  Object-oriented Analysis – Use case driven  Object-oriented design  Prototyping  Component-based development  Incremental testing (Object-oriented system development approach)
  • 33.
    Designs are producedthat are traceable across requirements, analysis, design, and implementation and testing.  Object-Oriented Analysis –Use-Case Driven: The object-oriented analysis phase of S/W development is concerned with determining the system requirements and identifying classes and their relationship to other classes n the problem domain. To understand the system requirements we need to identify the users or the actors. Scenarios are a great way of examine who does what in the interactions among objects and what role they play. It is an intersection of objects roles to achieve a given goal is called collaboration. A use-case is a typical interaction between a user and a system that captures user goals & needs. An interaction with customers in a scenario and analyzing it is referred to as use-case modeling.  Object oriented Design: The goal of object oriented design is to design the classes identified the classes during analysis phase and the user interface. Build the design based on the objects and their relationships, then iterate and refined the model.  Design and refine classes  Design and refine attributes  Design and refine methods  Design and refine structure  Design and refine associations
  • 34.
     Prototyping: Prototyping definesthe use case and it actually makes use case modeling much easier. Protyping provides the developer, a means to test and refine the user interface and increase the usability of the system. Prototypes have been categorized in various ways.  Horizontal prototype  Vertical prototype  Analysis prototype  Domain prototype  Horizontal Prototype: It is a simulation of the interface but contains no functionality. Very quick to implement, providing a good overall feel of the system and allowing users to evaluate the interface.  Vertical Prototype: It is a subset of the system features with complete functionality. The advantage of this method is that the few implemented functions can be tested in great depth.  Analysis Prototype: This class of prototype is used to inform the user and demonstrate the proof of a concept.  Domain Prototype: It is an aid for the incremental development of the ultimate software solution. It demonstrates the feasibility of the implementation and eventually will evolve into a deliverable product. Prototyping is a useful exercise of almost any stage of the development. Prototyping should be done in parallel with the preparation of the functional specification. It also results in modification to the specification.  Implementation: Component based Development: Software components are built and tested in-house, using a wide range of technologies. Computer aided software engineering (CASE) tools allow their users to rapidly develop information systems. Component based development: (CBD) Component-Based Development is an industrialized approach to the software development process. The two basic ideas of using Component-Based development. 1. The application development can be improved significantly if applications can be assembled quickly from prefabricated software components. 2. An increasingly large collection of interpretable software components could be made available to developers in both general and specified catalogs.
  • 35.
    Rapid Application Development(RAD): RAD is a set of tools and techniques that can be used to build application footer than typically possible with traditional methods. The term is often conjunction with S/W prototyping. RAD encourages the incremental development approach of “grow, do not build” software.  Incremental Testing: Testing is the process of uncovering errors prior to production. Majority of errors and defects are identified during testing. Testing is normally carried out with detailed test plan and test cases. 5. What are objects? How objects are grouped in classes? Give examples. NOVEMBER 2015 Object: The term object means a combination or data and logic that represent some real-world entity. Methods: Procedures of an object or Behaviour of an object. A Method implements the behavior of an object. Basically, a method is a function or procedure that is defined for a class and typically can access the internal state of an object of that class to perform some operation. Attributes: Data of an object or Properties of an object. Properties represent the state of an object. Often we want to refer to the description of these properties rather than how they are represented in a particular programming language. OBJECT ARE GROUPED AS CLASSES: Class are used to distinguish one type of object from another. A class is a set of objects that share a common structure and a common behaviour. The chief role of class is to define the properties and procedures and applicability of its instances. Eg: employee class with a,b,c are instances or objects of the class employee. 6. Discuss the UML class diagram with notations. NOVEMBER 2012, JULY 2012 Class diagrams are used in object modeling where real world objects are mapped to logical objects in computer program. Notations and symbols used in Class diagrams are  Class Notation(static)  Object Diagram  Class Interface Notation  Binary Association Notation and Association Role  Qualifier  Multiplicity  OR Association  Association Class  N – ARY Association
  • 36.
     Aggregation andComposition  Class Notation: Classes are represented in a rectangular box. The top box has the name, the middle one has the attributes/properties/data members and the lower one has the behavior/ member functions/ methods. A Box with a class name represents the most abstract representation of a class. E.g.  Object Diagram: Object diagram is an instance of a class diagram.  Class Interface Notation: It represents the externally visible behavior of a class. Externally visible behaviors are public members. The notation is small circle with a line connected to a class.  Binary Association Notation and association role: It represents the association between two classes represented by a straight line connecting two classes. Association has got a name written on the line and association role.
  • 37.
    Association Role: It’s relatedto association. Each class that is a member of an association plays a role in the association called association role.  Qualifier: Qualifier is an attribute of an association. It makes the association more clear.  Multiplicity: It gives the range of associated classes. It is specified of the form lower bound..Upper bound or integer. Lower bound must be an integer where upper bound can be an integer or a *.  OR – Association: It’s a relation in which a class is associated to more than one class and only one association is instantiated at any instance of time for an object. It is represented by a dashed line connecting two associations.
  • 38.
     Association Class: It’san association that has class properties. The association class is attached to an association with a dashed line .  N – Ary Association: It’s an association where more classes participate. They are connected by a big diamond and the name of the association is named near the line.
  • 39.
    Aggregation and Composition: Aggregationis a ‘part – of’ association. Containment is a type of aggregation with weak ownership where composition is a part of relationship with strong owner ship. Containment is represented by a line with hollow diamond arrow at the end where a Composition is represented by filled diamond at the end.  Generalization: It is a relationship between more general and specific classes. It’s represented by a directed line with a hollow arrow head. Some diagrams specify incomplete number of subclasses. It can be represented by ellipses.
  • 40.
    7. Explain thesystem development life cycle in OOAD. JULY 2014,APRIL 2013, APRIL 2016  Software Development process: A process can be divided into small interacting phases sub process. Each sub process mush have the following  A description in terms of how it works  Specification of the input required for the process  Specification of the output to be produced The software development process can be viewed as a series of transformations, where the output of one transformation becomes the input of the subsequent transformation.  Transformation 1 [Analysis]  Transformation 2 [Design]  Transformation 3 [Implementation]  Transformation 1 [Analysis]: It translates the users’ needs into system requirements and responsibilities.  Transformation 2 [Design]: It begins with a problem statement and ends with a detailed design that can be transformed into an operational system.  Transformation 3 [Implementation]: It refines the detailed design into the system deployment that will satisfy the user’s needs. (S/w process reflecting transformation from needs to a s/w product that satisfies those needs)
  • 41.
    An example ofthe software development process is the waterfall approach which starts with deciding  what is to be done (what is the problem)  How to accomplish them  Which we do it  Test the result to see it we have satisfied the users requirements  Finally we use what we have done. (Waterfall s/w development process)  Building high quality Software: High quality products must meet users needs and expectations. The ultimate goal of building high quality software is user satisfaction. System evaluation can be done in terms of four quality measures as  Correctness  Correspondence  Verification  Validation  Correctness: It measures the consistency of the product requirements with respect to the design specification.  Correspondence: It measures how well the delivered system matches the needs of the operational environment.  Validation: It is the task of predicting correspondence. “Am I building the product right”  Verification: It is the exercise of determining correctness. “Am I building the right product”.
  • 42.
     Object-Oriented SystemsDevelopment: A use-case Driven Approach: The object-oriented S/W development Life Cycle (SDLC) consists of three Macro process.  Object-Oriented Analysis  Object-oriented Design and  Object-oriented Implementation Object oriented system development include these activities..  Object-oriented Analysis – Use case driven  Object-oriented design  Prototyping  Component-based development  Incremental testing (Object-oriented system development approach)
  • 43.
    Designs are producedthat are traceable across requirements, analysis, design, and implementation and testing.  Object-Oriented Analysis –Use-Case Driven: The object-oriented analysis phase of S/W development is concerned with determining the system requirements and identifying classes and their relationship to other classes n the problem domain. To understand the system requirements we need to identify the users or the actors. Scenarios are a great way of examine who does what in the interactions among objects and what role they play. It is an intersection of objects roles to achieve a given goal is called collaboration. A use-case is a typical interaction between a user and a system that captures user goals & needs. An interaction with customers in a scenario and analyzing it is referred to as use-case modeling.
  • 44.
     Object orientedDesign: The goal of object oriented design is to design the classes identified the classes during analysis phase and the user interface. Build the design based on the objects and their relationships, then iterate and refined the model.  Design and refine classes  Design and refine attributes  Design and refine methods  Design and refine structure  Design and refine associations  Prototyping: Prototyping defines the use case and it actually makes use case modeling much easier. Protyping provides the developer, a means to test and refine the user interface and increase the usability of the system. Prototypes have been categorized in various ways.  Horizontal prototype  Vertical prototype  Analysis prototype  Domain prototype  Horizontal Prototype: It is a simulation of the interface but contains no functionality. Very quick to implement, providing a good overall feel of the system and allowing users to evaluate the interface.  Vertical Prototype: It is a subset of the system features with complete functionality. The advantage of this method is that the few implemented functions can be tested in great depth.  Analysis Prototype: This class of prototype is used to inform the user and demonstrate the proof of a concept.  Domain Prototype: It is an aid for the incremental development of the ultimate software solution. It demonstrates the feasibility of the implementation and eventually will evolve into a deliverable product. Prototyping is a useful exercise of almost any stage of the development. Prototyping should be done in parallel with the preparation of the functional specification. It also results in modification to the specification.
  • 45.
     Implementation: Componentbased Development: Software components are built and tested in-house, using a wide range of technologies. Computer aided software engineering (CASE) tools allow their users to rapidly develop information systems. Component based development: (CBD) Component-Based Development is an industrialized approach to the software development process. The two basic ideas of using Component-Based development. 1. The application development can be improved significantly if applications can be assembled quickly from prefabricated software components. 2. An increasingly large collection of interpretable software components could be made available to developers in both general and specified catalogs. Rapid Application Development (RAD): RAD is a set of tools and techniques that can be used to build application footer than typically possible with traditional methods. The term is often conjunction with S/W prototyping. RAD encourages the incremental development approach of “grow, do not build” software.  Incremental Testing: Testing is the process of uncovering errors prior to production. Majority of errors and defects are identified during testing. Testing is normally carried out with detailed test plan and test cases. 8. Discuss about object relationships. JULY 2014 Association represents the relationships between objects and classes. Associations are bidirectional. The directions implied by the name are the forward direction and the opposite is the inverse direction. Cardinality: It specifies how many instances of one class may relate to a single instance of an associated class. Cardinality constrains the number of related objects and often is described as being “one” or “many”. Consumer-producer association: Consumer-producer relationship is also known as a client-server association (or) a use relationship. It can be viewed as one-way interaction. One object requests the service or another object. The object that makes the request is the consumer or client and the object that receives the request and provides the service is the producer (or) server
  • 46.
    Aggregations: Since each objecthas an identity, one object can refer to other objects. This is known as aggregation, where an attribute can be an object itself. The car object is an aggregation of other objects such as engine, seat and wheel objects. (Aggregations relationships) UNIT -II SECTION-A(2 MARKS) 1. What is Use-Case model? (Apr 2012 , Nov 2012 , Nov 2013, Apr 2014) A use-case model can be instrumental in project development, planning, and documentation of systems requirements. The use-case model describes the uses of the system and shows the courses of events that can be performed. It also defines what happens in the system when the use case is performed. It can also discover the classes and the relationships among subsystems of the system. 2.What are the events classes? (Apr 2012) Events classes are points in time that must be recorded. Associated with things remembered are attributes. (E.g. Landing, interrupt, request). 3.Is association different from an a-part-of relation? (Apr 2012) Yes. Association is different from a part of relation since a part of relation is nothing but aggregation.
  • 47.
    4.What is anAssociation?(Nov 2012, Apr 2013, Nov 2013, Apr 2016) It guides to design the classes. Association represents a physical or conceptual connection between two or more objects. It is represented by a straight line connecting objects. 5.Define method. (Apr 2013) In object-oriented environment, every piece of data, or object, is surrounded by set of routines called methods.Methods are responsible and have the value of attributes such as query, updating, reading and writing. 6.What are classifications? (Apr 2014) Classifications are the process of checking the objects belong to a category or a class, which is a basic attribute of human nature. 7.List the guidelines for identifying association. (Apr 2014) i) A dependency between two or more class may be an association. ii) A reference from one class to another is an association. 8.What is 80-20 Rule(Nov 2014) 80-20 rule generally applies for documentation. 80 percent of the work can be done with 20 percent of the documentation. 20 percent is easily accessible and the remaining (80 percent) is available to those (few) who need to know. 9.Define Aggregation? (Nov 2014) A part-of-relationship is also called aggregation, represents the situation where a class consists of several component classes. A class that is composed of other class does not behave like its part. 10.What is a transaction? (April 2015, Nov 2015) A transaction is an atomic set of activities that are performed either fully or not at all. It is triggered by stimulus from an actor to system of by a point in time being reached in the system. 11.Write down any two approaches for identifying classes. (Apr 2015, Nov 2015) i. Noun Phrase Approach ii. Use – Case driven Approach iii. Common Class Approach iv. Class Responsibilities and Collaborators 12. What are Use-Case actors? (Apr 2016) An actors is a user playing a role with respect to the system. The actor is the key to finding the correct use-cases. An actor also can be an external system, which needs information from the current system.
  • 48.
    13.What are theguidelines for effective documentation.(Nov 2015) The guidelines for effective documentation are: 1. Common cover 2. 80-20 rule 3. Familiar vocabulary 4. Make the document as short as possible 5. Organize the document 14.Define the candidate class.(Nov 2015) The candidate class is an initial list of classes from which the actual class design classes will emerge. 15.What are the uses of use-cases(Apr 2014) Use cases represents the things the user is doing with the system which can be different from the user’s goals. The important use of building correct use cases is the differentiate the users goals and system interaction. 16.List out the three type of actors.(Apr 2014) The three types of actors are: 1.primary actor: the actors using the system to achieve the goal. 2. secondary actor: actors that the system needs assistance from to achieve the primary actors goal. 3.Supporting actor: A supporting actor in a use case is an external actor that provides a service to the system under design. 17.What is meant by primary supporting actor(Apr 2014) A supporting actor in a use case is an external actor that provides a service to the system under design. 18.How to identify association(Apr 2105) i. A dependency between two or more class may be an association. ii) A reference from one class to another is an association. 19.Define attribute.(Apr 14,Apr(12) Attributes represent the state of an object. 20.What are the steps in CRC process(Apr 12) Classes, responsibilities and collaborators process consists of three steps
  • 49.
    1) Identify classesresponsibilities. 2) Assign responsibilities. 3) Identify collaborators 21.What is ‘uses’ association(Nov 12) The relationship among the other use- cases and new extracted use-cases is called a uses association.it helps to avoid redundancy by allowing the use-case to be shared. 22.Difference between user and actor(Nov 12) The actor represents the role a user plays with respect to the system. 23.Difference between association and ‘extends’ association.(Nov12) Association guides to design the classes. Association represents a physical or conceptual connection between two or more objects. It is represented by a straight line connecting objects. The extends association is used when you have one use case that is similar to another use case but does a bit more or is more specialized, it is like sub class. 24.List the guidelines for naming classes(Nov 12, Apr 15) The guidelines for naming classes: 1. The class name should be singular. 2. The name of the classes should be which the client or users are comfortable. 3. The name of class shouls reflect the intrinsic nature. 4. Use readable name. Capitalize class name. 25.What is extends association(Nov 13,Nov14) The extends association is used when you have one use case that is similar to another use case but does a bit more or is more specialized, it is like sub class. 26.Name the three types of relationship among objects(Nov 13) The three types of relationship among objects are: 1. Association 2. Super-sub structure(generalization hierarchy) 3. Aggregation and a-part-of structure.
  • 50.
    SECTION-B(5 MARKS) 1. Howwould you identify a super-subclass structure? Explain.(Apr 2012) Super – Sub class relationship known as generalization hierarchy. New classes can be built from other classes hence the effort for creating new classes gets reduced. The newly built class is called a derived class and the class from which the new class is built is called Base Class. This inheritance allows user to share the attributes and methods. Guidelines for identifying Super – Subclass relationship 1) Top – Down: Identify noun phrases composed of various adjectives in a class name. 2) Bottom – Up: Identify classes with similar attributes and methods. 3) Reusability: Move attributes and behavior methods as high as possible in the hierarchy. 4) Multiple inheritance: Inheritance from most appropriate class and add an object of another class as an attribute. 2. W hy are Classes, Responsibilities and Collaborators Useful? (Or) Write short notes on CRC process. (Nov 2012, Nov 2013, Nov 2014, Apr 2016). Classes, responsibilities, and collaborators is a technique used for identifying classes responsibilities and therefore their attributes and methods. CRC can help us identify classes and teaching the certain responsibility to assistance of other objects. CRC cards are 4”X 6`` index cards in which all the information for an object is written is cheap, portable, readily available and familiar. Class name should appear in the left two third of card and list of collaborator should appear under it in the left two third of the card and list of collaborators should appear in the right third. (CRC indexcards)
  • 51.
    Classes, Responsibilities andCollaborators Process Classes, responsibilities and collaborators process consists of three steps 4) Identify classes responsibilities. 5) Assign responsibilities. 6) Identify collaborators (The Classes, Responsibilities and Collaborators Process) E.g. Classes, Responsibilities and Collaborators for the account object
  • 52.
    3. Explain aboutClass Responsibility. (Apr 2013)  Identifying Attributes and Methods: i. It is like finding classes, still a difficult activity and an iterative process, once again use case and other UML diagram will be guide for identifying attributes, methods and relationships among classes. ii. Attributes are things an object must remember such as color, cost and manufacture. Identifying attributes of systems classes start with understanding the system responsibilities.  Defining Attributes by analyzing use cases and other UML diagram: i. Attributes can be derived from scenarion testing therfore, by analyzing the usecase and sequence/collaboration activity and state diagram. ii. Identify what attributes can be reused directly and what lessons can be learned for defining attributes.  Guidelines for defining Attributes: i. Attributes usually correspond to nouns followed by prepositional phrases such as cost of the soup. ii. Keep the class simple, state only enough attributes to define the object state. iii. Attributes are less likely to be fully described in the problem domain. iv. Omit derived attributes. v. Donot carry discovey of attributes. 4. Explain the guidelines for selecting classes from fuzzy categories. (Apr 2014). Candidate classes are selected from the relevant and fuzzy categories. The guidelines that are to be followed are:  Redundant classes: Don’t keep two classes that express the same information. If more than one world is being used to describe the sane idea, select the one that is most meaningful in the context of the system.  Adjectives classes: An adjective can suggest a different kind of object, different uses of the same object.
  • 53.
     Attribute classes: Objectsthat are used only as values should be defined as attributes and not as a class.  Irrelevant classes: Each class should have a purpose and every class should be clearly defined. (The process of eliminating the redundant Classes and Refining the Remaining Classes) 5. What is an a-part-of structure? Explain. (Apr 2015, Nov 2015) It represents the situation where a class consists of several component classes. A class that is composed of other classes behaves differently. Two major properties are 1) Transitivity: The property where, if A is part of B and B is part of C, then A is part of C. 2) Anti-symmetry: The property where if A is part of B, then B is not part of A. In UML, a filled diamond signifies the strong form of aggregation which is composition. Eg: Collection as hollow diamonds & solid diamond for strong composition. To identify a–part–of structures, Coad & Yourdon provide following guidelines:
  • 54.
     Assembly: It isconstructed from its parts and & an assembly–part situation physically exists.  Container: A physical whole encompasses but is not constructed from physical parts.  Collection–member: A conceptual whole encompasses parts that may be physical or conceptual. 6. Explain in detail about associations.(Apr 2015, Nov 2015) It represents a physical or conceptual connection between two or more objects. The binary associtions are shown a lines connecting two class symbols. (Basic Association)  Identifying Association: It begins by analyzing the interaction between classes and all dependency relationship between two or more classes. Following questions help us to identify association  Is class capable of fulfilling the required task by itself?  If not, what does it need?  From what other class can it acquire what it needs?  Guidelines for identifying Association : i) A dependency between 2 or more classes may be an association. It is related to a verb or prepositional phrase. ii) A reference from one class to another is an association. Some associations are implicit or taken from general knowledge.
  • 55.
     Common AssociativePatterns: i) Location association Next to, part of, contained in. ii) Communication association Talk to, order to. (Communication Association)  Eliminate Unnecessary Associations: i) Implementation association: It is concerned with the implementation or design of the class within certain programming or development environment. ii) Ternary associations: Ternary or n-art association is an association among more than two- classes. iii) Directed actions (or derived) association: Avoid the redundancy among the object.
  • 56.
    (Directed Associations) 7. Explainabout Use Case model with example. (Nov 2012, Nov 2013, Apr 2016) A use case is an interaction between users and a system; it captures the goal of users and responsibility of system to its users. The use – case model describes the uses of system and shows the courses of events that can be performed. (Library – system use case model)
  • 57.
     Under themicroscope: A use case is a sequence of transactions in a system whose task is to yield results of measurable value to an individual actor of system. Now let us take to look at the keywords of this definition i) Use–Case: It is special flow of events through the system. ii) Actors: An actor is user playing a role with respect to system. iii) System: This simply means that the actors communicate with the system’s use case. iv) Measurable value: A use case must help the actor to perform a task that has some identifiable value. v) Transaction: It is an atomic set of activities that are performed either fully or not at all.  Uses & Extends Associations: The “extends association” is used when the use case is similar to subclass. The uses association occurs when it is describing use-case and sub flows. The relationship among other use cases and this new extracted use case is called “uses association”. An “abstract use case” is not complete and has no initiation actors but is used by a “concrete use case”, which does interact with actors.
  • 58.
    (Use-case diagram)  IdentifyingActors: The term actor represents the role a user plays with respect to system. When dealing with actors, it is important to think about roles rather than people or job titles. (Difference between users and actors)  Guidelines for finding Use Cases: The steps for finding use cases are i) For each actor, find tasks & functions. ii) Name the use cases.
  • 59.
    iii) Describe usecases briefly by applying terms with which user are familiar. iv) It is important to separate actors from users. v) Each actor represents a role that one or several users can play.  Dividing use cases into package: Each use case represents a particular scenario in the system. A model can be designed and broken into many packages. Many applications can be associated with the particular system and one or more databases used to store the information. 8. Explain the common class patterns approach in object analysis. (Apr 2014) It is based on a knowledge base of common classes that have been proposed by various researchers.  Concept class: A concept is a particular idea or understanding that we have of our world. It encompasses principles that are not tangible but used to organize or keep track of business activities or communications. Eg: Performance is an concept class object  Events class: These are points in time that must be recorded. Associated with things remembered are attributes such as who, what, when, where, how or why. Eg: Landing, interrupt, request and order are possible events.  Organization class:
  • 60.
    It is collectionof people, resources, facilities or groups to which users belong; their capabilities have a defined mission, whose existence is independent of individuals  People class: It represents different roles users play in interacting with application. Eg: employee, client, teacher and manager are example of people.  Places class: Places are physical locations that system must keep information about. Eg: Buildings, Stores, sites and offices are examples of place.  Tangible things & devices class: This class includes physical objects or groups of objects that are tangible & devices with which application interacts. Eg: Cars is an example for tangible things and pressure sensors is an example of devices. The Bank TM system : identifying classes by using common class pattern Approach: Event & class Organization People Place Tangible thing & Device class i. Account ii.Checking account iii.Saving Account iv.Transaction Bank class Bank client class i.Physical location ii.Buildings iii.Stores iv. Sites ATM machine class 9. How to define attributes by analyzing use-case and UML diagrams.(Apr15) The guidelines for defining attributes are 1) Attributes usually corresponds to nouns followed by preposition phrases. Attributes also correspond to adjectives or adverbs. 2) Keep the class simple. State only enough attributes to define the object state. 3) Attributes are less likely to be fully described in the problem statement.
  • 61.
    4) Omit derivedattributes. They should be expressed as a method. 5) Do not carry excess identification. 10. What are the three types of attributes.(Apr 15) The three basic types of attributes are i. Single-value attributes: The single-valued attribute has only one value or state. ii. Multiplicity or multi value attributes: The multiplicity or multi valued attribute can have a collection of many values at any point in time. i. Reference to another object, or instance connection: These attributes are required to provide the mapping needed by an object to fulfill its responsibilities, in other words, instance connection model association. 11.What is the function of actors in the use case model.(Apr 15) Identifying the actors is as important as identifying classes, structures, attributes, and behaviour. The term actor represents the role a user plays with respect of the system. A user may play more than one role. The actor interact with the system, to provide the requirement analysis. An actors is a user playing a role with respect to the system. The actor is the key to finding the correct use-cases. An actor also can be an external system, which needs information from the current system. 12.Explain the use case driven approach by identifying classes(Apr12) The use case driven approach is the third approach. Use- case modelling is considered a problem driven approach to object –oriented analysis, in that the designer first considers a problem-driven at hand and not the relationship between objects as in data driven approach. The UML specification shows the different sequence of interaction between actors and the systems. Like use-case diagrams, sequence diagrams are used to model scenarios in the systems. Whereas use cases and the steps or textual descriptions that define them offer a high level view of a system, the sequence diagram enable to model a more specific analysis and also assist in the design of the system by modelling the interactions between objects in the system.
  • 62.
    13.Explain the nounpharse approach for identifying classes (Nov 12) The noun pharse approach usesnouns in the textual description to be classes and verbs are to be the methods of the classes, All plurals are changed into singular, the nouns are listed and the list is divided into three categories. I. Relevant Classes II. Fuzzy classes III. Irrelevant classes It is safe to scrap the irrelevant classes, which either has no purpose or will be unnecessary. Candidate classes then are selected from the other two categories such as fuzzy classes and relevant classes. Finding classes is an incremental and iterative process. Identifying tentative classes: The following are the guidelines for selecting classes in an application: 1) Look for nouns and noun phrases in the use-cases. 2) Some classes are implicit or taken from general knowledge. 3) All the classes must make sense in the application domain, avoid computer implementation classes 4) Carefully choose and define class names Selecting classes from the relevant and fuzzy categories: Candidate classes are selected from the relevant and fuzzy categories. The guidelines that are to be followed are:  Redundant classes: Don’t keep two classes that express the same information. If more than one world is being used to describe the sane idea, select the one that is most meaningful in the context of the system.  Adjectives classes: An adjective can suggest a different kind of object, different uses of the same object.  Attribute classes: Objects that are used only as values should be defined as attributes and not as a class.  Irrelevant classes: Each class should have a purpose and every class should be clearly defined.
  • 63.
    (The process ofeliminating the redundant Classes and Refining the Remaining Classes) 14.Explain about Use Case model with example. (Nov 2012, Nov 2013, Apr 2016,Apr 2013) Refer Q. no: 7 five marks. 15.Develop sequence / collaboration diagrams for the withdraw savings Denied use case of the bank system.(Apr 2012 ) Use case diagram/ Model represents different needs of the user and various actors involved in the domain boundary. Unified Approach recommends identification of objects with the Use Case model as the base. Since the use case represents the user requirements the objects identified are also relevant and important to the domain. The activities involved are 1. A particular scenario from an use case model is considered. 2. Sequence of activities involved in that particular scenario is modeled. 3. Modeling the sequence diagram needs objects involved in the sequence. 4. Earlier iteration starts with minimum number of objects and it grows. 5. The process is repeated for all scenarios in the use case diagram.
  • 64.
    6. The abovesteps are repeated for all the Use Case diagrams. Use case scenario with a sequence diagram: We identified the use case for the bank system. The following are low level executable i.Deposit checking. ii. Deposit saving. iii. Invalid PIN. iv. Withdraw checking. v. Withdraw more from checking. vi. Withdraw savings. vii. Withdraw saving denied. Let us create a sequence / collaboration diagram for following use case. i. Invalid password use case. ii. Withdraw checking use cases. iii. Withdraw more from checking use case.  Sequence diagram for invalid password: The dotted lines are the lifeline, the line on the right represents an actor, and the arrows connect the events objects.
  • 65.
     Sequence diagramfor Withdraw checking use case:
  • 66.
     Collaboration diagramfor Withdraw checking use case:
  • 67.
    16. Discuss aboutObject Responsibility. (Apr 2013)  Object Responsibility : Methods and Messages In an object oriented environment, every piece of data or object is surrounded by a rich set of routines called Methods. These methods do everything from printing the object to initializing its variables. Every class is responsible for storing certain information from the domain knowledge. If an object requires certain information to perform some operation for which it is responsible, it is logical to assign it the responsibility for maintaining the information. In UML sequence diagram, objects involved are drawn as vertical dashed lines. An event is considered to be an action that transmits information. These actions are operations that objects must perform & as in attributes, methods also can be derived from scenario testing. In additional, operations (methods or behavior) in object oriented system usually correspond to queries about attributes & associations of objects. Therefore, methods are responsible for managing the value of attributes such as query, updating, reading & writing.  Defining Methods by Analyzing UML Diagrams and Use-Cases: In a sequence diagram, the objects involved are drawn on the diagram as vertical dashed lines. The events that occur between objects are drawn between the vertical object lines. Sequence diagrams can assist in defining the services the objects must provide. For example: For defining methods for the account class: 1. Deposit Checking 2. Deposit Savings 3. Withdraw Checking 4. Withdraw more from checking 5. Withdraw Savings 6. Withdraw savings denied 7. Checking Transaction History 8. Savings transaction History. 18. Explain object analysis classification theory(Nov 15)` Object oriented process is a process by which it is identifies classes that play a role in achieving system goals and requirements. Classification theory is the process of checking the objects which belong to a category or a class, which is a basic attribute of human nature. Booch explains that 1) Intelligent classification is apart of all good science. 2) Classification guides to make decisions about modularization.
  • 68.
    3) Classification alsoplays a vital role in allocating processes to various procedures. 4) The chief role of a class is to define the attributes, methods and applicability of its instances. UNIT –III SECTION-A(2 MARKS) 1. What is a concurrency policy?(Apr 2012) A concurrency control policy dictates what happens when conflicts arise between transactions thatattempt access to the same object and how these conflicts are to be resolved. There are two policies, ii. Conservative or pessimistic policy: Allows a user to lock all objects or records when they are accessed and to release the locks only after atransaction commits. iii. Optimistic policy: Two conflicting transactions are compared in their entirety and then their serial ordering is determined. 2. Give examples for public and private protocols. (Apr 2012) Public protocols specify messages that can be send by the methods with in the class as wellas objects outside the class. Private protocols specify messages that can be send only by the methods inside the class.They are visible only inside the class. E.g. + getName () : String It’s a public protocol named getName with no parameters and it returns a value of type String. - setData (name : String, no : Integer) : Boolean It is a private protocol that accepts two arguments one of type String and other of typeInteger. It returns a value of type Boolean. 3. Define Theorem. (Nov 2012, Apr 2013, Nov 2013, Apr 2016)
  • 69.
    A theorem isa proposition that may not be self–evident but can be proven from accepted axioms. 4. What is meant by coupling? (or) Define Coupling. (Nov 2012, Nov 2013, Apr 2014, Apr 2015) Coupling is a measure of the strength of association established by a connection from one object orsoftware component to another. Coupling is a binary relationship. For example A is coupled with B. 5. Define DML. (Nov 2012, Nov 2013, Apr 2015, Apr 2016) Data manipulation language (DML) is the language that allows users to access and manipulate data organization. The structured (SQL) is the standard DML for relational DBMS. 6. What is public protocol? (Apr 2013) Public protocols specify messages that can be send by the methods with in the class as well as objects outside the class. 7. What is DBMS? (Apr 2013, Nov 2015, Apr 2016) Database Management System is a set of programs that enables the creation and maintenance of collection of related data. The DBMS and associated programs access, manipulate,protect and manage the data. 8. What is Object Constraint Language? (Apr 2014) The rules and semantics of the UML are expressed in English, in a form known as object constraintlanguage. Object constraint language (OCL) is a specification language that uses simple logic forspecifying the properties of a system. 9. Define DDL.(Apr 2014, Nov 2015, Apr 2016) Data definition language (DDL) is the language used to describe the structure of and relationshipsbetween objects stored in a database. This structure of information is termed as the database schema. 10. Define Axiom.(Nov 2014, Apr 2015, Nov 2015) An axiom is a fundamental truth that always is observed to be valid and for which there is nocounter-example or exception. There are two design axioms applied to object- oriented design. Axiom 1:The independence axiomdeals with relationships between system components. Maintain the independence of components. Axiom 2: The information axiom, whichdeals with the complexity of design. Minimize the information content of the design. 11. List the three basic types of attributes.(Nov 2014)
  • 70.
    The three basictypes of attributes are j. Single-value attributes: The single-valued attribute has only one value or state. ii.Multiplicity or multi value attributes: The multiplicity or multi valued attribute can have a collection ofmany values at any point in time. iv. Reference to another object, or instance connection: These attributes are required to provide the mapping needed by an object to fulfill its responsibilities, inother words, instance connection model association. 12. What are data entry windows?(Nov 2014) Data entry windows provide access to data that users can retrieve, display and change in the application. SECTION-B(5 MARKS) 1. What is the basic activity in designing and application? (Apr 2012) The basic activity in designing and application are i. Requirement collection ii. Analysis iii. Design iv. Coding v. Testing vi. Implementation vii. Maintenance  Requirement collection: Our goal during requirements analysis is to understand “what” the customer “needs” us to build. We build a model of the application and validate that our model will actually meet the customer’s needs.  Analysis: It translates the users’ needs into system requirements and responsibilities.The project team analyzes the scope of the project and plans the schedule and resources accordingly.  Design: It begins with a problem statement and ends with a detailed design that can be transformed into an operational system. This transformation
  • 71.
    includes the bulkof thesoftware development activity, including definition of how to build the software, itsdevelopment and it’s testing.  Coding: Coding is the phaseof a software development project where developers input the source code into a computer that will be complied into the final software program.  Testing: After the code is developed it is tested against the requirements to make sure that the product is actually solving the needs addressed and gathered during the requirements phase.  Implementation: It refines the detailed design into the system deployment that will satisfy the user’s needs.Software is tested for portability and adaptability and integration related issues are solved during implementation.  Maintenance: This phase confirms the software operation in terms of more efficiency and less errors. If required, the users are trained on, or aided with the documentation on how to operate the software and how to keep the software operational. The software is maintained timely by updating the code according to the changes taking place in user end environment or technology. This phase may face challenges from hidden bugs and real- world unidentified problems. 2. What is the difference between a schema and meta-data?(Apr 2012)  The schema is the collection of record types and set type or the collection of relationships, templates, and table records, used to store information about entities.  The meta-data contains a complete definition of the data formats, such as the data structures, typesand constraints. The meta-data are usually encapsulated in the application programs themselves. InDBMS, the format of the meta-data is independent of any particular application data structure; therefore itwill provide a generic storage management mechanism. 3. Describe Client-Server Computing. (Nov 2012, Nov 2013, Apr 2016)
  • 72.
     In Client-ServerComputing the calling module becomes the “client” and the called module becomes the“server”. The connectivity allows applications to communicate transparently with other programs (process), regardless of their locations.  The Client is a process (program) that sends a message to a server process requesting the server toperform a task (service). Client programs usually manage the user interface portion of the application;validate data entered by the user and dispatch requests to server programs.  A Server process (program)fulfills the client request by performing the task requested. Server programs generally perform database retrieval and updates, manage data integrity and dispatch responses to client requests. 4. Write a short note on Object-Relation Mapping. (Nov 2012 , Nov 2013, Apr 2015) In a relational database, the schema is made up of tables, consisting of rows and columns.A tuple (row) of a tablecontains data for a single entity that correlates to an object (instance of a class) in an object-oriented system. The mapping capabilities are 1. Table – Class Mapping 2. Table – Multiple Class Mapping 3. Table – Inherited Class Mapping 4. Tables – Inherited Class Mapping 1. Table– Class Mapping: It’s a simple one – to – one mapping of a class to a table and properties of class are becomethe fields. Each row in the table represents an object and columnrepresents a property of objects.
  • 73.
    2. Table –Multiple Classes Mapping: It’s mapping a single table maps to multiple non inherited classes. Two or more distinct, non-inheriting classes have properties that are mapped to columns in a single table. 3. Table Inherited Classes Mapping: In this case a single table is mapped to more than one class which has a common super class. This mapping allows the user to specify the columns to be shared among the related classes. 4. Multiple Tables – Inherited Classes Mapping: This kind of mapping allows is a to be established among tables. In a relational database thisis possible by using primary key and foreign key.
  • 74.
    5. Discuss aboutObject Oriented Design Axioms. (or) Explain the Object-Oriented Design Axioms. (Apr 2013,Apr 2015 ,Nov 2015) An “Axiom” is a fundamental truth that always is observed to be valid and for which there is no Counterexample or exception. A “Theorem”is a proposition that may not be self–evident but can be proven from accepted axioms. A “Corollary”is a proposition that follows from an axiom or another proposition that has been proven. There are two design axioms applied to object-orienteddesign. Axiom 1: Independence Axiom. Maintain the independence of components. Axiom 2: Information Axiom. Minimize the information content of the design.  Axiom 1 states that, during the design process, as we go from requirement and use case to a system component, each component must satisfy that requirement without affecting other requirement  Axiom 2 is concerned with simplicity. Occam razor says that “The best theory explains known facts with a minimum among of complexity and maximum simplicity & straightforwardness” 6. Describe the process of creating the access layer. (Apr 2013) The process of creating an access class for the business classes are identified as follows:
  • 75.
    1. For everybusiness class identified, mirror the business class package. 2. Define relationships. 3. Simplify Classes & relationships a. Redundant classes b. Method classes 4. Iterate and Refine. (Process of creating access layer classes)  In the above process, the access layer classes stores not only the attributes but also the methods.  Another approach is to let the methods to stored in a program & store only the persistent attributes and modified process is: 1. Determine if the class has any persistent data 2. Mirror the business class package 3. Define relationships 4. Simplify classes and relationships a. Redundant classes b. Method classes 5. Iterate and refine. (Process of creating access layer classes with persistent attributes)
  • 76.
    7. Discuss thetypes of coupling among objects. (Apr 2014) Coupling is a measure of the strength of association established by a connection from one object or software component to another. Coupling is a binary relationship. For example A is coupled with B. Object oriented design has two types of coupling. They are, 1. Interaction coupling 2. Inheritance coupling  Interaction coupling: Interaction coupling involves the amount and complexity of messages between components. It is desirableto have little interaction. (E is tightly coupled object)
  • 77.
     Inheritance coupling: Inheritanceis a form of coupling between super and subclasses. A subclass is coupled to its super class interms of attributes and methods. Unlike interaction coupling, high inheritance coupling is desirable. 8. Discuss design patterns in detail.(Nov 2014) Design patterns are devices that allow systems to share knowledge about their design by describing commonly recurring structure. A perfect design pattern has the following documentation concepts Pattern Name: FaçadeRationale & Motivation: The façade pattern can make the task of accessing a large number of modules.
  • 78.
    Classes:In façade systemat least 4 or more classes are required: client, façade &classes underneath façade. Advantages: The primary advantaged is making interfacing between many modules or classes more manageable. Disadvantages: The lossof functionality will be lower level of classes. Examples:Imagine a client request program a room that is used to view objects all in room. Using a design pattern façade eliminates the need for the client class to deal with a large number of classes. 9. How to design classes? Explain.(Nov 2014)  Designing Classes – The Process: It constitute of step 1 of OOD process is an iterative process and ateach iteration,the design has been improved.  Class visibility: The main objective is designing well defined i. Public Protocol. ii. PrivateProtocol. iii. ProtectedProtocol. i. Publicprotocols: It defines the stated behavior of the class as the behavior of all classes can access its information. ii. Private protocols: Private protocol of the class includes message that normally should not be sent from other objects and only access by the same class. iii. Protectedprotocols: In a protected protocol the subclasses can use the method in addition to the class itself.
  • 79.
     Designing Classes:Refining Attributes: Attributes identified in OOA must be refined on implementation during this phase. In design phase, detailed information must be added to the model. The main goal is to refine existing attributes or add attributes that can elevate the system into implementation.  Attribute Types: The three types of attributes are 1. Single–value attributes 2. Multiplicity or Multivalue attributes 3. Reference to another object, or instance connection.  UML Attribute representation: The following is attribute presentation suggested by UML: Visibility name: Type–Expression = Initial–ValueWhere visibility is one of following: + Public visibility (accessibility to all classes) # protected visibility (accessibility to subclassesclasses) ⎯ private visibility (accessibility only to particular class) Type–expressionis language–dependent specification of implementation type of an attribute. Initial value is language–dependent expression for initial value of newly created object and is optional. Multiplicity indicated by placing a multiplicity indicator in brackets.
  • 80.
    SECTION-C(10 MARKS) 1. Listthe object-oriented design axioms and corollaries(or) Describe the object oriented design axioms and its corollaries. (Apr 2012 , Apr 2014)  Design Axioms: An “Axiom” is a fundamental truth that always is observed to be valid and for which there is no Counter example or exception. A “Theorem” is a proposition that may not be self–evident but can be proven from accepted axioms. A “Corollary” is a proposition that follows from an axiom or another proposition that has been proven. There are two design axioms applied to object-oriented design. Axiom 1: Independence Axiom. Maintain the independence of components. Axiom2:Information Axiom. Minimize the information content of the design.  Axiom 1 states that, during the design process, as we go from requirement and use case to a system component, each component must satisfy that requirement without affecting other requirement  Axiom 2 is concerned with simplicity. Occam razor says that “The best theory explains known facts with a minimum among of complexity and maximum simplicity & straightforwardness”  Corollaries: Many corollaries may be derived as a direct consequence of axioms. These corollaries may be more useful in making specific design decisions, since they can be applied to actual situations more easily than original axioms. They are also called design rules and are derived from 2 basic axioms
  • 81.
     Corollary 1:Uncoupled design with less information content. Highly cohesive objects can improve coupling because only a minimal amountofessential information need be passed between objects. The main goal here is to maximize objects cohesiveness among objects and s/w components in order to improve coupling because only a minimal amount of essential information need be passed between components.  Coupling: Coupling is a measure of the strength of association established by a connection from one object or software component to another. Coupling is a binary relationship. For example A is coupled with B. Object oriented design has two types of coupling. They are, i. Interaction coupling ii. Inheritance coupling i. Interaction coupling: Interaction coupling involves the amount and complexity of messagesbetween components. It is desirable to have little interaction. ii. Inheritance coupling: Inheritance is a form of coupling between super and subclasses. A subclass is coupled to its super class in terms of attributes and methods. Unlike interaction coupling, high inheritance coupling is desirable.  Cohesion: Cohesion reflects the “single–purposeness” of an object. Method cohesionfunction cohesion means that a method should carry only one
  • 82.
    function. A methodthat carries multiple functions is undesirable. Class cohesion means that all the class’s methods & attributes must be highly cohesive meaning to be used by internal methods or derived classes’ methods.  Corollary 2: Single Purpose. Each class must have a single, clearly defined purpose. When we document, we should be able to easily describe the purpose of a class in a few sentences.  Corollary 3:Large number of simple classes, Reusability. Keeping the classes simple allows reusability. The smaller are classes, the better are chances of reusing them in other projects. Large & complex classes are too specialized to be reused. The primary benefit of s/w reusability is higher productivity. The s/w development team that achieves 80% reusability is 4 times as productive as team that achieves 20% reusability.  Corollary 4: Strong mapping. There must be a string association between the physical system (analysis’s object) & logical design (design’s object).  Corollary 5: Standardization. Promote standardization by designing interchangeable components and reusing existing classes or components.  Corollary 6: Design with inheritance. Common behavior (methods) must be moved to super classes. The superclasses–subclass structure must make logical sense. 2. Write a detailed noteon Database Management System. (Nov 2012, Nov 2013, Apr 2016)
  • 83.
    DBMS is aset of programs that enable the creation & maintenance of a collection of related data. They have number of properties that distinguish them from file–based data management approach. A fundamental characteristic of database approach is that DBMS contains not only data but complete definition of data formats it manages. This description is known as schema or meta–data containing a complete definition of data formats, such as data structures, types & constraints. Advantages: i. The database approach is that it will provide a generic storage management mechanism. ii. Data independence. iii. Accessing data is simple and uniform manner.  Database Views: DBMS provides the database users with a conceptual representation that is independent of low–level details (physical view) of how the data are stored. The database provides an abstract data model that uses logical concepts such as field, records, tables & their interrelationships. DBMS can provide multiple virtual views of data.  Database Models: It is a collection of logical constructs used to represent the data structure & data relationships within the database. It is grouped into two categories: i. Conceptual model: This model focuses on the logical nature of that data. ii. Implementation model: This model is concerned with how it is represented. The other three different database models: a) Hierarchical model. b) Network model. c) Relational model. a) Hierarchical model: It represents data as a single rooted tree. It represents a parent-child relationship.
  • 84.
    b) Network model: Innetwork database models, the record can have more than one parent. c) Relational model:  The columns of each table are called “attributes”.  The values inside each column is called “domain”.  The row of each table is called as “tuples”.  The relational table should have only one primary key. A primary key is a combination of one or more attributes whose value is unique in the table.  Database Interface: The interface on a database must include a data definition language (DDL), query and data manipulation language (DML). Database systems adopt two approaches for interfaces with system. i. To embed a database language, such as structured query language (SQL). ii. To extend the host programming language with database constructs.  Database Schema & DDL:
  • 85.
    DDL is thelanguage used to describe structure of & relationships between objects stored in a database. This structure of information is database schema.  DML & Query Capabilities: DML is language that allows users to access & manipulate data organization. SQL is standard DML for relational DBMSs. It is widely used for its query capabilities. The query usually specifies:  Domain that stored on the table.  Conditions or constraints that apply  Ordering, sorting or grouping of elements. The DML is generally categorized into two types: i. Procedural: A procedural DML requires users to specify what data are desired & how to get data. ii. Non-Procedural: A Non procedural DML requires specifying what data are needed not mention how to get them. 3. Describe the process of creating the access layer classes.(Nov 2012, Nov 2013, Apr 2015) Refer Question No.6 (5 Marks). 4. Briefly explain the object oriented designing process (or)Explain the various activities of the object oriented design process. (Apr 2013, Apr 2015, Nov 2015) In the design phase the classes identified in OOA must be implementation. The object–oriented design process consists of following activities,
  • 86.
    1. Apply designaxioms to design classes, their attributes, methods, associations, structures and protocols. ⇒Refine & complete the static UML class diagram by adding details. This step consists of the following activities. i. Refine attributes. ii. Design methods & protocols by UML activity diagram to represent method’s algorithm. iii. Refine associations between classes. iv. Iterate and refine again. 2.Design the access layer i. Create mirror classes. ii. Identifyaccess layer class relationships. iii. Simplify classes & their relationships. a) Redundant classes. b) Method classes iv. Iterate & Refine again. 3. Design the view layer classes i. Design the macro level user interface. ii.Design the micro level user interface. a)Design view layer objects by applying the design axioms & corollaries. b) Build a prototype of view layer interface. iii. Test usability & user satisfaction. iv. Iterate and refine. 4. Iterate & refine the whole design. 5. Explain the object store and persistence in detail. (Nov 2014) A database management system (DBMS) is a set of programs that enables the creation and maintenance of a collection of related data. The fundamental purpose is to provide a reliable, persistent data storage facility & mechanisms for efficient, convenient data access & retrieval. Persistencerefers to the ability of some objects to outlive the programs that created them. A program will create a large amount of data throughout its execution. Each item of data will have a different life time. They are categorized into two types:
  • 87.
     Transient Data: Thetransient data will typically be a programming language that provides an excellent, integrated support. 1. Transient results to evaluation of expressions. 2. Variables involved in procedure activation. 3. Global variables & variables that are Dynamically allocated. 4. Data that exist between the executions of a program. 5. Data that exist between the versions of a program. 6. Data that outlive a program. The first three categories are transient data, data that cease to exist beyondlifetimeof creating process. The other three are non-transient or persistent data.  Persistence Data: A file or a database can provide a longer life for objects – longer than duration of process in which they were created. From a language perspective, this characteristic is called persistence.  Essential elements in providing a persistent store are: o Identification of persistent objects or reachability. o Properties of objects & their interconnections. o Scale of the object store. o Stability: The system should be able to recover from unexpected failures and return the system to a recent self–consistent state. OOAD Unit IV 1. Define User Centred Interface. (Nov ’12, Nov ’13, Apr ’14, Apr ‘15) A user centred interface copies the user’s way of doing things and gives the outcome as user expected for any action. 2. Why do users find OOUI easier to use?(Apr ’12) It simplifies the learning process of the user since they have to identify only which object need to be invoked to complete their task without need to concentrate on the entire programming. 3. What circumstances you can use modes in your user interface?or What are different types of user interface modes?(Apr ’12, Apr ’13, Nov ’15,Apr ‘16)
  • 88.
    The mode isa state that contains only specific interactions and avoid general interactions. The situations we use modes are (i) In some situations we need some input from the user to continue our work in the applications. For eg., requesting the name of the file in which the user wants to save the data. Here the mode used is the Modal dialog and the visual clue is color boundary. (ii) Spring loaded modes can be used to revert a process from a particular state to its default state .eg., Shift key in the keyboard is perfect example. (iii)Tool driven modes are used in drawing applications to remind you what the tool we have chosen by changing its mouse pointer. 4. What is an Application Window?(Apr ’13,Apr ‘14) It is the container that has entire application’s object or icons through which the user interacts. 5.Define Metaphor. (Nov ’14) Relating two otherwise unrelated things by using one to denote the other(such as a question mark to label a Help button). 6. Define GUI. (Nov ’14) User interface, using icons to represent objects, a pointing device to select operations, and graphical imagery to represent relationships. 7. What are data entry windows? It provides access to data that users can retrieve,display and change in the application. 5marks 1.Explain the purpose of view layer interface.(Nov ’12, Nov ’13) User interface can employ one or more windows. Windows commonly used for the following purposes. Forms and data entry windows: It provides access to data that users can retrieve, display and change in the application. Dialog boxes: It displays status information or gets data from the user or makes the decision before continuing with a task. Eg., Dialog box with OK button which continues thhe process after selected by the user. Application Windows: (main windows).It is the container that has entire application’s object or icons through which the user interacts. Each window should explain its purpose in a single sentence.
  • 89.
    2.Describe the UIdesign rules.(Apr ’12,Nov ’15, Apr ‘16). UI Design Rule 1: Making the interface simple For complex application if the user interface is simple it is easy for the users to learn new applications. Each User Interface class should have a well define single purpose. If a user cannot sit before a screen and find out what to do next without asking multiple questions, then it says your interface is not simple. An interface design expert says that the interface should always be simple and uses the acronym KISS-Keep it Simple and Straightforward. UI Design Rule 2: Making the Interface Transparent and Natural. The user interface should be natural that users can anticipate what to do next by applying previous knowledge of doing things without a computer. This rule says there should be a strong mapping between theusers view of doing things and UI classes. The UI should not make users focus on the mechanics of an application. UI Design Rule 3: Allowing users to be in control of the Software. The UI should make the users feel in control of the software and not the software controls the user. The user should play an active role and not a reactive role in the sense user shouldinitiate the action and not the software. The software should be as interactive and responsive as possible. Some ways to make put users in control are 1. Make the interface forgiving. 2. Make the interface visual. 3. Provide immediate feedback. 4. Avoid Modes. 5. Make the interface consistent. 3. Explain about the designing of the view layer classes. (Apr ‘13) or Explain the categories of designing view layer classes. (Apr ‘14) The view layer objects are responsible for two major aspects of applications: 1. Input – responding to user interaction 2. Output – displaying or printing business objects
  • 90.
    The process ofdesigning view layer classes is divided into four major activities (i) The macro level UI design process – identifying view layer objects. (a) Identify the classes that interact with human actors with the help of the use cases developed in the analysis phase. (b) A sequence or collaboration diagram can be used to represent the clear picture of actor system interaction. (c) For every class identified determine if the class interacts with the human actor. If so i. Identify the view layer object for that class. ii. Define the relationship among view layer objects. (ii). Micro Level UI Design Process a. Design of view layer objects by applying Design Axioms and Corollaries. Determine how to use and extend the components so that they provide best application specific functions and provide best usable interface. b. Create prototype of the view layer interface. Prototype the basic aspects of the design (iii). Testing the usability and user satisfaction testing. Test the application to make sure it meets the clients requirements. (iv). Refining and iterating the design. 4. Explain the view layer objects in applications. (Nov ‘14) Three Layer architecture used for software development, namely Access layer, view layer and user-interface / business layer. The separation of the view layer from the business and access layers is that, when you design of UI objects, you have to think more explicitly about distinctions between objects that are useful to users. View layer classes or interface objects are objects that represent the set of operations in the business that users must perform to complete their tasks, ideally in a way they find natural, easy to remember, and useful. Any objects that have direct contact with the outside world are visible in interface objects. The view layer objects are responsible for two major aspects of applications: 1. Input-responding to user interaction: The user interface must be designed to translate an action by the user, such as clicking on a button or selecting from a menu, into an appropriate response.
  • 91.
    2. Output-displaying orprinting business objects. This layer must paint the best picture possible of the business objects for the user. In one interface, this may mean entry fields and list boxes to display an order and its items. In another, it may be a graph of the total price of a customer‟s orders. 10 marks. 1. Describe the macro and micro processes of view layer design(Apr ’12) Macro – Level Process  The main goal of this level is identifying view class by analysing use cases.The interface object handles all communication with actor but processes no business rules or object storage  The view layer macro process consists of two steps as shown in diagram. 1.Determineif class interacts with a human actor. a. Identify view (interface) objects for class. b. Define relationships among the view (interface) objects 2. Iterate and refine  The advantage of utilizing use cases in identifying & designing view layer objects is that the focus centres on the user and including users as part of the planning & design is the best way to ensure accommodating them.
  • 92.
    Micro – LevelProcess: -  A user–centred interface replicates the user‘s view of doing things by providing the outcomes users expect for any action. The micro level process of designing view objects has two steps 1. For very interface object identified in macro UI design process, apply micro – level UI design rules & corollaries to develop the UI 2. Iterate and Refine o UI design rule 1: Making the interface simple (Application of corollary 2) –Labels, static text, check boxes, group boxes & option buttons often clutter the interface & take up twice the room mandated by actual data. The following factors should be considered while evaluating the impact:  Every additional feature potentially affects performance, complexity, stability, maintenance & support costs of an application  It is harder to fix a design problem after release of product because users may adapt or even become dependent on a peculiarity in design.  Simplicity is different from being simplistic. Making something simple to use often requires a good deal of work & code  Features implemented by a small extension in application code do not necessarily have a proportional effect in a UI o UI design rule 2: Making the interface Transparent and Natural (Application of Corollary 4) – It implies that there should be strong mapping between user’s view of doing things & UI classes. A metaphor or analog, relates two otherwise unrelated things Apply micro-level UI design rules and GUI guidelines to each interface object identified to develop the UI
  • 93.
    by using oneto denote the other. A goal of UI design is to make user interaction with computer as simple and natural as possible o UI design rule 3: Allowing Users to be in Control of s/w. A mode is a state that excludes general interaction or otherwise limits the user to specific interactions. Some of ways to put users in control are the following : ∝ Make the interface forgiving ∝ Make the Interface Visual ∝ Provide immediate feedback ∝ Avoid modes ∝ Make the interface consistent o There can be some of the modes that can be used in the user interface – Modal dialog, spring loaded modes and tool–driven modes 2.Explain the guidelines for designing application windows(Apr ’13) A typical application window consists of a frame (or border) that defines its extent and a title bar that identifies what is being viewed in the window. If the viewable content of the window exceeds the current size of the window, scroll bars are used. The windows also can include other components like menu bars, toolbars and status bars. An application window usually contains common drop-down menus. The File menu: It provides an interface for the primary operations that apply a file such as open, Save, Save As… and Print. The Edit Menu : Include general purpose editing commands on the Edit menu. These commands include the Cut, Copy and Paste commands and also includes Undo, Find, Delete command. The View Menu and other command Menus: Commands on the View menu should change the user‟s view of data in the Window. For example Zoom or Outline, Show Ruler. The Window Menu: use the window menu in multiple document, interface style applications for managing the windows within the main workspace. The Help menu: It contains commands that provide access to Help information. Such as Help Topic command – Contents, Index and Find Topic. Toolbars and Status Bars : It is special interface constructs for managing sets of controls. A toolbar is a panel that contains a set of controls. A status bar is a special area within a window, typically at the bottom, that displays information such as current state such as keyboard state. 3. Describe the micro-level design process with a neat diagram.(Nov ’14,Nov ’15, Apr ‘16) Micro – Level Process: -
  • 94.
     A user–centredinterface replicates the user‘s view of doing things by providing the outcomes users expect for any action. The micro level process of designing view objects has two steps 1. For very interface object identified in macro UI design process, apply micro – level UI design rules & corollaries to develop the UI 2. Iterate and Refine o UI design rule 1: Making the interface simple (Application of corollary 2) –Labels, static text, check boxes, group boxes & option buttons often clutter the interface & take up twice the room mandated by actual data. The following factors should be considered while evaluating the impact:  Every additional feature potentially affects performance, complexity, stability, maintenance & support costs of an application  It is harder to fix a design problem after release of product because users may adapt or even become dependent on a peculiarity in design.  Simplicity is different from being simplistic. Making something simple to use often requires a good deal of work & code  Features implemented by a small extension in application code do not necessarily have a proportional effect in a UI o UI design rule 2: Making the interface Transparent and Natural (Application of Corollary 4) – It implies that there should be strong mapping between user’s view of doing things & UI classes. A metaphor or analog, relates two otherwise unrelated things by using one to denote the other. A goal of UI design is to make user interaction with computer as simple and natural as possible o UI design rule 3: Allowing Users to be in Control of s/w. A mode is a state that excludes general interaction or otherwise limits the user to specific interactions. Some of ways to put users in control are the following : ∝ Make the interface forgiving ∝ Make the Interface Visual ∝ Provide immediate feedback Apply micro-level UI design rules and GUI guidelines to each interface object identified to develop the UI
  • 95.
    ∝ Avoid modes ∝Make the interface consistent o There can be some of the modes that can be used in the user interface – Modal dialog, spring loaded modes and tool–driven modes 4. Explain the macro-level design process in detail. (Apr ‘14) Macro – Level Process  The main goal of this level is identifying view class by analysing use cases.The interface object handles all communication with actor but processes no business rules or object storage  The view layer macro process consists of two steps as shown in diagram. 1.Determineif class interacts with a human actor. a. Identify view (interface) objects for class. b. Define relationships among the view (interface) objects 2. Iterate and refine  The advantage of utilizing use cases in identifying & designing view layer objects is that the focus centres on the user and including users as part of the planning & design is the best way to ensure accommodating them.
  • 96.
    OOAD UNIT V 2 marks 1.What is Black Box testing? (Nov ’12, Nov ’13, Apr ‘16) To the tester the internal working of the product is kept hidden and that’s what it is called as Black Box testing. But the tester tests the product for the expected output with various sets of inputs. 2. What is Path testing? (Nov ‘12, Apr ’12, Nov ’13, Nov ’14, Apr ‘16) It employs white box testing technique to ensure that all possible paths are executed atleast once during testing. 3. What are the different kinds of errors? (Nov ’12, Nov ’13, Apr ’13,Apr ’14,Apr ‘16) The different kinds of errors are (i) Syntax Errors: It is informed during compile time which are likely to be spelling mistake, omission of punctuation etc., (ii) Run-time Errors: It occurs during the execution of the program when it attempts to carry out the impossible operation such as trying to access non-existent object. (iii) Logic Errors: It occurs when our program simply doesn’t do what we want it to do. We have an infinite loop because we failed to update the condition of the loop. 4. What is quality?(Apr ’12, Nov ’15,Apr ‘15) Quality refers to the ability of the products to meet the users requirementsand expectations and delivering the product on time and within the budget. 5. What are the two types of Path Testing?(Apr ‘13) Two types of path testing are (i) Statement testing coverage: It tests every statement in the object’s method by executing it at least once. (ii) Branch testing coverage: It ensures that every branch alternative has been executed at least once under some test condition. 6. What are logic errors?(Nov ‘14)
  • 97.
    It occurs whenour program simply doesn’t do what we want it to do. We have an infinite loop because we failed to update the condition of the loop. 7. Define usability testing.(Nov ’14) Measures the ease of use as well as the comfort and satisfaction users have with the system. 8. What is user satisfaction test? (Apr ’14, Apr ‘15) The process of quantifying the usability test with some measurable attributes such as functionality, cost, or ease of use. 9. What is white box testing?(Nov ’15,Apr ‘15) It tests the internal workings of the system. It is the process of giving input to the system and checking how the system processes input to generate output. 10. What is meant by system usability? (Nov ‘15) It is defined as the effectiveness, efficiency and satisfaction with which the specified set of users can achieve specified set of tasks in particular environments. 5 marks 1.Write a short note on user satisfaction test.(Nov ’12, Nov ’13,Nov ’15,Apr ‘16) o User satisfaction testing is process of quantifying usability test with some measurable attributes of test, such as functionality, cost, intuitive UI, reliability or ease of use. Usability can be accessed by defining measurable goals such as ◊ 95% of users should be able to find how to withdraw money from ATM machine without error and no formal training ◊ 70% of all users should experience new function as “clear improvement over the previous one” ◊ 90% of consumers should be able to operate VCR within 30 minutes o The principle objectives of user satisfaction test are ◊ Act as communication vehicle between designers as well as between users & designers ◊ To detect and evaluate changes during the design process ◊ To provide a periodic indication of divergence of opinion about current design ◊ To enable pinpointing specific areas of dissatisfaction for remedy ◊ To provide a clear understanding of just how the completed design is to be evaluated o Guidelines for developing user satisfaction test: The format of every user satisfaction test is basically same with contents different for each project. The work must be done with users or
  • 98.
    clients finding outwhat attributes should be included in test. Ask users to select limited number (5 to 10) of attributes by which final product can be evaluated. User might select following attributes for customer tracking system: ease of use, functionality, cost, intuitiveness of user interface and reliability. User must his/her judgment to answer each question by selecting number between 1 – 10 with 10 as most favorable& 1 as least o An interesting side effect of developing user satisfaction tests is that we benefit from it even if test is never administered to anyone; it still provides useful information. Performing test regularly user actively involved in system development. It also helps us stay focused on user’s wishes 2. Briefly discuss about quality assurance tests.(Apr ’13) or Write short notes on Quality Assurance Tests.(Nov ’15,Apr ’15,Apr ‘16) o Debugging is a process of finding out where something went wrong and correcting the code to eliminate the errors or bugs that cause unexpected results. A software debugging system can provide tools for finding errors in programs and correcting them. o Kinds of errors: In general, a software has three types of errors such as below 1. Language (syntax) errors are result of incorrectly constructed code, such as an incorrectly typed keyword or punctuations. They are easiest error to be detected on simple running system 2. Run–time errors are detected on running, when a statement attempts an operation that is impossible to carry out. Eg.: if program tries to access a non-exist file or object, it occurs 3. Logic errors occur when expected output is not formed. They can detected only by testing the code and analyzing the results performed by intended codes o The elimination of syntactical bug is the process of debugging, whereas detection and elimination of logical bug is the process of testing. Quality assurance testing can be divided into two major categories: error–based testing and scenario–based testing oError–based testing techniques search a given class’s method for particular clues of interests, then describe how these clues should be tested. E.g: Boundary condition testing oScenario–based testing also called usage–based testing, concentrates on capturing use –cases. Then it traces user’s task, performing them with their variants as tests. It can identify interaction bugs. These are more complex tests tend to exercise multiple subsystems in a single test covering higher visibility system interaction bugs o S/w testing is one element of a broader topic that is often referred to as verification and validation (V&V). Verification refers to set of activities that ensure that software correctly implements a specific function. Validation refers to different set of activities that ensure that s/w that has been built is traceable to customer requirements 3. Explain the top-down & bottom-up testing with examples.(Nov ‘14)
  • 99.
    Top-Down testing Top-Down testingassumes that the object interaction and systems messages of the application need more testing than an individual objects methods. Top-down testing should find critical design errors early in the testing process and significantly improve the quality of the delivered software because of the iterative nature of the test. A top-down strategy supports testing the user interface and event-driven systems This serves two purposes, First, top-down approach can test the navigation through screens and verify that it matches the requirements. Second, users can see, at an early stage, how the final application will look and feel. This approach also is useful for scenario-based testing. Top-down testing is useful to testsubsystem and system integration. Bottom-Up testing Bottom-up testing starts with the details of the system and proceeds to higher levels by a progressive aggregation of details until they collectively fit the requirements for the system. This approach is more appropriate for testing the individual objects in a system. This strategy makes sense because you are checking the behavior of a piece of code before it is used by another. Bottom-up testing leads to integration testing, which leads to systems testing. 4. Explain the Debugging Principles.(Nov ’14, Apr ‘15) Myer’s Debugging principles: - o Bug Locating principles: * Think * If you reach an impasse, sleep on it * If the impasse remains, describe the problem to some one else * Use debugging tools (slightly different from Myer’s suggestion) * Experimentation should be done as a last resort (slightly different from Myer’s) o Debugging principles: * When where is one bug, there is likely to be another * Fix the error, not just the symptom of it * Probability of solution being correct drops as size of program increases * Beware of possibility that an error correction will create a new error (this is less of a problem in object – oriented environment)
  • 100.
    5. Discuss aboutBlack box testing and White box testing strategies. (Apr ’14) Black Box testing In black box, the test item is treated as “black”, since its logic is unknown; all that is known is what goes in and what comes out or the input and output. In black box testing, we try various inputs and examine the resulting output; we can learn what the box does but nothing about how this conversion is implemented. White Box testing The main use of the white box is in error-based testing, assumes that the specific logic is important and must be tested to guarantee the system‟s proper functioning. It is also called path testing, makes certain that each path in aobject‟s method is executed at least once during testing. Two types of path testing are Statement testing coverage is to test every statement in the objects method by executing it at least once. It is unfeasible to test a program on every single input, so you never can be sure that a program will not fail on some input. Branch testing coverage is to perform enough tests to ensure that every branch alternative has been executed at least once under some test. 10 marks 1.Explain in detail about Test Plan. (Nov ’12,Apr ‘15) or What is a test Plan? What steps are followed in developing a test plan?(Apr ‘12) or Explain in detail various test plans.(Nov ’15) o A test is developed to detect and identify potential problems before delivering the s/w to its users. The test plan need not be very large; in fact, devoting too much time to the plan can be counter productive. The following steps are needed to create a plan 1. Objectives of test: Create objectives of test and describe how to achieve them 2. Development of test case: Develop test data, I/O based on domain of data & expected behavior 3. Test analysis: It involves examination of test O/p and documentation of test results o All passed tests should be repeated with revised program called regression testingwhich can discover errors introduced during the debugging process. Most s/w companies use beta testing, a popular inexpensive, effective way to test s/w and alpha testingwhere testing is done by in-house testers, such as programmers, software engineers, and internal users. o Guidelines for developing Test Plans:
  • 101.
    Thomas stated followingguidelines for writing test plans ◊ Specific appearance or format of test plan must include more details about test ◊ It should contain a schedule and a list of required resources including number of peoples &time ◊ Document every type of test planned with level of detail driven by several factors ◊ A configuration control system provides a way of tracking changes to code should exist ◊ Try to develop a habit of routinely bring test plan sync with product or product specification ◊ At end of each month or as reach each milestone, take time to complete routine updates 2. Explain the various testing strategies.(Nov ‘13) or Describe the different Testing Strategies.(Apr ’13,Apr ‘16) The extent of testing a system is controlled by many factors, such as the risks involved, limitations on resources and deadlines. There are many testing strategies such as block box testing, white box testing, top down testing and bottom up testing. Black Box testing In black box, the test item is treated as “black”, since its logic is unknown; all that is known is what goes in and what comes out or the input and output. In black box testing, you try various inputs and examine the resulting output; you can learn what the box does but nothing about how this conversion is implemented. White Box testing The main use of the white box is in error-based testing, assumes that the specific logic is important and must be tested to guarantee the system‟s proper functioning. It is also called path testing, makes certain that each path in aobject‟s method is executed at least once during testing. Two types of path testing are Statement testing coverage is to test every statement in the object‟s method by executing it at least once. It is unfeasible to test a program on every single input, so you never can be sure that a program will not fail on some input. Branch testing coverage is to perform enough tests to ensure that every branch alternative has been executed at least once under some test. Top-Down testing Top-Down testing assumes that the object interaction and systems messages of the application need more testing than an individual object’s methods. Top-down testing should find critical design errors early in the testing process and significantly improve the quality of the delivered software because of the iterative nature of the test. A top-down strategy supports testing the user interface and event-driven systems
  • 102.
    This serves twopurposes, First, top-down approach can test the navigation through screens and verify that it matches the requirements. Second, users can see, at an early stage, how the final application will look and feel. This approach also is useful for scenario-based testing. Top-down testing is useful to test subsystem and system integration. Bottom-Up testing Bottom-up testing starts with the details of the system and proceeds to higher levels by a progressive aggregation of details until they collectively fit the requirements for the system. This approach is more appropriate for testing the individual objects in a system. This strategy makes sense because you are checking the behavior of a piece of code before it is used by another. Bottom-up testing leads to integration testing, which leads to systems testing. 3. Explain the continuous testing in SQA.(Nov ‘14) Continuous Testing: - o A common practice among developers is to turn over applications to a quality assurance (QA) group for testing only after development is completed. As it is not initial plan, it is time consuming and on identification of design weakness whole process must be repeated. o In order to overcome time constraint, testing must take place on a continuous basis & refining cycle must continue throughout the development process until fully satisfied with results o The use cases and usage scenarios can become test scenarios & will drive test plans. The steps to successful testing are * Understand & communicate the business case for improved testing * Develop an internal infrastructure to support continuous testing * Look for leaders who will commit to and own the process * Measure & document the findings in a defect recording system * Publicize improvements as they are made and let people know what they are doing better 4. Explain the impact of object orientation testing(Apr ’14) The impact of an object orientation on testing can be summarized as follows: 1. Some types of errors could become less plausible (not worth for testing) 2. Some types of errors could become more plausible (worth testing for now) 3. Some new types of errors might appear
  • 103.
    oImpact of Inheritancein Testing: If designers do not follow OOD guidelines especially, if test is done incrementally, it will lead with objects that are extremely hard to debug and maintain The base class contains methods inherited() and redefined(). The derived class redefines the redefined() method. The derived::redefined has to be tested afresh since it is a new code. If the base::inherited has been changed, the derived::inherited() may not have to be completely tested. Where it does depend on the base methods: otherwise it must be tested again. oReusability of Tests: Marick argues that simpler is a test, more likely it is to be reusable in sub classes. The models developed for analysis & design should be used for testing as well. If base::redefined() and derived::redefined are two different methods with different protocols and implementations, each needs a different set of test requirements derived from the use cases, analysis, design or implementation. You need to write new tests only for those derived::redefined requirements not satisfied by the base::redefined tests. Furthermore, the use-case diagram and the highest level class diagrams can benefit the scenario-based testing. Since a class diagram shows the inheritance structure, which is important information for error-based testing. APRIL 2012 51320/SEE6C/SEZ6C Time : Three hours Maximum : 75 marks SECTION A — (10 × 2 = 20 marks) Answer any TEN questions. 1. Define polymorphism. 2. List the steps of micro development process. 3. Differentiate between user and actor. 4. What are the steps of CRC process? 5. What is association? 6. Define cohesion. 7. What is meta–data? 8. What is modal dialog? 9. What do you mean by user-centered interface? 10. What is black-box testing? 11. What is the role of configuration control system? 12. What is usability testing?
  • 104.
    51320/SEE6C/SEZ6C 2 SECTION B— (5 × 5 = 25 marks) Answer any FIVE questions. 13. What are the benefits of modeling? Explain. 14. Differentiate between extends association and uses association. 15. Explain the use-case driven approach for identifying classes. 16. Explain the different database models. 17. Explain the four major activities of designing view layer classes. 18. Explain the impact of object orientation on testing. 19. Explain the user satisfaction testing. SECTION C — (3 × 10 = 30 marks) Answer any THREE questions. 20. Explain the unified approach. 21. Discuss about object relationships. 22. Discuss about designing classes. 23. Explain the User Interface design rules. 24. Explain the test cases and test plans. ———————----------- APRIL 2013 51320/SEE6C/ SEZ6C Time : Three hours Maximum : 75 marks SECTION A — (10 × 2 = 20 marks) Answer any TEN questions. All questions carry equal marks. Each answer should not exceed 50 words. 1. List the key steps in OOAD. 2. Define patterns. 3. What do you meant by object diagram? 4. Define primary actor and supporting actor. 5. What are meta-classes? 6. Define axioms. 7. What are attributes? 8. Define user interface layer.
  • 105.
    9. What isCRC? 10. State about usability testing. 11. What is meant by object store? 12. What is the purpose of debugging? SECTION B — (5 × 5 = 25 marks) Answer any FIVE questions. 13. Give the differences between design patterns and frameworks. 14. Discuss briefly the object relationships and associations. 15. What are the Attributes identified in object oriented class design phase? Explain. 16. What are the windows in user interface used for? Explain. 17. Illustrate test plan and continuous testing. 18. Briefly describe the micro level process. 19. Why do we go for unified approach? Explain. SECTION C — (3 × 10 = 30 marks) Answer any THREE questions. 20. Explain briefly the various steps in object oriented system development. 21. Explain elaborately about the use case model with suitable example. 22. Explain the object orientated design process and its axioms. 23. Describe the purpose of view layer interface. 24. What are the different types of testing strategies? Explain. ——————————— APRIL 2014 51320/SEE6C/SEZ6C SECTION A — (10 × 2 = 20 marks) Answer any TEN questions. All questions carry equal marks. 1. Define : OO Analysis and Design.
  • 106.
    2. Define :UML. 3. Define : Usecase. 4. Define : Patterns template. 5. Write the needs of unified approach. 6. List out the two design axioms applied to objectoriented design. 7. Define : Class Visibility. 8. What is meant by View Layer? 9. Define : Cohesion. 10. What are the types of errors that you could find in your program? 11. List the steps needed for a test plan. 12. What is the objective of testing? SECTION B — (5 × 5 = 25 marks) Answer any FIVE questions. 13. What is Framework? Give any two differences between design patterns and frameworks. 14. Differentiate between extends association and uses association. 15. Discuss how to design the classes. 16. What are the three general steps in creating a user interface object? Explain. 17. Briefly explain the user satisfaction cycle. 18. Explain the Attributes identified in object-oriented class design phase in brief. 19. What is meant by the micro level process? Explain. SECTION C — (3 × 10 = 30 marks) Answer any THREE questions. 20. Discuss the Object Oriented Methodologies in detail. 21. Discuss about Usecase Driven approach in detail. 22. Discuss the Object-Oriented Design Axioms in detail. 23. Explain the steps involved in designing the access layer classes. 24. Describe Quality Assurance test and Testing strategies. ———————
  • 107.
    APRIL 2015 51320/SEE6C/SEZ6C Time: Three hours Maximum : 75 marks SECTION A — (10 2 = 20 marks) Answer any TEN questions. 1. Why an object orientation? 2. Define polymorphism. 3. What is the power of prototype ? 4. How naming is done in use-case model? 5. How to identify association? 6. Define attributes. 7. Explain design process. 8. Define axioms. 9. Define micro level process. 10. What is the purpose of view layer interface? 11. What is Top-down testing? 12. How to analyze the test? SECTION B — (5 5 = 25 marks) Answer any FIVE questions. 13. Explain encapsulation and information hiding. 14. What are the steps involved in software development process? 15. Explain Association role in UML. 16. What is the function of actors in use-case model? 17. Differentiate coupling and cohesion. 18. Explain how to design a view layer class. 19. Give the guideline for developing a user satisfaction test. SECTION C — (3 10 = 30 marks) Answer any THREE questions. 20. Elaborate static and dynamic models. 21. How to identify object relationship? What is the role of aggregation in relation? 22. Describe the overview of axioms. 23. User Interface design as a creative process – Explain. 24. Explain the testing strategies for a software. ———————
  • 108.
    SECTION A —(10 2 = 20 marks) Answer any TEN questions. 1. Define : Multiple inheritance. 2. What is the goal of OOD? 3. Define static model. 4. Write a note on : actors. 5. What is association? 6. What is OCL? 7. Write a note : KISS. 8. Define : Reverse Engineering. 9. What is client-server computing? 10. Define : syntax errors. 11. What is white box testing? 12. Define : user satisfaction testing. SECTION B — (5 × 5 = 25 marks) Answer any FIVE questions. 13. Discuss briefly on : Object relationships and associations. 14. Write short notes on : Frame works. 15. Discuss about classes, responsibilities and collaborators process. 16. Write about design patterns. 17. Discuss briefly on : Designing view layer classes. 18. Explain about quality assurance tests. 19. Write short notes on : Usability testing. SECTION C — (3 10 = 30 marks) Answer any THREE questions. 20. Explain about object - oriented systems development. 21. Describe about use-case mode with example 22. Explain object-relational systems. 23. Discuss in detail, micro-level process. 24. Explain the case study on developing usability test plans and test cases for the VIANET Bank ATM system ———————
  • 109.
    JULY 2012 SE51320/SEE6C/ SEZ6C Time : Three hours Maximum : 75 marks SECTION A — (10 × 2 = 20 marks) Answer any TEN questions. 1. State the software development methodology. 2. What is inheritance? 3. List the types of prototypes. 4. Differentiate between users association and extends association. 5. List the guidelines for naming classes. 6. Define coupling. 7. Define private and public protocol. 8. What is user-centered interface? 9. What are avoid modes? SE 51320/SEE6C/ SEZ6C 2 10. What is alpha testing? 11. Define the configuration control system. 12. List the debugging principles. SECTION B — (5 × 5 = 25 marks) Answer any FIVE questions. 13. Explain the Booch methodology. 14. Explain the noun phrase approach for identifying classes. 15. What is A-part-of relationship? Explain. 16. Explain the process of designing methods and protocols. 17. Explain the guidelines for designing forms and data entry windows. 18. How to prototype the user interface? Explain. 19. Explain the impact of object orientation on testing. SECTION C — (3 × 10 = 30 marks) Answer any THREE questions. 20. Discuss about UML class diagram. 21. Explain the use-case model.
  • 110.
    22. Discuss thedistributed databases and client-server computing. 23. Explain the micro-level process in designing view layer classes. 24. Discuss the different testing strategies. ——————— JULY 2014 SE 51320/ SEE6C/SEZ6C Time : Three hours Maximum : 75 marks SECTION A — (10 2 = 20 marks) Answer any TEN questions, All questions carry equal marks. 1. What do you mean by polymorphism? 2. What are the uses of usecase? 3. List out the three types of actors. 4. What is meant by primary supporting actor? 5. Define meta-classes. 6. What is Class visibility? 7. What are the two design axioms applied to objectoriented design? 8. What is User Interface Layer? 9. Define schema or meta-data. 10. What is continuous testing? 11. Define Object Store. 12. Define System Usability. SECTION B — (5 × 5 = 25 marks) Answer any FIVE questions, 13. Explain object-oriented design in unified approach. 14. Write briefly about Use cases with examples. 15. Explain briefly the object interoperability. 16. Explain the steps involved in designing the view layer classes. 17. Describe test cases and the impacts of object orientation on testing. 18. What are the three basic types of attributes? Explain. 19. Explain how to design the object oriented classes. SECTION C — (3 10 = 30 marks) Answer any THREE . 20. Explain the system development life cycle in OOAD.
  • 111.
    21. Discuss aboutobject relationships. 22. Discuss elaborately the Object Oriented Design Process. 23. Give steps involved in Micro development process. 24. Explain the following : (a) Quality Assurance tests (5) (b) Debugging Principles. (5) ———————— NOVEMBER 2012 51320/SEE6C/ SEZ6C Time : Three hours Maximum : 75 marks SECTION A — (10 × 2 = 20 marks) Answer any TEN questions. 1. What is cardinality? 2. Define pattern. 3. What is 'uses association'? 4. Differentiate between user and actor. 5. Define aggregation. 6. Define coupling. 7. Name the types of attributes. 8. Define the spring-loaded mode of user interface. 9. What is a mode? 10. What is white-box testing? 11. What is regression testing? 12. List the debugging principles. SECTION B — (5 × 5 = 25 marks) Answer any FIVE questions. 13. Explain the macro development process. 14. Explain CRC (Classes, Responsibilities, and Collaborators) 15. Explain the super-sub class relationships. 16. Explain the design patterns. 17. Describe the guidelines for designing forms. 18. Explain the test cases.
  • 112.
    19. Describe usersatisfaction testing. SECTION C — (3 × 10 = 30 marks) Answer any THREE questions. Each answer should not exceed 500 words. 20. Discuss the UML class diagram with notations. 21. Explain the noun phrase approach for identifying classes. 22. Describe the distributed databases and client/server computing. 23. Discuss about designing view layer classes. 24. Explain the usability testing. ——————————— NOVEMBER 2013 51320/SEE6C/SEZ6C Time : Three hours Maximum : 75 marks SECTION A — (10 × 2 = 20 marks) Answer any TEN questions. 1. What is RAD? 2. List the phases of OMT. 3. What is ‘extends association’? 4. What are the steps of CRC process? 5. Name the three types of relationship among objects. 6. Differentiate between coupling and cohesion. 7. What are distributed databases? 8. What do you mean by user-entered interface? 9. Define patterns. 10. List the Myer’s debugging principles. 11. Define user satisfaction test. 12. What is COTS? SECTION B — (5 × 5 = 25 marks) Answer any FIVE questions. 13. Explain the symbols of DFD. 14. Explain the common class patterns approach for identifying classes.
  • 113.
    15. What arethe guidelines for naming classes? 16. What are the types of methods a class can provide? Explain. 17. Discuss about prototyping the user interface. 18. Explain the impact of object orientation on testing. 19. Explain usability testing. SECTION C — (3 × 10 = 30 marks) Answer any THREE questions. 20. Explain the UML dynamic modeling. 21. Discuss the use case model. 22. Explain the object oriented database management system. 23. Describe the macro and micro processes of view layer design. 24. Discuss the different testing strategies. —————————— Ws1 NOVEMBER 2014 51320/SEE6C/ SEZ6C Time : Three hours Maximum : 75 marks SECTION A — (10 2 = 20 marks) Answer any TEN questions. 1. What is RAD? 2. Define UML. 3. What is ‘extends association’? 4. Write the needs of unified approach. 5. Define Cohesion. 6. What are the types of attributes? 7. What do you mean by user-entered interface? 8. List the Myer’s debugging principles. 9. What is meant by View Layer? 10. Define user satisfaction test. 11. What is spring-loaded mode? 12. What are the types of errors that you could find in your program?
  • 114.
    SECTION B —(5 5 = 25 marks) Answer any FIVE questions. 13. Explain the component bases development. 14. Explain the Booch methodology. 15. Discuss the design patterns. 16. Explain the database models. 17. What is meant by the micro level process? Explain. 18. Briefly explain the user satisfaction cycle. 19. Explain usability testing. SECTION C — (3 10 = 30 marks) Answer any THREE questions. 20. Discuss the use case approach of object-oriented system development. 21. Discuss the use case model. 22. Explain the object oriented DBMS. 23. Explain the steps involved in designing the access layer classes. 24. Discuss the different testing strategies. ——————————— NOVEMBER 2015 51320/SEE6C/SEZ6C Time : Three hours Maximum : 75 marks PART A — (10 2 = 20 marks) Answer any TEN questions. 1. Differentiate single and multiple inheritance. 2. What are meta-classes? 3. What is pattern template? 4. Define object oriented methodology. 5. What are the guidelines for effective documentation? 6. Define candidate class. 7. Write design axioms . 8. What is UML? 9. What is the purpose of view layer interface? 10. Define black box testing. 11. Define white box testing. 12. How to develop test case?
  • 115.
    PART B —(5 5 = 25 marks) Answer any FIVE questions. 13. Briefly explain object oriented systems development methodology. 14. Describe UML diagram with example. 15. How to define attributes by analyzing use case and UML diagram? 16. Explain object oriented design process. 17. Discuss the Overview of object interoperability. 18. Explain quality assurance tests. 19. Describe debugging principles. PART C — (3 10 = 30 marks) Answer any THREE questions. 20. What are objects? How objects are grouped in classes? Give examples. 21. Explain object analysis classification theory. 22. Explain the object oriented design axioms and object storage. 23. Explain user interface design as a creative process. 24. What are the impacts of object orientation on testing? Explain. ——————— APRIL 2012 51412/SEU5C Time : Three hours Maximum : 75 marks SECTION A — (10 × 2 = 20 marks) Answer any TEN questions. 1. What is software correspondence? 2. Why do we need to model a problem? 3. Define ‘data abstraction’. 4. What is a use-case model? 5. What are the events classes? 6. Is association different from an a-part-of relation? 7. What is a concurrency policy? 8. Give examples for public and private protocols . 9. Why do users find OOUI easier to use? 10. What circumstances you can use modes in your user interface? 11. What is path testing? 12. What is quality? SECTION B — (5 × 5 = 25 marks) Answer any FIVE questions.
  • 116.
    13. What isthe difference between an object’s methods and an object’s attributes? 14. Describe any five Booch diagrams. 15. How would you identify a super-subclass structure? Explain. 16. What is the basic activity in designing an application? 17. What is the difference between a schema and meta-data? 18. Describe the UI Design rules. 19. What basic activities are performed in using debugging tools? SECTION C — (3 × 10 = 30 marks) Answer any THREE questions. 20. Describe the components of the unified approach. 21. Develop sequence / collaboration diagrams for the withdraw savings Denied use case of the bank system. 22. List the object-oriented design axioms and corollaries. 23. Describe the macro and micro processes of view layer design. 24. What is a test plan? What steps are followed in developing a test plan? ––––––––––– APRIL 2013 51412/SEU5C Time : Three hours Maximum : 75 marks SECTION A — (10 × 2 = 20 marks) Answer any TEN questions. 1. What is an object? 2. What is software validation? 3. What is UML? 4. Define method. 5. What is an Association? 6. Define theorem. 7. What is public protocol? 8. What is DBMS? 9. Write some of the modes used in the User Interface. 10. What is an Application Window? 11. What are the two types of Path Testing? 12. What are the different kinds of Errors? SECTION B — (5 × 5 = 25 marks) Answer any FIVE questions. 13. What are the different models of the OMT? Explain. 14. Explain the extensibility of the UML.
  • 117.
    15. Explain aboutClass Responsibility. 16. Discuss about Object Oriented Design Axioms. 17. Describe the process of creating the access layer. 18. Explain about the designing of the view layer classes. 19. Briefly discuss about Quality Assurance tests. SECTION C — (3 × 10 = 30 marks) Answer any THREE questions. 20. Briefly describe about the Unified Approach. 21. Discuss about object Responsibility. 22. Briefly explain the object oriented designing process. 23. Explain the guidelines for designing application windows. 24. Describe the different Testing Strategies . ————————— Wk 3 APRIL 2015 51412/SEU5C Time : Three hours Maximum : 75 marks SECTION A — (10 × 2 = 20 marks) Answer any TEN questions each in 30 words. 1. Define Objects. 2. What is meant by Inheritance? 3. What is a model? 4. What is a transaction? 5. Write down any two approaches for identifying classes. 6. Define axiom. 7. What is meant by Coupling? 8. Define DML. 9. Define User Centered Interface. 10. What is white box testing? 11. What is quality? 12. What is a user satisfaction test? SECTION B — (5 × 5 = 25 marks) Answer any FIVE questions each in 200 words.
  • 118.
    13. Write ashort note on Activity Diagram. 14. Describe the basic activities in Object-Oriented Analysis. 15. What is an a-part-of structure? Explain. 16. Explain the object-oriented design axioms. 17. Write a short note on Object-Relation Mapping. 18. Write short notes on Quality Assurance Tests. 19. Write a short note on “Debugging principles”. SECTION C — (3 × 10 = 30 marks) Answer any THREE questions each in 500 words. 20. Describe the Processes and Components of the Unified approach 21. . Explain in detail about associations. 22. Explain the various activities of the objectOriented design process. 23. Describe the process of creating the access layer classes. 24. Explain in detail about Test Plan. ———————