reg - s.selvaganapathy., asst.prof., mcaegspselva.weebly.com/uploads/2/2/0/3/22030800/3set.… ·...

33
EGSP COLLEGE OF ENGINEERING, NAGAPATTINAM MODEL I EXAMINATION - JAN 2013 Subject : Object Oriented Analysis and Design Code : MC9244 Branch : MCA Semester : IV Answer all the Questions PART – A: (10 * 2 = 20 marks) 1. What do you mean by Database Models? Mention its types. Data base Model : It is a collection of logical constructs used to represent the data structure and relationships within the database. Two categories i) Conceptual Model – focuses on the logical nature of the data presentation – ie) about what is represented in the data base. ii) Implementation Model – about how data is represented. Hierarchical Model: Each node in the tree represents a data object and connection represents a parent-child relationship. Network Model: Hierarchical Model Similar to An n/w model but n/w model can have more than one parent. Relational Model: Data stored in the form table. 2. What are the categories for the data lifetime? Six categories – proposed by Atkinson 1. Transient results to the evaluation of expressions. 2. Global variables & variables that are dynamically allocated. 3. Data that exists between the execution of a program.

Upload: others

Post on 28-May-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Reg - S.SELVAGANAPATHY., ASST.PROF., MCAegspselva.weebly.com/uploads/2/2/0/3/22030800/3set.… · Web viewA user centered interface replicates the user’s view of doing things by

EGSP COLLEGE OF ENGINEERING, NAGAPATTINAMMODEL I EXAMINATION - JAN 2013

Subject : Object Oriented Analysis and Design Code : MC9244Branch : MCA Semester : IV

Answer all the Questions

PART – A: (10 * 2 = 20 marks)

1. What do you mean by Database Models? Mention its types.

Data base Model : It is a collection of logical constructs used to represent the data structure and relationships within the database. Two categories

i) Conceptual Model – focuses on the logical nature of the data presentation – ie) about

what is represented in the data base.ii) Implementation Model – about how data is represented.

Hierarchical Model: Each node in the tree represents a data object and connection represents a parent-child relationship. Network Model: Hierarchical Model Similar to An n/w model but n/w model can have more than one parent. Relational Model: Data stored in the form table.

2. What are the categories for the data lifetime?

Six categories – proposed by Atkinson

1. Transient results to the evaluation of expressions.

2. Global variables & variables that are dynamically allocated.

3. Data that exists between the execution of a program.

4. Data that exists between the versions of a program.

Data that outlive a program

3. List the object oriented corollaries and

axioms?

Axiom 1 :

Independence axiom – Maintain the

independence of components.

Axiom 2 : Information Axiom – Minimize the

information content of the design.

Corollaries :

Page 2: Reg - S.SELVAGANAPATHY., ASST.PROF., MCAegspselva.weebly.com/uploads/2/2/0/3/22030800/3set.… · Web viewA user centered interface replicates the user’s view of doing things by

1. Uncoupled design with less information

content.

2. Single purpose

3. large number of simple class

4. Strong Mapping

5. standardization

6. Design with Inheritance.

4. What is the relationship between coupling and cohesion?

Coupling denotes the measure of strength of association established by a connection from one object to another. Cohesion is the interaction between software components or objects. Highly cohesive element can lower coupling because only minimal information is passed between components and vice – versa.5. What is meant by Stereotype? Give an example.

Stereotype represent a built-in extensibility mechanism of the UML. User defined extentions of the UML are enabled through the use of stereotypes and constraints. A Stereotype, in effect, is a new class of modeling element introduced during modeling. UML stereotypes extend and tailor the UML for a specific domain or process.

The general presentation of a stereotype is to use a figure for the base element but place a keyword above the name of the element. E.g. for stereotype notation is :

6. State the difference between patterns and frame works.

A pattern is an instructive information that captures the essential structure and insight of a successful family of proven solutions to a recurring problem that arises within a certain context and system of forces.

A framework is a way of presenting a generic solution to a problem that can be applied to all levels in a development.

Patterns Frameworks

More Abstract Less Abstract

Examples of patterns can be

embodied in code.

Can be directly embodied in code.

Have to be implemented each

time they are used.

Can be written down in programming

language hence can be executed & reused.

Smaller Architectural elements. Larger compared to patterns.

Less Specialized. More Specialized. Have a particular

