Sunteți pe pagina 1din 72

1

ANNA UNIVERSITY TIRUCHIRAPPALLI Regulations 2008 Syllabus B. Tech IT/ SEMESTER V CS1310 OBJECT ORIENTED ANALYSIS AND DESIGN

Submitted By: A.Geetha Lect/IT

CS1310 OBJECT ORIENTED ANALYSIS AND DESIGN UNIT I FUNDAMENTALS 8 An overview of object oriented systems development Object basics Objectoriented systems development life cycle. UNIT II OBJECT ORIENTED METHODOLOGIES 12 Rumbaugh methodology Booch methodology Jacobson methodology Patterns Frameworks Unified approach Unified modeling language Use case diagram Class diagram Interaction diagram Package diagram State diagram Activitydiagram Implementation diagram. UNIT III OBJECT ORIENTED ANALYSIS 9 Identifying use cases Object analysis Classification Identifying object relationships Attributes and methods. UNIT IV OBJECT ORIENTED DESIGN 8 Design axioms Designing classes Access layer Object storage Object interoperability. UNIT V SOFTWARE QUALITY AND USABILITY 8 Designing interface objects Software quality assurance System usability Measuring user satisfaction . Total: 45 TEXT BOOKS 1. Ali Bahrami, Object Oriented Systems Development, Tata McGraw - Hill, 1999. 2. Martin Fowler, UML Distilled, 2nd Edition, Prentice Hall of India / Pearson Education, 2002. REFERENCES 1. Stephen R. Schach, Introduction to Object Oriented Analysis and Design,
3

Tata McGraw - Hill, 2003. 2. James Rumbaugh, Ivar Jacobson and Grady Booch The Unified Modeling Language Reference Manual, Addison Wesley, 1999. 3. Hans - Erik Eriksson, Magnus Penker, Brain Lyons and David Fado, UML Toolkit, OMG Press Wiley Publishing Inc., 2004. 4. Barclay, Object-Oriented Design with UML and Java, Elsevier,2008

UNIT I FUNDAMENTALS An overview of object oriented systems development -Object basics Objectoriented systems development life cycle.

Basic Concepts of Object Orientation Object Class Attribute Operation Interface (Polymorphism) Component Package Subsystem Relationships

Object Informally, an object represents an entity, either physical, conceptual, or software Physical entity Conceptual entity Software entity Class A class is a description of a group of objects with common properties (attributes), behavior (operations), relationships, and semantics An object is an instance of a class A class is an abstraction in that it: Emphasizes relevant characteristics Suppresses other characteristics Class Compartments A class is comprised of three sections The first section contains the class name The second section shows the structure (attributes) The third section shows the behavior (operations)
6

Relationships Association Aggregation Composition Dependency Generalization Realization Relationships: Aggregation A special form of association that models a whole-part relationship between an aggregate (the whole) and its parts Association: Multiplicity and Navigation Multiplicity defines how many objects participate in a relationships The number of instances of one class related to ONE instance of the other class Specified for each end of the association Associations and aggregations are bi-directional by default, but it is often desirable to restrict navigation to one direction If navigation is restricted, an arrowhead is added to indicate the direction of the navigation Association: Multiplicity Unspecified Exactly one Zero or more (many, unlimited) One or more Zero or one Specified range

Relationships: Generalization
7

A relationship among classes where one class shares the structure and/or behavior of one or more classes Defines a hierarchy of abstractions in which a subclass inherits from one or more superclasses Single inheritance Multiple inheritance Generalization is an is-a-kind of relationship Specialization: The act of defining one class as a refinement of another. Subclass: A class defined in terms of a specialization of a superclass using inheritance. Superclass: A class serving as a base for inheritance in a class hierarchy Inheritance: Automatic duplication of superclass attribute and behavior definitions in subclass.

Polymorphism

Abstract Class vs. Concrete Class Abstract Class. An incomplete superclass that defines common parts. Not instantiated. Concrete class. Is a complete class. Describes a concept completely. Is intended to be instantiated

What is Encapsulation? Hide implementation from clients Clients depend on interface object persistence Objects have life time. They are created and can exist for a period of time. A file or a database can provide support for objects having a longer life timelonge than the duration of the process for which they were created. polymorphism Polymorphism means that the same operation may behave differently on different classes. Ex. Move operation. (Behave differently on the window class and chess Piece class).

10

QUESTION BANK PART-A ( 2 marks) 1. Write about the traditional development methodologies? 2. Define objects. 3. Give a brief note on object behavior 4. What do you mean by information hiding? 5. Define class hierarchy 6. Write briefly about inheritance and explain the types of inheritance. 7. What do you mean by polymorphism? 8. Explain object relationship and associations. 9. What do you mean by consumer-producer association? 10. Write about static and dynamic binding? 11. Define object persistence 12. Define meta-classes. 13. What do you mean by software development process? 14. Explain briefly the waterfall approach. 15. Define collaboration. 16. Write the 80-20 rule. 17. Define Prototype. Give the types of prototype. 18. Write a brief note on RAD. 19. Write about CBD? 20. Why do we go for object oriented systems development? 21. What is horizontal prototype? 22. Explain the domain prototype 23. Write about the Vertical prototype? 24. Explain Analysis prototype? 25. What is waterfall SDLC? 26. What are the advantages of Waterfall model? 27. What is software correctness? 28. What if Software correspondence? 29. What is software verification? 30. What is software Validation? 31. How is software verification differing from validation? 32. What are the uses of prototyping?
11

33. What is object oriented SDLC? 34. What is Use case modeling? 35. What is Object Modeling? 36. What is Object Oriented Analysis? 37. What is Object Oriented Design? 38. What is Object Oriented Implementation? PART-B 1. Describe the various Object oriented concepts? (16) 2. Describe the Software Development process. (16) 3. (a) How can we build a high quality Software? (12) (b) Write the difference between verification and validation (4) 4. Describe the Object oriented Systems Development Life Cycle? (16)

