Ooad QB
Ooad QB
Ooad QB
Why does one go for object oriented system analysis design? 2. What are the various processes involved in object oriented software development life cycle? 3. What is OMT? 4. List at least four graphical diagrams defined in UML. 5. What is the application of use-case model? 6. What is meant by generalization hierarchy? 7. State the OO design axioms. 8. What are the various attribute types? 9. What is scenario based testing? 10. What are the principal objectives of the user satisfaction test? PART B 11. (i) Why do we follow standards for testing any particularly Quality Assurance (QA)? (ii) What are the guideline adapted for developing QA test cases. 12. (a) Compare the salient features that make object orientation a better approach than structure approach? If you are a student of Engineering then state the attributes and methods required for getting admission in reputed institutions. Or (b) How is software development viewed? What are the various phases of OOSD life cycle? What is waterfall approach? List out its limitations. 13. (a) What are the components of Booch method? Explain with examples. Or (b) (i) Give an example of UML Collaboration diagram. (ii) How does a complex system is modeled? 14. (a) (i) What are the guidelines for developing effective documentation? (ii) Describe the activity diagram for Banking System. Or (b) (i) What is the difference between users and actors? How would you identify them? (ii) Discuss the relationships and aggregation. 15. (a) (i) What are the activities of designing view for layer classes? (ii) Why does refinement of attributes is a must? Give a suitable example for it. Or (b) What are OODBMS standards? Explain them briefly. When to use object
database? List down atleast four of their advantages and disadvantages over RDBMS. OBJECT ORIENTED SYSTEM ANALYSIS AND DESIGN APRIL / MAY 2005 PART A 1. Mention the OOSD life cycle 2. What is dynamic binding? When does one go for it? 3. What is unified approach? Does it specify a methodology? 4. What is meant by dynamic modeling? 5. Define aggregation. 6. Name few diagrams in Booch Methodology. 7. What is meant by Database interface? Give an example. 8. What is a protocol and its function? 9. Discuss the impact on object orientation on testing. 10. Continuous testing cured the last minute crunch comment on it. PART B 11. Why is object orientation started finding place in system development? What are its major advantages and methodologies? How to design objects, relationships and associations? How is object persistence helpful and how to store only the persistent attributes? 12. (a) (i) Outline OMT functional model. Also give OMT data floe diagram primary symbols. (ii) What is the strength of Jacobson methodology emphasizing the two key concepts in it? Or (b) Why do we need to model a problem? What is UML and describe its importance? How is the dynamic behaviors expressed using various diagrams as per Booch? 13. (a) Describe the non phrase approach for identify tentative classes in a problem domain. Why are classes, responsibilities and collaborations useful? Identify the 3 steps in CRC process. Or (b) what are the guidelines for defining attributes? How would you identify a supersub class structure? 14. (a) What is coupling? While designing software programs, what precautions will one bore in mind. Tabulate types of coupling among objects or components. Or (b) what are some characteristics of a bad design? In a networking environment what precautions one has to consider to design associations. If server-client architecture is adapted. 15. (a) Describe the different testing strategies. How to develop test plans guided by Thomas. Or (b) Sketch the guidelines for developing quality assurance test cases described by Freedman and Thomas adapted for the UA. What are the steps involved to make the testing successful?
CS-1402 OBJECT ORIENTED ANALYSIS AND DESIGN NOVEMBER / DECEMBER 2005 PART A 1. What is meant by software development methodology? 2. Distinguish between encapsulation and information hiding. 3. Why do we need to model a problem? 4. What is an association class? How is it represented in UML? 5. What is a use case model? 6. What is the basic principle of CRC method? 7. What is meant by an axiom? List the two design axioms of object oriented design. 8. List any two differences between OODBMS and object oriented programming language. 9. What is regression testing? 10. What is user satisfaction testing? Give any two objectives of user satisfaction test. PART B 11. Book section of an engineering college is to be computerized. The important functions of a book section are (i) Addition, deletion and modification of membership details (ii) Issuing books to members and returning (iii) Computing fine at the time of returning the books (iv) Creation of defaulters list. For the above problem, draw the following UML diagram: (1) Use case diagram (2) Class diagram (3) Sequence or collaboration diagram of any two use cases (4) Activity diagram for any two classes. 12. (a) (i) Discuss the similarities and differences between structured approach and object oriented approach. (ii) What is dynamic inheritance? What is multiple inheritance? Discuss the merits and demerits of multiple inheritance. Or (b) (i) What is meant prototype? Why is it necessary to create prototype? Discuss about the different categories of prototype. (ii) Describe the process that are involved in unified approach for software development. 13. (a) (i) Use the noun phrase approach to identify the objects from the following grocery store problem. A store wants to automate its inventory. It has point-of-sale terminals that can record all of the items and quantities that a customer purchases. Another terminal is also available for the customer service desk to handle returns. It has a similar terminal in the loading dock to handle arriving shipments from suppliers. The meat department and produce departments have terminals to enter losses/discounts due to spoilage. (ii) Discuss the guidelines for finding use cases. Or
(b) (i) Explain the guidelines for identifying super-sub relationship in an application. (ii) What is aggregation relationship? Describe the two properties of aggregation relationship. What guidelines would you use to identify aggregate relationship? 14. (a) State 6 corollaries of O.O.Design. Explain any four of them in detail with suitable examples. Or (b) (i) Explain how objects are mapped with relational systems (tables). (ii) Briefly describe the four major activities in the design process of view layer classes. 15. (a) (i) Discuss inheritance testing with an example. (ii) What is a test plan? Describe the content and characteristics of a test plan. Or (b) Write short notes on the following : (i) Guideline for developing a user satisfaction test (ii) White box testing (iii) Black box testing (iv) Debugging. CS-1402 OBJECT ORIENTED ANALYSIS AND DESIGN MAY / JUNE 2006 PART A 1. What is object oriented system development methodology? 2. Distinguish between method and message in object. 3. What is an object model? What are the order OMT model? 4. What is UML called as modeling language? 5. What are the three relationship that can be shown in UML diagram? Define them. 6. List the guidelines for identifying tentative classes using non phrase approach. 7. What are few characteristics of bad design? 8. What is OODBMS? 9. What is meant by quality assurance? 10. What is impact object orientation in testing? PART B 11. (i) Briefly describe the Booch system development process. (ii) Define pattern and frame works. How do they differ from one another? 12. (a) (i) What is prototyping? How is it useful? State the advantages and disadvantages of prototyping. (ii) Describe the different phase OOSD life cycle. Or (b) (i) What is system development methodology? Discuss the advantages of object oriented system development methods. (ii) What is object relationship? Explain different types of relationship with. suitable examples 13. (a) Explain with an example how the classes can be identified using non phrase approach. Or
(b) (i) What is CRC? How is it used to identify classes? Explain with an example. (ii) How is super-subclass identified? Explain with an example. 14. (a) (i) What is meant by axioms? Explain two object oriented design axioms. (ii) What are public and private protocols? What is the significance of separating these two protocols? Or (b) (i) Describe the necessary characteristics that a system must satisfy to be considered an object oriented system. (ii) Write notes on class mapping view layer. 15. (a) (i) State the guidelines for developing quality assurance test cases. (ii) What are statement and branch testing coverage in object oriented testing? Explain. Or (b) (i) What is meant by usability tests? How are they carried out? (ii) What is user satisfaction test? State the objectives of it. MAY / JUNE 2007 PART A 1. What is an object? Give an example 2. What is the main advantage of object oriented development? 3. What are the phases of OMT? 4. List the difference between patterns and Framework 5. Mention the elements used in the Use-case model. 6. When to use CRC cards? 7. How do you distinguish transient data from persistent data? 8. What is Design Axiom? 9. Describe UI design rules. 10. What is Quality assurance?
PART B
11. (a) (i) Discuss the advantages of Object Oriented Approach. (ii) Briefly explain the elements of object model Or (b) (i) Briefly explain about Object oriented systems developments life cycle. (ii) Describe state, behaviour, and identity with respect to an object with relevant example. 12. (a) (i) Compare and contrast the Object oriented methodology of Booch, Rumbaugh and Jacobson. (ii) Write short notes on Unified approach. Or (b) Draw the class diagram, use-case diagram, interaction diagram for Library management system. 13. (a) (i) Describe the basic activities of Object oriented analysis and explain how Use-Case modeling is useful in analysis. (ii) Draw the Use-Case model for ATM Bank operation Or (b) (i) Discuss the importance of proper classification. Briefly explain the
different approaches used for identifying classes and objects. (iii) Explain the relationship exit among objects. 14. (a) Write short notes on the following : (i) Object interoperability (ii) Access Layer Or (b) (i) Briefly explain, how design axioms help to avoid design pitfalls. (ii) Explain the principles and metrics of good Object oriented design. 15. (a) (i) Explain the macro and micro process of a view layer design. (ii) How do you develop a custom form for a user satisfaction test? Or (b) (i) Describe the different testing strategies. (ii) Create a User satisfaction test for bank system application. CS-1402 OBJECT ORIENTED ANALYSIS AND DESIGN UNIT 1 (QUESTION BANK) Part A 1. What is dynamic binding? The process of determining at runtime which function to invoke is called as dynamic binding. 2. What are the two orthogonal views of software? a. Procedure oriented view b. Object oriented view. 3. What is object oriented system development methodology? Object an oriented system is the way to develop software by building selfcontained modules or objects that can be easily replaced, modified and reuse. 4. Distinguish between method and message in object Difference Message Method Example: You want to tell how to make soup Message is the instruction Method is the way to implement Your Instruction is the message The method soup was prepared is method 5. What is meant by software development methodology? An Object oriented method is based on functions and procedures. It is the way to develop software by building self-contained modules or objects that can be easily replaced, modified and reuse 6. Distinguish between encapsulation and information hiding. Information Hiding Encapsulation Information hiding is concealing the internal data and procedures Encapsulation means that the user cannot see inside of the object but
and providing an interface to each object such a way as to reveal as little as possible for inner workings. 7. What are the various processes involved in object oriented software development life cycle? 8. Define Object. The term Object means a combination of data and logic that represents some real world entity. 9. What is the difference between Object methods and attributes? Object attributes defines the properties of the object and Object methods defines the behavior of the object. 10. What do you mean by Inheritance? Inheritance is the property of object-oriented systems that allows object to be built from other objects. Inheritance allows explicitly taking advance of the commonality of objects when constructing new classes. It is a relationship between classes where one class is the parent class of another (derived) class. 11. Define polymorphism. Polymorphism means that the same operation may behave differently on different classes. 12. What do you mean by Association and Aggregation? Association is the relationship between objects and classes. What are the uses of the system? Problem Statement Analysis Design Implementation Details System Software Product Transformation 1 Transformation 2 Transformation 3 Pilot Planes Can fly Flown by Aggregation is the relationship between a class and a part of that class. 13.Distinguish Static and Dynamic binding. Dynamic binding determines at run time which functions to invoke and Static binding does this determination earlier at compile time.
14.Define Object Persistence. Each object has lifetime. They are created explicitly created and can exist for a period of time inside the process, which created it. This characteristic is called object persistence. 15. Define correspondence and correctness Correspondence measures how well the delivered system matches the need of the operational environment as described in the original requirements statement. Correctness measures the consistency of the product requirements with respect to the design specification. 16. What are the macro development processes involved in SDLC? The macro processes involved in SDLC are i. Object oriented Analysis ii. Object oriented Design iii. Implementation. 17. How does verification differs from validation? Verification refers that am I doing the product right and validation refers that am I building the right product. 18. Why we go for prototyping? Prototype enable us to fully understand how easy or difficult to implement some of the features of the system. It can define the use cases and it makes use case modeling much easier. Seat Wheel Engine CAR 18. List out the types of prototypes. i. Horizontal prototype ii. Vertical prototype iii. Analysis prototype iv. Domain prototype 19. Distinguish Analysis prototype and Domain Prototype. 20. What is the need of reusability? Need of reusability: a. Increased reliability b. Reduced time and cost c. Improved consistency d. Time and cost reduced. 21. What ism RAD? Random Application Development (RAD) is a set of tools and techniques that can be used to build an application faster. RAD is concerned primarily with reducing the time to market not exclusively the software development time. Analysis Domain Analysis prototype is an aid for exploring the problem domain. Domain prototype is an aid for the incremental development of the ultimate software solution Its used when developing the
product first time Its used to add features to the developed project. PART B 1. Briefly explain the principles of Object systems? The main principles of object model are Major elements: 1. Abstraction 2. Encapsulation 3. Modularity 4. Hierarchy Minor elements: 5. Typing 6. Concurrency 7. Persistence 2. Discuss about the basic concepts of object orientation. Basic concepts 1. Object 2. Class 3. Attributes 4. Method 5. Inheritance 6. Interface 7. Relation ship 3. Explain in detail about various relationships in object model with an example. Types of relation ships 1. Association 2. Dependency 3. Generalization 4. Realization 4. Briefly discuss about the following a. The software development process b. Building a high quality software 5. Briefly explain object oriented system development life cycle. Key: i. Object oriented analysis ii. Object oriented design iii. Object oriented implementation 1. Component based development (CBD) 2. Rapid application development (RAD) 6. (a) (i) Discuss the similarities and differences between structured approach and object oriented approach. (ii) What is dynamic inheritance? What is multiple inheritance? Discuss the merits and demerits of multiple inheritance. 7. (i) What is meant prototype? Why is it necessary to create prototype? Discuss about
the different categories of prototype. (ii) Describe the process that are involved in unified approach for software development. 8. Explain the following a. How is software development viewed? What are the various phases of OOSD life cycle? b. What is waterfall approach? List out its limitations. 9. Write briefly on the following (i) Discuss the similarities and differences between structured approach and object oriented approach. (ii) What is dynamic inheritance? What is multiple inheritance? Discuss the merits and demerits of multiple inheritance. 10. Discuss in detail on the following. i. What is meant prototype? Why is it necessary to create prototype? Discuss about the different categories of prototype. ii. Describe the process that are involved in unified approach for software development. CS-1402 OBJECT ORIENTED ANALYSIS AND DESIGN UNIT 2 (QUESTION BANK) PART - A 1. What is method? The behavior of an object is called method. 2. What is OMT? Object Modeling Technique is a fast, intuitive approach for identifying and modeling all the objects making of a system. 3. What are the phases of OMT? OMT consists of four phases namely Analysis System Design Object Design Implementation 4. What are the different models of OMT? They are three different models of OMT namely An Object Model A Dynamic Model A Functional Model 5. What is an Object Model? The object model describes the structure of the object in a system. The object model is represented graphically with an object diagram. The object diagram contains classes interconnected by association lines. 6. Define OMT DFD? The OMT Data Flow Diagram shows the flow of data between different processes in a business. An OMT DFD provides a simple intuitive method for describing business processes without focusing on the details of computer systems. 7. Give the four primary symbols used by DFD? Process
Data Flow Data Store External Entity 8. What is the strength of OMT? OMT methodology provides one of the strongest tool sets for the analysis and design of Object Oriented Systems. 9. Name the Six Booch Diagrams. Class Diagram Object Diagram State Transition Diagram Module Diagram Process Diagram Interaction Diagram 10. Define Macro development Process. The macro process serves as a controlling framework for the micro process. The primary concern of micro process is technical management of the system. 11. What are the steps involved in macro development process? They are five steps involved namely, 1. Conceptualization 2. Analysis and development of the model 3. Design or Create the system architecture 4. Evolution or Implementation 5. Maintenance 12. Define Micro development Process. Each macro development process has its own micro development processes. The micro process is a description of the day to day activities by a single or small group of software developers. The analysis and design phases are not clearly defined. 13. What are steps involved in Micro development Process? The micro development process consists of following steps 1. Identify Classes and Objects 2. Identify Class and Object semantics 3. Identify Class and Object relationship 4. Identify Class and Object interfaces and implementation 14. Define Use Case. 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. 15.What is an Abstract Use Case? An Abstract Use Case is not complete and has no actors that initiate it but is used by another use case. Abstract Use cases also are the ones that have uses or extends relationship. 16.What is Objectory ? It is a method of object-oriented development with a specific aim to fit the development of large, real-time systems. The development process is called UseCase driven development. 17.Name the models in Objectory?
Use Case Model Domain Object Model Analysis Object Model Implementation Model Test Model 18.Name the phases in OOBE. Analysis Phase. Design and Implementation Testing Phase 19.Define Pattern. A Pattern is[an] instructive information that captures the essential structure and insight of a successful family of proven solution to a recurring problem that arises within a certain context and system of forces. 20.What is Proto-Pattern? A Pattern in waiting, which is not yet known to recur, sometimes is called a Proto-Pattern. 21.What a Good Pattern does? It solves a problem It is a proven concept The solution is not obvious It describes a relationship The pattern has a significant human component 22.Differentiate between Generative and Non-Generative Patterns? Generative Patterns describes only a recurring problem, they tell how to generate something and can be observed in the resulting system architectures they helped shape Non-Generative patterns are static and passive: they describe recurring phenomena without necessarily saying how to reproduce them. 23.What is a Framework? A Framework is a reusable design expressed as a set of abstract classes and the way their instances collaborate. 24.Define Unified Approach. A methodology for software development that tries to combine the best practices , processes , and guidelines along with the object management groups unified modeling language for a better understanding. 25.What are the process in UA? Use Case Driven development Object Oriented Analysis Object Oriented Design Incremental Development and Prototyping Continuous Testing 26.Define OOA. OOA(Object Oriented Analysis)concerns determining the system requirements and identifying classes and their relationship to other objects in a given application.
27.What are the steps in OOA processes? Identifying the Actors Develop a simple business process model using UML Activity Diagram Develop the Use Case Develop interaction diagrams Identify classes 28. What are the steps in OOD processes? Designing classes, their attributes, methods, associations, structures and protocols, apply design axioms Design the Access layer Design prototype user interface User satisfaction and Usability Tests based on the Usage/Use Cases Iterate and refine the Design 29. What is the strength of the Jacobson et al.methodology? His methodologies cover the entire lifecycle and stress traceability between the different phases , both forward and backward .This trace ability enables reuse of analysis and design work. 30. Name the Layers in Three layered approach. Business Layer User interface(View) Layer Access Layer PART-B PART-B 1. Explain the Booch methodology. Key: Macro Development Process Micro Development process 2. Explain the macro and micro development process in detail. Key: Macro Conceptualization Analysis and development of the model Design or create the system architecture Evolution or implementation Maintenance Key: Micro Identify Classes and objects Identify class and object semantics Identify class and object relationships Identify class and object interfaces and implementation. 3. Explain the various diagrams used in Booch methodology Key: Class Diagrams
Object Diagrams State Transition Diagrams Module Diagrams Process Diagrams Interaction Diagrams 4. Explain OOSE and OOBE. Key:OOSE Use case model Domain Object model Analysis object model Implementation model Test model Key:OOSE Analysis Phase Design and implementation phases Testing Phase 5. Explain i)Patterns ant its types. Key: It solves a problem It is a proven concept The solution is not obvious Describes relationship Types: Generative and Non Generative ii) Frameworks Key: Way of presenting a generic solution to a problem that can be applied to all levels of component Design patterns are more abstract than frameworks Design patterns are smaller architectural elements than frameworks Design patterns are less specialized than frameworks 6. Explain the UML Diagrams in detail. Key: Class Diagram Use case diagram Behavior Diagram Implementation Diagram 7. Draw the use case diagram and activity diagram for a ATM system. Key: Actor : Member Librarian Use Case:
Login Searching Books Checking Books Registering Books Reading Books 8. Draw the use case diagram and activity diagram for a Reservation system Key: Actor: Passenger Ticket reserver Use caes: Checking availability Reserving Ticket Cancellation 9. Draw the use case diagram and activity diagram for a library book lending system Key: Actor : Customer Cash dispenser Use Case: Login Change Pin Check Balance Withdraw money CS-1402 OBJECT ORIENTED ANALYSIS AND DESIGN UNIT 3 (QUESTION BANK) PART - A 1. Define Analysis. Analysis is the process of transforming a problem definition from a fuzzy set of facts and myths into a coherent statement of systems requirements. 2. What is the purpose of Analysis? The main objective of analysis is to capture complete, unambiguous, and consistent requirements of the system and what the system must do to satisfy the users requirements and needs. 3. List out the tools involved in Analysis. The analyst has four major tools for extracting information about a system: 1. Examination of existing system documentation. 2. Interviews 3. Questionnaire 4. Observation 4. Why analysis is a difficult task? Analysis is a creative activity that involves understanding the problem, its associated constraints, and methods of overcoming those constraints. Norman explains the three most common sources of requirement difficulties: 1. Fuzzy descriptions. 2. Incomplete requirements. 3. Unnecessary features.
5. Describe the basic activities in Object Oriented Analysis? The OOA process consists of the following steps. 1. Identify the actors. 2. Develop a simple business process model using UML activity diagram. 3. Develop a use case. 4. Prepare interaction diagrams. 5. Classification develop a static UML class diagram. 6. Iterate and refine: If needed, repeat the preceding steps. 6. What is a Use Case Model? How it is useful in analysis? Use Case Model describes the uses of the system and shows the courses of events that can be performed. The use case model expresses what the business or application will do and not how. In the analysis phase, it is used to discover classes, responsibilities, and its relationships. 7. Define Use Case. 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. 8. What are the two types of use cases? Explain about it. Two types of use cases are 1. Abstract. 2. Concrete. An abstract is not a 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 extend associations. 9. Who are Actors? How would you identify actors? An actor is a user playing a role with respect to the system. When dealing with actors, it is important to think about roles rather than just people and their job titles. Candidates for actors can be found through the answers to the following questions: 1. Who is using the system? Or, who is affected by the system? Or, which groups need help from the system to perform a task? 2. Who affects the system? 3. Which external hardware or other systems use the system to perform tasks? 4. What problems does this application solve? 5. How do users use the system? What are they doing with the system? 10. What is the difference between Users and Actors? The actors are external factors that interact with the system; Use cases are scenarios that describe how actors use the system. 11. Why are Uses and Extends Associations useful in use case modeling? The uses association occurs while describing use cases that have some sub flows in common. The extends association is used when one use case is similar to another use case but does a bit more. 12. Why documentation is is an important part of an Analysis? What is 80 20 rule? A document can serve as an initial understanding of the requirements or it can
serve as a communication vehicle among the projects team members. The main issue in documentation during the analysis base is to determine what the system must do. The 80 percent of the work can be done with 20 percent of the documentation. 13. What are the various approaches for identifying the classes? Various approaches are: 1. Noun Phrase approach. 2. Common Class Patterns approach. 3. Use case Driven approach. 4. Classes, Responsibilities, and Collaborators (CRC) approach. 14. Describe the Noun Phrase strategy for identifying tentative classes in a problem domain. The following are guidelines for selecting classes in an application domain 1. Look for nouns and noun phrases in the use cases. 2. Some classes are implicit are taken from general knowledge. 3. All classes must make sense in the application domain. 4. Carefully choose and define class names. 15. Describe relevant, fuzzy, and irrelevant classes. In noun phrase approach, we have read through the requirements or use cases to identify noun phrases. Nouns in the textual description are considered to be classes and verbs to be methods of the classes. All plurals are changed to singular, the nouns are listed, and the list divided into three categories: Relevant classes, fuzzy classes (the fuzzy area, classes we are not sure about), and irrelevant classes (which either have no purpose or will be unnecessary). 16. How do you select candidate classes for the list of relevant and fuzzy classes? Candidate classes are selected from relevant and fuzzy classes by eliminating redundant, adjectives, attributes, and irrelevant classes 17. What criteria would you use to eliminate a class? The process of eliminating the redundant classes and refining the remaining classes is not sequential. This is an incremental process. 18. Why is developing a sequence / collaboration diagram a useful activity in identifying classes? Sequence and Collaboration diagrams represent the order in which things occur, and how the objects in the system send messages to one another. By following the order, we can determine what objects are necessary for those steps to take place. Therefore, the process of creating sequence or collaboration diagram can assist us in identifying classes or objects of the system. 19. What is generalization? Generalization is also known as super sub relationship. The super sub class hierarchy is a relationship between classes, where one class is the parent of another class. 20. What are the two major properties of a part of relationship?
Two properties of a part of relationship are 1. Transitivity the property where, if A is part of B and B is part of C, then A is part of C. 2. Anti symmetry the property of a part of relation where, if A is part of B, then B is not part of A. Review Redundant classes Review irrelevant classes Review adjectives Review attributes PART-B 1. Describe the noun phrase approach .why is classes, responsibilities and collaborations useful? Identify the 3 steps in CRC process. KEY: NOUN PHRASE APPROACH 1. Identifying tentative classes 2. Selecting classes from the relevant and fuzzy categories Redundant classes Adjective classes Attribute classes Irrelevant classes CRC-CLASSES, RESPONSIBILITIES, AND COLLABORATORS 1. Introduction 2. Process Identifying classes, responsibilities Assign responsibilities Identifying collaborators 2. What are the guidelines for defining attributes? How would you identify a supersub class structure? KEY: GUIDELINES FOR DEFINIG ATTRIBUTES SUPER-SUB CLASS RELATIONSHIPS 1. Introduction 2. Guidelines for identifying super-sub relationship, a generalization Top-Down Bottom-Up Reusability Multiple Inheritance 3. Use the noun phrase approaches to identity the objects from the following grocery store problem. A store wants to automate its inventory. It has point of sale terminals that can record all of the items and quantities that a customer purchases. Another terminal is also available for the customer service desk to handle returns. It has a similar terminal in the loading dock to handle arriving shipments from suppliers. The meat department and produce departments have terminals to enter losses/discounts due to spoilage. 4. Discuss the guidelines for finding use cases. KEY: 1. Identifying classes and the behavior through sequence/collaboration modeling 2. Implementation of scenarios
3. Object Behavior analysis 5. Give an example of UML collaboration diagram. 6. How does a complex system is modeled? KEY: 1. Use Cases under the Microscope 2. Uses and Extends Associations 3. Identifying the Actors 4. Guidelines for Finding Use Cases. 5. How detailed must a use case be? When to stop Decomposing and When to continue. 6. Dividing use cases into Packages 7. Naming a Use Case. 7. What are the guidelines for developing effective documentation? KEY: GUIDELINES FOR DEVELOPING EFFECTIVE DOCUMENTATION 1. Common cover 2. 80-20 rule 3. Familiar vocabulary 4. Make the document as short as possible 5. Organize the document 8. Describe the activity diagram for a banking system. 9. What is the difference between users and actors? How would you identify them? KEY: 1. Identifying the Actors 2. Guidelines for Finding Use Cases. 3. How detailed must a use case be? When to stop Decomposing and When to continue. 10. Discuss the relationships and aggregation. KEY: A-PART-OF RELATIONSHIPS AGGREGATION 1. Introduction Transitivity Anti symmetry 2. A-part-of relationship patterns Assembly Container Collection-Member CS-1402 OBJECT ORIENTED ANALYSIS AND DESIGN UNIT 4 (QUESTION BANK)
PART - A
1. Define corollary. Corollary is defined as a proposition that follows from an axiom or another proposition that has been proven. 2. Define theorem. A proposition that may not be self evident but can be proven from accepted axioms. It is equivalent to a law or principle. 3. What do you mean by axiom 1 and axiom 2. Axiom 1: The independence axiom. Maintain the independence of
components. Axiom 2: The information axiom. Minimize the information content of the design. 4. Differentiate cohesion and coupling. .. S.No Coupling Cohesion 1 Coupling deals with interaction between objects or software components Interaction within a single object or software component is called cohesion 2 It reflects relations between the objects. It reflects the single purpose ness of an object. 5. Define design pattern. Design patterns are devices that allow system to share knowledge about their design by describing the commonly requiring structure of communicating components that solves a general design problem within a particular context. 6. List the object oriented design corollaries. 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. 7. Define public protocol and private protocol. A class that have a set of method that it uses only internally, messages to itself is called private protocol. A class which is accessible to all other classes is called a public protocol. 8. When does encapsulation leakage occurs? The problem of encapsulation leakage occurs when details about a classs internal implementation are disclosed through the interface. 9. List out the basic types of attributes. Single value attributes. Multiplicity for multiple attributes. Reference to another objects or instance connection. 10. What are the methods provided by a class? a. Constructor. b. Destructor. c. Conversion method. d. Copy method. e. Attribute set. f. Attribute get.
g. I/O methods. h. Domain specific. 11. How do design axiom help to avoid design pitfalls? a. Break up the classes into two or more classes. b. Move some functions into new classes that the object would use. c. Rethink the class definition based on experience gained. 12. Define persistence. Persistence refers to the ability of some objects to outlive the programs that created them. i.e. it defines the life time of the object. 13. What are the categories describe the life time of data? a. Transient result to the evaluation of expressions. b. Variables involved in procedure activation. c. Global variables and variables that are dynamically allocated. d. Data that exist between the executions of the program. e. Data that exist between the versions of the program. f. Data that outlive a program. 14. What are the major tasks of the access layer? a. Translate the request: The access layer must be able to translate any data from the business layer into the appropriate protocol for data access. b. Translate the results: The access layer must be able to translate the data retrieved back into the appropriate business objects and pass those objects back into the business layer. 15. What is transaction? A unit of change in which many individual modifications are aggregated into a single modification that occurs in its entirety or not at all. 16. Distinguish reverse engineering and forward engineering. Creating an object model from an existing relational data base layout is referred as reverse engineering. Creating a relational scheme of from an existing model is referred as forward engineering. 17. What is DBMS? A set of programs that enables the creation and maintenance of a collection of related data. 18. What is DDL? The language used to describe the structure of the relationships between objects stored in the database is called Data Definition Language. 19. What is DML? The language that allows users to access and manipulate such as create, save, or destroy in a data organization is called Data Manipulation Language. 20. Define primary key and foreign key. A primary key is a combination of one or more attributes whose value unambiguously locates each row in a table. A foreign key is a primary key of one table that is embedded into another table to link the tables.
PART B
1. What is coupling? Tabulate types of coupling among objects or components.
It is the measure of the strength of association established by a connection from one object or software component to another. It is a binary relationship. Types: X Content coupling. X Common coupling. X Control coupling. X Stamp coupling. X Data coupling. 2. What is meant by axioms? Explain two object oriented design axioms. An axiom is a fundamental truth that always is observed to be valid and for which there is no counterexample or exception. A theorem is a proposition that may not be self evident but can be proven from accepted axioms. A corollary is a proposition that follows from an axiom or another proposition that has been proven Axiom 1. The independence axiom. Maintain the independence of components Axiom 2. The information Axiom. Minimize the information content of the design. 3. State 6 corollaries of O.O. Design. Explain any four of them in detail with suitable examples. Corollary 1: Uncoupled design with less information content. Corollary 2: Single purpose. Corollary 3: Large of simpler classes, reusability. Corollary 4: Strong mapping. Corollary 5: Standardization Corollary 6: Designing with inheritance. 4. Explain how objects are mapped with relational systems (tables). Object Relation Mapping Types: Table class Mapping Table multiple classes mapping Table inherited classes mapping. Tables inherited classes mapping. 5. What are OODBMS standards? Explain them briefly. When to use object database? The Object Oriented Database Management system is a combination of object oriented programming and database technology. Rules: (Object oriented System) 1. The system must support complex objects. 2. Object identity must be supported. 3. Object must be encapsulated. 4. The system must support types or classes. 5. The system must support inheritance. 6. The system must avoid premature binding. 7. The system must computationally complete.
8. The system must be extensible. (Database system) 9. It must be persistent and able to remember an object state. 10. It must be able to manage very large databases. 11. It must accept concurrent users. 12. It must be able to recover from hardware and software failures. 13. Data query must be simple. CS-1402 OBJECT ORIENTED ANALYSIS AND DESIGN UNIT 5 (QUESTION BANK) PART - A 1.Why is user interface one of the most important components of any software? User Interface is used to display and obtain needed information in an accessible, efficient manner. A well-designed UI has visual appeal that motivates users to use your application. In addition, it should use the limited screen space efficient. 2.What are the two major aspects that view layer objects responsible? Input - responding to user interaction. Output displaying or printing business objects. 3.Name the four major activities of designing view layer classes? The macro level UI design process Micro level UI design activities Testing usability and user satisfaction Refining and iterating the design. 4.Define Object-Oriented User Interface.(OOUI) A user interface in which user see and manipulate object representations of their information and need not be aware of the computer programs and underlying technology. 5.What are the two steps involved in view layer macro process? 1. For every class identified ,determine if the class interacts with human actor. 1.1 Identify the view (interface) objects for the class. 1.2 Define the relationships among the view (interface) objects. 2. Iterate and refine. 6. List the testing strategies. Block Box Testing White Box Testing Top-down Testing Bottom-up Testing 7. What kinds of error is encountered when a program is run? Language or syntax errors run time errors Logic errors 8. Give a brief description : a) error based testing b) Scenario based testing Error based testing techniques search a given classs method for particular cluses of interest, then describes how these clues should be tested. Scenario based testing also called usage based testing concentrates on what the user does, not what the product does.
9. Describe 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 as yet undiscovered errors. A successful test case is the one that detects an as yet undiscovered errors. 10. What are the steps are needed to create a test plan? Objective of the test. Development of test case Test analysis 11. Define regression testing. All passed testes should be repeated with the revised program called regression testing, which can discovers errors introduced during debugging process. 12. Define a) Beta Testing b) Alpha Testing A Beta testing, popular inexpensive, and efficient way to test software on a select group of actual users of the system. A alpha testing is done by in house testers, such as software engineers, programmers and internal users. 13. Define user-centered interface. It is the one that replicates the users view of doing things by providing the outcome users expect from any action. 14. What are the modes used in user interface? Modal dialogue Spring-loaded modes Tool-driven modes 15. What are the steps used in UI design rule? Making the interface simple Making the interface transparent & natural Allowing users to be in control of the software Avoid modes Make the interface consistent 16. What is verification and validation? The term verification refers the quality assurance i.e. the task of determining correctness Am I building the product right. The term validation refers the user satisfaction i.e. the task of determining correspondence Am I building the right product. 17. Define Usability testing. ISO Defines the usability as the effectiveness, efficiency and satisfaction with which a specified set of users to can achieve a specified set of tasks ISO Definition requires Defining tasks What are the tasks Defining users who are the users
A means for measuring effectiveness, efficiency and satisfaction how do we measure usability 18. What are the guidelines for developing usability testing Guidelines are: i. The usability testing should involve all software components ii. Usability need not be more expensive or elaborate iii. All tests need not involve many subjects iv. Consider users experience as a part of your software usability v. Apply usability testing early and often 19. What do you mean by user satisfaction test? 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. 20. What are the objectives of user satisfaction test? The objectives are: To act as a communication vehicle between users and designers. To detect and evaluate changes during the design process. To provide a periodic indication of divergence of opinion about the current design. To enable pinpointing specific areas of dissatisfaction for remedy. To provide a clear understanding of just how the completed design is to be evaluated
PART-B
1. Discuss about designing view layer classes Key: a. Major aspects of view layer b. 4 major activities c. Macro level process d. Micro level process 2. Briefly explain about User Interface design rules Key: a. Rule 1: Make the interface simple b. Rule 2: Making the interface transparent c. Rule 3: Allow users to be in control i. Make the interface forgiving ii. Make the interface visual iii. Provide immediate feedback iv. Avoid modes v. Make the interface consistent 3. Explain Quality assurance tests in detail Key: I. Define- debugging II. Types of errors a. Language error b. Runtime error c. Logic error III. Error based testing
IV. Scenario based testing 4. Briefly explain testing strategies and impact of object orientation of testing Key: a. Testing strategies i. Black box testing ii. White box testing iii. Top down testing iv. Bottom up testing b. Impact of orientation testing i. Impact of inheritance in testing ii. Reusability of tests 5. Write notes on the following a. Test cases b. Test plan c. Mayors debugging principles Key: i. Test cases 1. Myers objectives of testing 2. Guidelines for developing quality assurance tests ii. Test plan 1. Needed steps to create a test plan 2. Regression testing 3. Beta testing 4. Alpha testing 5. Guidelines for developing test plans iii. Mayors debugging principles 1. Bug locating principles 2. Debugging principles 6. Explain the following a. Usability testing b. User satisfaction testing Key: i. Usability testing 1. Define usability testing 2. Guidelines for developing usability testing 3. Recording the usability testing ii. User satisfaction testing 1. Definition 2. Guidelines for developing a user satisfaction testing. 7. Develop usability test plans and test cases for via net bank ATM system.