<<Flow>> CopyNumberOfCopymakeCopy

Page 3: Reg - S.SELVAGANAPATHY., ASST.PROF., MCAegspselva.weebly.com/uploads/2/2/0/3/22030800/3set.… · Web viewA user centered interface replicates the user’s view of doing things by

application domain.

7. Why analysis phase of software development is so complex?

Since understanding of the problem in application domain and experience are needed for analysis activity , it is very complex. While gathering requirements, there are 3 common sources of difficulties, According to Norman

i. Fuzzy descriptionsii. Incomplete requirements

8) What is an activity Diagram?

An activity diagram is a variation or special case of a state machine, in which the states are activities representing the performance of operations and the transitions are triggered by the completion of the operations.

The purpose of an activity diagram is to provide a view of flows and what is going on inside a use case or among several classes.

9) What is the need of testing? Mention some testing principles.

To develop and deliver robust systems , a high level of confidence that

Each component will behave correctly.

Collective behavior is correct.

No incorrect collective behavior will be produced .

Myer’s principles.

1. Bug locating principles

2. Debugging principles.

10)What is usability testing?

It is the effectiveness, efficiency and satisfaction with which a specified set of users can achieve a specified set of tasks in particular environments. The 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?Usability is one of the most crucial factors in the design and development of a

product, especially the user interface. Therefore, usability testing must be a key

part of the UI design process.

PART – B: (5 * 16 = 80 marks)

11(a) (i) Compare and contrast the structured approach and object oriented

approach in

Page 4: Reg - S.SELVAGANAPATHY., ASST.PROF., MCAegspselva.weebly.com/uploads/2/2/0/3/22030800/3set.… · Web viewA user centered interface replicates the user’s view of doing things by

detail.

(8)

Structured approach :

Top – down approach

No data security

Program – divided into functions.

Objected – oriented : Bottom –up approach

Data security – by data encapsulation &

hiding.

Program is divided into objects.

Explain the case – study – Pay –Roll system

(ii) Discuss the tools used in Jacobson method for designing object

oriented system

OOBE – object modeling at the enterprise level.

OOSE – to develop real –time systems.

Main tool : use cases.

Or

(b) (i) What are state diagrams? Draw the extended notation of state diagram

and

explain.

(8)

State chart Diagrams

State chart diagrams describe the dynamic behavior of a system in response to external stimuli. State chart diagrams are especially useful in modeling reactive objects whose states are triggered by specific events.

Page 5: Reg - S.SELVAGANAPATHY., ASST.PROF., MCAegspselva.weebly.com/uploads/2/2/0/3/22030800/3set.… · Web viewA user centered interface replicates the user’s view of doing things by

(ii) Explain in detail the phone call scenario and draw the corresponding state

diagram (8)

State : State is represented as rounded box, that may contain one or more

compartments.

Initial state : small dot .

Final state : circle surrounding a small dot.

12. (a) (i) Describe in detail about the different types of patterns.

(8)

Pattern : is an instructive information that captures the essential structure and

insight of a

successful family of proven solutions to a recurring problem that arises within a

certain

context and system of forces.

Generative pattern & non-generative pattern : Generative patterns are

patterns that not only describe a recurring problem , they generate something and

that can be observed in the resulting system architectures hence helped to shape.

Non-generative are passive & static.

Antipatterns : Represents worst practice / a lesson learned.

Proto pattern : “ A pattern in waiting “ which is not yet known to recur.

(ii) Design the Banking Application and identify the classes and relationship

in the system using Booch notation.

(8)

Page 6: Reg - S.SELVAGANAPATHY., ASST.PROF., MCAegspselva.weebly.com/uploads/2/2/0/3/22030800/3set.… · Web viewA user centered interface replicates the user’s view of doing things by

Booch diagrams.5 Booch diagrams are Class diagrams, Object diagrams, State transition diagrams, Module diagrams, and Process diagrams.

Booch system development process: It includesa) Conceptualization where the core requirements of the system are outlined b) Analysis and the development model which focuses on the class diagramsc) Design or creation of the computer architecture to establish relationships between the classesd) Evolution or implementation to produce a code and e) Maintenance to add new requirements and to eliminate the bugs.Each macro development process has its own micro development process