12

UNIT I FUNDAMENTALS 2 Marks (with answers) 1. Define Object Oriented Analysis? 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. 2. What is meant by Object Oriented? Object Oriented means we organize the software as a collection of discrete objects that incorporate both data structure and behavior. 3. Write the characteristics of an object. Identity, classification, polymorphism, and inheritance. 4. What is a class? A class is a set of objects that share a common structure and a common behavior. 5. Name two types of object diagram. Class diagram and instance diagram. 6. What is an attribute? Give example. An attribute is a data value held by the objects in a class .Example: name, age and weight are attributes of Person class. 7. What is multiple inheritance? When one class inherits its state (attributes) and behavior from more than one super class, it is referred to as multiple inheritances. 8. What is dynamic binding? The process of determining (dynamically) at run time which functions to invoke is termed dynamic binding. 9. What is static binding?
13

The process of determining at compile time which functions to invoke is termed static binding. 10. Write the four quality measures for software development? Correspondence, correctness, verification, and validation. 11. What is object persistence? Objects have life time. They are created and can exist for a period of time. A file or a database can provide support for objects having a longer life timelonger than the duration of the process for which they were created. This characteristic is called object persistence. 12. What is polymorphism? Give an example. Polymorphism means that the same operation may behave differently on different classes. Ex. Move operation. (Behave differently on the window class and chess Piece class). 13. What is cardinality? Cardinality specifies how many instances of one class may relate to a single instance of an associated class. 14. What is a formal class or abstract class? Formal or abstract classes have no instances but define the common behaviors that can be inherited by more specific classes. 15. What is a meta-class? A meta-class is a class about a class. They are normally used to provide instance variables and operations. 16. Define Encapsulation? Encapsulation is the process of compartmentalizing the elements of an abstraction that constitute its structure and behavior.

14

16 Marks Questions(with key) 1. Briefly explain about object oriented system development (OOSD) life cycle. Explain about object oriented system development life cycle Object Oriented Analysis Object Oriented Design Object Oriented Implementation Activities Object Oriented Analysis Object Oriented Design Prototyping Component based development Incremental Testing 2. Explain the following (i). Class hierarchy (8) (ii). Object relationships and associations (8) Explain the following (i). Class hierarchy super class and sub class, inheritance, multiple inheritance, examples. (ii). Object relationships and associations-link and association, examples. 3. Briefly explain about the characteristics of an object and software development processes? Characteristics of an object- Identity, classification, polymorphism, inheritance. software development processes- analysis, design, implementation, testing

15

UNIT II OBJECT ORIENTED METHODOLOGIES Rumbaugh methodology Booch methodology Jacobson methodology Patterns Frameworks Unified approach Unified modeling language Use case diagram Class diagram Interaction diagram Package diagram State diagram Activitydiagram Implementation diagram.

16

What is UML
It is a Unified Modeling Language, which is mainly a collection of graphical notation that methods use to express the designs. The UML is language for visualizing, specifying, constructing and documenting the artifacts of software system. UML is visual modeling language for modeling systems and is non proprietary UML is not a radical departure from Booch, OMT, OOSE notations but rather legitimate successor to all three. It is an evolutionary step, which is more expressive and more uniform than individual notations. What is USE CASE diagram? A use case diagram establish the capability of the system as a whole. Components of use case diagram: Actor Use case System boundary Relationship Actor relationship

ACTOR: An actor is some one or something that must interact with the system under development It is role a user plays with respect to system. Actors are not part of the system they represent anyone or anything that must interact with the system.

17

Actors carry out use cases and a single actor may perform more than one use cases. Actors are determined by observing the direct uses of the system, An actor may - input information to the system. - receive information from the system. - input to and out from the system

USE CASE: A use case is a pattern of behavior, the system exhibits Each use case is a sequence of related transactions performed by an actor and the system in dialogue. USE CASE is dialogue between an actor and the system. A use case must deliver something of value to an actor. The use cases may be decomposed into other use cases. Use cases also present a good vehicle for project planning. RELATIONSHIP: Relationship between use case and actor. Communicates Relationship between two use cases Extends Uses Notation used to show the relationships: << >> Relationship between use case and actor is often referred as communicates . Relationship between two use cases is refereed as either uses or extends. o USES: - Multiple use cases share a piece of same functionality. - This functionality is placed in a separate use case rather than documenting in every use case that needs it. What is Scenario? The functionality of the use case is captured in flow of the
18

o events. A scenarios is one path through the flow of events for the use o case. Scenarios are developed to help identify objects, classes and o object interactions for that use case. Interaction diagram Interaction diagrams are models that describe how groups of objects collaborate in some behavior There are 2 kinds of interaction diagrams o Sequence diagram o Collaboration diagram Sequence diagrams are a temporal representation of objects and their interactions Collaboration diagrams are spatial representation of objects, links and interrelations sequence diagram Typically these diagrams capture behaviors of the single scenario. Shows object interaction arranged in time sequence. They show sequence of messages among the objects. It has two dimensions, vertical represents time & horizontal represents objects. Components of sequence diagram: o -objects o -object lifeline o -Message o -pre/post conditions.

MESSAGES: They are used to model the content of communication between objects. They are used to convey information between objects and enable objects to request services of other objects. The message instance has a sender, receiver, and possibly other information according to the characteristics of the request. Messages are denoted as labeled horizontal arrows between life lines. The sender will send the message and receiver will receive the message.

19

