END TERM EXAMINATION- Sample Paper (1)

FORTH SEMESTER [MCA]

Code: MCA208Subject: Object-Oriented Analysis and Design

Time: 3 HoursMaximum Marks: 60

Note: Attempt five questions including Q.no. 1 which is compulsory. Select one question from each unit.

Q1 (a) Attempt any five of the following:-(2 x 5 = 10)

  1. Define Negative Test with example.

When tester test the application from negative point of mind than it is known as negative testing. Testing the application always with invalid input and data is known as negative testing. Negative testing improves the testing coverage of your application. Using the negative testing approach allows you to test your applications with any possible input data (both valid and invalid) and can help you make your application more stable and reliable.

For Example, an application contains a textbox and as per the user's Requirements the textbox should accept only Strings.By providing input other than String as input data to the textbox & to check whether its working properly or not means it is Negative Testing.

  1. What is Association Class? Give example.

An association class is used to model an association as a class. Association classes often occur in many-to-one and many-to-many associations where the association itself has attributes. An association class is rendered by a dashed line from the association to the class rectangle. Each link in the association is an object of the association class. An association class is essentially a class attached to an association; the association itself is modeled as a class.

As an example, consider a many-to-many association between classes Person and Company. The association could have properties; e.g., salary, job Classification, start Date, etc. In this case, the association is more correctly modeled as an association class with attributes rather than trying to fold the attributes into one of the classes in the association.

  1. Differentiate Message and Signal with example.

An intraprocess stimulus (normal call inside one process) is called as a message. For example, a c++message.

An interprocess stimulus is sent between two processes. Such a stimulus is called as signal. Signal may be synchronous and asynchronous.

A message and a signal are represented by a two separate symbols

A message

 A signal

  1. DefineProbe in Sequential Diagram with example.

The probe position indicates a position in the use case to be extended. The probe position indicates a position in the use case to be extended.

  1. Define Homogenization with example.

In parallel design process, several stimuli with the same purpose or meaning are defined by several designers. These stimuli should be consolidated to obtain as few stimuli as possible. It is called homogenization.

For Example:

  • What_is_your_phone_number?
  • Where_do_you_live?
  • Get_address
  • Get_address_and_phone_number

Homogenized into:

  • Get_address
  • Get_phone_number

VI. What is a CRC card? How it helps in the development of Object Oriented System?

A CRC cards is an index card that is use to represent the responsibilities of classes and the interaction between the classes. CRC cards are an informal approach to object oriented modeling. The cards are created through scenarios, based on the system requirements that model the behavior of the system. Not part of the UML design process but useful in detecting responsibilities of objects are CRC cards (developed byKent Beck and Ward Cunningham). CRC stands for Class-Responsibility-Collaborator. Theylook like:

Name / Responsibilities
Collaborators

CRC helps in the development of Object Oriented System because:

  • They allow the (group) participants to experience firsthand how the system will work.
  • They are a useful tool for teaching the object-oriented paradigm.
  • They can be used as a methodology themselves or as a front end to a more formal methodology such as Booch, Wirfs-Brock, Jacobson, etc.

(vii). Discuss system development as a part of larger activity.

System development does not take place in isolation. It is part of a larger activity, often aimed at developing a product in which software is an integrated part. The main characteristics are:

•Only person involved in productionskilled in duplicating products, assembling and configuringsystem and testing.

•To minimize the development department with customercontacts.

•Product is described as sets of packages of functionality servicestermed as service packages.

•Service Packages are translated into building blocks.

Q2. Differentiate the following with example:(2.5 x 4 = 10)

(i). Extend vs Include relationship in usecase diagram.

Extendis used when a use case conditionally adds steps to another first class use case.For example, imagine "Withdraw Cash" is a use case of an ATM machine. "Assess Fee" would extend Withdraw Cash and describe theconditional"extension point" that is instantiated when the ATM user doesn't bank at the ATM's owning institution. Notice that the basic "Withdraw Cash" use case stands on its own, without the extension.

Includeis used to extract use case fragments that areduplicatedin multiple use cases. The included use case cannot stand alone and the original use case is not complete without the included one. This should be used sparingly an only in cases where the duplication is significant and exists by design (rather than by coincidence).

For example, the flow of events that occurs at the beginning of every ATM use case (when the user puts in their ATM card, enters their PIN, and is shown the main menu) would be a good candidate for aninclude.

(ii). Object Oriented Analysis (OOA) and Object Oriented Design (OOD).

Object-oriented analysis (OOA) looks at the problem domain, with the aim of producing a conceptual model of the information that exists in the area being analyzed. Analysis models do not consider any implementation constraints that might exist, such as concurrency, distribution, persistence, or how the system is to be built. Implementation constraints are dealt during object-oriented design (OOD). Analysis is done before the Design. The result of object-oriented analysis is a description of what the system is functionally required to do, in the form of a conceptual model.