which aims at a) Identifying class and objectsb) Identifying class and object semanticsc) Identifying class and object relationshipsd) Identifying class and object interfaces and implementation

Apply it to banking application.

Or

(b) (i) What is the purpose of interaction diagram in UML?

(6)

Sequence diagrams describes interactions among classes in terms of an exchange of messages over time.Collaboration diagrams represent interactions between objects as a series of sequenced messages. Collaboration diagrams describe both the static structure and the dynamic behavior of a system.

(ii) Explain in detail , the different interaction diagrams with examples.

(10)

Types of UML interaction diagrams:UML sequence diagramsUML collaboration diagrams

UML sequence diagrams:It shows an interaction arranged in a time sequence. It shows the objects participating in the interaction by their lifeline

sand the messages they exchange, arranged in time sequence.

It has two dimensions. The vertical dimension represent time, the horizontal dimension represents different objects. The label can also include the argument and some control information and show self-delegation, a message that an object sends to itself, by sending the message arrow back to the same lifeline.

Page 7: Reg - S.SELVAGANAPATHY., ASST.PROF., MCAegspselva.weebly.com/uploads/2/2/0/3/22030800/3set.… · Web viewA user centered interface replicates the user’s view of doing things by

UML collaboration diagram.

This is a set of messages exchanged among the objects within the collaboration to achieve a desired outcome. Here object are shown as figures. The sequence is indicated by numbering the messages. This diagram provides several numbering schemes.

The UML uses the decimal scheme because it makes it clear which operation is calling which other operation, although it can be hard to see the overall sequence. The main advantage of interaction diagrams is simplicity.

The disadvantage of interaction diagrams is that they are great only for representing a single sequential process. They begin to break down when u want to represent conditional looping behavior.

13. (a) (i) Explain how classes can be designed.

(8)

1. Apply design axioms to design classes , their attributes, methods,

associations, structures

and protocols.

1.1 Refine and complete the static UML class diagram.

1.1.1 Refine attributes.

1.1.2 Design methods and the protocols.

1.1.3 Refine the associations between classes.

1.1.4 Refine the class hierarchy.

1.2 Iterate & refine.

(ii) Explain macro-level process and micro-level process of designing view

layer classes.(8)

The view layer objects are responsible for two major aspects of the applications:1.Input -responding to user interaction: The user interface must be designed o translate an action by user, such as clicking on a button or selecting from a menu, into appropriate response..2.Output -displaying or printing business objects. This layer must paint the best picture possible of the business objects for the userThe process of designing view layer classes is divided into four major activities:

1. The macro level UI design process-identifying view layer objects. the activity, for the most part ,takes place during the analysis phase of system development. the main objective of macro process is to identify classes the interact with human actors by analyzing the use cases developed in analysis phase.

2. Micro level UI design activity : 2.1 Designing the view layer objects by applying design axioms and corollaries:

Page 8: Reg - S.SELVAGANAPATHY., ASST.PROF., MCAegspselva.weebly.com/uploads/2/2/0/3/22030800/3set.… · Web viewA user centered interface replicates the user’s view of doing things by

In designing view layer objects, decide how to use and extend the components so

they best support application -specific functions and provide the most usable interface. 2.2 Prototyping the view layer interface.

After defining a design model, prepare a prototype of some of the basic aspects of the design . 3. Testing usability and user satisfaction ” We must test the application to make sure it meets the audience requirements .to ensure user satisfaction and its usability along the ways as the UI design takes form. Usablity experts agree that usability evaluation should be part of the development process rather than a post-mortem or forensic activity.”

4. Refining and iterating design.MACRO -LEVEL PROCESS:IDENTIFYING VIEW CLASSES BY ANALYSING USE CASES

MICRO-LEVEL PROCESS:

To be successful, the design of the view layer objects must be user driven or user centered. A user centered interface replicates the user’s view of doing things by providing the outcomes users accepts for any action

The following is the process of designing view (interface) objects:1 .For every interface object identified in the macro UI design process(see figure 2),apply micro level UI design rules and corollaries to develop the UI apply design rules and GUI guidelines to design the UI for the interface objects identified.

2. Iterate and refine.Or

(b) (i) Explain aggregation with an example.

(4)

The ability of an attribute to be an object itself. The situation where a class consists of several component classes. A-part-of is a special case of association.

(ii) Explain noun phrase approach for classification for Airline reservation