Collaboration diagram Collaboration diagrams illustrate the interaction between the objects, using static spatial structure. Unlike sequence diagram the time is not explicitly represented in these diagrams In collaboration diagram the sequence of messages is indicated by numbering the messages. The UML uses the decimal numbering scheme. In these diagrams, an actor can be displayed in order to represent the triggering of interaction by an element external to the system. This helps in representing the interaction, without going into the details of user interface. Components of collaboration diagram Named objects Links: Links are represented by a continuous line between objects, and indicates the exchange of messages. Messages has following attributes: Synchronization --thread name, step within thread. Sequence number Message labels : The name of the message often corresponds to an operation defined in the class of the object that is the destination of the message. Message names may have the arguments and return values. *[iteration]. It uses decimal notation. Class diagram Message directionA class diagram shows the existence of classes and their relationships in the logical view of a system UML modeling elements in class diagrams are: o Classes, their structure and behavior. o relationships components among the classes like association, aggregation, composition, dependency and inheritance o Multiplicity and navigation indicators o Role names or labels. Major Types of classes: Concrete classes
20

A concrete class is a class that is instantiable; that is it can have different instances. Only concrete classes may be leaf classes in the inheritance tree. Abstract classes An abstract class is a class that has no direct instance but whose descendants classes have direct instances. An abstract class can define the protocol for an operation without supplying a corresponding method we call this as an abstract operation. An abstract operation defines the form of operation, for which each concrete subclass should provide its own implementation

Association Aggregation Composition Inheritance Dependency Instantiation

ASSOCIATION: These are the most general type of relationship: It denotes a semantic connection between two classes It shows BI directional connection between two classes It is a weak coupling as associated classes remain somewhat independent of each other AGGREGATION: This is a special type of association The association with label contains or is part of is an aggregation It represents has a relationship It is used when one object logically or physically contains other The container is called as aggregate It has a diamond at its end The components of aggregate can be shared with others It expresses a whole - part relationships COMPOSITION: This is a strong form of aggregation It expresses the stronger coupling between the classes
21

The owner is explicitly responsible for creation and deletion of the part Any deletion of whole is considered to cascade its part The aggregate has a filled diamond at its end

INHERITANCE The inheritance relationship helps in managing the complexity by ordering objects within trees of classes with increasing levels of abstraction. Notation used is solid line with arrowhead,shown below. Generalization and specialization are points of view that are based on inheritance hierarchies. Cardinality Definition: Number of instances of each class involved in the dialogue is specified by cardinality. Common multiplicity values: Symbol Meaning 1 One and only one 0..1 Zero or one MN From M to N (natural integer) 0..* From zero to any positive integer 1..* From one to any positive integer activity diagram It is a special kind of state diagram and is worked out at use case level. These are mainly targeted towards representing internal behavior of a a use case. These may be thought as a kind of flowchart. Flowcharts are normally limited to sequential process; activity diagrams can handle parallel process. Activity diagrams are recommended in the following situations: Analyzing use case Dealing with multithreaded application Understanding workflow across many use cases. o component diagramComponent diagrams illustrate the organizations and dependencies among software components. o A component may be A source code component
22

A run time components An executable component Dependency relationship.

deployment diagram A deployment diagram shows the relationship among software and hardware components in the delivered system. These diagram include nodes and connections between nodes. Each node in deployment diagram represents some kind of computational unit, in most cases a piece of hardware. Connection among nodes show the communication path over which the system will interact. The connections may represent direct hardware coupling line RS-232 cable, Ethernet connection, they also may represent indirect coupling such as satellite to ground communication.

23

QUESTION BANK PART-A (2 marks) 1. Write about the four phases in OMT? 2. What do you mean by object diagram? 3. What are the primary symbols used in Data Flow Diagrams? 4. What are the diagrams used in Booch methodology? 5. Give the steps involved in Macro development process in Booch methodology. 6. Give the steps involved in Micro development process in Booch methodology. 7. Write briefly about Use Cases. 8. Write short note on Objectory. 9. Define patterns. 10. Define patterns template. Give some examples for components in pattern. 12. Define anti-patterns. 13. Define pattern mining. Give the steps involved in capturing pattern. 14. Define frame work. Give the differences between design patterns and frameworks. 15. Why do we go for unified approach? 16. Write short note on UA proposed Repository. 17. Define model. Explain about the types of model. 18. What are the advantages of Modeling? 19. Define UML. Mention the primary goals in the design of the UML. 20. Give the nine UML graphical diagrams. 21. What is a Package? 22. Define method and Process. 23. Describe the difference between method and process. 24. What is an Object Model? 25. What are the main Advantages of DFD? 26. What are the strengths of OMT? 27. What are the strength of Booch methodology? 28. What is Usecase. 29. Define object Model 30. Define dynamic model.

24

PART-B 1. (a) Describe Rumbaughs Object Modeling Technique? (12) (b) Explain about Object Oriented Modelling (4) 2. Give detailed notes about the Booch Methodology? (16) 3. (a) Give a detailed account of Jacobson methodology? (12) (b) Explain in detail about the Component Diagram (4) 4. Describe patterns and the various pattern templates and Frameworks ? (16) 5. Explain in detail about the Unified approach? (16) 6. Describe the UML Class diagram? (16) 7. Draw an State Diagram , Activity Diagram and Package Diagram for ViaNet Bank ATM System. (16)

25

UNIT II OBJECT ORIENTED METHODOLOGIES 2 Marks (with answers)

1. What is the need of an Object diagram? An object diagram is used to show the existence of objects and their relationships in the logical design of a system. 2. What is state of an object? The state of an object encompasses all of the properties of the object plus the current values of each of these properties. 3. Write some applications of object model? They include Air traffic control, Animation, Avionics, Database, Robotics etc. 4. Define Concurrency. Concurrency is the property that distinguishes an active object from one that is not active. 5. Name the three general approaches for classification? They are Classical categorization, Conceptual clustering and Prototype theory. 6. Name the five levels of process maturity in OOD? They are Initial, Repeatable, Defined, Managed and Optimized. 7. Name the two process used by Grady BOOCH in his OO software development? They are Macro and Micro development process. 8. Name the four steps in Micro development process? They are Identify the classes and objects, Give semantics to the classes, Identify class and object relationships, Identify class and object interfaces and implementation. 9. What are the steps followed in macro development process? Conceptualization, analysis and development of the model, Design or create the system architecture, evolution or implementation, maintenance. 10. Short notes on OMT functional model. OMT functional model uses dataflow diagram that shows the flow of data
26