Object-oriented design (OOD) transforms the conceptual model produced in object-oriented analysis to take account of the constraints imposed by the chosen architecture and any non-functional - technological or environmental - constraints, such as transaction throughput, response time, run-time platform, development environment, or programming language.
The concepts in the analysis model are mapped onto implementation classes and interfaces. The result is a model of the solution domain, a detailed description of how the system is to be built.

(iii). Sequence Diagram vs. Collaboration Diagram.

Sequence Diagram:

Sequence diagrams describe in detail how actors use use cases, they can also model external business processes the new systemwill support (e.g., processing a book order)

  • An interaction is a behavior that consists of a set of messagesexchanged between external and system objects.
  • Interactions consist of one or more messages. Interactions may besynchronous (e.g., calling someone on the phone), orasynchronous (e.g., sending someone email).
  • Sequence diagrams defined during requirements analysis shouldnot include design objects;
  • specify message signatures in any detail;

Collaboration diagram:

  • Collaboration diagrams show interaction without the timedimension, but do include object links.
  • Like sequence diagrams, collaboration diagrams are intended tomodel scenario; each scenario describes a possible sequence ofevents and actions.
  • Sequence diagrams are helpful because they capture visuallythe sequence of events over time.
  • Collaboration diagrams capture more directly the interactionsbetween actors and objects.

(iv). OOSA and OOSD.

Object-Oriented Systems Analysis (OOSA)

• Many heuristics for object identification and analysis, which help with initialabstraction and object modeling.

• Data modeling approach (ER modeling)

• Models an object relationship network with subclasses.State transition specifications are constructed for each object and functions are

• State-modeled with data-flow diagrams.

• Produces a composite activity-data model (synthesis not clearly specified)

• Lack of support for inheritance.

• Underspecified in the design phase.

Object-Oriented System Design:

•Assumes analysis phase has been completed.

•Provides detailed notation for object classes and management ofinheritance.

•Inter-object communications (event/message types).

•Detailed notation for interface description and encapsulation.

•No analysis advice is given.

UNIT – I

Q2(a). Discuss Software Development Process? Also elaborate the software process that is transforming needs to software product. (6)

Analysis, design, implementation, testing & refinement totransform users’ need into software solution that satisfiesthose needsObject-oriented approach:

•More rigorous process to do things right.

•More time spent on gathering requirements, developingrequirements model & analysis model, then turn intoProcess to change, refine, transform & add to existing product transformation (analysis) - translates user’s need into system’s requirements &responsibilities.

•How they use system can give insight into requirements, eg: analyzingincentive payroll - capacity must be included in requirementstransformation (design) - begins with problem statement, ends with detaileddesign that can be transformed into operational system.

‹#›

•Bulk of development activity, include definition on how to build software, itsdevelopment, its testing, design description and testing materialtransformation 3 (implementation) - refines detailed design into systemdeployment that will satisfy user’s needs.

•Account of equipment, procedures, resources, people, etc - how toembed software product within its operational environment, eg: newcompensation method prg needs new form, gives new report.

Q 2(b). How you will support the Object-Oriented Analysis and Design paradigm over the structureOriented Analysis and Design paradigm? (4)

Structured / Object-Oriented
Methodology / SDLC / Iterative/Incremental
Focus / Processes / Objects
Risk / High / Low
Reuse / Low / High
Maturity / Mature and Wide spread / Emerging (1997)
Suitable for / Well-defined projects with stable user requirements / Risky large projects with changing user requirements
Analysis / Structuring Requirements
  • DFD
  • Decision Table
  • ER Analysis
/ Requirement Engineering
  • Use case model
  • Object model

Design /
  • DB design
  • GUI design
/
  • Physical DB design
  • GUI design

Q3(a). Write a note on different traditionla methods of system development. (6)

Analysis/Structured Design (SASD):

•Top-down functional decomposition.

•Analyses system in terms of a network of processes connectedby data flow messages.

•Functional cohesion and low coupling.

•Does not support any OO concepts (separates data and processspecification)

•More recent versions have added state-transition diagrams andbottom-up analysis driven by event identification (more potentialfor OO specifications)

Structured Systems Analysis andDesign Method (SSADM):

•Composite method derived from structured analysis,structured design and data analysis.

•Process analysis is separated from data analysis functionally related processing structures.

•Most of the views expressed about IE also apply toSSADM.

Structured Analysis andDesign Techniques (SADT):

•Uses top-down decomposition to analyze systems.

•Specification uses network diagrams of processes connected by data flows,control messages, and mechanisms.

•Encourages modeling of real world problems, but constructs separate activityand data models.

•Does not support type-instance concepts.

•Separation of process specification from data makes it unsuitable for an OOapproach.

Jackson SystemDevelopment (JSD):

• System models based on networks of concurrent communication processes.