system. (12)

Identifying tentative classes

Selecting classes from the relevant and fuzzy categories.

Car

EngineLight DoorWheel

Page 9: Reg - S.SELVAGANAPATHY., ASST.PROF., MCAegspselva.weebly.com/uploads/2/2/0/3/22030800/3set.… · Web viewA user centered interface replicates the user’s view of doing things by

Reviewing the classes, attributes.

Identifying tentative classesLook for nouns and noun phrases in the use casesSome classes are implicit or taken from general knowledgeAll classes must make sense in the application domain.avoid computer implementation classes.Carefully choose and define class names.

14) a) i) What is meant by CRC? Explain the various steps involved in CRC.

CRC-Classes, Responsibilities and Collaborators are a way of teaching the basic concepts of object oriented development. CRC’ s are a technique of identifying a classes’ s responsibilities and their attributes and methods.i) Identify classes’ s responsibilities.ii) Assign responsibilities.iii) Identify collaborators

ii) Mention the Difference between DBMS and OODBMS.What are the advantages of

OODBMS?

An OODBMS differs from object oriented programming language in the following aspects:

i. OODBMS is persistent, able to remember an object state.ii. It must accept concurrent users.

Or

b) Explain in detail about object oriented design oxioms and its corollaries.

An Axiom is a fundamental truth that always is observed to be valid and for which there is no counterexample or exception. Axioms may be hypothesized from a large number of observations by noting the common phenomenon shared by all cases, they cannot be proven or derived, but they can be invalidated by counterexamples or exceptions.

The two design axioms of object oriented design areiii. Axiom 1: The independence axiom: Maintain the independence

of componentsiv. Axiom 2: The information axiom: Minimize the information

content of the design.

Corollary definition & diagram -1 markFrom the two design axioms, many corollaries may be derived as a direct consequence of the

axioms. They are even may be called Design Rules. The corollaries are as follows:

Corollary 1: Uncoupled Design with Less Information: -1 markCoupling is a measure of the strength of association established by a connection from one object or software component to another. Strong Coupling among objects complicates a system since the class is harder to understand or highly interrelated with other classes.

Coupling deals with interactions between objects or software components. We also need to consider interactions within objects or software components, called "Cohesion". It reflects the single purposeness of an object.

Page 10: Reg - S.SELVAGANAPATHY., ASST.PROF., MCAegspselva.weebly.com/uploads/2/2/0/3/22030800/3set.… · Web viewA user centered interface replicates the user’s view of doing things by

Corollary 2: Single Purpose: -1 markEach class must have a purpose as explained. Every class should be clearly defined and

necessary in the context of achieving the systems goals. When you document a class, you should be able to easily explain its purposes in a sentence or two. If you cannot, then rethink thr class and try to subdivide it into many more independent pieces.Corollary 3: Large number of Simpler Classes, Reusability -1 mark

A great benefit results from having a large number of simpler classes. You cannot possibly foresee the future scenarios in which the classes you create will be reused. The small the classes the better are your chances of reusing them in other projects. Large and complex classes are too specialized to be reused. Corollary-4: Strong Mapping: -1 mark

A strong mapping links classes identified during analysis and classes designed during the design phase. The thought process flows so naturally from analyst to design that it may be difficult to tell where analysis ends and design begins.

Corollary-5: Standardisation: -1 markTo reuse classes, you must have good understanding of the classes in the object-oriented

programming environment you are using. Most object oriented systems such as Smalltalk, java, c++, or powerbuilding, come with several built in class libraries.

Corollary-6 : Designing with Inheritance: -2 marksWhen you implement a class, you have to determine its ancestor, what attributes it will have,

and what messages it will understand. Ideally you choose inheritance to minimize its amount of program instructions. In any case, the design is approved, implementation is accomplished and the system goes into production.

15. a) Define debugging. What are types of errors? Discuss various testing strategies

to prove the correctness of the system.

Types of errors.

1. Language Errors

It results from incorrectly constructed code, such as an incorrectly typed keyword or some necessary

punctuation omitted. These are easiest types of errors. 2. Run time errors:

They occur and are detected as the program is running, when a statement attempts an operation that

is impossible to carry out. 3. Logic errors:

When codes do not perform the way you intended. The code might be syntactically valid and run

without performing any invalid operations and yet produce incorrect results.