between different processes in a business .Data flow diagrams use four primary symbols. They are process, data flow, data store, external entity. 11. Names the diagrams of Booch Methodology. Class diagram, object diagram, state transition diagram, module diagram, process diagram, interaction diagram. 12. Name the models in objectory. Use case model, domain object model, analysis object model, implementation model, test model. 13. What is unified modeling language? Unified modeling language is a language for specifying, conducting, visualizing and documenting the software system and its components. 14. Name the available layers of the three layered approach to software development. Business layer, access layer, view (user interface) layer. 15. Write the two responsibilities of access layer? Translate Request, Translate result. 16. Write any two advantages of modeling? The main reason for modeling is the reduction of complexity. The cost of the modeling analysis is much lower than the cost of similar experimentation conducted with real time. 17. What is Objectory? Objectory, is a method or object-oriented development with the specific aim to fit the development of large, real-time systems 18. Define Static model? It can be viewed as a snapshot of a systems parameters at rest or a specific point in time. They are needed to represent the structural or static aspect of a system. 19. Define Dynamic model? It can be viewed as a collection of procedures or behaviors that taken together reflect the behavior of a system over time. Dynamic modeling is the most useful during the design and implementation phases of the system development. 20. What is an association? Give one example. An association is the relationship between the classes.
27

Ex person and company are the classes, works-for is the association name. Works_for 21. What is a qualifier? Give one example. A qualifier is an association attribute. The qualifier rectangle is part of the association path, not part of the class. Give one example. 22. What is a method? A method is the implementation of an operation for a class.

28

16 Marks Questions(with key) 1. Briefly explain about Rumbaugh methodology Explain about Rumbaugh methodology4 phases- analysis, system design, object design, implementation3 models- object model, dynamic model, functional model-explain withexamples 2. Explain about Booch methodology Explain about Booch methodology It consists the following diagrams Class diagram Object diagram State Transition diagram Module diagram Process diagram Interaction diagram Explain- Macro process, micro process. 3. Explain the following (i). Class diagram (5) (ii). Aggregation (3) (iii).Inheritance (8) Class diagram-definition for class, need of the class diagram, explainswith examples. (ii). Aggregation Definition, explain with example (iii). Inheritance-definition, explain with example, multiple inheritance 4. Briefly explain about UML Dynamic Modeling. Behavior diagrams (dynamic) Interaction diagram a. Sequence diagram b. Collaboration diagram State chart diagram Activity diagram -Explain in details. 4. Briefly explain about use case model with one example. -Explain about use case model with one example.
29

-Draw the use case diagram for the library and explain it. Explain- actor, use case, relationships of the use case model. 5. Explain the following. (i). Guidelines for identifying part of relationship (5) (ii). Note (5) (iii). Documentation (6) (i). Guidelines for identifying part of relationship -assembly, container, collection member (ii). Note-Definition, example (iii). Documentation-uses, guidelines for developing documentation 6. Briefly explain about design patterns and frameworks. Explain about pattern- definition, characteristics of good design, Generative and non-generative pattern, pattern template. Framework- definition, differences between design patterns and frameworks. 7. Write a comparative study on Booch and Rumbaugh Methodologies? Booch methodology has the following It has two process like the following The Micro development process Second is the macro development process It acts as the controlling architecture for the micro development process It make use of the following diagrams Class diagram, object di agram, Interaction diagram State chart diagram, activity diagram etc Rumbaugh Methodology is mainly called the OMT OMT stands for Object Modeling Technique It consist of the following three models Object Model Dynamic model Functional model O bject model describes the objects in the system Dynamic model contains the dynamic diagrams and transitions The functional model shows the flow of data with diagrams
30

OMT consists of four phases like Analysis, System design Object design and Implementation 8. Write about the four phases in OMT? OMT consists of four phases. They are Analysis -The results are objects and dynamic & functional models. System design -The results are a structure of the basic architecture of the system along with high-level strategy decisions. Object Design -Produces a design document, consisting of detailed objects static, dynamic and functional models Implementation -This activity produces reusable, extendible, robust code.

31

UNIT III OBJECT ORIENTED ANALYSIS Identifying use cases Object analysis Classification Identifying object relationships Attributes and methods.

32

use case Use cases are scenarios for understanding system requirements. A use case is an interaction between users and a system.

Prototype A prototype is a version of a software product developed in the early stages of the products life cycle for specific, experimental purposes. A prototype enables you to fully understand how easy or difficult it will be to implement some of the features of the system.

pattern mining The process of looking for patterns to document is called pattern mining Some times called reverse architecture. anti-patterns An anti-pattern represents a worst practice while a pattern represents a best Practice. Anti-patterns come in two varieties. Those describing a bad solution to a problem that resulted in a bad situation and Those describing how to get out of a bad situation. patterns template Every pattern must be expressed in the form of a rule which is called as a Template. It should establish a relationship between a context, a system of forces which arises in the context, and a configuration.
33

proto-patterns If something appears to have all the requisite pattern components, it should not be considered a pattern until it has been verified to be a recurring phenomenon .A proto-pattern is the pattern in waiting which is not yet known to recur.

Framework A frame work is a collection of classes that provide a set of services for a particular domain Design patterns are more abstract than frameworks. Design patterns are smaller architectural elements than frameworks. Design patterns are less specialized than frameworks.

34

