Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
LTPC
3104
UNIT I INTRODUCTION 12
An overview – Object basics – Object state and properties – Behavior – Methods – Messages –
Information hiding – Class hierarchy – Relationships – Associations – Aggregations- Identity –
Dynamic binding – Persistence – Metaclasses – Object oriented system development life cycle.
1. Ali Bahrami, “Object Oriented System Development”, McGraw Hill International Edition,
1999.
REFERENCES
1. Craig Larman, Applying UML and Patterns, 2nd Edition, Pearson, 2002.
2. Grady Booch, James Rumbaugh, Ivar Jacobson, “The Unified Modeling Language
User Guide”, Addison Wesley Long man, 1999.
3. Bernd Bruegge, Allen H. Dutoit, Object Oriented Software Engineering using UML,
Patterns and Java, Pearson 2004
1
EGSP College of Engineering
Department of Computer Applications
2) What is Polymorphism?
Poly means many and morph means form. In the context of object-oriented systems, it means
objects that can take on or assume many different forms. Polymorphism means that the same
operation may behave differently on different classes. Booch defines polymorphism as the relation
ship of objects of many different classes by some common superclass; thus, any of the objects
designated by this name is able to respond to some common set of operations in a different way.
4) What is inheritance?
Inheritance is the property of object-oriented systems that allows objects to be built from other
objects. Inheritance allows explicitly taking advantage of the commonality of objects when
constructing new classes. The parent class is also known as the base class or super class.
2
is made about the classes of an object that represents a message, fewer dependencies are needed in the
code and, therefore, maintenance is easier.
8) What is an association?
Association represents the relationship between objects and classes. For example, in the
statement "a pilot can fly planes", is an association. Association is bi-directional; that means they
can be reversed in both directions, perhaps with different connotations. The direction implied by
the name is the forward direction; the opposite direction is the reverse direction.
3
14. What is use case modeling?
Expressing the high -level processes and interaction with customers in a scenario and
analyzing it is referred to as use-case modeling. A use case model represents the users view of the
system or user needs.
16.Whatis RAD?
RAD (Rapid Application Development) is a set of tools and techniques that can be used to
build an application faster than typically possible traditional methods. 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
(design)
18. Why is reusability important and how does OOSD promote reusability?
Reusability is important because it provides increased reliability, reduced time and cost for
development and improved consistency. OOSD promotes reusability by
1. Information hiding
2. Conformance to naming standard
3. Creation and administration of an object repository
4. Establishing targets for a percentage of the objects in the product to be reused.
UNIT – II
4
2) Write the difference between a method and a process.
Ans: Method is going to be implanted version of an objects behavior whereas the process is any
operation being performed. Methods concentrate on the data or the object invoking it and modify their
behavior. Process is any operation that needs to be carried out in the system.
3) What are the phases of OMT? Briefly explain each one of them.
Ans: The different phases of OMT are: LJ\
a) Analysis: This results in the object and dynamic and functional models. The object model describes
the structure of objects in a system and is represented by means of an object diagram.
The dynamic model is going to be a detailed state transition diagram. The diagram is going to
be a set of states receiving events so as to make transitions. The functional model is a representation of
flow of data between different processes in a business. The process is any function being performed,
data flow shows the direction of data element movement, data store is location of the data
storage; an external entity is a source or destination of data element.
b) System Design: The results are a structure of the basic architecture of the system along with
high-level strategy decisions.
c) Object Design: The phase produces a detailed design document of all the models.
d) Implementation: This phase produces a comprehensive code for the problem.
6) What is a use case? What are some of the ways that use cases can be described?
Ans. Use Case is a scenario depicting a user system interaction. It begins with the
user of the system issuing a sequence of interrelated events. Use cases are
described as:
a) Nonformal text with no clear flow of events.
b) Text, easy to read but with a clear flow of events.
c) Formal style using pseudo code.
5
7) What is the strength of Jacobson et. Al. Methodology?
Ans: The strength of the Jacobson et. Al. methodology is that it entire life cycle and stress
trace ability between the different phases, both forward and backward. This enables the reuse of
analysis and design work, reducing development time significantly.
6
3.2 State chart diagram
4 Implementation diagram
4.1 Component diagram
4.2 Deployment diagram
Account#
*
0..
Person
A qualifier is shown as a small rectangle attached to the end of an association path, between
the final path segment and the symbol of the class to which it connects. The qualifier rectangle is
part of the association path, not part of the class. The qualifier rectangle usually is smaller than
the attached class rectangle.
7
18. What is an Association rule?
An association may have an association name. This name may have an optional black
triangle in it, the point of the triangle indication the direction in which to read the name. The end of
an association where it connects to a class is called the association role.
19. Discuss some of the forms of associations? Draw their UML representations.
OR Association:
This indicates a situation in which only one of several potential associations may be
instantiated at one time for any single object.
GradeBook
grade
exam
lab
each participant class.
An n-ary (ternary) association that shows association among class, year and student classes.
The association class “GradeBook” which contains the attributes of the associations such as grade,
exam and lab.
Aggregation:This is a hollow diamond attached to end the path to indicate aggregation. The UML
8
20. What is a meta-model?
It is a model of modeling elements. This assures consistency among diagrams. This has made
possible for a team to explore ways to make the modeling language much simpler by in a sense
unifying the elements of the unified modeling language.
UNIT- III
1. Explain usecase model?
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. For
example, a car; typical uses of a car include "take you different places" or "hand your stuff' or a user may
want to use it "off the road"
9
smoothly.
7. What are the guidelines for selecting candidate classes from the relevant & Fuzzy categories
of classes?
• Redundant classes; Do not keep two classes that express the same information. If more
than one word is being used to describe the same idea, select the one that is the most
meaningful in the context of the system.
• Adjective classes; Adjectives can be used in many ways. An adjective can suggest a
different kind of object, different use of the same object, or it could be utterly irrelevant.
• Attribute classes: Tentative objects that are used only as values should be defined or restated as
attributes and not as a class.
• Irrelevant classes: Each class must have e a purpose and every class should be clearly defined and
necessary.
10
Code should be consistent and easy to read.
13.. What are the guidelines for identifying the tentative associations?
The following are the guidelines for identifying the tentative association:
A dependency between two or more classes may be an association. Association corresponds to
a verb or prepositional phrase, such as part of, next to, works for, or contained in.
A reference from class to another is an association. Some association is implicit or
taken from general knowledge.
15.What is an association?
Association represents a physical or conceptual condition between two or more objects.
For e.g.: if an object has the responsibility for telling another object that a credit card
number is valid or invalid. The classes have an association.
11
12
17. Is association different from a part of a relationship?
Association and part of relation are similar except for the fact that it depends on
problem domain and a part of relation is a special case of association.
UNIT-IV
1. Differentiate good design and bad design.
good design bad design
1.Uncoupled design with less information Complex coupling with information passed.
content.
2.Each class must have a single purpose. No clearly defined single purpose.
3.There is a strong association between physical Not a strong association
system & logical system.
5. What is the significance of Occam's razor? How does Occam's razor relate to O-O design?
It states that the best theory explains the known facts with minimum complexity and maximum
simplicity and straight forwardness. The best design involves the least complex code but not necessarily
the fewest number of classes or methods. Minimizing complexity should be the goal, because that produces
the most easily maintained application.
8. What are the steps for the 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 next the next class.
Iterate and refine.
14
10. What are the Interfaces of the Database?
1 Database schema and data definition language: A DDL (Data definition language) is the language used
to describe the structure of and relationships between objects stored in a database.
2 Data manipulation language and query capabilities: ADML (Data manipulation language) is the
language that allows users to access and manipulate is the standard DML for relational DBMSs.
11. What are the challenges in design with inheritance? What is single and multiple inheritances?
Multiple inheritances introduce ambiguity and program is more difficult to understand. We need
to determine which behavior to get from which class, particularly when several ancestors have same
method. Single inheritance: When a single new class inherits the behavior of a base (parent class).
Multiple inheritance: When a class inherits its state and behavior from more than one super class.
14. Mention the modes that can be used in the user interface.
Modal dialog
Spring -loaded modes
Tool-driven modes
UNIT-5
6. What are the kinds of errors you might encounter when you run your program?
1.Language Errors:
It results from incorrectly constructed code, such as an incorrectly typed keyword or some
necessary punctuation omitted. These are easiest types of errors.
2. Run time errors:
They occur and are detected as the program is running, when a statement attempts an
operation that is impossible to carry out.
3. Logic errors:
When codes do not perform the way you intended. The code might be syntactically valid and run
without performing any invalid operations and yet produce incorrect results.
19.What are the kinds of errors you might encounter when you run your program?
1.Language Errors:
2. Run time errors:
3. Logic errors:
PART-B
UNIT-I
1. Why an object orientation has gained popularity and works fine? (6)
Ans: refer page 14,15 of object oriented system development by Ali Bahrami.
2. How do you design a class and its components? What are the various types of objects and its
aggregation to construct a class. Write an algorithm to find the area of plane figures when the
objects are rectangle, circle, square, triangle etc.
3. Discuss how does object orientation prove supremacy citing a case study which highlights the
concept very well starting from design fundamentals.
Ans: refer page 14,15 of object oriented system development by Ali Bahrami.
4.b.What are the metrics to check whether the given class or object is well designed? Explain.
5.i)How does Object oriented methodology different from other programming methodologies?
What are the advantages of OO methodology?
ii)Explain encapsulation and abstraction with examples:
6.i)Explain with an example class diagram explain association, composition and aggregation.
7.(i) How does object oriented methodology differ from other programming methodologies? Explain with
an example.
(ii) With an example describe how relationship between objects are implemented.
19
8. How is software development viewed? What are the various phases of OOSD life
cycle? What is waterfall approach? List out its limitations
UNIT-II
2. Define patterns. How do analysis patterns differ from design patterns. Discuss generative, non
generative patterns and anti patterns and list the guidelines on capturing patterns?
Ans: refer pages 71-77 of object oriented system development by Ali Bahrami.
5. Discuss the various design methods and explain in detail the layered method to software
development.
Ans: refer pages 80,82,83,84 of object oriented system development by Ali Bahrami.
7. Describe the use of Sequence and collaboration diagrams with the help of example programs
9. What are the primary goals of UML and explain the various class diagrams?
Ans: refer page 93 to 100 of object oriented system development by Ali Bahrami.
UNIT-III
2. (i) What is the difference between users and actors? How would you identify them?(8)
(ii) Discuss the relationships and aggregation.(8)
2. Describe the noun phrase approach for identifying tentative classes in a problem
domain. Why is classes, responsibilities and collaborations useful? Identify the 3 steps in
CRC process
3. What are the guidelines for defining attributes? How would you identify a super-sub
class structure?
7. What are OODBMS standards? Explain them briefly. When to use object databases?
List down at least four of their advantages and disadvantages over RDBMS
1. What are the various testing strategies and discuss the impact of object orientation on testing?
page no 330.
2. What are the issues of software complexity and discuss on test tool?
3. Write short notes on the following:
(i) Guideline for developing a user satisfaction test.
ii) White box testing
Pg. No. 329 in Ali Bahrami
iii) Black box testing
Pg. No.328 in Ali Bahrami
iv)Debugging
Pg. No. 327 in Ali Bahrami
4. Discuss inheritance testing with an example.
Pg. No. 331 in Ali Bahrami
5. What is a test plan? Describe the contents and characteristics of a test plan.
Pg. No.333 in Ali Bahrami
6. Describe the different testing strategies. How to develop test plans guided by Thomas
7. Sketch the guidelines for developing quality assurance test cases described by Freedman
21
and Thomas adapted for the UA. What are the steps involved to make the testing
successful?
8. i)Why do we follow standards for testing any particularly Quality Assurance (QA)?
(6)
ii) What are the guidelines adapted for developing QA test cases. (10)
22