A testing strategy that does the best job of finding defects in the product within the given

constraints. The various testing strategies are:

Black box testing White box testing

1. Top-down testing2. Bottom-up testing

Test Cases :Construct some test input cases, and then describe how the output will look.

Next, perform the tests and compare the outcome with the expected output.

Page 11: Reg - S.SELVAGANAPATHY., ASST.PROF., MCAegspselva.weebly.com/uploads/2/2/0/3/22030800/3set.… · Web viewA user centered interface replicates the user’s view of doing things by

(OR) (b) Define the term ‘usability’. Describe about the user satisfaction test with its

template.

It is the effectiveness, efficiency and satisfaction with which a specified set of users can achieve a specified set of tasks in particular environments. The 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?Guidelines for developing usability testing.

Page 12: Reg - S.SELVAGANAPATHY., ASST.PROF., MCAegspselva.weebly.com/uploads/2/2/0/3/22030800/3set.… · Web viewA user centered interface replicates the user’s view of doing things by

Reg.No:

St. Joseph’s College of Engineering

Model Examinations – III April ‘11

SET - II

SUBJECT : Object Oriented Analysis and Design CODE: MC1753

BRANCH : M.C.A SEM : IV

DURATION : 3 hours

MAX.MARKS:100

Answer all the Questions

PART – A: (10 * 2 = 20marks)

1. Explain the steps for finding use cases.

1.For each actor, find the tasks and functions that the actor should be able to perform or that the system needs the actor to perform. The use case should represent a course of events that leads to a clear goal.

2. Name the use cases.3. Describe the use cases briefly by applying terms with which the user is familiar. This

makes the description less ambiguous

2. Mention the purposes of a view layer interface

Forms and data entry windows

Dialog boxes. Application windows (main window)

3. What is concurrency control?

Transaction process will be processed

4. What is an OODBMS?

Define ooodbms concepts

5. What is the need of antipatterns?

Represents worst practice / a lesson learned.

6. Distinguish between users and actors.

The term actor represents the role of a user plays with respect to the system.

Draw the diagram in page 134.

7. What is an 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.

Page 13: Reg - S.SELVAGANAPATHY., ASST.PROF., MCAegspselva.weebly.com/uploads/2/2/0/3/22030800/3set.… · Web viewA user centered interface replicates the user’s view of doing things by

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.

8. What is information hiding?

Information hiding is the principle of concealing the internal data and

procedures of an object and providing an interface to each object in such a way

as to reveal as little as possible about its inner workings.

9. What do you meant by bottom up testing?

Bottom-up testing starts with the details of the system and proceeds to higher

levels by a progressive aggregation of details until they collectively fit the

requirements for the system.. Appropriate for testing the individual objects in a

system.

10. What is statement testing coverage?

It is to test every statement in the object’s method by executing it at least once.

PART – B: (5 * 16 = 80 marks)

11. (a) (i) Explain object oriented software development life cycle.

(10)

object oriented analysis –use case drivenobject oriented designprototypingComponent based developmentIncremental testing.

(ii) Explain in detail about Structured Approach and Object Oriented

Approach. (6)

Object oriented development offers a different model from the traditional software development approach, which is based on functions and procedures. Object oriented systems development is a way to develop software by building self-contained modules or objects that can be easily replaced, modified and reused. It encourages a view of the world as a system of cooperative and collaborating objects. In a object-oriented environment software is a collection of discrete objects that encapsulate their data as well

Page 14: Reg - S.SELVAGANAPATHY., ASST.PROF., MCAegspselva.weebly.com/uploads/2/2/0/3/22030800/3set.… · Web viewA user centered interface replicates the user’s view of doing things by

as the functionality to model real world objects. An object orientation yields important benefits to the practice of software construction. Each object has attributes and methods. Objects are grouped into classes.

In an object-oriented system, everything is an object and each object is responsible for itself. For example, Windows Application needs Windows Objects that can open themselves on screen and either display something or accept input. A windows object is responsible for things like opening, sizing and closing itself.

The object oriented environment emphasizes its cooperative philosophy by allocating tasks among the objects of the applications.

Or

(b) (i) Explain the elements and the notations of UML class diagram in detail.

(8)

The UML language is a language for specifying, constructing, visualizing and documenting the software system and its components. The UML is a graphical language with sets of rules and semantics.