QUESTION BANK PART-A ( 2marks) 1. What is the purpose of analysis? Why do we need analysis? 2. Why analysis is a difficult activity? 3. What do you mean by business object analysis? 4. Write a short note on use-case model? 5. Define use-case. 6. When extends association is used? 7. Define uses association. 8. What is meant by railroad paradox? What do you infer from railroad paradox? 9. Give the two-three rule? 10. What is the 80-20 rule? 11. Why is documentation an important part of analysis? 12. List the approaches for identifying classes? 13. What do you mean by relevant, fuzzy and irrelevant classes? 14. How would you select candidate classes for the list of relevant and fuzzy classes? 15. What is the common class patterns strategy? Give the list of patterns used. 16. What is CRC? 17. What are the three steps in CRC process? 18. Give the guidelines for naming a class. 19. What is an association? 20. What is generalization hierarchy? Give the advantage. 21. What are some common associations? 22. How to eliminate unnecessary associations? How would you know it? 23. What do you mean by aggregation? What are the major properties of a-part-of relation? 24. What guidelines would you see to identify a-part-of structures? 25. Why do we need to identify the systems responsibilities? 26. How would you identify attributes? 27. How would you identify methods?
35

28. Why do we need methods and messages in object-oriented system?

PART-B 1. Demonstrate the guidelines for finding use cases and developing effective documentation?(16) 2. Give detailed notes about the Noun phrase approach? (16) 3. (a) Describe the CRC approach? (12) (b) Write the rules for Naming the Classes (4) 4. Give a detailed note about Associations? (16) 5. (a) Explain in Detail about the identifying relationships ? (6) (b) Give a detailed note on Super-sub class relationship and a-partof relationship? (10)

36

UNIT III OBJECT ORIENTED ANALYSIS 2 Marks (with answers) 1. What is a use case? Use cases are scenarios for understanding system requirements. A use case is an interaction between users and a system. 2. Name the three types of relationships in a use case diagram. Communication, Uses, extends. 3. Write the two types of Implementation diagram? Component diagram, deployment diagram. 4. What is an activity? An activity is a set of operations that is executing during the entire period an object is in a state. 5. Write the guidelines for preparing the Documentation. Common cover, 80-20 rule, Familiar vocabulary, make the document as short as possible, organize the document. Bank Account Person Company Person 6. Name the types of relationships among the objects. Association, super-sub structure, aggregation. 7. Write the guidelines for identifying the associations A dependency between two or more classes may be association A reference from one class to another is an association. 8. Name the two properties of a part of relationship. Transitivity, Anti symmetry. 9. Write the Guidelines for identifying part of relationship. Assembly, container, collection member 10. Define Prototype? A prototype is a version of a software product developed in the early stages of the products life cycle for specific, experimental purposes. A prototype
37

enables you to fully understand how easy or difficult it will be to implement some of the features of the system. 11. Define pattern mining? The process of looking for patterns to document is called pattern mining Some times called reverse architecture. 12. Define anti-patterns? An anti-pattern represents a worst practice while a pattern represents a best Practice. Anti-patterns come in two varieties. Those describing a bad solution to a problem that resulted in a bad situation and Those describing how to get out of a bad situation. 13. Define patterns template? Every pattern must be expressed in the form of a rule which is called as a Template. It should establish a relationship between a context, a system of forces which arises in the context, and a configuration. 14. Define proto-patterns? If something appears to have all the requisite pattern components, it should not be considered a pattern until it has been verified to be a recurring phenomenon .A proto-pattern is the pattern in waiting which is not yet known to recur. 15. Name the two categories of Quality assurance testing. Error based testing, scenario based testing. 16. Define debugging. Debugging is the process of finding out where something went wrong and correcting the code to eliminate the errors or bugs that cause unexpected results. 17. Write the two types of path testing. Statement testing coverage and Branch testing coverage. 18. What is a meta-model? A meta-model is a model of modeling elements. UML graphic notations can be used not only to describe the systems components but also to describe a model itself. 19. Define a Framework?
38

A frame work is a collection of classes that provide a set of services for a particular domain. 20. Write the differences between design patterns and frameworks Design patterns are more abstract than frameworks. Design patterns are smaller architectural elements than frameworks. Design patterns are less specialized than frameworks.

39

UNIT IV OBJECT ORIENTED DESIGN Design axioms Designing classes Access layer Object storage Object interoperability.

40

Design Axioms Axiom 1 deals with relationships between system components (such as classes, requirements, software components). Axiom 2 deals with the complexity of design. Corollaries Corollary 1. Uncoupled design with less information content. Corollary 2. Single purpose. Each class must have single, clearly defined purpose. Corollary 3. Large number of simple classes. Keeping the classes simple allows reusability Corollary 4. Strong mapping. There must be a strong association between the analysis's object and design's object. Corollary 5. Standardization. Promote standardization by designing interchangeable components and reusing existing classes or components. Corollary 6. Design with inheritance. Common behavior (methods) must be moved to superclasses. The superclass-subclass structure must make logical sense

Coupling and Cohesion Coupling is a measure of the strength of association among objects. Cohesion is interactions within a single object or software component

41

Corollary 1- Uncoupled Design with Less Information Content

The main goal here is to maximize objects (or software components) cohesiveness

Corollary 2 - Single Purpose Each class must have a purpose, as was explained ! When you document a class, you should be able to easily explain its purpose in a sentence or two

Corollary 3- Large Number of Simpler Classes, Reusability A great benefit results from having a large number of simpler classes. The less specialized the classes are, the more likely they will be reused

Corollary 4. Strong Mapping corollaryAs the model progresses from analysis to implementation, more detail is added, but it remains essentially the same. A strong mapping links classes identified during analysis and classes designed during the design phase. Corollary 5. Standardization The concept of design patterns might provide a way for standardization by capturing the design knowledge, documenting it, and storing it in a repository that can be shared and reused in different applications
42

