SlideShare a Scribd company logo
1 of 119
Download to read offline
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:
OOAD-FULL-UNITS (full unit) SEE6A
OOAD-FULL-UNITS (full unit) SEE6A
OOAD-FULL-UNITS (full unit) SEE6A
OOAD-FULL-UNITS (full unit) SEE6A
OOAD-FULL-UNITS (full unit) SEE6A
OOAD-FULL-UNITS (full unit) SEE6A
OOAD-FULL-UNITS (full unit) SEE6A
OOAD-FULL-UNITS (full unit) SEE6A
OOAD-FULL-UNITS (full unit) SEE6A
OOAD-FULL-UNITS (full unit) SEE6A
OOAD-FULL-UNITS (full unit) SEE6A
OOAD-FULL-UNITS (full unit) SEE6A
OOAD-FULL-UNITS (full unit) SEE6A
OOAD-FULL-UNITS (full unit) SEE6A
OOAD-FULL-UNITS (full unit) SEE6A
OOAD-FULL-UNITS (full unit) SEE6A
OOAD-FULL-UNITS (full unit) SEE6A
OOAD-FULL-UNITS (full unit) SEE6A
OOAD-FULL-UNITS (full unit) SEE6A
OOAD-FULL-UNITS (full unit) SEE6A
OOAD-FULL-UNITS (full unit) SEE6A
OOAD-FULL-UNITS (full unit) SEE6A
OOAD-FULL-UNITS (full unit) SEE6A
OOAD-FULL-UNITS (full unit) SEE6A
OOAD-FULL-UNITS (full unit) SEE6A
OOAD-FULL-UNITS (full unit) SEE6A
OOAD-FULL-UNITS (full unit) SEE6A
OOAD-FULL-UNITS (full unit) SEE6A
OOAD-FULL-UNITS (full unit) SEE6A
OOAD-FULL-UNITS (full unit) SEE6A
OOAD-FULL-UNITS (full unit) SEE6A
OOAD-FULL-UNITS (full unit) SEE6A
OOAD-FULL-UNITS (full unit) SEE6A

More Related Content

Similar to OOAD-FULL-UNITS (full unit) SEE6A

Object Orientation Fundamentals
Object Orientation FundamentalsObject Orientation Fundamentals
Object Orientation FundamentalsPramod Parajuli
 
Top 30 Technical interview questions
Top 30 Technical interview questionsTop 30 Technical interview questions
Top 30 Technical interview questionsSohailSaifi15
 
Model versioning in context of living
Model versioning in context of livingModel versioning in context of living
Model versioning in context of livingijseajournal
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and DesignDr. C.V. Suresh Babu
 
Object Oriented Database
Object Oriented DatabaseObject Oriented Database
Object Oriented DatabaseMegan Espinoza
 
Unit 1( modelling concepts & class modeling)
Unit  1( modelling concepts & class modeling)Unit  1( modelling concepts & class modeling)
Unit 1( modelling concepts & class modeling)Manoj Reddy
 
Architecture and design
Architecture and designArchitecture and design
Architecture and designhimanshu_airon
 
Bt8901 objective oriented systems1
Bt8901 objective oriented systems1Bt8901 objective oriented systems1
Bt8901 objective oriented systems1Techglyphs
 
fdocuments.in_unit-2-ooad.ppt
fdocuments.in_unit-2-ooad.pptfdocuments.in_unit-2-ooad.ppt
fdocuments.in_unit-2-ooad.pptRAJESH S
 
Module3 - Object Oriented Analysis & Functional Model.pdf
Module3 - Object Oriented Analysis & Functional Model.pdfModule3 - Object Oriented Analysis & Functional Model.pdf
Module3 - Object Oriented Analysis & Functional Model.pdfGerard Alba
 
SE - Lecture 3 - Software Tools n Environment.pptx
SE - Lecture 3 - Software Tools n Environment.pptxSE - Lecture 3 - Software Tools n Environment.pptx
SE - Lecture 3 - Software Tools n Environment.pptxTangZhiSiang
 
Unit No 6 Design Patterns.pptx
Unit No 6 Design Patterns.pptxUnit No 6 Design Patterns.pptx
Unit No 6 Design Patterns.pptxDrYogeshDeshmukh1
 
Object oriented methodologies
Object oriented methodologiesObject oriented methodologies
Object oriented methodologiesnaina-rani
 

Similar to OOAD-FULL-UNITS (full unit) SEE6A (20)

Object Orientation Fundamentals
Object Orientation FundamentalsObject Orientation Fundamentals
Object Orientation Fundamentals
 
Ooad quest and ans
Ooad quest and ansOoad quest and ans
Ooad quest and ans
 