The primary goals in the design of UML were as follows:1) Provide users a ready-to-use, expressive visual modeling language

so they can develop and exchange meaningful models.2) Provide extensibility and specialization mechanisms to extend the

core concepts.3) Be independent of particular programming languages and

development processes.4) Provide a formal basis for understanding the modeling language.5) Encourage the growth of the OO tools market.

(ii) Draw the Activity diagram for a restaurant system and explain

(8)

Draw activity diagram with description

12. (a) Discuss in detail about the macro and micro development process of Booch

Methodology.

The macro process serves as the controlling framework for the micro process. The macro process represents the activities of the entire development team on the scale of weeks to months at a time.The macro process tends to track the following activities:

1. Establish the code requirements for the software (Conceptualization).

2. Develop the model of the systems desired behavior (Analysis).3. Create an architecture for the implementation (Design).4. Evolve the implementation through successive refinement

(Evolution).5. Manage post delivery evolution (Maintenance).

*Draw the diagram

Page 15: Reg - S.SELVAGANAPATHY., ASST.PROF., MCAegspselva.weebly.com/uploads/2/2/0/3/22030800/3set.… · Web viewA user centered interface replicates the user’s view of doing things by

Or

(b) (i) Describe Jacobson methodology of object oriented system development.

(8)

OOBE – object modeling at the enterprise level.

OOSE – to develop real –time systems.

Main tool : use cases.

(ii) Draw the Use case diagram for Airline Reservation System.

(8)

13. (a) Draw class diagram and use case diagram for a book chapter with the

following structure. A chapter comprises of several sections each of which comprises

several paragraphs and figures. A paragraph comprises of several sentences each of

which comprises of several words.

CLASS DIAGRAM FOR A BOOK CHAPTER

Page 16: Reg - S.SELVAGANAPATHY., ASST.PROF., MCAegspselva.weebly.com/uploads/2/2/0/3/22030800/3set.… · Web viewA user centered interface replicates the user’s view of doing things by

Member detailsnameaddresstelnomember id

adddetail()deletedetail()modifydetail()

books issuemembernamebooknameauthorpublisherbookidnoofcopiesissuedtotnoofcopies

issuebook()

books issued to

defaulter creationbooknamebookdept

createdefaulter()

default book issue

fine computationbookiddoidorfineamount

computefine()

books returnbooknameauthorpublisherbookidno of bal copies

returnbook()

books returned by

default book return

fine is computed

USE CASE DIAGRAM

Page 17: Reg - S.SELVAGANAPATHY., ASST.PROF., MCAegspselva.weebly.com/uploads/2/2/0/3/22030800/3set.… · Web viewA user centered interface replicates the user’s view of doing things by

Member details Addition

Member details deletion

Member details modification

Books issue

Books return

Fine computation

Member

Circulation clerk

Creation of defaulters list

Or

(b) (i) Describe in detail about identifying associations and its guidelines

and association patterns. What are the unnecessary associations to be

eliminated?

The following are guidelines for identifying super-sub relationships in the application:

Top-down Bottom-up Reusability Multiple inheritance

(ii) What do you meant by super-subclass relationships? Explain the guidelines for

identifying Super-Sub relationship, a generalization.

Explain the detail super-sub class relationship with example

14. (a) Discuss in detail about how can you map the objects from relational systems

Object relation mapping: -

Page 18: Reg - S.SELVAGANAPATHY., ASST.PROF., MCAegspselva.weebly.com/uploads/2/2/0/3/22030800/3set.… · Web viewA user centered interface replicates the user’s view of doing things by

In a relational DB, the schema is made up of tables, consisting of rows and columns, where each column has a name and a simple data type. Table class mapping: -It is a simple one-to-one mapping of a table to a class and the mapping of columns in a table to properties in a class.Table multiple classes mapping: -

Here a single table maps to multiple non-inheriting classes. Table inherited classes mapping: -Tables inherited classes mapping: -Here the tables-inherited classes mapping, which allows the translation of is-a-relationships that exist among tables in the relational schema into class inheritance relationships in the object model.

(or)

b) What is coupling and cohension? Explain in detail about them in modular-design

Coupling:(4)

• Binary relationship

• Measure of strength of association established by a connection from one object or component to another.

• Minimal impact of one on another on change avoid complication avoi'ding strong coupling.