Corollary 6. Designing with Inheritance Database Management Systems A DBMS is a set of programs that enable the creation and maintenance of a collection of related data. DBMS have a number of properties that distinguish them from the file-based data management approach Database ModelsA database model is a collection of logical constructs used to represent the data structure and data relationships within the database. Hierarchical Model Network Model Relational Model a schema and metadata? The schema, or metadata, contains a complete definition of the data formats, such as the data structures, types, and constraints. In an object-oriented DBMS, the schema is the collection of class definitions. The relationships among classes (such as super/sub) are maintained as part of the schema Database Definition Language (DDL) A database definition language (DDL) is used to describe the structure of and relationships between objects stored in a database Data Manipulation Language (DML Once data is stored in a database, there must be a way to get it, use it, and manipulate it. DML is a language that allows users to access and manipulate (such as: creation, saving and destruction of) data organization The Structured Query Language (SQL) is the standard DML for relational DBMS.
43

In a relational DBMS, the DML is independent from a host programming language Sharability Data in the database often needs to be accessed and shared by different applications. The database then must detect and mediate the conflicts and promote the greatest amount of sharing possible without sacrificing the integrity of data. Transaction A transaction is a unit of change, in which either all changes to objects within a transaction will be applied or not at all. A transaction is said to commit if all changes can be successfully made to the database and to abort if all changes cannot be successfully made to the database A Two-Tier ArchitectureA two-tier architecture is one where a client talks directly to a server, with no intervening server. This type of architecture is typically used in small environments with less than 50 users A Three-Tier Architecture A three-tier architecture introduces another server (or an "agent") between the client and the server. The role of the agent is many fold. It can provide translation services as in adapting a legacy application on a mainframe to a client/server environment ACCESS LAYER The main idea behind creating an access layer is to create a set of classes that know how to communicate with data source, whether it be a file, relational database, mainframe, Internet, DCOM, or via ORB. The access classes must be able to translate any data-related requests from the business layer into the appropriate protocol for data access.
44

The business layer objects and view layer objects should not directly access the database. Instead, they should consult with the access layer for all external system connectivity Access layer classes provide easy migration to emerging distributed object technology, such as CORBA and DCOM. These classes should be able to address the (relatively) modest needs of two-tier client/server architectures as well as the difficult demands of fine-grained, peer-to-peer distributed object architectures Corollary is a proposition that follows from an axiom or another proposition that has been proven.

45

QUESTION BANK PART-A ( 2marks) 1. What is the need for axiomatic approach? 2. What are the main activities in design process? 3. Define axiom? What are the two design axioms applied to object-oriented design? 4. Define corollary? Give the corollaries derived from design axioms. 5. What do you mean by coupling? 6. What do you mean by degree of coupling? 7. What are the two types of coupling? 8. What do you mean by cohesion? Give the types of cohesion. 9. Differentiate coupling and cohesion? 10. What do you mean by design patterns? 11. Define OCL? 12. What do you mean by expressions? Give the syntax for some common expressions. 13. What are private, public and protected protocols? 14. What is encapsulation leakage? 15. What are the three basic types of attributes? 16. How do you present UML attribute? 17. What are the different types of methods provided by a class? 18. What are some characteristics of a bad design? 19. How do you present UML operation? 20. Define Package 21. What do you mean by persistence? Give some persistent data. 22. Define transient data? Give some transient data? 23. What are the essential elements in providing a persistent store? 24. Define schema or meta-data? 25. What is meant by database model? Give the different database models. 26. Define DDL and DML. 27. What is concurrency policy? 28. What is shareability?
46

29. What do you mean by transaction? 30. Define client-server computing? 31. Differentiate distributed and cooperative processing? 32. What do you mean by distributed object computing? 33. Write a short note on CORBA? 34. What are the necessary characteristics that a system must satisfy to be considered as an objectoriented system? 35. Differentiate object-oriented databases and traditional databases? 36. Describe reverse and forward engineering? 37. Define object-relation mapping? 38. What are the different mapping capabilities to be defined? 39. Define referential integrity? 40. What do you mean by federated multidatabase systems? 41. Define MDBS? 42. Define neutralization (homogenization). 43. What do you mean by ODBC? 44. What are the activities involved in access layer design process? 45. Write short note on creative process? 46. What are the steps in view layer macro process? 47. Give the three UI design rules. 48. What are the windows in user interface used for? 49. What are the three general steps in creating a user interface object? 50. What is a Metaphor? PART-B 1. Describe in detail about Object oriented database management systems? (16) 2. State the differences between OODBMS and traditional database. Describe object relational systems? (16) 3. Explain the steps involved in designing the access layer classes? 4. What are the different models involved in designing access layer. (16) 5. Explain the steps involved in designing the view layer classes? (16) 6. Describe the purpose of view layer interface? (16)
47

UNIT IV OBJECT ORIENTED DESIGN 2 Marks (with answers) 1. What is cyclomatic complexity? Cyclomatic complexity is software metric that provides a quantitative measure of the logical complexity of a program. The value computed for cyclomatic complexity defines the number of independent paths in the basis set of program. 2. Define corollary? Corollary is a proposition that follows from an axiom or another proposition that has been proven. 3. Name the two axioms. Axiom1: The independence axiom. Maintain the independence of components. Axiom2: The information axiom. Minimize the information content of the design. 4. Define coupling. Coupling is a measure of the strength of association established by a connection from one object or software component to another. Coupling is a binary relationship. Coupling deals with interactions between objects or software components. 5. Name the two types of coupling in the object oriented design. Interaction coupling and inheritance coupling. 6. Define cohesion. Cohesion means the interactions within a single object or software component. 7. Name the types of attributes. Single value attribute, Multiplicity or multivalue attributes, Reference to
48

another object or instance connection. 8. Write the syntax for presenting the attribute that was suggested by UML. visibility name : type_expression = initial _value Where visibility is one of the following + public visibility # protected visibility - private visibility type_expression - type of an attribute Initial_value is a language dependent expression for the initial value of a newly created object. 9. Write the syntax for presenting the operation that was suggested by UML visibility name : (parameter_list): return _type_expression Where visibility is one of the following + public visibility # protected visibility - private visibility parameter- is a list of parameters. Return_type_expression: is a language _dependent specification of the Implementation of the value returned by the method. 10. What is a Faade? Facade classes are the public classes in a package for public behavior. 11. Define DBMS? A database management system (DBMS) is a program that enables the creation and maintenance of a collection of related data. 12. What is database model? Database model is a collection of logical constructs used to represent the data structure and data relationships within the database. 13. Name the two categories of database model? Conceptual model and Implementation model.
49

14. Write the six categories for the life time of data Transient results to the evaluation of expressions, variables involves in procedure activation, global variables and variables that are dynamically allocated, data that exist between the execution of a program, data that exist between the versions of a program, data that outlive a program. 15. What is schema or metadata? The fundamental characteristic of the database is that the DBMS contains not only the data but the complete definition of the data formats such as data structures, types and constraints, it manages. This description is known as the schema or metadata 16. Name the three types of data base model? Hierarchical model, network model, relational model. 17. Define data definition language. Data definition language (DDL) is a language used to describe the structure of and relationships between objects stored in a database .This structure of information are termed as database schema. 18. Define data manipulation language. Data manipulation language (DML) is a language that allows users to access and manipulate (such as create, save, or destroy) data organization. 19. When the transaction is said to commit. The transaction is said to commit if all changes can be made successfully to the database. 20. When the transaction is said to abort. The transaction is said to abort if all changes to the database can not be made successfully. 21. What is conservative or pessimistic policy? The most conservative way to enforce serialization is to allow a user to lock all objects or records when they are accessed and to release the locks only after a transaction commits. This approach is known as conservative or pessimistic policy. 22. Describe client server computing.
50

The client is a process (program) that sends a message to a server process (program) requesting that the server perform a task (service). 23. Name the types of object relation mapping. Table class mapping, Table multiple classes mapping, TableInherited classes mapping, Tables-Inherited classes mapping. 24. Write the need of middleware. The client is a process (program) that sends a message to a server process (program) requesting that the server perform a task (service). The key element of connectivity is the network operating system (NOS), also known as middleware. 25. Mention the different forms of server. File server, database server, transaction server, application server. 26. What is the use of application web server? In a two-tier architecture, a client talks directly to a server, no intervening server. Three_ tier architecture introduces a server that is application web server between the client and the server to send and receive the messages. 27. Write the components of client server application. User interface, business processing, database processing. 93. What is Object Oriented Database management system? Object Oriented Database management system is a marriage of Object Oriented programming and Database management system. 28. Define ODBC? The Open Database connectivity is an application programming interface that provides solutions to the multidatabase programming interface. 29. What is the need of an Interaction diagram? An Interaction diagram is used to trace the exception of a scenario in the same context of an object diagram. 30. What is the need of a Class diagram? A class diagram is used to show the existence of classes and their relationships in the logical view of a system.
51

31. What is Behavior of an object? Behavior is how an object acts and reacts in terms of its state changes and message passing. 32. What are the characteristic features of an Interaction diagram? They include the representation of objects with its name and class name. Each object has a life line. The order of messaging between objects is well defined. 33. Define forward engineering and revere engineering. Forward engineering means creating a relational schema from an existing object model Reverse engineering means creating an object model from an existing relational database layout (schema). 34. What is Object request broker (ORB)? Object request broker (ORB) Middle ware that implements a communication channel through which applications can access object interfaces and request data and services. 35. What is distributed database? In distributed database, different portions of the database reside on different nodes (computers) and disk drives in the network. Each portions of the database is managed by a server, a process responsible for controlling access and retrieval of data from the database portion. 136. What does RAD stands for? Rapid application development (RAD) is a set of tools and techniques that can be used to build an application faster than typically possible with traditional methods. 37. What are the traditional software development methodologies? Most traditional development methodologies are either algorithm centric or data centric.

52

16 Marks Questions(with key)

1. Briefly explain about association. Association- definition, types of association, role name -Explain with example. 2. Explain in detail about Macro Development process? Macro Development process consists of the following phases Conceptualization Analysis Design Implementation Maintenance It acts as the controlling architecture for the micro development process It explains the overall life cycle of the development Each phase of the macro process can be supplemented by the micro process 16. Explain in detail about Micro Development process wit neat diagram? Micro Development process consists of 4 phases they are the following Identify classes and objects Add semantics to classes and objects Create the interface and implementation for the classes Implement the classes with the language perspective It explains the day to day work done by the developers It is supplemented with the macro development process It is an iterative and incremental process 3. Create analysis and design diagrams for the problem Scenario Banking? Analysis and design diagrams for the problem Scenario Banking must contain the following Use case Analysis diagrams
53

Different scenarios Design diagrams the include Class diagram, Acti vity diagram, Sequence diagram etc The relationship between different entities must be finite Inheritance must be practiced etc 4. What are the advantages of Modeling? Good models are essential for communication among project teams. As the complexity of systems increases, so does the importance of good modeling techniques. Some of the advantages are as follows: Models make it easier to express complex ideas. The main reason for modeling is to reduction of complexity. Models enhance and reinforce l earning and training. The cost of modeling analysis is much lower than the cost of similar experimentation conducted in real system. Manipulation of the model is much easier. 5. Briefly explain about object oriented design process and corollaries. Steps for OOD process (i). Apply design axioms to design classes, their attributes, methods, association, structures, and protocols. (ii). Design the access layer (iii). Design the view layer classes. (iv). Iterate and refine the whole design. -Name the types of corollaries and explain. 6. Explain the following (i).UML operation presentation (8) (ii). Data base model (8) Explain the following (i).UML operation presentation- syntax, example (ii). Data base model-Explain Hierarchical model, network model, relational model with examples. 7. Explain the following. (i). Database Interface (8)
54

(ii). Multidatabase system (8) Explain the following (i). Database Interface -DDL, DML, query (ii). Multidatabase system-definition, ODBC 8. Briefly explain about object relational system? Explain- reverse engineering and forward engineering, - Table class mapping, Table-multiple classes mapping, TableInherited classes mapping, Tables-Inherited classes mapping.

55

UNIT V SOFTWARE QUALITY AND USABILITY Designing interface objects Software quality assurance System usability Measuring user satisfaction .

56

Software Quality Quality is fitness for use (J. Juran) Quality is the most profitable product line we have Geneen) Quality is free (P. Crosby) Quality is compliance to a standard (W.E. Perry) Quality is a degree of excellence (R. Glass)