Top 30 Technical interview questions
Top 30 Technical interview questionsTop 30 Technical interview questions
Top 30 Technical interview questions
 
Model versioning in context of living
Model versioning in context of livingModel versioning in context of living
Model versioning in context of living
 
Oomd unit1
Oomd unit1Oomd unit1
Oomd unit1
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
 
Ooad
OoadOoad
Ooad
 
Ooad 2
Ooad 2Ooad 2
Ooad 2
 
Ooad
OoadOoad
Ooad
 
Object Oriented Database
Object Oriented DatabaseObject Oriented Database
Object Oriented Database
 
Unit 1( modelling concepts & class modeling)
Unit  1( modelling concepts & class modeling)Unit  1( modelling concepts & class modeling)
Unit 1( modelling concepts & class modeling)
 
Architecture and design
Architecture and designArchitecture and design
Architecture and design
 
Bt8901 objective oriented systems1
Bt8901 objective oriented systems1Bt8901 objective oriented systems1
Bt8901 objective oriented systems1
 
fdocuments.in_unit-2-ooad.ppt
fdocuments.in_unit-2-ooad.pptfdocuments.in_unit-2-ooad.ppt
fdocuments.in_unit-2-ooad.ppt
 
Module3 - Object Oriented Analysis & Functional Model.pdf
Module3 - Object Oriented Analysis & Functional Model.pdfModule3 - Object Oriented Analysis & Functional Model.pdf
Module3 - Object Oriented Analysis & Functional Model.pdf
 
SE - Lecture 3 - Software Tools n Environment.pptx
SE - Lecture 3 - Software Tools n Environment.pptxSE - Lecture 3 - Software Tools n Environment.pptx
SE - Lecture 3 - Software Tools n Environment.pptx
 
Object oriented analysis and design unit- iv
Object oriented analysis and design unit- ivObject oriented analysis and design unit- iv
Object oriented analysis and design unit- iv
 
Object oriented analysis and design unit- ii
Object oriented analysis and design unit- iiObject oriented analysis and design unit- ii
Object oriented analysis and design unit- ii
 
Unit No 6 Design Patterns.pptx
Unit No 6 Design Patterns.pptxUnit No 6 Design Patterns.pptx
Unit No 6 Design Patterns.pptx
 
Object oriented methodologies
Object oriented methodologiesObject oriented methodologies
Object oriented methodologies
 

Recently uploaded

Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application ) Sakshi Ghasle
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...M56BOOKSTORE PRODUCT/SERVICE
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17Celine George
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfSumit Tiwari
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsKarinaGenton
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxRoyAbrique
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting DataJhengPantaleon
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docxPoojaSen20
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppCeline George
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsanshu789521
 

Recently uploaded (20)

Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application )
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its Characteristics
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docx
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website App
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha elections
 

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 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.
  • 3. 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.
  • 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 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.
  • 7.  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.
  • 8. 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)
  • 9. 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. 
  • 10. 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.
  • 11. 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:
  • 12. 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:
  • 13. 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:
  • 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 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
  • 16. 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)
  • 17. 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)
  • 18.  Sequence diagram for Withdraw checking use case:  Collaboration diagram for Withdraw checking use case:
  • 19. 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)
  • 20. 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:
  • 21. 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)
  • 22.  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)
  • 23. 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
  • 24.  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)
  • 25.  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)
  • 26.  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)
  • 27. 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
  • 28. (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.
  • 29.  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.
  • 30. 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.
  • 31. 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.
  • 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 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
  • 34.  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.
  • 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 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.
  • 37. 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.
  • 38.  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.
  • 39. 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.
  • 40. 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)
  • 41. 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”.
  • 42.  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)
  • 43. 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.
  • 44.  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.
  • 45.  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
  • 46. 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.
  • 47. 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.
  • 48. 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
  • 49. 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.
  • 50. 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)
  • 51. 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
  • 52. 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.
  • 53.  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:
  • 54.  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.
  • 55.  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.
  • 56. (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)
  • 57.  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.
  • 58. (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.
  • 59. 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:
  • 60. 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.
  • 61. 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.
  • 62. 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.
  • 63. (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.
  • 64. 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.
  • 65.  Sequence diagram for Withdraw checking use case:
  • 66.  Collaboration diagram for Withdraw checking use case:
  • 67. 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.
  • 68. 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)
  • 69. 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)
  • 70. 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
  • 71. 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)
  • 72.  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.
  • 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 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:
  • 75. 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)
  • 76. 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)
  • 77.  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.
  • 78. 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.
  • 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. 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
  • 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 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)
  • 83. 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.
  • 84. 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:
  • 85. 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,
  • 86. 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: