Object Oriented Analysis and Design
Object Oriented Analysis and Design
The following texts are the property of their respective authors and we thank them for giving us the opportunity to share for free to students, teachers and users of the Web their texts will used only for illustrative educational and scientific purposes only.
All the information in our site are given for nonprofit educational purposes
The information of medicine and health contained in the site are of a general nature and purpose which is purely informative and for this reason may not replace in any case, the council of a doctor or a qualified entity legally to the profession.
Object Oriented Analysis and Design
- Define : Object Oriented Programming.
OOP is a method of implementation in which programs are organized as cooperative collections of objects, each of which represents an instance of some class ,and whose classes are all members of a hierarchy of classes united via inheritance relationships.
- Define: Object Oriented Design:
OOD is a method of design encompassing the process of object oriented decomposition and a notation for depicting both logical and physical as well as static and dynamic models of the system under design.
- Define : Object Oriented analysis
OOA is a method of analysis that examines requirements from the perspective of the classes and objects found in the vocabulary of the problem domain.
- What are the major elements of the object model.
- Abstraction
- Encapsulation
- Modularity
- Hierarchy
- What are the minor elements of the object model.
- Typing
- Concurrency
- Persistence
- What is meant by Abstraction.
An abstraction denotes the essential characteristics of an object that distinguish it from all the other kinds of objects and thus provide crisply defined conceptual boundaries relative to the perspective of the viewer.
7. Give the kinds of abstraction.
- Entity Abstraction
- Action Abstraction
- Virtual machine Abstraction
- Coincidental Abstraction
- Define Encapsulation
Encapsulation is the process of compartmentalizing the elements of an abstraction that constitutes its structure and behavior. It serves to separate the contractual interface of an abstraction and its implementation. It is achieved through information hiding .
9. What is meant by Modularity .
Modularity is the property of a system that has been decomposed into a set of cohesive and loosely coupled modules.
10. What do you mean by static and dynamic binding.
Static binding or early binding refers to the time when names are bound to types.
Static binding means that the types of all variables and expressions are fixed at the time of compilation. Dynamic binding (late binding )means that the types of all variables and expressions are not known until runtime.
11. Define Persistence
Persistence is the property of an object through which its existence transcends time(i.e. the object continues to exist after its creator ceases to exist).
12. What is meant by State of an object.
The State of an object encompasses all of the ( static) properties of the object
plus the current (dynamic) values of each of these properties.
13. What is Class
A Class is a set of objects that share a common structure and a common behavior
14. List out the relationships among classes
- Association
- Inheritance
- Aggregation
- Using
- Instantiation
- Meta class
15. Give the common kinds of cardinality across an association
- one- to-one
- one-to-many
- many-to-many
16. Define Meta class
A Meta class is a class whose instances are themselves classes.
17. Give the metrics to measure the quality of an abstraction
- Coupling
- Cohesion
- Sufficiency
- Completeness
- Primitiveness
18. Give the classification methods.
- Classical categorization
- Conceptual clustering
- Prototype theory
19. Define State transition diagram
A State transition diagram is used to show the events that cause a transition from one state to another, and the actions that result from a state change.
20. List out some process scheduling strategies.
- Preemptive
- Non preemptive
- Cyclic
- Executive
- Manual
21. What are the activities of a Micro Development Process
- Identifying Classes and Objects
- Identifying the semantics of Classes and Objects
- Identifying the relationships among Classes and Objects
- Implementing Classes and Objects
22. What are the activities of a Macro Development Process
- Conceptualization
- Develop a model of the system’s desired behavior(analysis)
- Create an architecture for the implementation
- Evolve the implementation through successive refinements
Maintenance.
23. Define Static model
Static model can be viewed as a snapshot of a system’s parameters at rest or at a specific point in time. Static models are needed to represent the structural or static aspect of a system.
The UML class diagram is an example of a static model.
24. Define Dynamic model.
Dynamic model can be viewed as a collection of procedures or behaviors that taken together ,reflect the behavior of a system over time
The UML interaction diagram is an example of a dynamic model.
- Give any two advantages of modeling
- Reduction of complexity
- Manipulation of the model is much easier than manipulating a real system
- Models make it easier to express complex ideas.
- Define UML
The unified modeling language is a language for specifying, constructing, visualizing, and documenting the software system and its components. UML is a graphical language with sets of rules and semantics. It is a simplified representation of reality.
27. What are some of the UML diagrams.
- Class diagram
- Use-case diagram
- Behavior diagram
- Implementation diagram
- What are some of the UML dynamic diagrams
1. Interaction diagram
Sequence diagram
Collaboration diagram
- State chart diagram
- Activity diagram
29. What is an association role
The end of an association ,where it connects to a class, shows the association role. Each association has two or more roles to which it is connected Roles may optionally have
Name
Multiplicity expression
Navigability
Eg:
Employer employee
Person
Company
The association works for connects two roles, employee and employer
30. What is the purpose of an activity diagram
The purpose of an activity diagram is to provide a view of flows and what is going on inside a use case or among several classes. It can be used to model an entire business process.
31. Define UML State chart diagram
A State chart diagram(also called a state diagram) shows the sequence of states that an object goes through during its life in response to outside stimuli and messages.
32. Define UML Interaction diagram.
Interaction diagrams are diagrams that describe how groups of objects collaborate to get the job done. Interaction diagrams capture the behavior of a single use case , showing the pattern of interaction among objects. There are two kinds of Interaction diagram.
1. Sequence diagram
2. Collaboration diagram
33. Give the strengths of Sequence diagram
- Simple notation
- Clearly shows sequence or time ordering of messages
34. Give the weaknesses of Sequence diagram
- Consumes horizontal space
- Forced to extend to the right when adding new objects
35. Give the strengths of Collaboration diagram
- Space economical – Flexible to add new objects in two dimensions.
- Better to illustrate complex branching, iteration and concurrent behavior
36. Give the weaknesses of Collaboration diagram
- Complex notation
- Difficult to see sequence of messages
37. Define Conceptual model
Conceptual model is a visual representation of conceptual classes or real world objects in a domain of interest .They are also called Domain model , Domain object model and Analysis Object model
38. What is use case?
Use cases are scenarios that describe how actors use the system (interaction between users and a system. Use case model provides an external view of the system. A use case is a sequence of transaction in a system whose task is to yield results of measurable value to an individual actor of the system
39. What is the purpose of extends association.
Extends association is used when we have one use case that is similar to other use case but does a little bit more or is more specialized ie it is like a subclass.
40. How do regular inheritance and selective inheritance differ?
Regular inheritance occurs when the subtype inherits all the functions of the super type . Selective inheritance occurs when the subtype inherits only some of the functions of the super type.
41. What is the difference between structured and unstructured complex object?
Unstructured complex object - DBMS does not know what their structure is. Eg: bitmap
Images , long text strings .They are also called as binary large objects (BLOBs)
Structured complex object - Object structure is defined by the type constructors ( tuple , atom ,set, list, bag ..) provided by OODBMS
42. Define frame works.
Frame work- is a set of cooperating classes that make up a reusable design for a specific class of software . It gives a solution to a particular problem domain.
43. Define the following terms
- Derived attribute
- Key attribute
Derived attribute - The value for this type of attribute can be derived from the values of other related attributes.
Key attribute - An entity usually has an attribute whose values are distinct for each individual entity.
44. List out the GoF design patterns.
Adapter, Factory, Singleton , Strategy ,Composite, Facade
45.What is the difference between persistent and Transient object
Transient objects exist in the executing program and disappear once the program terminates. Persistent objects are stored permanently in the data base and persist after program termination.
46.Discuss the type constructors in Object Oriented Terminology.
Type constructors are used to define the data structure for an object oriented design schema .example - atom , tuple , list , bag ,array .
47. What are the steps involved in Coad / Yourdon OOAD?
1.Finding class & objects
2. Identifying structures
3.Defining subjects
4. Defining attributes
5. Defining services
48. What is the difference between ownership semantics and reference semantics in structured complex object.
Ownership semantics - sub objects of complex objects are encapsulated within the complex object.
Reference semantics - components of the complex object are independent objects they may be referenced from complex object.
49. List out the CK class oriented metrics
Weighted methods per class
Depth of the inheritance tree
Number of children
Response for a class
Coupling between object class
Lack of cohesion in methods
50. Explain the following terms in Object Oriented terminology
- Method
- Signature
Method- Operation implementation
Signature- Interface part of each operation.
- Differentiate framework from design pattern
1. Design patterns are more abstract than framework
- Design patterns are smaller architectural elements than frame work
- Design patterns are less specialized than frame work
52. Explain the difference between attributes and value set.
Attribute – Property that describe it
Value set – Set of values that may be assigned to each attribute for each individual entity.
53. Define : Weak entity set.
Entity types that do not have key attribute of their own.
54. Define : Middleware.
Middleware - The additional software layer between the user interface front end and the DBMS backend that facilitates access to heterogeneous databases. It Provides services such as routing, distribution, message, and network management. ORB is a middleware Eg: CORBA, COM
55. List out the steps involved in Booch OOD?
- Identify classes & objects
- Identify class & object semantics
- Identify classes & objects relationships
- Identify classes & objects implementation.
56. List out the metrics that are directly applied to object oriented system
Weighted methods per class
Depth of the inheritance tree
Number of children
Response for a class
Coupling between object class
Lack of cohesion in methods
57. Define : Instantiation:
The process of filling in the template of a generic class to produce a class from which one can create instances.
- What is meant by precondition and post condition.
Precondition – An invariant assumed by an operation
Post condition - An invariant satisfied by an operation
59. Define Scenario:
An outline of events that elicits some system behavior.
60. Define cardinality:
The number of instances that a class may have ; the number of instances that participate in a class relationship.
61. What is class category
A logical collection of classes ,some of which are visible to other class categories, and others are hidden .The classes in the class category collaborate to provide a set of services.
62. Define class diagram:
Part of a notation of object oriented design., used to show the existence of classes and their relationships in a logical design of a system
63. Define Collaboration
The process whereby several objects cooperate to provide some higher level behavior.
64. Define Concrete class:
A class whose implementation is complete and thus may have instances.
65. What is meant by CRC cards.
Class/Responsibilities/Collaborators ; a simple tool for brainstorming about the key abstractions and mechanisms in a system.
66. Define Delegation:
The act of one object forwarding an operation to another object ,to be performed on behalf of the first object.
67. What is meant by information hiding:
The process of hiding all the secrets of an object that do not contribute to its essential characteristics ;typically the structure of an object is hidden, as well as the implementation of its method.
68. Define Module diagram.
Part of a notation of object oriented design., used to show the allocation of classes and objects to modules in the physical design of the system
69. Define Process diagram.
Part of a notation of object oriented design., used to show the allocation of processes to processors in the physical design of the system
- What is meant by Parameterized class.
A class that serves as a template for other classes ,in which the template may be parameterized by other classes, objects, and/or operations .A Parameterized class must be instantiated before instances can be created.
- Define Selector operation:
An operation that accesses the state of an object but does not alter the state.
- Define abstract class
A class that has no instances. An abstract class is written with
the expectation that its concrete subclasses will add to its structure and
behavior ,typically by implementing its abstract operations.
- What is meant by association
A relationship denoting a semantic connection between two
Classes
- What is virtual function.
An operation upon an object. A virtual function may be redefined by subclasses; thus, for a given object, it is implemented through a set of methods declared in various classes that are related via inheritance hierarchy.
- List out Rumbaugh OMT modeling parts
OMT separates modeling into three different parts. They are
1. Object Model
2. Dynamic Model
3. Functional Model
- Define :Aggregation
A part of relationship. It is a kind of relationship used to model whole /
part relationships between things . Two major properties are
Transitivity – if A is a part of B and B is a part of C, then A is a part of C.
Anti symmetry - if A is a part of B then B is not a part of A. .
77. Give the three kinds of part of relationship patterns.
- Composition
- Container
- Collection
78. Define: Using relationship
Association denotes a bi-directional semantic connection .Using relationship is one possible refinement of an association. Whereby we assert which abstraction is the client and which is the supplier of certain services
- What is meant by uses association in use case diagram
When we want to share common sequences in several use cases,
utilize the uses association by extracting common sequences into a
new shared use case.
- What is meant by abstract and concrete usecase.
An abstract usecase is not complete and has no initiation actors but is used by a concrete use case ,which does interact with actors. Abstract use cases also are the use cases that have uses or extends association
- Write the difference between actor and user
A user may play more than one role. The term actor represents the role a user plays with respect to a system.
82. Define: Generalization
Generalization is the relationship between a more general class and a
more specific class.
- Define use case diagram.
Use case diagram is a graph of actors ,set of use cases enclosed by a system boundary, communication association betweens between the actors and the use cases, and generalization among the use cases.
- List out the strategies to identify conceptual classes.
- Identify noun phrases
- Use a conceptual class category list.
- List out the GRASP patterns
1. Information expert
2. Creator
- High cohesion
- Low coupling
- Controller
86. Define polymorphism.
The concepts that two or more classes of an object can respond to the same message in different ways, using polymorphic operations. Also , the ability to define polymorphic operations.
87. Define Recursive association.
An association where the source and destination are the same object classes.
88. Define : CORBA
Common object request broker architecture .It is a standard proposed as a means to integrate distributed , heterogeneous business application and data.
89. Define : Validation
The task of predicting correspondence : are we building the right product ?
90. Define : Verification
The task of determining correctness : are we building the product right?
91. Multiple inheritance
The inheritance in some object oriented systems, that permits a class to inherits its attributes and methods from more than one super class .
92. Define lifeline in object oriented terminology.
Lifeline represents the existence of an object at a particular time.
93. Waterfall life cycle
An approach to software development that starts with deciding what to do and how to do it ,then doing it, testing, and using the application.
94. What is meant by n-ary association
It is an association among more than two classes .
95.Define : ORB
Object request broker is a middleware that implements a communication channel through which applications can access object interfaces and request data and services.
96. What is meant by two-tier and three-tier architecture.
In a two-tier architecture ,a client talks directly to a server, with no intervening server.
This type of architecture typically is used in small environments with less than 50 users.
A three-tier architecture introduces a server ( application or web server) between the server and client.
97. Define the term Concurrency in object oriented terminology.
It allows different objects to act as the same time. This property distinguishes an active object from one that is not active. Many operating systems provide direct support for concurrency
- What is meant by composition
It is a part of relationship pattern. Complex object is constructed from its parts . Eg : Engine is a part of a car.
- Define the Container part of relationship pattern
A physical whole encompasses but is not constructed from physical parts Eg : house can be considered as a container for furniture and home appliances.
- Define Collection part of relationship pattern
A conceptual whole encompasses parts that may be physical or conceptual. Eg: football team is a collection of players.
ESSAY Questions
- Explain the Booch Object Oriented design method in detail
Macro development process
steps
- conceptualization
- analysis
- design
- evolution
- maintenance
Micro development process
steps
- Identify classes & objects
- Identify classes & object semantics
- Identify classes & objects relationships
- Identify classes & objects implementation.
Diagrams – class ,object, state transition , module ,process ,interaction diagrams
-Explanation for all the above steps .
2) Explain the Class Oriented metrics
CK metrics suite
- Weighted method per class
- Depth of the inheritance tree
- Number of children
- Coupling between object classes
- Response for a class
- Lack of cohesion in methods
With explanation for the above each method.
3) Metrics for Object Oriented Design model.
Size, complexity, Coupling, Sufficiency, Completeness, Cohesion, Primitiveness, Similarity, Volatility with explanation.
4) What is Middleware? Explain its functionalities in detail.
The key component of c/s computing is connectivity which allows applications to communicate transparently with other programs. The key element of thee connectivity is Network operating System also known as middleware. It Provides services such as routing, distribution, message & network management. ORB is a middleware
The widely used standard that implement the middleware are CORBA . Give the CORBA architecture.
5) Explain the Coad / Yourdon Object Oriented Analysis Method
i). Coad / Yourdon Steps:
1.Finding classes & objects
2. Identifying structures
3. Defining subjects
4. Defining attributes
5. Defining services
Give explanation for each of the above steps.
6) Explain the Rumbaugh Object Modeling Technique in detail It consists of Three Models
They are
1. Object Model
2. Dynamic Model
3. Functional Model
Give explanation for the above each model.
7) Explain the structured and unstructured complex objects
Unstructured- DBMS does not know what their structure is. Eg: bitmap images, long text strings etc
Structured- Object structure is defined by the type constructors (tuple , set list ,bag ,array ) provided by OODBMS. Type constructor is used to define the structure of the database schema. Give examples also.
8) Write a note on Object Oriented Databases
Give explanation for the following elements in detail
Object definition, Structure
OID ,type constructors
Explanation for how it support Object Oriented Features for example data encapsulation ,inheritance, information hiding etc..
9) Explain the steps involved in a micro development process.
The micro process tends to track the following activities:
. Identify the classes and objects at a given level of abstraction.
. Identify the semantics of these classes and objects.
. Identify the relationships among these classes and objects.
. Specify the interface and then the implementation of these classes
and objects.
-Explanation for all the above steps .
Give details for the following diagrams also.
class , object, state transition , module ,process ,interaction diagrams.
10) Explain the steps involved in a macro development process.
Macro process serve as a controlling framework of micro process .It represents the activities of the entire development team on the scale of weeks to months at a time. It include
Configuration
Management
Code Walkthroughs
Documentation
Phases:
- Establish the core requirements for the software ( Conceptualization)
- Develop a model of the systems desired behavior ( Analysis)
- Create an architecture for the implementation ( Design)
- Evolve the implementation through successive refinement
- Maintenance.
Give explanation for all the above steps.
11) Explain the major and minor elements of object model
Four major elements are
- Abstraction
- Encapsulation
- Modularity
- Hierarchy
Minor elements :
- typing
- concurrency
- persistence
- give explanation for all the above steps.
12) Explain the various kinds of relationships among classes.
Most object oriented languages provide direct support for some combination of the following relationships. They are
- Association
- Inheritance
- Aggregation
- Using
- Instantiation
- Meta class
13) Explain the classification methods in detail
Give explanation for the following three methods.
- classical categorization
- conceptual clustering
- prototype theory.
14) What is UML and explain the following UML diagrams.
The unified modeling language is a language for specifying, constructing, visualizing, and documenting the software system and its components. UML is a graphical language with sets of rules and semantics. It is a simplified representation of reality.
UML diagrams.
- Class diagram
- Use-case diagram
- Behavior diagram
- Implementation diagram
5. Interaction diagram
Sequence diagram
Collaboration diagram
- State chart diagram
- Activity diagram
15. What is meant by interaction diagram .
Write a note on the following diagram.
1. Sequence diagram
2 .Collaboration diagram.
Interaction diagrams are diagrams that describe how groups of objects collaborate to get the job done. Interaction diagrams capture the behavior of a single use case , showing the pattern of interaction among objects. There are two kinds of Interaction diagram.
Sequence diagram
Collaboration diagram
- Give the various notations of both the sequence and collaboration diagrams in detail.
Source :
http://www.niceindia.com/qbank/Object_Oriented_Analysis_and_Design.doc
http://www.niceindia.com/qbank/object_oriented_analysis_and_design_essay_.doc
Web site link to visit: http://www.niceindia.com
Google key word : Object Oriented Analysis and Design file type : doc
Author : not indicated on the source document of the above text
If you are the author of the text above and you not agree to share your knowledge for teaching, research, scholarship (for fair use as indicated in the United States copyrigh low) please send us an e-mail and we will remove your text quickly.
Object Oriented Analysis and Design
If you want to quickly find the pages about a particular topic as Object Oriented Analysis and Design use the following search engine:
Object Oriented Analysis and Design
Please visit our home page
Larapedia.com Terms of service and privacy page