Degree of coupling - Complication level (4) - Connection refers to obj. or something inside it.

- What is being sent or received.

See that little interaction or message common - bet. components -cohesion - more simpler cases, -strong mapping, standardisation.(2)

Types of coupling Degree of coupling Name Description

Very high Content Coupling -

High Common Coupling -

Medium Control Coupling -

Low Stamp Coupling -

Very low Data Coupling -

Page 19: Reg - S.SELVAGANAPATHY., ASST.PROF., MCAegspselva.weebly.com/uploads/2/2/0/3/22030800/3set.… · Web viewA user centered interface replicates the user’s view of doing things by

(i) What is meant by CRC? Explain the various steps involved in CRC.

(ii) Mention the differences between DBMS and OODBMS. What are the advantages of

OODBMS?

Or

(b) Explain in detail about object oriented design axioms and its corollaries.

An Axiom is a fundamental truth that always is observed to be valid and for which there is no counterexample or exception. Axioms may be hypothesized from a large number of observations by noting the common phenomenon shared by all cases, they cannot be proven or derived, but they can be invalidated by counterexamples or exceptions.

The two design axioms of object oriented design arev. Axiom 1: The independence axiom: Maintain the independence of

componentsvi. Axiom 2: The information axiom: Minimize the information content of the

design.

Corollary definition & diagram -1 markFrom the two design axioms, many corollaries may be derived as a direct consequence of the axioms. They are

even may be called Design Rules. The corollaries are as follows:

Corollary 1: Uncoupled Design with Less Information: -1 markCoupling is a measure of the strength of association established by a connection from one object or software component to another. Strong Coupling among objects complicates a system since the class is harder to understand or highly interrelated with other classes.

Coupling deals with interactions between objects or software components. We also need to consider interactions within objects or software components, called "Cohesion". It reflects the single purposeness of an object.Corollary 2: Single Purpose: -1 mark

Each class must have a purpose as explained. Every class should be clearly defined and necessary in the context of achieving the systems goals. When you document a class, you should be able to easily explain its purposes in a sentence or two. If you cannot, then rethink thr class and try to subdivide it into many more independent pieces.Corollary 3: Large number of Simpler Classes, Reusability -1 mark

A great benefit results from having a large number of simpler classes. You cannot possibly foresee the future scenarios in which the classes you create will be reused. The small the classes the better are your chances of reusing them in other projects. Large and complex classes are too specialized to be reused. Corollary-4: Strong Mapping: -1 mark

A strong mapping links classes identified during analysis and classes designed during the design phase. The thought process flows so naturally from analyst to design that it may be difficult to tell where analysis ends and design begins.

Corollary-5: Standardisation: -1 markTo reuse classes, you must have good understanding of the classes in the object-oriented programming

environment you are using. Most object oriented systems such as Smalltalk, java, c++, or powerbuilding, come with several built in class libraries.

Corollary-6 : Designing with Inheritance: -2 marksWhen you implement a class, you have to determine its ancestor, what attributes it will have, and what

messages it will understand. Ideally you choose inheritance to minimize its amount of program instructions. In any case, the design is approved, implementation is accomplished and the system goes into production.

Page 20: Reg - S.SELVAGANAPATHY., ASST.PROF., MCAegspselva.weebly.com/uploads/2/2/0/3/22030800/3set.… · Web viewA user centered interface replicates the user’s view of doing things by

15. (a) Explain in detail about usability testing and user satisfaction test.

It is the effectiveness, efficiency and satisfaction with which a specified set of users can achieve a specified set of tasks in particular environments. The 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?Guidelines for developing usability testing.

Or

(b) What is a test case? Develop minimum 10 test cases and explain them for ATM system

A testing strategy that does the best job of finding defects in the product within the given constraints.

The various testing strategies are: Black box testing White box testing

1. Top-down testing2. Bottom-up testing

Page 21: Reg - S.SELVAGANAPATHY., ASST.PROF., MCAegspselva.weebly.com/uploads/2/2/0/3/22030800/3set.… · Web viewA user centered interface replicates the user’s view of doing things by

Reg.No:

St. Joseph’s College of Engineering

Model Examinations – III April ‘11

SET - III

SUBJECT : Object Oriented Analysis and Design CODE: MC1753

BRANCH : M.C.A SEM : IV