(H.

Cost effective investment Relative / Absolute o Within a Context? o Cadillac versus Chevrolet Compared to some standard o Measurement and analysis implied An intangible

Software Testing Strategies Testing begins at the component level and works outward toward the integration of the entire computer-based system. Different testing techniques are appropriate at different points in time. The developer of the software conducts testing and may be assisted by independent test groups for large projects. The role of the independent tester is to remove the conflict of interest inherent when the builder is testing his or her own product Testing and debugging are different activities. Debugging must be accommodated in any testing strategy. Need to consider verification issues are we building the product right? Need to Consider validation issues
57

are we building the right product

Stages of Testing
Module or unit testing. Integration testing, Function testing. Performance testing. Acceptance testing. Installation testing

Unit Testing
Program reviews. Formal verification. Testing the program itself. black box and white box testing Black Box or White Box

Maximum # of logic paths - determine if white box testing is possible. Nature of input data. Amount of computation involved. Complexity of algorithms

Unit Testing
Interfaces tested for proper information flow. Local data are examined to ensure that integrity is maintained. Boundary conditions are tested. Basis path testing should be used. All error handling paths should be tested. Drivers and/or stubs need to be developed to test incomplete software

Top-Down Integration Testing


Main program used as a test driver and stubs are substitutes for components directly subordinate to it.

58

Subordinate stubs are replaced one at a time with real components (following the depth-first or breadth-first approach). Tests are conducted as each component is integrated. On completion of each set of tests and other stub is replaced with a real component. Regression testing may be used to ensure that new errors not introduced.

Bottom-Up Integration Testing


Low level components are combined in clusters that perform a specific software function. A driver (control program) is written to coordinate test case input and output. The cluster is tested. Drivers are removed and clusters are combined moving upward in the program structure.

59

QUESTION BANK PART-A( 2marks) 1. What is the purpose of debugging? 2. What are the types of errors that you could find in your program? 3. Discuss Error-based testing? 4. Discuss Scenario-based testing/usage-based testing? 5. Name some testing strategies? 6. What is the Impact of Object orientation on Testing? 7. Discuss Black-Box testing? 8. Discuss White- Box testing? 9. What do you mean by Top- down Testing? 10. Discuss about the Statement testing coverage and Branch testing coverage? 11. What is Path testing? 12. What is Bottom - Up Testing? 13. What is the objective of testing? 14. What is the necessary of a test plan? 15. List the steps needed for a test plan? 16. Define regression testing? 17. Define Beta testing and Alpha testing? 18. What is the purpose of configuration control system? 19. When is testing said to be successful? 20. Define Usability? 21. What are the issues in software quality? 22. What is Usability testing? 23. What are the guidelines for developing usability testing? 24. Explain user satisfaction testing? 25. Explain COTS and USTS? 26. Write about the user satisfaction cycle? 27. What is Quality. 28. Why do we need usability Testing? 29. What is the objective of usability testing? 30. Define Test plan and test case. PART-B
60

1. Describe quality assurance test and testing strategies? (16) 2. Describe test cases and the impacts of object orientation on testing? (16) 3. Illustrate test plan and continuous testing? (16) 4. (a) Describe Usability Testing? (12) (b) Describe about Quality Assurance (4) 5. (a) Describe user satisfaction? (12) (b) How do you measure the user satisfaction in your project (4)

61

UNIT V SOFTWARE QUALITY AND USABILITY 2 Marks (with answers) 1. Define SQA? SQA stands for Software Quality Assurance. This is the measure of assuring the quality of the software products. The major activity done here is testing. The assurance process also follows the quality model called the QAIMODEL (Quality Assurance Institute Model). 2. What is V Testing? V testing stands for Verification and Validation testing. 3. What is a quality? Quality refers to the ability of products to meet the users needs and expectations. 4. Name the two issues for software quality. Validation or user satisfaction, and verification or quality assurance. 5. Define user satisfaction testing. User satisfaction testing is the process of quantifying the usability test with some measurable attributes of the test, such as functionality, cost or ease of use. 6. Define test plan. A test plan is developed to detect and identify potential problems before delivering the software to its users. 7. Write the objectives of testing. Testing is the process of executing a program with the intent of finding errors.
62

A good test case is the one that has a high probability of detecting an as yet undiscovered error. A successful test case is the one that detects an as yet undiscovered error.

63

16 Marks Questions(with key) 1. Explain the following. (i). Test plan (8) (ii). Test cases (8) Explain the following (i). Test plan-Definition, Guidelines (ii). Test cases- Definition, Guidelines, example 2. Briefly explain about testing strategies Explain- Black box testing, white box testing, top down testing, bottom up testing. 3. Draw the sequence diagram for the withdraw checking use case and draw the activity diagram for Account class with draw method. -Draw the sequence diagram and activity diagram as mentioned above. 4. Explain usability testing and user satisfaction testing. Explain usability testing and user satisfaction testing. - Usability testing- Definition, Guidelines, example. - User satisfaction testing- Definition, Guidelines, example.

64

UNIVERSITY QUESTIONS

65

CS-1310 OBJECT ORIENTED ANALYSIS AND DESIGN PART A (10 x 2 = 20 Marks) 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 - (5 x 16 = 80 Marks) 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.
66

(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.

67

CS-1310 OBJECT ORIENTED ANALYSIS AND DESIGN PART A (10 x 2 = 20 Marks) 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 - (5 x 16 = 80 Marks) 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 phraseapproach. 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
68

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.

69

CS-1310 OBJECT ORIENTED ANALYSIS AND DESIGN PART A (10 x 2 = 20 Marks) 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 - (5 x 16 = 80 Marks) 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.
70

(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.

71

72

S-ar putea să vă placă și