Oomd
Oomd
Oomd
Analysis:
Basically, it is the process of determining what needs to be done before how it should be
done. In order to accomplish this, the developer refers the existing systems and documents.
So, simply it is an art of discovery.
Design:
It is the process of adopting/choosing the one among the many, which best accomplishes the
users needs. So, simply, it is compromising mechanism.
2. What are the steps involved in designing?
Before getting into the design the designer should go through the SRS prepared by the
System Analyst.
The main tasks of design are Architectural Design and Detailed Design.
In Architectural Design we find what are the main modules in the problem domain.
In Detailed Design we find what should be done within each module.
3. What are the main underlying concepts of object orientation?
Objects, messages, class, inheritance and polymorphism are the main concepts of object
orientation.
4. What do u meant by "SBI" of an object?
SBI stands for State, Behavior and Identity. Since every object has the above three.
State:
It is just a value to the attribute of an object at a particular time.
Behaviour:
It describes the actions and their reactions of that object.
Identity:
An object has an identity that characterizes its own existence. The identity makes it possible
to distinguish any object in an unambiguous way, and independently from its state.
5. Differentiate persistent & non-persistent objects?
Persistent refers to an object's ability to transcend time or space. A persistent object
stores/saves its state in a permanent storage system with out losing the information
represented by the object.
A non-persistent object is said to be transient or ephemeral. By default objects are considered
as non-persistent.
6. What do you meant by active and passive objects?
Active objects are one which instigate an interaction which owns a thread and they are
responsible for handling control to other objects. In simple words it can be referred as client.
Passive objects are one, which passively waits for the message to be processed. It waits for
another object that requires its services. In simple words it can be referred as server.
Diagram:
client server
(Active) (Passive)
7. What is meant by software development method?
Software development method describes how to model and build software systems in a
reliable and reproducible way. To put it simple, methods that are used to represent ones'
the object class A dies when the object class B dies.we can represnt it in diagram like this.
Generalization: This relationship used when we want represents a class, which captures the
common states of objects of different classes. It is represented as arrow line pointed at the
class, which has captured the common states.
Dependency: It is the relationship between dependent and independent classes. Any change
in the independent class will affect the states of the dependent class.
DIAGRAM:
class A class B
11. Why generalization is very strong?
Even though Generalization satisfies Structural, Interface, Behaviour properties. It is
mathematically very strong, as it is Antisymmetric and Transitive.
Antisymmetric: employee is a person, but not all persons are employees. Mathematically all
As are B, but all Bs not A.
Transitive: A=>B, B=>c then A=>c.
A. Salesman.
B. Employee.
C. Person.
Note: All the other relationships satisfy all the properties like Structural properties, Interface
properties, Behaviour properties.
12. Differentiate Aggregation and containment?
Aggregation is the relationship between the whole and a part. We can add/subtract some
properties in the part (slave) side. It won't affect the whole part.
Best example is Car, which contains the wheels and some extra parts. Even though the parts
are not there we can call it as car.
But, in the case of containment the whole part is affected when the part within that got
affected. The human body is an apt example for this relationship. When the whole body dies
the parts (heart etc) are died.
13. Can link and Association applied interchangeably?
No, You cannot apply the link and Association interchangeably. Since link is used represent
the relationship between the two objects.
But Association is used represent the relationship between the two classes.
link :: student:Abhilash course:MCA
Association:: student course
14. What is UML?
UML is Unified Modeling Language.Graphical language for visualizing artifacts of the
system.Allow to create a blue print of all the aspects of the system.
A prototype is a version of a software product developed in the early stages of the products
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.
49. Define pattern mining?
The process of looking for patterns to document is called pattern mining Some times called
reverse architecture.
50. Define anti-patterns?
An anti-pattern represents a worst practice while a pattern represents a best Practice. Antipatterns come in two varieties. Those describing a bad solution to a problem that resulted in a
bad situation and Those describing how to get out of a bad situation.
51. Define patterns template?
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.
52. Define proto-patterns?
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 .A proto-pattern is the
pattern in waiting which is not yet known
to recur.
53. Name the two categories of Quality assurance testing.
Error based testing, scenario based testing.
54. Define debugging.
Debugging is the process of finding out where something went wrong and correcting the code
to eliminate the errors or bugs that cause unexpected results.
55. Write the two types of path testing.
Statement testing coverage and Branch testing coverage.
56. What is a meta-model?
A meta-model is a model of modeling elements. UML graphic notations can be used not only
to describe the systems components but also to describe a model itself.
57. Define a Framework?
A frame work is a collection of classes that provide a set of services for a particular domain.
58. Write the differences between design patterns and frameworks
Design patterns are more abstract than frameworks.
Design patterns are smaller architectural elements than frameworks.
Design patterns are less specialized than frameworks.
59. Define SQA?
SQA stands for Software Quality Assurance. This is the measure of assuring the quality of
the software products. The major activity done here is testing. The assurance process also
follows the quality model called the QAIMODEL (Quality Assurance Institute Model).
60. What is V Testing?
V testing stands for Verification and Validation testing.
61. What is a quality?
Quality refers to the ability of products to meet the users needs and expectations.
62. Name the two issues for software quality.
Validation or user satisfaction, and verification or quality assurance.
63. Define user satisfaction testing.
User satisfaction testing is the process of quantifying the usability test with some measurable
attributes of the test, such as functionality, cost or ease of use.
64. Define test plan.
A test plan is developed to detect and identify potential problems before delivering the
software to its users.
65. Write the objectives 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 as yet undiscovered error. A
successful test case is the one that detects an as yet undiscovered error.
66. What is cyclomatic complexity?
Cyclomatic complexity is software metric that provides a quantitative measure of the logical
complexity of a program. The value computed for cyclomatic complexity defines the number
of independent paths in the basis set of program.
67. Define corollary?
Corollary is a proposition that follows from an axiom or another proposition that has been
proven.
68. Name the two axioms.
Axiom1: The independence axiom. Maintain the independence of components.
Axiom2: The information axiom. Minimize the information content of the design.
69. Define 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. Coupling deals
with
interactions between objects or software components.
70. Name the two types of coupling in the object oriented design.
Interaction coupling and inheritance coupling.
71. Define cohesion.
Cohesion means the interactions within a single object or software component.
72. Name the types of attributes.
Single value attribute, Multiplicity or multivalue attributes, Reference to another object or
instance connection.
73. Write the syntax for presenting the attribute that was suggested by UML.
visibility name : type_expression = initial _value Where visibility is one of the following
+ public visibility
# protected visibility
- private visibility
type_expression - type of an attribute
Initial_value is a language dependent expression for the initial value of a newly created
object.
74. Write the syntax for presenting the operation that was suggested by UML
visibility name : (parameter_list): return _type_expression
Where visibility is one of the following
+ public visibility
# protected visibility
- private visibility
parameter- is a list of parameters.
Return_type_expression: is a language _dependent specification of the
Implementation of the value returned by the method.
75. What is a Faade?
Facade classes are the public classes in a package for public behavior.
76. Define DBMS?
A database management system (DBMS) is a program that enables the creation and
maintenance of a collection of related data.