DURATION : 3 hours MAX.MARKS:100

Answer all the Questions

PART – A: (10 * 2 = 20 marks)

1. What are the steps for the view layer macro process?

The view layer macro process consists of two steps: For every class identified determine if the class interacts with a human actor. If so, perform the

following ;otherwise, move to next the next class. Iterate and refine.

2. What is database schema? What is the difference between a schema and meta-data?

Data base description data about data

3. Define multidatabase system.

Connection with relational environment

4. What are public and private protocols?

Rules for defining varaibles

5. What is Collaboration diagram?

Explain the steps in a process

6. List out graphical diagrams defined by UML.

Draw the diagram with uml diagrams

7. Define Pattern

More number of relationship description

8. What is the difference between OOSE & OOBE?

Object oriented software engineering and object oriented business enggineering

9. Write Myers principles for testing.

Bugs locating principles will explained

10. What are the objectives of user satisfaction test?

11. As a communication vehicle between designers, as well as between users and designers.

Page 22: Reg - S.SELVAGANAPATHY., ASST.PROF., MCAegspselva.weebly.com/uploads/2/2/0/3/22030800/3set.… · Web viewA user centered interface replicates the user’s view of doing things by

12. To detect and evaluate changes during the design process.13. To provide periodic indications of divergence of opinion about the current design.14. To enable pin pointing specific areas of dissatisfaction for remedy.15. To provide a clear understanding of just how the completed design is to be evaluated.

PART – B: (5 * 16 = 80 marks )

16. (a) Draw a class diagram and use case diagram for remote control (temperature and

pressure control) system. Also explain its relationships?

Draw the class diagram with attributes and the use case with actors

Or

(b) Explain in detail about micro development process and macro development process.

The macro process serves as the controlling framework for the micro process. The macro process represents the activities of the entire development team on the scale of weeks to months at a time.The macro process tends to track the following activities:

6. Establish the code requirements for the software (Conceptualization).7. Develop the model of the systems desired behavior (Analysis).8. Create an architecture for the implementation (Design).9. Evolve the implementation through successive refinement (Evolution).10. Manage post delivery evolution (Maintenance).

*Draw the diagram

11. (a) Describe in detail about OOSD Life cycle.

OOSDLC (object oriented software development life cycle) consists of three macro processes namely: Object oriented analysis Object oriented design Object oriented implementation

Object oriented systems development includes these activities namely:(a) Object oriented analysis(b) Object oriented design(c) Prototyping(d) Component based development(e) Incremental testing Comparison with traditional approach: This is advantageous over the traditional approach

where change and refinement is highly impossible.Or

(b) Explain the following

(i) Object and Identity

Define the objects with example

(ii) Static and Dynamic Binding

Matching with data types with variables in static and run time

Page 23: Reg - S.SELVAGANAPATHY., ASST.PROF., MCAegspselva.weebly.com/uploads/2/2/0/3/22030800/3set.… · Web viewA user centered interface replicates the user’s view of doing things by

(iii) (iii) Object Persistence

Objects have a lifetime

(iv) Meta Classes

Match with records and arrays

13. (a) Prepare class diagram showing relationship among the following classes. Include association, aggregation and generalization. Also add attributes and operation to the class diagram.

File System, file, directory, file name, ASCII file, executable file, directory file, disk, track, and sector. Draw with class diagram with above attributes

Or

(b) Explain the object oriented design axioms and corollaries.

14. (a) (i) Explain in detail about the concepts of OODBMS. (8)

ii) State the merits of OODBMS. (8)Or

(b) (i) Explain the design patterns with an example. (8)

(ii) State the guidelines for designing forms and data entry windows. (8)

15. (a) Explain the tool for analyzing user satisfaction and its test template.

It is the effectiveness, efficiency and satisfaction with which a specified set of users can achieve a specified set of tasks in particular environments. The 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?Guidelines for developing usability testing.

Or

(c) Describe in detail about the various testing strategies.

A testing strategy that does the best job of finding defects in the product within the given constraints.

The various testing strategies are: Black box testing White box testing

Page 24: Reg - S.SELVAGANAPATHY., ASST.PROF., MCAegspselva.weebly.com/uploads/2/2/0/3/22030800/3set.… · Web viewA user centered interface replicates the user’s view of doing things by

1. Top-down testing2. Bottom-up testing