Part - A Questions and Answers
UNIT-I
1.
Write about the traditional development methodologies?
Most traditional development
methodologies are either algorithm centric or data centric.
a. Algorithm-centric methodology
_ You think of an algorithm that can accomplish
the task, and then build data structures for that algorithm to use.
b. Data- centric methodology
_ You think how to structure the data,
and then build the algorithm around that structure.
2.
Define objects.
Object is a real- world entity, identifiably
separate from its surroundings, has a well defined set of attributes and a
well-defined set of procedures or methods.
Properties (or attributes) describe
the state (data) of an object. Methods (procedures) define its behavior. Object
means a combination of data and logic that represents some real-world entity.
(E.g.) Car is an object
Color, manufacturer, cost, owner etc
are attributes.
Drive it, lock it, tow it, carry
passengers in it are all methods.
3.
Give a brief note on object behavior
Object behavior is described in
methods or procedures. Behavior denotes the collection of methods that
abstractly describes what an object is capable of doing. Each procedure defines
and describes a particular behavior of an object. Methods encapsulate the
behavior of the object. Objects take responsibility for their own behavior.
4.
What do you mean by information hiding?
Information hiding is the principle of
concealing the internal data and procedures of an object and providing an
interface to each object and providing an interface to each object in such a
way as to reveal as little as possible about its inner workings.
An object is often said to encapsulate
the date and a program.
_ Per-class protection.
o Class methods can access any object
of that class and not just the
receiver
_ Per-object protection.
o Methods can access only the
receiver.
5.
Define class hierarchy
_ Object oriented system organizes
classes into a subclass-super class hierarchy.
_ At the top of the class hierarchy
are the most general classes and at the bottom are the more specific.
_ A subclass inherits all of the
properties and methods defined in its super class.
_ Subclasses may refine or constrain
the state and behavior inherited from its super class.
_ A class may simultaneously be the
subclass to some class and a super class to another class.
_ Formal or abstract classes have no
instances but define the common behaviors that con be inherited by more
specific classes.
6.
Write briefly about inheritance and explain the types of inheritance.
_ Inheritance is the property of
object-oriented systems that allows objects to be built from other objects.
_ Inheritance is a relationship
between classes where one class is the parent class of another derived class
called base class or super class.
_ Inheritance allows classes to share
and reuse behaviors and attributes of all its super classes.
_ Types of inheritance
_ Dynamic inheritance.
It allows objects to change and evolve
over time. Since base classes provide properties and attributes for objects,
changing base classes changes the properties and attributes of a class.
_ Multiple inheritance.
Some object-oriented systems permit a
class to inherit its state (attributes) and behaviors form more than one super
class.
7.
What do you mean by polymorphism?
Polymorphism means that the same
operation may behave differently on different classes. Polymorphism allows us
to write generic, reusable code more easily, because we can specify general
instructions and delegate the implementation details to the objects involved.
8.
Explain object relationship and associations.
a. Association represents the
relationships between objects and classes.
b. Associations are bidirectional.
c. Cardinality specifies how many
instances of one class may relate to a single instance of an associated class.
d. Cardinality constraints the number
of related objects and often is described as being “one” or “many”
9. What do you mean by
consumer-producer association?
It is also known as client-server
association. It uses relationship. It is a oneway interaction in which one
object requests the service of another object. The object that makes the
request is the consumer or client and the object receives the request and
provides the service is the producer or server.
10.
Write about static and dynamic binding?
o Static binding
_ The process of determining which
functions to invoke at compile time is termed as static binding. Static binding
optimizes the calls.
o Dynamic binding
_ The process of determining which
functions to invoke at runtime are called as dynamic binding. They occur when
polymorphic calls are issued. Dynamic binding allows some method invocation decisions
to be deferred until the information is known.
_
11.
Define object persistence
A file or a database can provide
support for objects having a longer lifeline, longer than the duration of the
process for which they were created. This is called object persistence. An
object can persist beyond application session boundaries, during which the
object is stored in a file or a database. The object can be retrieved in an
other application session and will have same state and relationship.
12.
Define meta-classes.
If a class is an object, it must
belong to a class which is called as meta-class or a class of classes. All the
objects are instances of a class and all classes are instances of a meta-class.
Meta-classes are used by the compiler.
13.
What do you mean by software development process?
The software development process
consists of
_ Analysis
_ Design
_ Implementation
_ Testing
_ Refinement
The essence of software development
process is to transform users’ needs into a software solution that satisfies
those needs. The main point is to build highquality software.
14.
Explain briefly the waterfall approach.
a. It starts with deciding what is to
be done
b. Once the requirements have been
determined, we next must decide how to accomplish them.
c. Followed by a step in which we do
it.
d. We then must test the result to see
if we have satisfied the users’ requirements.
e. Finally we use what we have done.
15.
Define collaboration.
The object-oriented programming
community has adopted use-cases to a remarkable degree. Scenarios are a great
way of examining who does what in the interactions among objects and what role
they play; that is their interrelationships.
This intersection among objects’ roles
to achieve a given goal is called collaboration.
16.
Write the 80-20 rule.
a. Documentation is another important
activity, which does not end with object-oriented analysis but should be
carried out throughout the system development.
b. The 80-20 rule generally applies
for documentation:
_ 80 percent of the work can be done
with 20 percent of the documentation.
17.
Define Prototype. Give the types of prototype.
A prototype is a version of a software
product developed in the early stages of the product’s life cycle for specific,
experimental purposes. A prototype enables you to fully understand how easy or
difficult it will be to implement some of the
features
of the system. It also gives users a chance to comment on the usability and
usefulness of the user interface design.
Prototypes have been categorized in
various ways.
_ Horizontal prototype
_ Vertical prototype
_ Analysis prototype
_ Domain prototype
18.
Write a brief note on RAD.
a. Rapid application development (RAD)
is a set of tools and techniques that can be used to build an application
faster than typically possible with traditional methods.
b. The developer sacrifices the
quality of the product for the quicker delivery.
c. RAD does not replace the system
development life cycle but complements it, since it focuses more on process
description and can be combined perfectly with the object-oriented approach.
d. The main objective of RAD is to
build a version of an application rapidly to see whether the system does what
it is supposed to do.
e. RAD involves a number of
iterations. RAD encourages the incremental development approach.
19.
Write about CBD?
Component based development is an
industrialized approach to the software development process. Application
development moves from custom development to assembly of prebuilt, pretested,
reusable software components that operate with each other.
20.
Why do we go for object oriented systems development?
The motivation factor behind
object-oriented system development is the desire to make software development
easier and more natural by raising the level of abstraction to the point where
the level of abstraction to the point where applications can be implemented in
the same terms n which they are described by users.
21.
What is horizontal prototype?
It is a simulation of the interface
ie, it has the entire user interface that will be in the full-featured system
but contains no functionality.
22.
Explain the domain prototype?
It is an aid for the incremental
developmental of the ultimate software solution. It often is used as a tool for
the staged delivery of subsystems to the users or other members of the
developmental team.
23.
Write about the Vertical prototype?
It’s a subset of the system features
with complete functionality. The principal advantage of this method is that the
few implemented functionality can be tested in great depth.
24.
Explain Analysis prototype?
It is an aid for exploring the problem
domain. This class of prototype is used to inform the user and demonstrate the
proof of a concept. It is not used as the basis of development. The final
product will use the concepts exposed by the prototype, not its code.
UNIT-II
1.
Write about the four phases in OMT?
OMT consists of four phases. They are
• Analysis-The results are objects and
dynamic & functional models.
• System design-The results are a
structure of the basic architecture of the system along with high-level
strategy decisions.
• Object Design-Produces a design
document, consisting of detailed objects static, dynamic and functional models
• Implementation-This activity
produces reusable, extendible, robust code.
2.
What do you mean by object diagram?
The object model of OMT is represented
graphically with an object diagram. The object diagram contains classes
interconnected by association lines. Each class represents a set of individual
objects. The association lines establish relationships among the classes. Each
association line represents a set of links from the objects o f one class to
the objects of another class
3.
What are the primary symbols used in Data Flow Diagrams?
Data flow diagrams use four primary
symbols:
_ The process is any function
being performed.(verify password in the ATM)
_ The data flow shows the
direction of data element movement.(PIN code)
_ The data store is a location
where data are stored.(Account in ATM)
_ An external entity is a
source or destination of a data element .(the ATM card reader)
4.
What are the diagrams used in Booch methodology?
The Booch methodology consists of the
following diagrams:
_ Class diagrams.
_ Object diagrams.
_ State transition diagrams.
_ Module diagrams.
_ Process diagrams.
_ Interaction diagrams.
5.
Give the steps involved in Macro development process in Booch methodology.
The macro development process consists
of the following steps:
o Conceptualization
_ Establish the core requirements and
develop a prototype.
o Analysis and development of the
model
_ Use the class diagram to describe
the roles and responsibilities of
objects. Use the object diagram to
describe the desired behavior of the system.
o Design or create the system
architecture.
_ Use the class diagram to decide what
classes exist and how they relate to each other, the object diagram to decide
what mechanisms are used, the module diagram to map out where each class and object
should be declared, and the process diagram to determine to which processor to
allocate a process.
o Evolution or implementation-
_ Refine the system through much
iteration.
o Maintenance-Make localized changes
to the system to add new requirements and eliminate bugs.
6.
Give the steps involved in Micro development process in Booch methodology.
The micro process is a description of
the day-to-day activities by a single or small group of software developers. It
consists of the following steps.
o Identify classes and objects.
o Identify class and object semantics.
o Identify class and object
relationships.
o
Identify class and object interface and implementation.
7.
Write briefly about 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 model employs extends
and uses relationships. The use cases are described as one of the following:
_ Nonformal text with no clear flow of
events
_ Text with a clear flow of events
_ Formal style using pseudo code.
8.
Write short note on Objectory.
Object-oriented software engineering
(OOSE), also called Objectory, is a method or object-oriented development with
the specific aim to fit the development of large, real-time systems. Objectory,
is a disciplined process for the industrialized development of software, based
on a use-case driven design. Objectory is built around several different
models:
_ Use case-model.
_ Domain object model.
_ Analysis object model.
_ Implementation model.
_ Test model.
9.
Define patterns.
Design pattern identifies the key
aspects of a common design structure that makes it useful for creating a
reusable object-oriented design. Furthermore, it identifies the participating
classes and instances, their roles and collaborations, and the distribution of
responsibilities. It describes when it applies, whether it can be applied in
view of other design constraints and the consequences and trade-offs of its
use.
A pattern is an instructive
information that captures the essential structure and insight of a successful
family of proven solutions to a recurring problem that arises within a certain
context and system of forces.
10.
Define proto-patterns.
Even if something appears to have all
the requisite pattern components, it should not be considered a pattern until
it has been verified to be a recurring phenomenon (preferably found in at least
three existing system; this often is called rule of three). A proto-pattern is
the “pattern in waiting” which is not yet known to recur. It is the pattern
waiting to undergo some degree of peer scrutiny or review.
11.
Define patterns template. Give some examples for components in pattern.
Every pattern must be expressed in the
form of a rule which is called as a template. It should establish a
relationship between a context, a system of forces which arises in the context,
and a configuration. Some of the essential components are:
_ Name
_ Problem
_ Context
_ Forces
_ Solution
_ Examples
12.
Define anti-patterns.
An anti-pattern represents a worst
practice while a pattern represents a best practice. Anti-patterns come in two
varieties:
• Those describing a bad solution to a
problem that resulted in a bad situation.
• Those describing how to get out of a
bad situation
13.
Define pattern mining. Give the steps involved in capturing pattern.
The process of looking for patterns to
document is called pattern mining sometimes called reverse architecturing. The
steps involved are:
_ Focus on practicability.
o Patterns should describe proven
solutions to problems rather than the latest scientific results.
_ Aggressive disregard of originality.
o Pattern writers do not need to be
the original inventor of the soln.
_ Non anonymous review.
o Pattern submissions are shepherded
rather than reviewed.
_ Writers’ workshops instead of
presentations.
o Rather than being presented by the
authors, the patterns are discussed in the writers’ workshops.
_ Careful editing.
o The pattern authors should have the
opportunity to incorporate all the comments and insights during the
shepherding.
14.
Define frame work. Give the differences between design patterns and frameworks.
A frame work is a way of presenting a
generic solution to a problem that can be applied to all levels in a
development. Frameworks are a way of delivering application development
patterns. A framework provides architectural guidance, captures the design
decisions that are common to its application domain and thus emphasize design
reuse over code reuse.
The major differences between design
patterns and frameworks are as follows:
_ A framework is executable software
whereas design patterns represent
knowledge and experience about the
software.
_ Design patterns are more abstract
than frameworks.
_ Design patterns are smaller
architectural elements than frameworks.
_ Design patterns are less specialized
than frameworks.
15.
Why do we go for unified approach?
The main motivation for going to
unified approach is to combine the best practices, processes, methodologies,
and guidelines along with UML (Unified Modeling Language) notations and
diagrams for better understanding objectoriented concepts and system
development.
16.
Write short note on UA proposed Repository.
The repository allows the maximum
reuse of previous experience and previously defined objects, patterns,
frameworks, and user interfaces in an easily accessible manner with a
completely available and easily utilized format. Everything from the user
request to maintenance of the project should be kept in the repository. This
will reduce the cost and development time. It should be relatively easy to
search the repository.
17.
Define model. Explain about the types of model.
A model is an abstract representation
of a system, constructed to understand the system prior to building or
modifying it. It is a model of a simplified representation of reality. Models
can represent static or dynamic situations.
• Static model
o It can be viewed as a snapshot of a
system’s parameters at rest or a specific point in time. They are needed to
represent the structural or static aspect of a system. The UML class diagram is
an example of static model.
• Dynamic model
o It can be viewed as a collection of
procedures or behaviors that taken together reflect the behavior of a system
over time. Dynamic modeling is the most useful during the design and
implementation phases of the system development. The UML interaction diagrams
and activity models are examples of dynamic models.
18.
What are the advantages of Modeling?
Good models are essential for
communication among project teams. As the complexity of systems increases, so
does the importance of good modeling techniques. Some of the advantages are as
follows:
_ Models make it easier to express
complex ideas.
_ The main reason for modeling is to
reduction of complexity.
_ Models enhance and reinforce
learning and training.
_ The cost of modeling analysis is
much lower than the cost of similar perimentation conducted in real system.
_ Manipulation of the model is much
easier.
19.
Define UML. Mention the primary goals in the design of the UML.
The unified modeling language (UML) is
a language for specifying, constructing, visualizing and documenting the
software system and its components. The UML is a graphical language with sets
of rules and semantics. The primary goals in the design of the UML were as
follows:
_ Provide users a ready-to-use,
expressive visual modeling language so they can develop and exchange meaningful
models
_ Provide extensibility and
specialization mechanisms to extend the core concepts.
_ Be independent of particular programming
languages and development processes.
_ Provide a formal basis for
understanding the modeling language.
_ Encourage the growth of the OO tools
market.
_ Support higher-level development
concepts.
_ Integrate best practices and
methodologies.
20.
Give the nine UML graphical diagrams.
a. Class diagram(static)
b. Use-case diagram
c. Behavior diagram(dynamic)
i. Interaction diagram
1. Sequence diagram
2. Collaboration diagram
ii. State chart diagram
iii. Activity diagram
d. Implementation diagram.
i. Component diagram
ii. Deployment diagram.
21. What is a Package?
A package groups and manages the
modeling elements, such as classes, their associations, and their structures.
Packages themselves may be nested within other packages.
UNIT-III
1.
What is the purpose of analysis? Why do we need analysis?
The main objective of the analysis is
to capture a complete, unambiguous, and consistent picture of the requirements
of the system and what the system must do to satisfy the users’ requirements
and needs. Object analysis is a process by which we can identify the classes
that play a role in achieving the system goals and requirements. Hence, we are
in need of analysis.
2.
Why analysis is a difficult activity?
Analysis is a creative activity that
involves understanding the problem, its associated constraints, and methods of
overcoming those constraints. The three most common sources of requirement
difficulties are:
_ Fuzzy descriptions:
Fuzzy and ambiguous description leads
to requirement ambiguity.
_ Incomplete requirements:
Certain requirements that are not
included for variety of reasons might be necessary for successful system
development.
_ Unnecessary features:
Every additional feature could affect
the performance, complexity, stability, and support costs of an application.
Analysis is a difficult activity
because one has to understand the problem in some application domain and then
has to define a solution that can be implemented with any software.
3.
What do you mean by business object analysis?
Business object analysis is a process
of understanding the system’s requirements and establishing the goals of an
application. The main intent of this activity is to understand users’
requirements. The outcome of the business object analysis is to identify
classes that make up the business layer and the relationships that play a role
in achieving system goals.
4.
Write a short note on use-case model?
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.
5.
Define use-case.
Use cases are scenarios that describe
how actors use the system. A use case is an interaction between users and a
system. It captures the goal of the users and the responsibility of the system
to its users. Jacobsons’ definition of use case is, “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 the system.”
6.
When ‘extends’ association is used?
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 a subclass. Extends association is utilized
to expand the common behavior to fit the special circumstances.
7.
Define ‘uses’ association.
The uses association occurs when some
of the use cases have subflows in common. Here to avoid describing a subflow
more than once in several use cases, the common subflow can be extracted and
made into a new use case of its own.
The relationship among the other use
cases and this new extracted use case is called a uses association.
When you want to share common
sequences in several use cases, utilize the uses association by extracting
common sequences into a new, shared use case.
The uses association helps us to avoid
redundancy by allowing a use case to be shared.
8.
What is meant by railroad paradox? What do you infer from railroad paradox?
When rail roads were asked to
establish new stops on the schedule they “studied the requirements”, by sending
someone to the station at eh designated time to see if anyone was waiting for a
train. Of course, nobody was there because no stop was scheduled, so the
railroad turned down the request because there was no demand.
The railroad paradox appears
everywhere and goes like this:
_ The product is not satisfying the
users.
_ Since the product is not
satisfactory, potential users will not use it.
_ Potential users ask for a better
product.
_ Because the potential users do not
use the product, the request is denied.
9.
Give the two-three rule?
The two-three rule is for identifying
actors. The rule is stated as “start with naming at least two, preferable
three, people who could serve as the actors in the system. Other actors can be
identified in the subsequent iterations.
10.
What is the 80-20 rule?
The 80-20 rule 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.
11.
Why is documentation an important part of analysis?
Documentation provides a valuable
reference point and a form of communication to reveal issues and gaps in the
analysis ad design. A document can serve as a communication vehicle among the
project’s team members. The main issue in documentation during the analysis
phase is to determine what the system must do. Documentation can be an
important factor in making a decision about committing resources.
12.
List the approaches for identifying classes?
The four alternative approaches for
identifying classes:
_ The noun phrase approach.
_ The common class patterns approach.
_ The use-case driven,
sequence/collaboration modeling approach.
_ The classes, responsibilities and
collaborators (CRC) approach.
13.
What do you mean by relevant, fuzzy and irrelevant classes?
In the noun phrase approach the list
of nouns is divided into three categories:
_ Relevant classes:
Relevant classes have a purpose. They
are clearly defined and so they are necessary.
_ Fuzzy classes:
Fuzzy classes are those classes which
we are not sure about.
_ Irrelevant classes:
These classes have no purpose and are
unnecessary. It is safe to scrap these irrelevant classes.
14.
How would you select candidate classes for the list of relevant and fuzzy classes?
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
_ Adjectives classes: If the object
behave differently when the adjective is applied then make a new class
_ Attribute classes: Tentative 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.
A statement of purpose for each
candidate class must be formulated. If it cannot be done then eliminate that
candidate class.
15.
What is the common class patterns strategy? Give the list of patterns used.
The common class patterns approach is
based on a knowledge base of the common classes that have been proposed
researchers. The patterns used for finding the candidate class and object are:
_ Concept class
_ Events class
_ Organization class
_ People class
_ Places class
_ Tangible things and devices class
16.
What is CRC?
Classes, responsibilities, and collaborators is a technique used for identifying
classes’ responsibilities, and collaborators and therefore their attributes and
methods. Furthermore, CRC can help us identify classes. CRC is based on the
idea that an object either can accomplish a
certain
responsibility itself or it may require the 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.
17.
What are the three steps in CRC process?
The classes, responsibilities and
collaborators process consists of three steps:
_ Identify classes’ responsibilities
(and identify classes).
_ Assign responsibilities.
_ Identify collaborators.
18.
Give the guidelines for naming a class.
The guidelines for naming classes:
_ The class name should be singular.
_ One general rule for naming classes
is that you should use names with which the users or clients are comfortable.
_ The name of a class should reflect
its intrinsic nature.
19.
What is an association?
Association represents a physical or
conceptual connection between two or more objects. Binary associations are
shown as lines connecting two class symbols. Ternary and higher-order
associations are shown as diamonds connecting to a class symbol by lines, and
the association name is written above or below the line.
20.
What is generalization hierarchy? Give the advantage.
Super class–subclass relationship also
known as generalization hierarchy, allow objects to be built from other
objects. Such relationships allow us to explicitly take advantage of the
commonality of objects when constructing new classes. The super-sub class
hierarchy is a relationship between classes, where one class is the parent
(super or ancestor) class of another (derived) class. The real advantage of
using this technique is that we can build on what we already have and more
important, reuse what we already have.
21.
What are some common associations?
The common association patterns which
can be stored in the repository are based on some common associations:
_ Location association:
Next to, part of, contained in.
_ Communication association:
Talk to, order to.
22.
How to eliminate unnecessary associations? How would you know it?
Some of the unnecessary associations
are:
_ Implementation association:
Defer implementation-specific
associations to the design phase.
_ Ternary associations:
Ternary or n-ary associations
complicate the representation. So when possible restate ternary associations as
binary associations.
_ Directed actions (or derived)
association:
Directed associations can be defined
in terms of other associations. Since they are redundant, avoid these types of
association. The unnecessary associations are discovered by testing access
paths to objects.
23.
What do you mean by aggregation? What are the major properties of a-part-of
relation?
A-part-of relationship, also called
aggregation, represents the situation where a class consists of several
component classes. A class that is composed of other classes does not behave
like its parts; actually, it behaves very differently.
Two major properties of a-part-of
relationship are:
_ Transitivity:
If A is part of B and B is part of C,
then A is part of C.
For example; a carburetor is part of
an engine and an engine is part of a car; therefore, a carburetor is part of
car.
Class A
Class B
Association name
Role of A Role of B
_ Antisymmetry:
If A is part of B, then B is not part
of A. For example; an engine is part of part of a car, but a car is not part of
an engine.
24.
What guidelines would you see to identify a-part-of structures?
To identify a-part-of structures the
following guidelines are provided:
_ Assembly:
An assembly 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.
25.
Why do we need to identify the system’s responsibilities?
We need to identify the system’s
responsibilities because responsibilities identify problems that are to be
solved. A responsibility serves as a handle for discussing potential solutions.
Once the system’s responsibilities are understood we can start identifying the
attributes of the system’s classes.
26.
How would you identify attributes?
_ Attributes usually correspond to
nouns followed by preposition phrases. Attributes also may correspond to
adjectives or adverbs.
_ Keep the class simple; state only
enough attributes to define the object state.
_ Attributes are less likely to be
fully described in the problem statement.
_ Omit derived attributes. They should
be expressed as a method.
_ Do not carry excess identification.
27.
How would you identify methods?
_ The sequence diagrams assist us in
defining services that the objects must provide. These services are implemented
as the methods for your objects.
_ In a sequence diagram the events
that occur between objects are drawn between the vertical object lines. An
event is considered to be an action that transmits information; therefore these
actions are the operations that the objects must perform.
_ Methods also can be derived from the
scenario testing.
28.
Why do we need methods and messages in object-oriented system?
Objects not only describe abstract
data but also must provide some services. Methods and messages are the
workhorses of object-oriented systems. In an object-oriented environment, every
piece of data, or object, is surrounded by a rich set of routines called
methods. Methods are responsible for managing the value of attributes such as
query, updating, reading and writing.
UNIT-IV
1.
What is the need for axiomatic approach?
The basic goal of the axiomatic
approach is to formalize the design process and assist in establishing a
scientific foundation for the object-oriented design process, so as to provide
a fundamental basis for the creation of systems. Without scientific principles,
the design field never will be systematized and so will be difficult to
comprehend, codify, teach and practice.
2.
What are the main activities in design process?
_ Designing classes (their attributes,
methods, associations, structures, and protocols) and applying design axioms.
If needed, this step is repeated.
_ Designing the access layer.
_ Designing the user interface (view
layer classes).
_ Testing user satisfaction and
usability, based on the usage and use cases.
_ Iterating and refining the design.
3.
Define axiom? What are the two design axioms applied to object-oriented design?
An axiom is a fundamental truth that
always is observed to be valid and for which there is no counterexample or
exception. The axioms cannot be proven or derived but they cannot be
invalidated by counterexamples or exceptions. There are two design axioms
applied to object-oriented design. Axiom 1 deals with relationships between
system components and Axiom 2 deals with the complexity of design.
Axiom 1: The independence axiom.
Maintain the independence of components.
Axiom 2: The information axiom.
Minimize the information content of the design.
4.
Define corollary? Give the corollaries derived from design axioms. (or) List
the
various
design rules?
A corollary is a proposition that
follows from an axiom or another proposition that has been proven. A corollary
is shown to be valid if its referent axioms and deductive steps are valid. The
design rules or corollaries derived from design axioms are stated below.
Corollary 1: Uncoupled design with
less information content.
Corollary 2: Single purpose.
Corollary 3: Large number of simple
classes.
Corollary 4: Strong mapping.
Corollary 5: Standardization.
Corollary 6: Design with inheritance.
5.
What do you mean by 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. Coupling is important when evaluating a design because it helps
us focus on an important issue in design.
6.
What do you mean by degree of coupling?
The degree of coupling is a function
of
_ How complicated the connection is.
_ Whether the connection refers to the
object itself or something inside it.
_ What is being sent or received.
The degree or strength of coupling
between two components is measured by the amount and complexity of information
transmitted between them. Coupling increases with increasing complexity and
decreases when the connection is to the component interface rather than to an
internal component. Coupling is also lower for data connections than for
control connections.
7.
What are the two types of coupling?
Object oriented design has two types
of coupling. They are,
_ Interaction coupling
Interaction coupling involves the
amount and complexity of messages between components. It is desirable to have
little interaction.
_ 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.
8.
What do you mean by cohesion? Give the types of cohesion.
Cohesion can be defined as the
interactions within a single object or software component. Cohesion reflects
the “single-purpose ness” of an object. Cohesion helps in designing classes
that have very specific goals and clearly defined purposes.
_ Method cohesion
A method should carry only one
function.
_ Class cohesion
All the class’s methods and attributes
must be used by internal methods or derived classes’ methods.
_ Inheritance cohesion
Concerned with how classes are
interrelated.
9.
Differentiate coupling and cohesion?
Coupling deals with interactions
between objects or software components while cohesion deals with the
interactions within a single object or software component. Highly cohesive
components can lower coupling because only a minimum of essential information
need to b passed between components.
10.
What do you mean by design patterns?
Design patterns are devices that allow
systems to share knowledge about their design, by describing commonly recurring
structures of communicating components that solve a general design problem
within a particular context. A design pattern provides a scheme for refining
the subsystems or components of a software system or the relationships among
them. Design patterns are documented by writing essays in a fairly well-defined
form.
11.
Define OCL?
The rules and semantics of the UML are
expressed in English, in a form known as object constraint language. Object
constraint language (OCL) is a specification language that uses simple logic
for specifying the properties of a system.
12.
What do you mean by expressions? Give the syntax for some common expressions.
Expressions are stated as strings in
object constraint language. The syntax for some common expressions is given
here. The leftmost element must be an expression for an object or a set of
objects. The expressions are meant to work on sets of values when applicable.
_ Item. Selector: (e.g.) John. age
_ Item. Selector [qualifier-value]:
(e.g.) John. Phone[2]
_ Set->select(Boolean-expression):
(e.g.) company.employee-salary->30000
13.
What are private, public and protected protocols?
_ Private protocol of the class
includes messages that normally should not be sent from other objects. The
messages are accessible only to operations of that class. Only the class itself
can use the method.
_ The public protocol defines the
stated behavior of the cla ss so that it is accessible to all classes.
_ If the methods or attributes have to
be used by the class itself or its subclasses, a protected protocol can be
used. In a protected protocol, subclasses can use the method in addition to the
class itself.
14.
What is encapsulation leakage?
Encapsulation leakage is lack of a
well-designed protocol. The problem of encapsulation leakage occurs when
details about a class’s internal implementation are disclosed through the
interface. As more internal details become visible, the flexibility to make
changes in the future decreases.
15.
What are the three basic types of attributes?
The three basic types of attributes
are
_ Single-value attributes.
The single-valued attribute has only
one value or state.
_ Multiplicity or multi value
attributes.
The multiplicity or multi valued
attribute can have a collection of
many values at any point in time.
_ 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.
16.
How do you present UML attribute?
The following is the attribute
presentation suggested by UML.
Visibility name:
type-expression=initial-value
Visibility name is +(public visibility), #(protected
visibility), –(private visibility)
Type-expression is a language-dependent specification
of the implementation type Initial-value is a language-dependent
expression for the initial value of a newly created object.
17.
What are the different types of methods provided by a class?
A class can provide several types of
methods:
_ Constructor: Method that creates
instances (objects) of the class.
_ Destructor: The method that destroys
instances.
_ Conversion method: The method that
converts a value from one unit of measure to another.
_ Copy method: The method that copies
the contents of one instance to another instance.
_ Attribute set: The method that sets
the values of one or more attributes.
_ Attribute get: The method that
returns the values of one or more attributes.
_ I/O methods: The methods that
provide or receive data to or from a device.
_ Domain specific: The method specific
to the application.
18.
What are some characteristics of a bad design?
The five rules are,
_ If it looks messy, then it’s
probably a bad design.
_ If it is too complex, then it’s
probably a bad design.
_ If it is too big, then it’s probably
a bad design.
_ If people don’t like it, then it’s
probably a bad design.
_ If it doesn’t work, then it’s
probably a bad design.
19.
How do you present UML operation?
The presentation of operation in UML
is as given below.
Visibility name: (parameter-list):
return-type-expression
Visibility name is + (public visibility), # (protected
visibility), – (private visibility)
Parameter-list is a list of parameters, separated by
commas and each specified by
Name: type-expression=default value,
Name is the name of the parameter.
Type-expression is a language-dependent specification
of the implementation type
Default-value is an optional value.
Return-type-expression is a language-dependent specification
of the implementation of the value returned by the method
20.
Define Package
A package groups and manages the
modeling elements, such as classes, their associations, and their structures.
Packages themselves may be nested within other packages. A package may contain
both other packages and ordinary model elements. The entire system description
can be thought of as a single high-level sub-system package with everything
else init. All kinds of UML model elements and diagrams can be organized into
packages.
21.
What do you mean by persistence? Give some persistent data.
Persistence refers to the ability of
some objects to outlive the programs that created them. The persistent data are
those data that exist beyond the lifetime of the creating process. Some
categories of persistent data are:
_ Data that exist between the
executions of a program.
_ Data that exist between the versions
of a program.
_ Data that outlive a program.
22.
Define transient data? Give some transient data?
Transient data are those data that
cease to exist beyond the lifetime of the creating process. Some categories of
transient data are:
_ Transient results to the evaluation
of expressions.
_ Variables involved in procedure
activation (parameters and variables with a localized scope.)
_ Global variables and variables that
are dynamically allocated.
23.
What are the essential elements in providing a persistent store?
Essential elements in providing a
persistent store are:
_ Identification of persistent objects
or reachability
_ Properties of objects and their
interconnections.
_ Scale of the object store.
_ Stability.
24.
Define schema or meta-data?
Schema or meta-data contains a
complete definition of the data formats, such as the data structures, types and
constraints. The meta-data are usually encapsulated in the application programs
themselves. In DBMS, the format of the meta-data is independent of any particular
application data structure; therefore it will provide a generic storage
management mechanism.
25.
What is meant by database model? Give the different database models.
A database model is a collection of
logical constructs used to represent the data structure and data relationships
within the database. The different database models are,
_ Hierarchical model
_ Network model
_ Relational model
26.
Define DDL and DML.
Data definition language (DDL) is the
language used to describe the structure of and relationships between objects
stored in a database. This structure of information is termed as the database
schema. 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.
27.
What is concurrency policy?
A
concurrency control policy dictates what happens when conflicts arise between
transactions that attempt access to the same object and how these conflicts are
to be resolved. There are two policies,
_ Conservative or pessimistic policy
Allows a user to lock all objects or
records when they are accessed and to release the locks only after a
transaction commits.
_ Optimistic policy
Two conflicting transactions are
compared in their entirety and then their serial ordering is determined.
28.
What is shareability?
Data and
objects in the database often need to be accessed and shared by different
applications. With multiple applications having access to the object concurrently,
it is likely that conflicts over object access will arise. The database must detect
and mediate these conflicts and promote the greatest amount of sharing possible
without sacrificing the integrity of data.
29.
What do you mean by transaction?
The basic goal of the transactions is
to provide each user with a consistent view of the database. A transaction is a
unit of change in which many individual modifications are aggregated into a
single modification that occurs in its entirety or not at all. Thus either all
changes to objects within a given transaction are applied to the database
(commit) or none of the changes (abort). This ability of transactions ensures
atomicity.
30.
Define client-server computing?
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 to perform 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.
31.
Differentiate distributed and cooperative processing?
The distributed processing means distribution
of applications and business logic across multiple processing platforms.
Distributed processing implies that processing will occur on more than one
processor in order for a transaction to be completed. Cooperative processing is
computing that requires two or more distinct processors to complete a single
transaction. It is a form of distributed computing in which two or more
distinct processes are required to complete a single business transaction. Cooperative
processing can also be considered to be a distributed processing, if
communication between processors is performed through a message-passing
Architecture
32.
What do you mean by distributed object computing?
Distributed object computing (DOC)
utilizes reusable software components that can roam anywhere on networks, run
on different platforms, communicate with legacy applications by means of object
wrappers, and manage themselves and the resources thy control. It introduces a
higher level of abstraction and promises the most flexible client-server
system.
33.
Write a short note on CORBA?
Common object request broker
architecture (CORBA) is a standard proposed as a means to integrate distributed
heterogeneous business applications and data. CORBA object request brokers
(ORBs) implement a communication channel through which applications can access
object interfaces and request data and services. The CORBA common object
environment (COE) provides system level services such as life cycle management
for objects accessed through CORBA, event notification between objects, and
transaction and concurrency control.
34.
What are the necessary characteristics that a system must satisfy to be
considered as an object-oriented system?
The rules that make a system an
object-oriented system are:
_ The system must support complex
objects.
_ Object identity must be supported.
_ Objects must be encapsulated.
_ The system must support types or
classes.
_ The system must support inheritance.
_ The system must avoid premature
binding.
_ The system must be computationally
complete.
_ The system must be extensible.
35.
Differentiate object-oriented databases and traditional databases?
_ The objects are an active component
in an object-oriented database, in contrast to conventional database systems,
where records play a passive role.
_ The relational database systems do
not explicitly provide inheritance of attributes and methods while
object-oriented databases represent relationships explicitly.
_ Object oriented databases also
differ from the traditional relational databases in that they allow
representation and storage of data in the form of objects.
36.
Describe reverse and forward engineering?
_ Creating an object model from an
existing relational database layout (schema) often is referred to as reverse
engineering.
_ Creating a relational schema from an
existing object model often is referred to as forward engineering.
37.
Define object-relation mapping?
In a relational database, the schema
is made up of tables, consisting of rows and columns. In an object model, the counterpart
to a table is a class which has a set of attributes (properties or data
members) and methods (behaviors). The objectrelation mapping is the mappings
between a table and a class that is the mappings between columns and
attributes, between a row and an object, and between a stored procedure and a
method.
38.
What are the different mapping capabilities to be defined?
The mapping capabilities that must be
defined are:
_ Table-class mapping.
_ Table-multiple classes mapping.
_ Table-inherited classes mapping.
_ Tables-inherited classes mapping.
39.
Define referential integrity?
Referential
integrity means making sure that a dependent table’s foreign key contains a
value that refers to an existing valid tuple in another relation.
40.
What do you mean by federated multidatabase systems?
Federated multidatabase systems are
the heterogeneous information systems which facilitated the integration of
heterogeneous information sources, where they can be structured,
semi-structured and sometimes even unstructured. Some heterogeneous information
systems are constructed on a global schema over several databases.
41.
Define MDBS?
A multi
database system (MDBS) is database systems that resides unobtrusively on top of
existing relational and object databases, and file systems and presents a
single database illusion to its users. An MDBS maintains a single global database
schema. The local database systems actually maintain all user data. MDBS actually
controls multiple gateways (or drivers). This way user can have the benefits of
a database with a schema to access data stored in different databases and
crossdatabase functionality.
42.
Define neutralization (homogenization).
Neutralization also called
homogenization is the process of consolidating the local schemata. The global
schema is constructed by consolidating (integrating) the schemata of the local
databases where the schematic differences among them are handled by
neutralization.
43.
What do you mean by ODBC?
Open database connectivity (ODBC) is
an application programming interface that provides solutions to the
multidatabase programming problem. ODBC provides a vendor-neutral mechanism for
independently accessing multiple database hosts. The application interacts with
the ODBC driver manager, which sends the application calls to the database. The
driver manager loads and unloads drivers, performs status checks, and manages
multiple connections between applications and data sources.
44.
What are the activities involved in access layer design process?
The process of creating an access
class for the business classes is as follows:
_ For every business class identified,
mirror the business class package.
_ Define relationships.
_ Simplify classes and relationships.
_ Iterate and refine.
45.
Write short note on creative process?
The creative process is a combination
of the following:
_ A curious and imaginative mind.
_ A broad background and fundamental
knowledge of existing tools and methods.
_ An enthusiastic desire to do a
complete an thorough job of discovering solutions once a problem has been
defined.
_ Being able to deal with uncertainty
and ambiguity and to defer premature closure.
46.
What are the steps in view layer macro process?
The view layer macro process consists
of two steps:
_ For every class identified,
determine if the class interacts with a human actor. If so, perform the
following; otherwise, move to the next class.
o Identify the view (interface)
objects for the class.
o Define the relationships among the
view (interface) objects.
_ Iterate and refine
47.
Give the three UI design rules.
_ UI design rule 1: Making the
interface simple.
_ UI design rule 2: Making the
interface transparent and natural.
_ UI design rule 3: Allowing users to
be in control of the software.
48.
What are the windows in user interface used for?
Window commonly are used for the
following purposes:
_ Forms and data entry windows:
Data entry windows provide access to
data that users can retrieve, display and change in the application.
_ Dialog boxes:
Dialog boxes display status
information or ask users to supply information or make a decision before
continuing with a task.
_ Application windows:
An application window is a container
of application objects or icons. It contains an entire application with which
users can interact.
49.
What are the three general steps in creating a user interface object?
Creating a user interface generally
consists of three steps.
_ Create the user interface objects
(such as buttons, data entry fields).
_ Link or assign the appropriate
behaviors or actions to these user interface objects and their events.
_ Test, debug, then add more by going
back to step 1.
50.
What is a Metaphor?
It is an
analogy that relates two unrelated things by using one to denote the other.
UNIT-V
1.
What is the purpose of debugging?
Debugging is the process of finding
out where something went wrong in the application, what we develop and
correcting the code to eliminate the errors or bugs that cause unexpected
results.
2.
What are the types of errors that you could find in your program?
_ Language (syntax) errors
_ Run-time errors
_ Logic errors
These are the various types of errors
that would occur in the program that we develop.
3.
Discuss Error-based testing?
This technique search a given class’s
method for particular clues of interests, then describe how these clues should
be tested.
4.
Discuss Scenario-based testing/usage-based testing?
It concentrates on what the user does,
not what the product does. This means capturing use cases and the tasks users perform,
then performing them and their variants as tests. They often are more complex
and realistic than error-based tests. Scenario-based tests tend to exercise
multiple subsystems in a single test, because that is what users do.
5.
Name some testing strategies?
_ Black- Box Testing
_ White- Box Testing
o Path Testing
_ Statement testing coverage
_ Branch testing coverage
_ Top-Down Testing
_ Bottom-Up Testing
6.
What is the Impact of Object orientation on Testing?
_ Some types of errors could become less
reasonable (not worth testing for)
_ Some types of errors could become
more reasonable (worth testing for)
_ Some new types of errors might
appear.
7.
Discuss Black-Box testing?
In a Black box testing, the test item
is treated as “black,” since its logic is unknown; all that is known is what
goes in and what comes out or input and output. It may be used for Scenario-
based testing.
8.
Discuss White- Box testing?
It assumes that the specific logic is
important and must be tested to guarantee the system’s proper functioning. It
is used mainly in the error based testing.
9.
What do you mean by Top- down Testing?
It assumes that the main logic or
object interactions and systems messages of the application need more testing
than an individual object’s methods or supporting logic. It can detect the
serious design flaws early in the implementation.
10.
Discuss about the Statement testing coverage and Branch testing coverage?
The main
idea of statement testing coverage is to test every statement in the object‘s
method by executing it at least once.
The main
idea behind branch testing coverage is to perform enough tests to ensure
that every branch alternative has been executed at least once under some test.
11.
What is Path testing?
Path testing is one form of white box
testing. It makes that each path in a object’s method is executed at least once
during testing. Two types of Path testing are;
_ Statement testing coverage
_ Branch testing coverage
12.
What is Bottom - Up Testing?
It starts with the details of the
system and proceeds to higher levels by a progressive aggregation of details
until they collectively fit the requirements for the system. This approach is
more appropriate for testing the individual objects in a system.
13.
What is the objective of testing?
_ Testing is the process of executing
a program with the intent of finding errors.
_ A good test case is the one that has
a high probability of detecting an asyet undiscovered error.
_ A successful test case is the one
that detects an as-yet undiscovered error.
14.
What is the necessary of a test plan?
A test plan is developed to detect and
identify potential problems before delivering the software to its users. A test
plan offers a road map for testing activities, whether usability, user satisfaction,
or quality assurance tests. It should state the test objectives and how to meet
them.
15.
List the steps needed for a test plan?
_ Objectives of the test
_ Development of a test case
_ Test analysis
16.
Define regression testing?
All passed tests should be repeated
with the revised program, called regression testing, which can discover errors
introduced during the debugging process. When sufficient testing is believed to
have been conducted, this fact should be reported and testing for this specific
product is complete.
17.
Define Beta testing and Alpha testing?
Beta testing, a popular, inexpensive
and effective way to test software on a select group of the actual users of the
system. Alpha testing is done by
in-house testers, such as programmers, software engineers, and internal users.
18.
What is the purpose of configuration control system?
It provides a way of tracking the
changes to the code. At a minimum, every time the code changes, a record should
be kept that tracks which module has been changed, who changed it, and when it
was altered, with a comment about why the change was made.
19.
When is testing said to be successful?
Testing becomes successful when the
steps below are followed;
_ Understand and communicate the
business case for improved testing.
_ Develop an internal infrastructure
to support continuous testing.
_ Look for leaders who will commit to
and own the process.
_ Measure and document your findings
in a defect recording system.
_ Publicize improvements as they are
made and let people know what they are doing better.
20.
Define Usability?
ISO defines
Usability as the effectiveness, efficiency, and satisfaction with which a
specified set of users can achieve a specified set of tasks in particular
environments. It requires,
_ Defining tasks.
_ Defining users
_ A means for measuring effectiveness,
efficiency, and satisfaction.
21.
What are the issues in software quality?
_ Validation – user satisfaction
_ Verification – Quality assurance
22.
What is Usability testing?
It measures the ease of use as well as
the degree of comfort and satisfaction users have with the software.
23.
What are the guidelines for developing usability testing?
_ The usability testing should include
all of software’s components.
_ Usability testing need not be very
expensive, such as including trained specialists working in a soundproof lab
with sophisticated recording equipment.
_ All tests need not involve many
subjects.
_ Consider the user’s experience as
part of your software usability.
_ Apply usability testing early and
often.
24.
Explain user satisfaction testing?
It is the
process of quantifying the usability test with some measurable attributes
of the test, such as functionality,
cost, or ease of use.
25.
Explain COTS and USTS?
Commercial off –the –shelf (COTS) software tools are already written and
a few are available for analyzing and conducting user satisfaction tests.
User satisfaction test spreadsheet
(USTS) automates many
bookkeeping tasks and can assist in analyzing the user satisfaction test
results.
26.
Write about the user satisfaction cycle?
_ Create a user satisfaction test for
your own project
_ Conduct test regularly and
frequently
_ Read the comments very carefully,
especially if they express a strong feeling.
_ Use the information from user
satisfaction test, usability test, reactions to prototypes, interviews
recorded, and other comments to improve the product.
Important benefit of user satisfaction
testing is you can continue using it even after the product is delivered.
I6 Marks Questions and Answers
1.
Describe the various Object oriented concepts?
• Object – combination of data and
logic that represents a real world entity.
• In an OOS everything is an object.
• Instance of a class.
• Class – used to distinguish objects
from others.
• Object properties – represent the
state of an Object.
• Behavior – the collection of methods
that abstractly the object is capable of
doing.
• Messages – Non-specific function
calls.
• Encapsulation or Information Hiding
– principle of concealing the internal data
and procedures of an object.
• Class Hierarchy – organizing classes
into sub class – super class hierarchy.
• Inheritance – property that allows
the objects to be built from other objects.
_ Dynamic Inheritance
_ Multiple Inheritance
• Polymorphism – the same operation
may behave differently on different classes.
• Association – relationship between
objects and classes.
• Aggregation - collection of objects
or an attribute which can be an object itself.
2.
Describe the Software Development process.
• Set of activities that transforms
user’s needs into a software solution that satisfies
the needs.
• A process can be divided into a
number of sub-processes.
• Three types of transformation
_ Transformation 1 – Analysis
_ Transformation 2 – Design
_ Transformation 3 – Implementation
• Waterfall Approach
_ What
_ How
_ Do it
_ Test
_ Use
• Advantages and disadvantages of
Waterfall Approach
3.
How can we build a high quality Software?
• High quality products must meet
user’s needs
and satisfaction.
• Should have minimal or no defects.
• Ultimate goal – user satisfaction.
• Four quality measures:
_ Correspondence
_ Validation
_ Correctness
_ Verification
• Verification – Am I building the
product right?
• Validation – Am I building the right
product?
4.
Describe the Object oriented Systems Development?
• Object Oriented Analysis – Use case
driven
_ Collaboration
_ Role
_ Use – case Modeling
• Object oriented design
_ Goal – design the classes
_ Design and refine classes,
attributes, methods, structures and
associations.
_ Guidelines of OOD.
• Prototyping
_ Horizontal
_ Vertical
_ Analysis
_ Domain
• Component based development
_ Component Wrapper
_ Software Components
_ Rapid Application
Development
• Incremental Testing
_ Testing should be performed in every
phase to find errors.
• Reusability
5.
Describe Rumbaugh’s Object Modeling Technique?
• Describes the dynamic behavior of
objects in a system.
• Four phases.
_ Analysis – results are objects,
dynamic and functional models.
_ System design – gives a structure of
the basic architecture.
_ Object design – produces a design
document.
_ Implementation – produces reusable
code.
• Three different parts
_ Object Model – presented by object
model and the data dictionary.
_ Dynamic model - presented by the
state diagrams and event flow
diagrams.
_ Functional Model – presented by data
flow and constraints.
6.
Give detailed notes about the Booch Methodology?
• Helps to design your system using
the object paradigm.
• Is criticized for his large set of
symbols.
• Consists of the following diagrams:
_ Class diagrams.
_ Object diagrams.
_ State transition diagrams.
_ Module diagrams.
_ Process diagrams.
_ Interaction diagrams.
• Two processes:
_ Macro development process
_ Micro development process.
• Macro development process.
_ Primary concern – technical
management of the system.
_ Steps involved:
o Conceptualization.
o Analysis and development of the
model.
o Design or create the system
architecture.
o Evolution or implementation.
o Maintenance.
• Micro development process.
_ Describes the day-to-day activities.
_ Steps involved:
o Identify classes and objects.
o Identify classes and object
semantics.
o Identify classes and object
relationships.
o Identify classes and object
interfaces and implementation.
7.
Give a detailed account of Jacobson methodology?
• Covers the entire life cycle and
stress traceability between the various phases.
• Use cases
_ Scenarios for understanding system
requirements.
_ Non formal text with no clear flow
of events.
_ Text easy to read.
_ Formal style using pseudo code.
_ Can be viewed as concrete or
abstract (not initiated by actors).
• Object oriented software
Engineering: Objectory
_ Use case model.
_ Domain Object Model.
_ Analysis Object Model.
_ Implementation model.
_ Test model.
• Object oriented business Engineering
_ Analysis phase.
_ Design and Implementation phase.
_ Testing phase.
8.
Describe patterns and the various pattern templates?
• Pattern – identifies a common structure
that makes it useful for design.
• Involves a general description of a
solution to a recurring problem.
• Properties of a good pattern:
_ It solves a problem.
_ It is a proven concept.
_ Solution is not obvious.
_ Describes a relationship.
_ Has significant human component.
• Generative patterns – tells us how
to generate something.
• Non generative patterns – static and
passive.
• Patterns templates.
_ Name.
_ Problem.
_ Context.
_ Forces.
_ Solution.
_ Examples.
_ Resulting context.
_ Rationale.
_ Related patterns.
_ Known uses.
9.
Explain in detail about the Unified approach?
• Establishes a unifying and unitary
framework by utilizing UML.
• The processes are:
_ Use case driven development.
_ Object oriented analysis.
_ Object oriented design.
_ Incremental development and
prototyping
_ Continuous testing.
• Methods and technologies employed
include:
_ UML
_ Layered approach.
_ Repository.
_ CBD.
• Object oriented Analysis.
_ Identify actors.
_ Develop a simple process model.
_ Develop the use case.
_ Develop interaction diagrams.
_ Identify classes.
• Object oriented design
_ Design classes, attributes, methods
etc.
_ Design the access layer.
_ Design the prototype user interface.
_ User satisfaction and usability
tests.
_ Iterate and refine the design.
• Continuous testing
• UML – modeling language
• Repository
_ Allows maximum reuse of previous
experience.
_ Should be accessible by many people.
• Layered approach
_ The business layer.
o Displaying results.
o Data access details
_ The user interface or view layer.
o Responding to user interaction.
o Displaying business objects.
_ The access layer.
o Translate request.
o Translate results.
10.
Describe the UML Class diagram?
• Also referred to as Object modeling.
• Collection of static modeling
elements.
• Class notation – rectangle with
three compartments.
• Object diagram – instance of a class
diagram.
• Class interface notation – small
circle with the interface name connected to the
class.
• Binary association – solid path
connecting two classes.
• Association role – end of an
association.
• Qualifier – small rectangle attached
to the end of an association.
• Multiplicity – specifies the range
of allowable associated classes.
• OR association – dashed line
connecting two or more associations.
• Association class – association that
has class properties.
• N-ary association – association
among more than two classes.
• Aggregation – hollow diamond
attached to the end of the path.
• Generalization – relationship
between a general class and a more specific class.
11.
Demonstrate the guidelines for finding use cases and developing effective
documentation?
• Guidelines for use cases.
_ For each user, find the tasks and
functions.
_ Name the use cases.
_ Describe the use cases briefly.
_ Isolate users from actors.
_ Isolate actors from other actors.
_ Isolate use cases.
• Guidelines for effective
documentation.
_ Common cover.
_ 80 – 20 rule.
_ Familiar vocabulary.
_ Make the document as short as
possible.
_ Organize the document.
12.
Give detailed notes about the Noun phrase approach?
• Look for the noun phrases through
the use cases.
• Three categories:
_ Relevant classes.
_ Fuzzy classes.
_ Irrelevant classes.
• Identifying tentative classes.
_ Look for noun phrases and nouns in
the use cases.
_ Some classes are implicit or taken
from general knowledge.
_ All classes must make sense in the
application domain.
_ Carefully choose and define class
names.
• Selecting classes from the relevant
and fuzzy classes.
_ Redundant classes.
_ Adjective classes.
_ Attribute classes.
_ Irrelevant classes.
13.
Describe the CRC approach and naming classes?
• CRC approach.
_ Technique used for identifying
classes responsibilities.
_ CRC cards are 4” x 6” index cards.
_ Cheap, portable and readily
available.
_ Stress the importance of creating
objects.
• CRC process.
_ Identify classes’ responsibilities.
_ Assign responsibilities.
_ Identify collaborators.
• Naming classes.
_ It should be singular.
_ Use comfortable names.
_ Should reflect its intrinsic nature.
_ Use readable names.
14.
Give a detailed note about Associations?
• Represents a physical or conceptual
connection between two or more objects.
• Identifying associations.
_ Is the 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
associations.
_ A dependency between two or more
classes.
_ A reference from one class to
another.
• Common association patterns.
_ Location association: next to, part
of, contained in.
_ Communication association: talk to,
order to.
• Eliminate unnecessary associations.
_ Implementation association.
_ Ternary associations.
_ Directed actions or derived
associations.
15.
Give a detailed note on Super-sub class relationship and a-part-of
relationship?
• Super Sub class relationship.
_ Also known as generalization
hierarchy.
_ Allows objects to be built from
other objects.
• Guidelines for identifying Super-sub
relationship.
_ Top – down.
_ Bottom – up.
_ Reusability.
_ Multiple inheritances.
• A-part of relationship.
_ Also known as aggregation.
_ Represents a situation where a class
contains several component classes.
• Properties.
_ Transitivity: A->B, B->C =>
A->C.
_ Antisymmetry: A is a part of B, and
then B is not a Part of A.
• Patterns.
_ Assembly.
_ Container.
_ Collection-member.
16.
Describe in detail about Object oriented database management systems?
• OODBMS – combination of OOPs and
database technology.
• Rules that make an object oriented
system are:
_ System must support complex objects.
_ Object identity must be supported
_ Object must be encapsulated.
_ Must support types or classes.
_ Must support inheritance.
_ Must avoid premature binding.
_ Must be computationally complete.
_ Must be extensible.
• Rules that make it a DBMS are:
_ Must be persistent.
_ Should be able to manage very large
databases.
_ Must accept concurrent users.
_ Must be able to recover from H/w and
S/w problems.
_ Data query must be simple.
17.
State the differences between OODBMS and traditional database. Describe object
– relational systems?
• OODBMS
_ Active objects.
_ Explicit relationships.
_ Has object identity and is
persistent.
• Traditional database.
_ Passive records.
_ Implicit representations.
_ Does not have object identity and is
not persistent.
• Object – relational systems
_ Reverse engineering.
_ Forward engineering.
_ Object relation mapping.
° Table class mapping.
° Table multiple class mapping.
° Table inherited classes mapping.
° Tables inherited classes mapping.
° Keys for instance navigation.
18.
Explain the steps involved in designing the access layer classes?
• Main idea – create a set of classes
that know how to communicate with the places
where data reside.
• Provides a link between the business
or view objects and the data storage.
• Access layer performs two tasks.
_ Translate the request
_ Translate the results.
• Benefits.
_ Provides easy migration of
developing technologies.
_ Able to address the modest needs of
the two tier architecture.
• The process.
_ Access class – interacts with a
non-human actor.
_ The steps involved are:
° Mirror the business class package.
° Define relationships.
° Simplify classes and relationships.
° Iterate and refine.
_ The steps involved in designing with
persistent attributes are:
° Determine if the class has
persistent data.
° Mirror the business class package.
° Define relationships.
° Simplify classes and relationships.
° Iterate and refine.
19.
Explain the steps involved in designing the view layer classes?
• Responsible for two major aspects –
i/p, o/p.
• Four major activities.
_ Macro level UI design process.
_ Micro level design process.
_ Testing usability and user
satisfaction.
_ Refine and iterate.
20.
Describe the purpose of view layer interface?
• Forms and data entry windows
_ Guidelines.
• Dialog boxes
_ Guidelines.
• Application or main windows
_ Guidelines.
21.Describe
quality assurance test and testing strategies?
• Debugging
• Types of errors
_ Language or syntax.
_ Run time.
_ Logic.
• Types of QA
_ Error based
_ Scenario based
• Strategies.
_ Black box
_ White box
_ Top down
_ Bottom up.
22.
Describe test cases and the impacts of object orientation on testing?
• Construct some test i/p cases and
mention the expected output.
• Compare the output with the expected
outcome
• Objectives
_ Testing
_ Good test case
_ Successful test case.
• Guidelines
• Impact of object orientation
_ Impact of inheritance on testing
_ Reusability of tests.
23.
Illustrate test plan and continuous testing?
• Test plan – developed to detect and
identify potential problems before delivering
the S/w.
• Steps involved.
_ Objectives.
_ Development.
_ Test analysis.
• Regulation testing – discover errors
during debugging.
• Alpha testing.
• Beta testing.
• Guidelines.
• Continuous testing.
24.Describe
Usability Testing?
• Measures the ease of use as well as
degree of comfort and satisfaction.
• Guidelines.
• Recording the usability test.
25.Describe
user satisfaction?
• Is the process of quantifying the
usability test with some measurable attributes.
• Objectives.
• Guidelines.
No comments:
Post a Comment