Department of Computer Applications (M.C.A.) Object Oriented Analysis and Design Two - Marks Questions & Answers
Department of Computer Applications (M.C.A.) Object Oriented Analysis and Design Two - Marks Questions & Answers
Department of Computer Applications (M.C.A.) Object Oriented Analysis and Design Two - Marks Questions & Answers
Why software is inherently complex? 1. 2. 3. 4. The complexity of the problem domain The difficulty of managing the development process The flexibility possible through software The problems of characterizing the behavior of discrete systems.
2. What do you mean by object model? The object model describes the structure of objects in a system and their identity, relationships to other objects, attributes, and operations. The object model 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 of one class to the objects of another class. 3. What is and what isnt a class? A class is a set of objects that share a common structure and a common behavior. A single object is simply an instance of a class. We can further divide the interface of a class into three parts: Public A declaration that is accessible to all clients Protected A declaration that is accessible only to the class itself, its subclasses, and its friends. Private A declaration that is accessible only to the class itself And its friends. 4. What do you mean by Aggregation? All objects, except the most basic ones, are composed of and may contain other objects. Breaking down objects into the objects from which they are composed is decomposition. This is possible because objects attributes need not be simple data fields; attributes can reference other objects. Since each object has an identity, one object can refer to other objects. This is known as aggregation, where an attribute can be object itself.
5. Define synchronization in OOAD. Whenever one object passes a message to another across a link, the two objects are said to be synchronized. When one active object has a link to a passive one, we must choose one of the three approaches to synchronization: Sequential Guarded The semantics of the passive object are guaranteed only in the presence of a single active object at a time. The semantics of the passive object are guaranteed in the presence of multiple threads of control, but the active clients must collaborate to achieve mutual exclusion. The semantics of the passive object are guaranteed in the presence of multiple threads of control and the supplier guarantees mutual exclusion.
Synchronous
6. What are the rules of UML? The rules of UML are: Names Scope Visibility Integrity Execution What you call things, relationships, and diagrams The context that gives specific meaning to a name How those names can be seen and used by others How things properly and consistently relate to one Another. What it means to run or simulate a dynamic model.
7. What do you mean by analysis pattern? A pattern is a common solution to a common problem in a given context. Analysis pattern is a mechanism that applies to a society of classes. 8. Define stereotype in UML. Stereotypes represent a built-in extensibility mechanism of UML. Userdefined extensions of the UML are enabled through the use of stereotypes and constraints. A stereotype, in effect, is a new class of modeling element with the same from (attributes and relationships) but a different intent. UML stereotype extend and tailor the UML for a specific domain or process. 9. What do you mean by client/server computing? Client server computing is the logical extension of modular programming, where there is a separation of a large piece of software into its constituent parts (modules) creates the possibility for easier development and better maintainability. 2
Calling the module becomes the CLIENT and the called module becomes the SERVER. The component of client-server computing is connectivity; the key element of connectivity is the Network Operating System (NOS), also called as Middleware. 11. Why we need object oriented concepts? To provide a sound understanding of the fundamental concepts of the object model. To facilitate a mastery of the notation and process of objectoriented analysis and design. To teach the realistic application of object-oriented development within a variety of problem domains.
12. Define classes and objects? Class: A class is a set of objects that share a common structure and a common behavior. Object: An object has state, behavior, and identity; the structure and behavior of similar objects are defined in their common class The terms objects and instance are interchangeable. 13.Why we need the conceptual model? o To establish the core requirements of the system. o To represent a new business venture, a new complementary product in an existing product line. o To establish the vision for the idea and validate its assumptions. 14. List the factors that influences object-oriented concept? To the design of user interfaces, databases, and even computer architectures. To cope with the complexity inherent in many different kinds of systems.
15. Differentiate static and dynamic models? Objects are created and destroyed, objects send messages to one another in an orderly fashion, and in some systems. External events trigger operations upon certain objects. Describing a dynamic event in a static medium such a sheet of paper is a difficult problem, but it confronts virtually every scientific discipline. 3
16. List the languages especially suitable for object oriented software design? Smalltalk Object Pascal C++ Common Lisp Object System Ada Eiffel
17. How to manage analysis and design? To manage analysis and design the forth-coming points must be followed: Customer requirements must be fulfilled Problem domain must be clearly analyzed in all aspects Design tools must be effectively used Complete knowledge in all fields is essential 18. List out the tools used by analysts in OO analysis. Classical approaches Behavior analysis Domain analysis Use-case analysis CRC cards Informal English Description Structured analysis
19. How will you say an s/w as a quality one? Coupling Cohesion Sufficiency Completeness Primitiveness
20. Define OO database. An OO DBMS represents a merging of traditional database technology and the object model. OO DBMS is useful in domain such as computer-aided engineering (CAE) and computer-aided software engineering (CASE).
21. Define between Coupling and Cohesion? Coupling Cohesion A. Coupling is a notation borrowed A. The idea of cohesion also comes from structured design. from structured design B. The measures of the strength of association established by a connection from one module to another. C. Strong coupling complicates a system since a module is harder to understand, change or correct by itself if it is highly interrelated with other modules. D. Complexity can be reduced by designing systems with the weakest possible coupling between modules. B. It measures the degree of connectivity among the elements of a single module. The least desirable from of cohesion, in which entirely unrelated abstractions are thrown into the same class or module. The most desirable form of cohesion is functional cohesion, in which the elements of a class or module all work together to provide some well-bounded behavior.
C.
D.
22.Define Notations? The act of drawing a diagram does not constitute analysis or design. A diagram simply captures a statement of a systems behavior (for analysis) or the vision and details of architecture (for design). Still having a well-defined and expressive notation is important to the process of software development. 22. Define Process? This means that an activation of a single thread of control. The activities are leading to the orderly construction of the systems models. Yet it is sufficiently well defined as to offer a predictable and repeatable process for the mature software development organization. 23. Discuss about Pragmatics? Compounding matters is the fact that designing is not an exact science. Consider the design of a complex database using entityrelationship modeling, one of the foundations of object-oriented design. The result is that the design process is not deterministic: different designers can produce different enterprise models of the same enterprise. We may reasonably conclude that no matter how sophisticated the development method, no matter how well founded its theoretical basis, we
cannot ignore the practical aspects of designing systems for the real world. 24. Distinguish between Micro and Macro processes? Micro Processes A. The micro-processes of objectoriented development is largely driven by the stream of scenarios and architectural products. B. It represents the daily activities of the individual developer or a small team of developer. C. It apples equally to the software engineering and software architecture. D. The traditional phases of analysis and design are intentionally blurred, and the process is under opportunistic control. 25. Define Typing and Persistence? Typing: A type is a precise characterization of structural or behavioral properties which a collection of entities all share. Typing is the enforcement of the class of an object such that objects of different types may not be interchanged, or at the most, they may be interchanged only in very restricted ways. 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) and/or space (i.e. the objects location moves from the address space in which it was created). Persistence deals with more than just the lifetime of data. 26. Briefly explain any two attributes of the complex system? Macro Processes A. The macro process serves as the controlling framework for the micro process. B. It represents the activities of the entire development team on the scale of weeks to months at a time. C. Many elements of the macro process are simply sound software management practice, and so apply equally to objectoriented as well as non-objectoriented systems. D. The traditional phases of analysis and design are to a large extent retained, and the process is reasonably well defined.
a. Frequently, complexity takes the form of a hierarchy, whereby a complex system is composed of interrelated subsystems that have in turn their own subsystems, and so on. Until some lowest level of elementary components is reached. b. The choice of what components in a system are primitive is relatively arbitrary and is largely up to the discretion of the observer of the system. 27. Define foundation class library? A library that provides abstraction for all foundation classes required by all possible applications would be huge. The requirements of the foundation class libraries are complete, adaptable, efficient, safe, simple, and extensible. 28. Define Use-Case? Use-case is description of set of sequence of actions that a system performs that yields an observable result of value to a particular actor. 29. What are the advantages of Object Oriented Data Base? a. Easy to accessing data. b. Data is non-redundancy. c. Maintained security. d. Data is not isolated. e. Integrity is maintained. 30.Distinguish between Micro and Macro Processes. The Micro Process is a daily routine work of individual, whereas Macro is the prolong work of a team. 31.What is UML? The unified modeling language is a standard language of writing software blueprints. The UML may be used visualize, specify, construct and document the artifacts of a software intensive system. 32.Define Object Oriented Analysis? The Object Oriented Analysis is concerned with determining the system requirements and identifying classes and their relationship to other classes in the problem domain. 33.Define Package Diagram?
A package is a grouping of model elements. Packages themselves may contain other packages. A package is represented as a folder, shown as a large rectangle with a tab attached to its upper left corner. If contents of the packages are not shown, then the name of the package is placed within the large rectangle. If contents of the packages are shown, then the name of the package may be placed on the tab. The contents of the package are shown within the large diagram. 34.Define association? The creation of association, capture the participants in a semantic relationship, their roles and their cardinality. 35.How many kinds of behavioral things are there and what are they? There are two kinds of behavioral things. They are An interface A state machine 36. Mention the various applications to classification? The various classification applications are as follows 1.classical categorization 2.conceptual clustering 3.prototype theory 37. What is an object state? What is the relationship among objects? The state of an object encompasses all of the (usually static) properties of the object plus the current (usually dynamic) values of each of these properties. Relationships among the objects are described in this following type. 1. Link 2. Aggregation 38. Why an object-oriented approach is needed? 1.High security 2.Portability 3.High Complexity 4.Integrity These are the needed things in an object-oriented approach. 39. Mention the elements used in the USECASE model? 1.Communication 2.Uses
3.Extends These are the elements used in the USECASE model. 40. What is relationship? List the various relationships in the UML? There are four kinds of relationships in the UML. 1.Dependency 2.Association 3.Generalization 4.Realization These relationships are the basic relational building blocks of the UML. 41. What is pattern and framework? A framework consists of a collection of classes together with a number of patterns of collaboration among instances of these classes. A framework is a collection of classes that provide a set of services for a particular domain; a framework thus exports a number of individual classes and mechanism that clients can use or adapt. 42. Define a system subsystem and model? Subsystem serves to partition the physical model of a system. A subsystem is an aggregate containing other modules and other subsystems. Each module in the system like in a single subsystem or at the top level of the system. The system models denote the whole truth about its classes, relationships, and other entities, and each diagram represents a projection of these models. 43. What is forward-reverse engineering? The production of a logical or physical model from executable code. 44. What is the need for middleware? Generally a higher-level software layer providing a set of standardized interfaces to a collection of distributed, disparate, proprietary, heterogeneous computing resources. Developers write applications that interface to the middleware, rather than to proprietary lower-level interfaces. 45. What are the main tools for quality assurance? 1.Graphic-based system 2.Browser
3.Incremental compiler 4.Class librarian 46. Define Classification. Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute of human nature. 47. What are the objectivities of the user satisfaction test? i. ii. iii. iv. As a communication vehicle between designers, as well as between users and designers. To detect and evaluate changes. To provide a periodic indication. Pinpointing specific area of dissatisfaction.
48. What is Configuration control system? Configuration Control system is a way of tracking the changes the code. At a minimum, every time the code changes, a record should be kept that tracks changed, who changed it and comment about why the change was made. 49. Mention the steps needed to create a test plan.
50. What is a component Diagram? A collaboration diagram is defined as an interaction diagram that emphasizes the structural organization of the objects that send and receive messages. It is isomorphic, meaning that we can take one and transform it into the other. 51. Name the common mechanisms in the UML. a. b. c. d. Specifications Adornments Common divisions Extensibility mechanisms
10
A deployment diagram shows the configuration of runtime processing nodes and the components that live on them. It addresses the static deployment view of architecture. 53. What is a note? Note is a graphical symbol for rendering constraints or comments attached to an element or a collection of elements. 54. What is an object lifeline? A live in a sequence diagram represents the existence of an object over a period of time. 55. What are the different types of testing strategies? i. ii. iii. iv. Black box testing White box testing Top-Down Testing Bottom-up Testing ***********
11