• Type-instance concept.

• Classification and property inheritance are not supported.

• System control is modeled in terms of time-ordering of actions associated withentities.

• More recent versions have placed more emphasis on data modelingobjectmodel that combines data and operations.

• Much in common with OO methods.

• No object classification, instead entity roles.

Q3(b). Discuss and compare OMT and OOSE object oriented methodologies.(4)

OMT [Rumbaugh et al.,1991] consists of

•building three complementary models of the system

•adding implementation details to the models

•implementing the models

OMT includes a set ofphases [processes] and diagramming techniques. It has four phases:

•Object-oriented analysis builds a real-world model

•System design determines overall architecture of system

•Object design decides upon data structures and algorithms

•Implementation translates design into programming language

OOSE:

•Originated from Objectory (Object Factory for softwaredevelopment)

•Aim to fit the development of large real-time system

•Covers entire life cycle

•Stress traceability among the different phases (Backward &forward)

•Usecase concept is core

UNIT- II

Q 4(a). What do you mean by requirement model? Discuss it with suitable diagram?(5)

The Requirement Model consist of

•A use case model

•Interface description

•A Problem domain model

The use case model involves the use of actors and use cases. Actors show what interact with a system. Their actions are non-deterministic. A user is different from an actor. A user is an actual person who uses the system while an actor represents a certain role that a user can play. A use case represents the functionality of a system. Each use case is a specific way of using the system. Every execution of the use case is an instance of the use case. When a user inputs a stimulus, the use case instance executes and starts a transaction belonging to the use case. The use case instance exists as long as the use case is operating. A use case class is a description that specifies the transactions of the use case. The set of all use case description specifies the complete functionality of the system. A use case is a complete flow of the system which has a state and behavior. Here the object model should consist of problem domain objects that help in the development of requirement model.

©

Q 4(b). What do you mean by system development. Also discuss different models of system development. (5)

The work that occurs when we develop computer support toaid an organization. System development is model building. It starts when a requirement of system identified and Specification can be used for contract and to plan andcontrol the development process. It is a complex process handle poorly. OOSE can used from start to end of system life cycle. It is based on three technologies:

•Object oriented programming

•Conceptual modeling

•Block design

It consists of five different models:

•The requirement model

Aims to capture the functional requirements

•Analysis model

Give the system a robust and changeable objectstructure

•Design model

Adopt and refine the object structure to the currentimplementation environment

•Implementation model

Implement the system

•Test model

Verify the system

Seamless transition between the models isimportant. The method layer define the transformation rules. For maintainability traceability is very importantbetween the models.

Models are tightly coupled to the architecture, and aim isto find concepts which are simple to learn and use. It simplify our understanding of the system and provide us with a changeable model of the system. These models are sufficiently powerful to express the information whichis required to model the system. These models are sufficiently defined that different people can discussthe system in terms of these concepts without beingmisunderstood.

Q5 (a). Write a short note on model architecture.(4)

System development includes the development ofdifferent models of a software system. It aim is to find powerful modeling language, notationor modeling technique for each model. It consists of set of modeling techniques defines architectureupon which the system development method isbased. The architecture of a method is the denotation of itsset of modeling techniques

Architecture can be view as the class of models that can bebuilt with a certain modeling notation

Modeling technique is described by means of syntax,semantics and pragmatics:

‹#›

•Syntax (How it looks)

•Semantics (What it means)

•Pragmatics (heuristics or rules of thumb for usingmodeling technique)

Features of modeling techniques:

•Easy to use

•Contain few but powerful modeling objects to enableeasy learning

•Help to handle complexity of the system

•To build these models method are required to showhow to work with modeling techniques

•The specific system architecture is formulated interms of the modeling object used

•Specific system architecture is the result obtainedafter applying a method to a system.

Q 5(b). What do you mean by analysis model. How requirement model structured in analysis model. (6)

When a SRS document has been mutually agreed upon by both customer and developer, we start the actual development process. This starts with an analysis model. The aim of this model is to structure the system independently of the actual implementation environment. This means that we focus on the logical structure of the system. It is here that we define the stable robust and maintainable structure is also extensible.

Although it is possible to use the object model developed in the requirement model as a base for the actual construction of the system but this does not result in a robust structure. It is, however, our analysis model that is more stable and maintainable system structure that will be robust for the entire SDLC.

Changes will come but will affect this logical structuring. We also want minimum changes to this ideal, logical and stable structure. Theanalysis model has three dimensions as shown in diagram:

These three dimensions are as:

(a). information (data) on x-axis:

This dimension specifies the information held in the system. Along the x-axis we describe the system internal state.

(b). behavior (functions) on y-axis:

On this axis, we specify the behavior that this system will adopt. We specify when and how the system will change state.

(c). presentation (outside world) on z-axis:

This dimension provides the details for presenting the system to the outside world.