Вы находитесь на странице: 1из 85

QUESTION BANK Of OOMD(CSE 1802)

Module I

1. Which are the 3 models used in OMT?Give the significance of each of them in
describing a system?
OMT Methodology(Object Modeling Technique)

• OMT is an object-oriented software development methodology given by James


Rumbaugh et.al (and others).

• Describes a method for analysis, design and implementation of a system using


object-oriented technique.

 The OMT consists of three related but different viewpoints each capturing
important aspects of the system i.e. the static, dynamic and functional behaviours
of the system.

 These are described by object model, dynamic model and functional model of the
OMT.

1.Object model

 Describes static structure of objects in a system and their relationships.


 The object model describes the static, structural and data aspects of a system.
 Contains object diagrams.Graph –nodes are classes and arcs are relationships
among classes
Give any simple class diagram
2.Dynamic model
 The dynamic model describes the temporal, behavioural and control aspects of a
system.
 Contains state diagram
 Nodes-states and arcs are transitions between states caused by events.
 Give any simple state diagram
3.Functional model
• The functional model describes the transformational and functional aspects of a
system.
• Contains DFD(Data Flow Diagram)
• Give any simple DFD
2. Illustrate and explain object diagram?
Object diagrams model the instances of things contained in class diagrams. An object diagram
shows a set of objects and their relationships at a point in time.
Object diagrams commonly contain
Objects
Links
Common Uses
To model object structures
Explain the steps of modelling
Give any example.

For Eg shows a set of objects drawn from the implementation of an autonomous robot. This figure
focuses on some of the objects involved in the mechanism used by the robot to calculate a model
of the world in which it moves. There are many more objects involved in a running system, but
this diagram focuses on only those abstractions that are directly involved in creating this world
view.

3. Differentiate between links and associations?


A link is a physical or conceptual connection between object instances. In OMT,
link is represented by a line labeled with its name .

 An association describes a group of links with common structure and common


semantics between two or more classes . Association is represented by a line
labeled with the association name in italics.
4. What is modeling?Explain the purpose of modeling?
A model is a representation in a certain medium of something in the same or another
medium. The model captures the important aspects of the thing being modeled
from a certain point of view and simplifies or omits the rest. Engineering,
architecture, and many other creative fields use models.

Purpose of modeling
o To capture and precisely state requirements and domain knowledge so that all
stakeholders may understand and agree on them..
o To think about the design of a system.
o To capture design decisions in a mutable form separate from the requirements.
o To generate usable work products
o To organize, find, filter, retrieve, examine, and edit information about large
systems.
o To explore multiple solutions economically.
o To master complex systems

5. Briefly explain three views for modeling systems in OMT?


Refer qstn no 1

6. What are link attributes?When do you model an ‘association’ as class?Give


examples?
Link attributes……………………………………………………..2.5 marks
 Link attribute is a property of links in an association.
 The OMT notation for a link attribute is a box attached to the association by a
loop
…………………………………………………….explanation and Notation1.5 mark

Example-Can give any example(1 mark)


Modeling association as a class
 It is also possible to model an association as a class such class is called as link
class.
 Each link becomes one instance of the class.
 In the example, the class Authorization is a link class.

Example-can give any example

7. Give all the advanced features of association in object modeling?


1) Navigation
Given a plain, unadorned association between two classes, such as Book and
Library, it's
possible to navigate from objects of one kind to objects of the other kind.

2)Visibility
Unless otherwise noted, the visibility of a role is public. Private visibility
indicates that objects at that end are not accessible to any objects outside the
association; protected visibility indicates that objects at that end are
not accessible to any objects outside the association, except for children of
the other end.

3) Qualification
4) Composition
Composition is a form of aggregation, with strong ownership and coincident lifetime as
part of the whole

.
5)Association class
An association class can be seen as an association that alsohas class properties, or as a
class that also has association properties

8. What is dynamic modeling?Explain various diagrams in it?


Dynamic modeling
 The dynamic model describes how the objects change state and in which order the
state changes can take place.
 Its concerned with time and changes.
 Dynamic model consists of multiple state diagrams ,one state diagram for each
class with important dynamic behavior, and shows the pattern of activity for an
entire system.
Event trace diagram
 The sequence of events and the objects exchanging events can both be shown in
a scenario called event trace diagram.
 Event- Something that happens at a point in time
 Event traces shows each object as vertical line and each event as a horizontal
arrows ,where time increases from top to bottom

Example
 In this diagram, four objects – User, ATM, Consortium and Bank - are
involved,which are shown with four vertical lines.
Fig

State Diagram
 State diagrams are used to describe the behavior of a system. State diagrams
describe all of the possible states of an object as events occur.
 Each diagram usually represents objects of a single class and tracks the different
states of its objects through the system

9. List steps in object design ?


 Combine Three Models To Get Operations Of Classes
 Design Algorithms For Operations
 Optimize Access paths to data
 Implementation of Control for external interactions
 Maximize Inheritance by adjusting inheritance
 Design Associations
 Determine Object Representation
 Packaging of Classes and Associations into Modules

10. Write note on data flow diagrams?


Functional Models
The functional model describes computations and specifies those aspects of the
system concerned with transformations of values - functions, mappings, constraints, and
functional dependencies. The functional model captures what the system does, without
regard to how or when it is done..

Data Flow Diagrams


A Data Flow Diagram (DFD) shows the functional relationships of the values computed by a
system, including the input values, output values, and internal data stores. A DFD contains
processes that transform data, data flows that move data, actor objects that produce and
consume data, and data store objects that store data passively.
i) Processes

A process transforms data values. A process is drawn as an ellipse.


Give any example
ii) Data Flows
A data flow connects the output of an object or process to the input of another object or
process. A data flow is drawn as an arrow. Give any example
iii) Actors
An actor is an active object that drives the data flow graph by producing or consuming
values. An actor is drawn as a rectangle.
Give any example

iv) Data Stores


A data store is a passive object within a data flow diagram that stores data for later access. A
data store is drawn as a pair of parallel lines containing the name of the store.

v) Control Flows
A control flow is a Boolean value that affects whether a process is evaluated.
Specifying Operations
Each operation can be specified in various ways. These are :
- Mathematical functions, such as trigonometric functions
- Table of input and output values for small finite sets
- Equations specifying output in terms of input
- Pre- and post- conditions
- Decision tables
- Pseudocode
Give any example for level 0 and level 1DFD

Examples of DFDs
Example1: An example of a Data Flow Diagram - DFD for a system that pays
workers is shown in the figure below. In this DFD there is one basic input data flow,the
weekly time sheet, which originates from the source worker. The basic output is the pay
check, the sink for which is also the worker. In this system, first the employee's record is
retrieved, using the employee ID, which is contained in the time sheet. From the
employee record, the rate of payment and overtime are obtained.
Figure: DFD of a system that pays workers.

11. Differentiate between association and aggregation?


 An association describes a group of links with common structure and common
semantics
between two or more classes.
 Association is represented by a line labeled with the association name in
italics.
 Associations are bidirectional in nature.

Example-give any eg for association


Aggregation

 Aggregation is another relationship between classes.


 It is a tightly coupled form of association with some extra semantics.
 It is the “part-whole” or “a-part-of” relationship in which objects representing the
component of something are associated with an object representing the entire
assembly.

Example-give any eg

12. Discuss
the
object
oriented
concepts and its application.
 Inheritance
 Inheritance allows a software developer to derive a new class from an existing one
 The existing class is called the parent class, or super class, or base class
 The derived class is called the child class or subclass
 As the name implies, the child inherits characteristics of the parent
 Inheritance has a lot of benefits
a. Extensibility
b. Reusability
c. Provides abstraction
d. Eliminates redundant code

 Abstraction
 Abstraction means ignoring irrelevant features, properties, or functions and
emphasizing the relevant ones
 In JAVA abstraction is achieved in several ways:Abstract classes and Interfaces
 Abstraction = managing complexity
 Encapsulation
 Encapsulation is a practice to bind related functionality (Methods) & Data
(Variables) in a protective wrapper (Class) with required access modifiers (public,
private, default & protected) so that the code can be saved from unauthorized
access by outer world and can be made easy to maintain.

 Complete encapsulation in java can be achieved by making members of a class


private and access them outside the class only through getters and setters. 

 Polymorphism
 Polymorphism = ability to take more than one form (objects have more than one
type) than one type
Overloading allows multiple functions to exist with same name but different
parameters.

13. Describe the optimization in object design


 The analysis model captures the logical information about the system, while the
 design model must add details to support efficient information accesses. The
 designer must strike the balance between efficiency and clarity.
 The designer can optimize the design by:
 Adding redundant associations to minimize access cost and
maximize Convenience
suppose that company has 1000 employees each of whom has 10 skills on an
average. To know about how many employees speak French, a simple nested loop will
traverse employees 1000 times and has-skill 10,000 times. In cases where number of
hits from a query is low because only a fraction of objects satisfy the test, we can add a
qualified association - speaks language - from company to employee, where qualifier is
the language spoken as shown in Figure below. This permits us to find all employees
who speak a particular language with with no wasted accesses.

 Rearranging the computation for greater efficiency


After adjusting the structure of the object model for optimization the next thing to
optimize is the algorithm itself.
 One key to algorithm optimization is to eliminate dead paths as early as possible.
 For example, suppose we want to find all employees who speak both French and
 Chinese.
 Further, suppose 10 employees speak French and 150 employees speak
Chinese. In this case, it is better to test French speaker first then test whether they
speak Chinese. This results in narrowing the search

 Saving the derived attributes to avoid recomputation of


complicated expressions
 There may exist some data which can be derived from other data. This kind of data
may be termed as redundant data and it can be cached or stored in its computed
form to avoid overhead of recomputing again.
 The class that contains redundant data must be updated if any of the objects that
it depends upon are changed.

14. Describe dynamic modeling? Draw the state diagram for ATM network?
Refer qstn no 8

15. Identify relationships in object oriented modeling


DEPENDENCY
A dependency is a using relationship that states that a change in specification of one
thing (for example, class Event) may affect another thing that uses it (for example, class
Window), but not necessarily the reverse.
Give any example

Generalization
A generalization is a relationship between a general thing (called the superclass or
parent)and a more specific kind of that thing (called the subclass or child). Generalization is
sometimes called an "is-a-kind-of" relationship: one thing (like the class BayWindow) is-a-kind-of
a more general thing (for example, the class Window).
Give any simple example
Association
An association is a structural relationship that specifies that objects of one thing are
connected to objects of another. Given an association connecting two classes, you can
navigate from an object of one class to an object of the other class, and vice versa

Realization
A realizationis a semantic relationship between classifiers in which one classifier
specifies a contract that another classifier guarantees to carry out. Graphically, a realization
is rendered as a dashed directed line with a large open arrowhead pointing to the
classifier that specifies the contracT

16. Analyze the necessity of object design in Object Modeling Technique?


• The object design is the next phase in the OMT methodology. Object oriented
design is a process of refinement or adding details.
• The object-designer works to implement the objects discovered during analysis
phase.
• All the operations identified during analysis are expressed as algorithms, with
complex operations expressed as internal operations.
• The classes, attributes and associations from analysis must be implemented as
specific data structures. New object classes may be introduced to store
intermediate results in this phase.

The following steps are performed in the


object design phase:
• Combine the three models to get the operations of the classes
• Design algorithms for operations
• Optimize design
• Implementation of control
• Maximize inheritance
• Design associations
• Determine object representation
• Package classes and associations into modules

Explain the necessity of each of the above steps

17. Exemplify the functional modeling in Object Oriented Modeling?


Refer qstn no 10

Essay questions
1. List and explain the eight steps involved in system design? (15)
 The Purpose of System Design
 System design is the high-level strategy for solving the problem and building a
solution
 Bridging the gap between desired and existing system in a manageable way
 Use Divide and Conquer

 We model the new system to be developed as a set of subsystems


1.Breaking a system into sub system
 A subsystem may be defined as a group of classes, associations, operations,
events and constraints that are interrelated and have a well-defined interface.
 For example file system is a subsystem of an operating system.
 The interface of a subsystem defines the form of all interactions and how the
information will flow across subsystem boundaries.
 A system may be divided into smaller subsystems and each subsystem may
further be divided in to smaller subsystems of its own.
 Relationships between subsystems are: there are two types of relationships
between subsystems: a) Client-Server and b) Peer-to-peer

2. Identify concurrency
 Dynamic Modeling is the guide to concurrency - Two objects are said to be
inherently concurrent if they can receive events at the same time without
interacting.
 If the events are unsynchronized, the objects cannot be folded into a single
thread of control. (engine and wing control on an airplane must operate
concurrently).
 By examining the state diagram of individual objects and the exchange of
events between them, many objects can be folded into a single thread of
control. A thread of control is a path through a set of state diagrams on which
only a single object at a time is active - thread remains in a state diagram until
an object sends an event to another object and waits for another event.
3. Alllocating subsystem to processors and tasks
 Tasks are assigned to processors because:
 Certain tasks are required at specific physical locations
 Response time or information flow rate exceeds the available communication
bandwidth between a task and a piece of hardware.
 Computation rates are too great for single processor, so tasks must be spread
among several processors
4. Managemant of data stores
 The internal and external data stores in a system provide clean separation
points between subsystems with well defined interfaces. Data stores may
combine data structures, files, and database implemented in memory or on
secondary storage devices. The different data stores provide trade-offs
between cost, access time, capacity and reliability.
 Files are cheap, simple and permanent form of data store. File operations are
low level and applications must include additional code to provide a suitable
level of abstraction. File implementations vary from machine to machine so
portability is more difficult.
5. Handling global resources
 The system designer must identify the global resources and determine
mechanisms for controlling access to them - processors, tape drives, etc
 If the resource is a physical object, it can control itself by establishing a
protocol for obtaining access within a concurrent system. If the resource is
logical entity (object ID for example) there is a danger of conflicting access.
Independent tasks could simultaneously use the same object ID. Each global
resource must be owned by a guardian object that controls access to it.
6. Choosing software control implementation
 There are two kinds of control flows in a software system: external control
and internal control. Internal control is the flow of control within a process. It
exists only in the implementation and therefore is not inherently concurrent or
sequential. External control is the flow of externally visible events among the
objects in the system.
 There are three kinds of external control:
 Procedure driven systems: control resides within program code; it is easy to
implement but requires that concurrency inherent in objects be mapped into a
sequential flow of control.
 Event driven systems - control resides within a dispatcher or monitor provided
by the language, subsystem or operating system. Application procedures are
attached to events and are called by the dispatcher when the corresponding
events occur.
 Concurrent systems: control resides concurrently in several independent
objects, each a separate task.
7. Handling boundary conditions
 We must be able to handle boundary conditions such as initialization,
termination and failure.
 1. Initialization: The system must be brought from a quiescent initial state to a
sustainable steady state condition. Things to be initialized include constant
data, parameters, global variables, tasks, guardian objects and possibly the
class hierarchy itself.
 2. Termination: It is usually simpler than initialization because many internal
objects can simply be abandoned. The task must release any external
resources that it had reserved. In a concurrent system, one task must notify
other tasks of its termination.
 3. Failure: It is the unplanned termination of a system. Failure can arise from
user errors, from the exhaustion of system resources, or from an external
breakdown.
8 Setting trade off priorities
 Cost, maintainability, portability, understandability, speed, may be traded off
during various parts of system design.
 Hardware/Software Tradeoffs
Hardware can be viewed as a rigid but highly optimized form of software. The
system designer must decide which subsystems will be implemented in hardware
and which in software.

2 a) Explain the dynamic modeling of ATM system. (5)


Dynamic modeling
 The dynamic model describes how the objects change state and in which order the
state changes can take place.
 Its concerned with time and changes.
 The dynamic model includes event trace diagrams describing scenarios.
 An event is an external stimulus from one object to another,which occurs at a
particular point in time. An event is a one-way transmission of information from
one object to another.
 A scenario is a sequence of events that occurs during one particular execution of a
system. Each basic execution of the system should be represented as a scenario.
 The dynamic model is represented graphically by state diagrams.

State Diagram
 State diagrams are used to describe the behavior of a system. State diagrams
describe all of the possible states of an object as events occur.
 Each diagram usually represents objects of a single class and tracks the different
states of its
objects through the system.
Steps to construct dynamic model
1)Prepare scenarios of typical interactions
2)Identify events between objects
3)Prepare an event trace for each scenario
4)Build a state diagram
5)Match events between objects to verify consistency
Fig

b) Summarize the object-oriented concepts with suitable examples.(10)


Ref qsn no 12
3. (a) What are the various stages in object modeling technique? (8)
OMT is an object-oriented software development methodology given by
James Rumbaugh et.al. This methodology describes a method for analysis,design and
implementation of a system using object-oriented technique. It is a fast, intuitive
approach for identifying and modeling all the objects making a system.
The basic steps of system designing using OOM may be
listed as:
• System Analysis
• System Design
• Object Design
• Implementation
The OMT consists of three related but different viewpoints eachcapturing important
aspects of the system i.e. the static, dynamic and functional behaviors of the system.
These are described by object model,dynamic model and functional model of the OMT.
Object Model
The object model describes the structure of the objects in the system – their identity, their
relationships to other objects, their attributes, and their operations. The object model
depicts the primary view of how the real world in which the system interacts is divided and
the overall decomposition of the system. The object model provides the framework into
which the other models are placed. The object model is represented graphically with an
object diagram
Dynamic Model
The dynamic model represents a state/transition view on the model. Main concepts are
states, transitions between states, and events to trigger transitions. Actions can be
modeled as occurring within states. Generalization and aggregation (concurrency) are
predefined relationships. The outcomes of a dynamic model are scenarios, event-trace
diagrams and sate diagrams.

FUNCTIONAL MODEL
• The functional model describes the transformational and functional aspects of a
system.
• Contains DFD(Data Flow Diagram)
(b)Draw and explain a functional model of a flight simulator? (7)

4.(a) Describe the terms events, state, state diagrams and conditions
in the context of dynamic modeling? (8)
State
 A state is a condition during the life of an object during which it satisfies some
condition, performs some activity, or waits for some external event.
 A state corresponds to the interval between two events received by an object
and describes
the "value" of the object for that time period.
 A state is an abstraction of an object's attribute values and links, where sets of
values are grouped together into a state according to properties that affect the
general behavior of the object. For instance, stack is empty or stack is full are
different states of the object stack. As state corresponds to interval between
two events received by an object so it has duration.

Event
 An event is the specification of a significant occurrence. For a state machine, an
event is the occurrence of a stimulus that can trigger a state transition.
 In other words, we can say an event is something that happens at a point in
time.
 An event does not have duration. An individual stimulus from one object to
another is an
event. Press a button on mouse, airplane departs from an airport are examples
of events.

Conditions
 Condition is a Boolean function of object values.
 Eg temperature is below freezing
 Being in a state is a condition
 Conditions can be used as guards on transitions
 A guarded transition fires when its event occurs ,but only if the condition is true.
Conditions can be used as guards on transitions “A guarded transition fires when
its events occur but only if the condition is true.

State Diagram
 State diagrams are used to describe the behavior of a system.
 State diagrams describe all of the possible states of an object as events occur.
 Each diagram usually represents objects of a single class and tracks the different
states of its objects through the system.
 It relates events and states. A change of state caused by an event is called a
transition. Transition is drawn as an arrow from the receiving state to the target
state.
 A state diagram is graph whose nodes are states and whose directed arcs are
transitions labeled by event names.
 State diagram specifies the state sequence caused by an event sequence.
How to draw state diagrams
 State diagrams have very few elements. The basic elements are rounded boxes
representing the state of the object and arrows indicting the transition to the
next state.
 The activity section of the state symbol depicts what activities the object will be
doing while it is in that state as shown Figure below.
 Initial and Final States: All state diagrams being with an initial state of the object
as
shown in Figure .
 This is the state of the object when it is created. After the initial state the object
begins changing states. Conditions based on the activities can determine what
the next state the object transitions to.

 An illustrative example of state diagram is shown in Figure below. It shows the


bank transaction and verification of bank account. Activities are shown in the
state such as do: update account, do: verify card number and do: verify
password.Diagram also shows initial and final states.

(b)Describe the relation of functional to object dynamic models? (7)


FUNCTIONAL MODELING
 The functional model describes computations and specifies those aspects of the
system concerned with transformations of values - functions, mappings,
constraints,
and functional dependencies.
 The functional model captures what the system does, without regard to how or
when it is done.
 The functional model is represented graphically with multiple data flow
diagrams,which show the flow of values from external inputs, through
operations and internal data stores, to external outputs.
 Data flow diagrams show the dependencies between values and the
computation of output values from input values and functions. Functions are
invoked as actions in the dynamic model and are shown as operations on
objects in the object model. The data flow diagram should adhere to OMT's
notation and exploit the capabilities of OMT, such as nesting, control flows,and
constraints

RELATION OF FUNCTIONAL TO OBJECT AND DYNAMIC MODELS

 Functional model depicts “what “ has to be done to the system.


 Dynamic model shows sequence in which the operations are performed
 Object model shows the “doer”-objects
 The three models come together in the implementation of methods
 Functional model is guide to the methods
 Processes in the functional model-operations in the object model
 Top level process corresponds to an operation on a complex object
 Lower level process corresponds to operations on more basic objects
 Processes in the functional model show objects that are related by
functions

Relative to the functional model-Objt model shows the structure of the


actors,
Data stores, and flows in the functional model. The dynamic model
shows the sequence in which processes are performed.
Relative to the object model:-Functional model shows the operations on
the classes and arguments of each operation. Dynamic model shows the
state of each object and the operations that are performed as it receives
events and changes state
Relative to the dynamic model-Functional model shows the definitions
of the leaf actions and acivities that are undefined with the dynamic
model.

Module 2

1. Differentiate between aggregation and composition with examples?


Aggregation
 Aggregation is relationship between classes.
 It is a tightly coupled form of association with some extra semantics.
 It is the “part-whole” or “a-part-of” relationship in which objects representing the
component of something are associated with an object representing the entire
assembly.

Example-give any eg

COMPOSITION
 . Composition
is a form of
aggregation, with strong ownership and coincident lifetime as part of the whole.
 Parts with non-fixed multiplicity may be created after the composite itself, but
once created they live and die with it. Such parts can also be explicitly removed
before the death of the composite.
 This means that, in a composite aggregation, an object may be a part of only one
composite at a time.
 For example, in a windowing system, a Frame belongs to exactly one Window. This is
in contrast to simple aggregation, in which a part may be shared by several wholes.
For example, in the model of a house, a Wall may be a part of one or more Room
objects.
 In addition, in a composite aggregation, the whole is responsible for the disposition
of its parts,which means that the composite must manage the creation and
destruction of its parts. For example, when you create a Frame in a windowing
system, you must attach it to an enclosing Window. Similarly, when you destroy the
Window, the Window object must in turn destroy its Frame parts.
2. What is an object diagram?Which are the notations used in object
diagram?
 Object diagrams model the instances of things contained in class diagrams. An
object diagram shows a set of objects and their relationships at a point in time.
 You use object diagrams to model the static design view or static process view of a
system. This involves modeling a snapshot of the system at a moment in time and
rendering a set of objects, their state, and their relationships.
 Object diagrams commonly contain
· Objects
· Links
 Like all other diagrams, object diagrams may contain notes and constraints .

3. Write short note on generalization and aggregation?


AGGREGATION
Refer QTN NO 1

Generalization
• Generalization is the relationship between a class and one or more
refined versions of it.
• The class being refined is called the “superclass” and each refined
version are called a “subclass”
• Attributes and operations that are common to a group of subclasses
are attached to the superclass and shared by each subclass
AGGREGATION VS GENERALIZATION
 In aggregation distinct objects are involved;one of them is a part of
other
 Generalization relates classes and is a way of structuring description
of a single object
 Aggregation-part of relationship or(and relationship)
 Generalization-is a relationship(or relationship)

4. Write short note on UML structural diagrams?


1. Class diagram-shows a set of classes, interfaces and collaborations and their
relationships.

2. Object diagram –shows a set of objects and their relationships

3. Component diagram –shows a set of components and their relationships


4. Deployment diagram- shows a set of nodes and their relationships

5. State and explain the UML extensibility mechanisms?


UML is opened-ended.We can extend the language in controlled ways
The mechanisms are
 Stereotypes
 Extends the vocabulary of UML
 To create new kinds of building blocks that are derived from existing ones
but that are specific to our problem

 Tagged values
 Extends the properties of a UML stereotype
 To create new information in the stereotype's specification.

 Constraints
 Extends the semantics of a UML building block
 To add new rules or modify existing ones

6. List and explain the different kinds of association relationship?


Types of association
1) Unary association
 is between the same class .
 Example of unary association is Person teaches Person
 Person marries a Person,
 Person manages Person etc
Binary association
 A binary association is an association between two classes .
 Example of a binary association is “Person sits on a Chair”. One person can sit at
one chair. So multiplicity of this association is one-to-one

Ternary association
 Ternary association -is an association among three classes. On the same line,n-
ary association is an association among n classes.
 The OMT symbol for ternary and n-ary associations is a diamond with lines
connecting to related classes.

Types of multiplicity
One to one association and links

 many-to-many
one-to-optional .

7. Describe the features of class diagrams?


Class diagrams are the most common diagram found in modeling object- oriented
systems. A class diagram shows a set of classes, interfaces, and collaborations and their
relationships. You use class diagrams to model the static design view of a system. For
the most part, this involves modeling the vocabulary of the system, modeling
collaborations, or modeling schemas.Class diagrams are also the foundation for a couple
of related diagrams: component diagrams and deployment diagrams.Class diagrams are
important not only for visualizing, specifying, and documenting structural models, but
also for constructing executable systems through forward and reverse engineering.

Class diagrams commonly contain the following things:


Classes
Interfaces
Collaborations
Dependency, generalization, and association relationships

Features of class diagram

Explain the following


 Class notation……attributes,operations
 Association
 Multiplicity
 Generalization
 Dependency
 Interface
 Aggregation etc
8. Why do we use interfaces?Write the use of import and export
keywords?
Interfaces define a line between the specification of what an abstraction does and
the
implementation of how that abstraction does it. An interface is a collection of
operations that are used to specify a service of a class or a component.You use
interfaces to visualize, specify, construct, and document the seams within your
system.An interface is a collection of operations that are used to specify a service of
a class or a component.

An interface specifies a contract for a class or a component without dictating its


implementation.A class or component may realize many interfaces. In so doing, it
commits to carry out all these contracts faithfully, which means that it provides a set
of methods that properly implement the operations defined in the interface.
Import and Export keyword:
An interface that a component realizes is called an export interface, meaning an
interface that the
component provides as a service to other components. A component may provide
many export
interfaces. The interface that a component uses is called an import interface,
meaning an
interface that the component conforms to and so builds on. A component may
conform to many
import interfaces. Also, a component may both import and export interfaces.

9. What are relationships in UML?


A relationship is a connection among things. In object-oriented modeling, the three most
important relationships are dependencies, generalizations, and associations

DEPENDENCY
A dependency is a using relationship that states that a change in specification of one
thing (for example, class Event) may affect another thing that uses it (for example, class
Window), but not necessarily the reverse. Graphically, a dependency is rendered as a
dashed directed line, directed to the thing being depended on.

Give any example

Generalization
A generalization is a relationship between a general thing (called the superclass or
parent)and a more specific kind of that thing (called the subclass or child).
Generalization is sometimes called an "is-a-kind-of" relationship: one thing (like the class
BayWindow) is-a-kind-of a more general thing (for example, the class Window).

Give any simple example


Association
An association is a structural relationship that specifies that objects of one thing are
connected to objects of another. Given an association connecting two classes, you can
navigate from an object of one class to an object of the other class, and vice versa

Realization
A realizationis a semantic relationship between classifiers in which one classifier
specifies a contract that another classifier guarantees to carry out. Graphically, a realization
is rendered as a dashed directed line with a large open arrowhead pointing to the
classifier that specifies the contracT

10. Explain: (i) Multiplicity ii) Roles iii) Ordering?


Multiplicity: It specifies how many instances of one class may relate to a single
instance of an associated class. Multiplicity constrains the number of related
objects.A solid ball is the symbol for "many", meaning zero, one or more. hollow ball
indicates "optional", meaning zero or one. The multiplicity is indicated with special
symbols at the ends of association lines. If no multiplicity symbol is specified that
means a one-to-one association.

In many modeling situations,it's important for you to state how many objects may be
connected across an instance of an association. This "how many" is called the
multiplicity of an association's role, and is written as an expression that evaluates to a
range of values or an explicit value.When you state a multiplicity at one end of an
association, you are specifying that, for each object of the
class at the opposite end, there must be that many objects at the near end. You can
show a multiplicity of exactly one (1), zero or one (0..1), many (0..*), or one or more
(1..*).

Roles
1. A role is one end of an association.
2. A binary association can have two roles, each of which may have a role name.
3. A role name is a name that uniquely identifies one end of an association.
4. Roles provide a way of viewing a binary association as a traversal from one
object to a set of associated objects.

ORDERING
 Usually the objects on the "many" side of an association have no explicit
order, and can be regarded as a set.
 Some times the objects on the many side of an association have order.
 Writing {ordered} next to the multiplicity dot indicates an ordered set of
objects of an association.

11. Explain advanced link and association concepts?


Advanced Link concepts
Link attributes
Link attribute is a property of links in an association.The OMT notation for a link
attribute is a box attached to the association by a loop.

Modeling association as a class


It is also possible to model an association as a class such class is called as link class.
Each link becomes one instance of the class.

ADVANCED FEATURES OF ASSOCIATION :Refer qstn no 7 of chap 1


12. Explain advanced features of aggregation?
Aggregation is a variant of the "has a" association relationship; aggregation is more specific
than association. It is an association that represents a part-whole or part-of relationship. As
a type of association, an aggregation can be named and have the same adornments that an
association can. However, an aggregation may not involve more than two classes; it must
be a binary association.
The aggregate can sometimes exist independently of the parts,
sometimes not.The parts can exist independently of the aggregate The aggregate
is in some way incomplete if some of the parts are missing It is possible to have
shared ownership of the parts by several aggregates Aggregation concurrency:
The aggregate state corresponds to the combined states of all the components.
There is a variation of simple aggregation• composition• that does add some
important
semantics. Composition is a form of aggregation, with strong ownership and
coincident lifetime as part of the whole. Parts with non-fixed multiplicity may be
created after the composite itself, but once created they live and die with it. Such
parts can also be explicitly removed before the death of the composite.

Essay Questions

1 With a suitable example explain an object diagram and a class


diagram?(15)
CLASS DIAGRAMS
Class diagrams are the most common diagram found in modeling object- oriented systems.
A
class diagram shows a set of classes, interfaces, and collaborations and their relationships.
You use class diagrams to model the static design view of a system. For the most part, this
involves modeling the vocabulary of the system, modeling collaborations, or modeling
schemas.
Class diagrams are also the foundation for a couple of related diagrams: component
diagrams
and deployment diagrams.Class diagrams are important not only for visualizing, specifying,
and documenting structural models, but also for constructing executable systems through
forward and reverse engineering.
Class diagrams commonly contain the following things:
Classes
Interfaces
Collaborations
Dependency, generalization, and association relationships
Common Uses
1. To model the vocabulary of a system

2. To model simple collaborations

3. To model a logical database schema


The UML's class diagrams are a superset of entity-relationship (E-R) diagrams, a common
modeling tool for logical database design.Identify those classes in your model whose state
must transcend the lifetime of their applications.Create a class diagram that contains these
classes and mark them as persistent (a standard tagged value). You can define your own set
of tagged values to addressdatabase-specific details.

OBJECT DIAGRAMS
Object diagrams model the instances of things contained in class diagrams. An object
diagram
shows a set of objects and their relationships at a point in time.
You use object diagrams to model the static design view or static process view of a system.
This
involves modeling a snapshot of the system at a moment in time and rendering a set of
objects,
their state, and their relationships.Object diagrams are not only important for visualizing,
specifying, and documenting structural models, but also for constructing the static aspects
of systems through forward and reverse engineering.

Object diagrams commonly contain


Objects
Links

Like all other diagrams, object diagrams may contain notes and constraints
Common Uses
You use object diagrams to model the static design view or static process view of a system
just
as you do with class diagrams, but from the perspective of real or prototypical instances
To model object structures
 Identify the mechanism you'd like to model. A mechanism represents some function or
behavior of the part of the system you are modeling that results from the interaction of a
society of classes, interfaces, and other things.
For each mechanism, identify the classes, interfaces, and other elements that participate
in this collaboration; identify the relationships among these things, as well.
Consider one scenario that walks through this mechanism. Freeze that scenario at a
moment in time, and render each object that participates in the mechanism.
Expose the state and attribute values of each such object, as necessary, to understand
the scenario.
Similarly, expose the links among these objects, representing instances of associations
among them.

For Eg shows a set of objects drawn from the implementation of an autonomous robot. This
figure focuses on some of the objects involved in the mechanism used by the robot to
calculate a model of the world in which it moves. There are many more objects involved in a
running system, but this diagram focuses on only those abstractions that are directly involved
in creating this world view.

2. Write short notes on: (15)


i) Instances ii)Packages iii)Classifiers
i) Instances

The terms "instance" and "object" are largely synonymous and so, for the most part, may be used
interchangeably. An instance is a concrete manifestation of an abstraction to which a set of
operations may be applied and which may have a state that stores the effects of the operation.
You use instances to model concrete or prototypical things that live in the real world. Almost
every building block in the UML participates in this class/ object dichotomy. For example, you can
have use cases and use case instances, nodes and node instances, associations and association
instances, and so on.

Common Modeling Techniques


Modeling Concrete Instances
To model concrete instances,
Identify those instances necessary and sufficient to visualize, specify, construct, or document
the problem you are modeling.
Render these objects in the UML as instances. Where possible, give each object a name.If
there is no meaningful name for the object, render it as an anonymous object.
Expose the stereotype, tagged values, and attributes (with their values) of each instance
necessary and sufficient to model your problem.
Render these instances and their relationships in an object diagram or other diagram
appropriate to the kind of the instance.

Modeling Prototypical Instances


ii)Packages

In the UML, the package is a general purpose mechanism for organizing modeling elements into
groups.
You use packages to arrange your modeling elements into larger chunks that you can manipulate
as a group. You can control the visibility of these elements so that some things are visible outside
the package while others are hidden. You can also use packages to present different views of
your system's architecture. Well-structured packages are therefore loosely coupled and very
cohesive, with tightly controlled access to the package's contents.

OWNED ELEMENTS
A package may own other elements, including classes, interfaces, components,
nodes,collaborations, use cases, diagrams, and even other packages. Owning is a composite
relationship, which means that the element is declared in the package. If the package is
destroyed, the element is destroyed. Every element is uniquely owned by exactly one package.

Visibility
You can control the visibility of the elements owned by a package just as you can control the
visibility of the attributes and operations owned by a class. Typically, an element owned by a
package is public, which means that it is visible to the contents of any package that imports the
element's enclosing package. Conversely, protected elements can only be seen by children, and
private elements cannot be seen outside the package in which they are declared. In Figure
OrderForm is a public part of the package Client, and Order is a private part. A package
that imports Client can see OrderForm, but it cannot see Order. As viewed from the
outside, the fully qualified name of OrderForm would be Client::OrderForm.
Importing and Exporting
The public parts of a package are called its exports. For example, in Figure, the package GUI
exports two classes, Window and Form. EventHandler is not exported by
GUI;EventHandler is a protected part of the package.
The parts that one package exports are visible only to the contents of those packages that
explicitly import the package. In this example, Policies explicitly imports the package GUI.
GUI::Window and GUI::Form are therefore made visible to the contents of the package

Policies.

iii)Classifiers

A classifier is a mechanism that describes structural and behavioral features. Classifiers include
classes, interfaces, datatypes, signals, components, nodes, use cases, and subsystems.

The most important kind of classifier in the UML is the class. A class is a description of a set of
objects that share the same attributes, operations, relationships, and semantics. Classes are not
the only kind of classifier, however. The UML provides a number of other kinds of classifiers .

Give notations for the above classifiers


Visibility
One of the most important details you can specify for a classifier's attributes and operations is its
visibility. The visibility of a feature specifies whether it can be used by other classifiers. In the
UML, you can specify any of three levels of visibility.
Scope

3.What is meant by association? Explain various properties of association? (8)


Refer qstn no 7 of Mod 1,qstn no 10 of Module 2,qstn no 6 of mod 2
(b) Write short note on realization? (7)
 A realizationis a semantic relationship between classifiers in which one classifier
specifies a contract that another classifier guarantees to carry out.
 Represent realization in two ways:
 in the canonical form (using the interface stereotype and the dashed directed line
with a large open arrowhead)
 an elided form (using the interface lollipop notation).

 Most of the time, you'll use realization to specify the relationship between an
interface and the class or component that provides an operation or service for it.
An interface is a collection of operations that are used to specify a service of a
class or a component. Therefore, an interface specifies a contract that a class or
component must carry out. An interface may be realized by many such classes or
components, and a class or component may realize many interfaces.

Realization of an Interface
Realization of a Use Case

4.(a)Explain the concept of packages and interfaces ? (8)


ii)Packages

In the UML, the package is a general purpose mechanism for organizing modeling elements into
groups.
You use packages to arrange your modeling elements into larger chunks that you can manipulate
as a group. You can control the visibility of these elements so that some things are visible outside
the package while others are hidden. You can also use packages to present different views of
your system's architecture. Well-structured packages are therefore loosely coupled and very
cohesive, with tightly controlled access to the package's contents.

OWNED ELEMENTS
A package may own other elements, including classes, interfaces, components,
nodes,collaborations, use cases, diagrams, and even other packages. Owning is a composite
relationship, which means that the element is declared in the package. If the package is
destroyed, the element is destroyed. Every element is uniquely owned by exactly one package.
Visibility
You can control the visibility of the elements owned by a package just as you can control the
visibility of the attributes and operations owned by a class. Typically, an element owned by a
package is public, which means that it is visible to the contents of any package that imports the
element's enclosing package. Conversely, protected elements can only be seen by children, and
private elements cannot be seen outside the package in which they are declared. In Figure
OrderForm is a public part of the package Client, and Order is a private part. A package
that imports Client can see OrderForm, but it cannot see Order. As viewed from the
outside, the fully qualified name of OrderForm would be Client::OrderForm.
Importing and Exporting
The public parts of a package are called its exports. For example, in Figure, the package GUI
exports two classes, Window and Form. EventHandler is not exported by
GUI;EventHandler is a protected part of the package.
The parts that one package exports are visible only to the contents of those packages that
explicitly import the package. In this example, Policies explicitly imports the package GUI.
GUI::Window and GUI::Form are therefore made visible to the contents of the package

Policies.
INTERFACES

Interfaces define a line between the specification of what an abstraction does and the
implementation of how that abstraction does it. An interface is a collection of operations that are
used to specify a service of a class or a component.

Relationships
Like a class, an interface may participate in generalization, association, and dependency
relationships. In addition, an interface may participate in realization relationships. Realization is a
semantic relationship between two classifiers in which one classifier specifies a contract that
another classifier guarantees to carry out.

REALIZATION

Refer qstn no 7 of mod 2 for additional details


(b)Describe the concept of modeling object structures? (7)
Object diagrams model the instances of things contained in class diagrams. An object
diagram shows a set of objects and their relationships at a point in time.
Object diagrams commonly contain
Objects
Links

Steps To model object structures


 Identify the mechanism you'd like to model. A mechanism represents some function or
behavior of the part of the system you are modeling that results from the interaction of a
society of classes, interfaces, and other things.
For each mechanism, identify the classes, interfaces, and other elements that participate
in this collaboration; identify the relationships among these things, as well.
Consider one scenario that walks through this mechanism. Freeze that scenario at a
moment in time, and render each object that participates in the mechanism.
Expose the state and attribute values of each such object, as necessary, to understand
the scenario.
Similarly, expose the links among these objects, representing instances of associations
among them.

For Eg shows a set of objects drawn from the implementation of an autonomous robot. This
figure focuses on some of the objects involved in the mechanism used by the robot to
calculate a model of the world in which it moves. There are many more objects involved in a
running system, but this diagram focuses on only those abstractions that are directly involved
in creating this world view.
5(a)Briefly explain the basic building blocks of UML with notations? (10)
• UML is a standard language for writing software blueprints.

• It is a language used to visualize, specify ,construct and document the artifacts of


a software intensive system
• UML composed 3 building blocks:

1) Things
2)Relationships
3) Diagrams
UML Things partitioning
1) Structural things:-The nouns of uml model such as
class, interface, use case, collaboration, active class, component, node etc

Give notation of each thing

2)Grouping things:-organizational parts of UML models.


• Boxes into which a model can be decomposed.
• Package-mechanism for organizing elements into groups.

Give notation of each thing

3) Behavioral things:-The verb of a uml model such as interaction , activities,


state machine.
Two primary kinds
• 1)Interaction-a behaviour that comprises a set of messages exchanged
among a set of objects within a particular context to accomplish a specific
purpose.
• 2) state machine is a behavior that specifies the sequences of states an
object or an interaction goes through during its lifetime in response to
events, together with its responses to those events.

Give notation of each thing

4) Annotational things- explanatory parts of UML models. Eg-comments


Give notation of each thing

Relationships in the UML


• Relationships allow you to show on a model how two or more things relate to
each other
• Relationships apply to the structural and grouping things in a model

Give any example for each relationship

DIAGRAMS IN THE UML


1. Class diagram
2. Object diagram
3. Use case diagram
4. Sequence diagram
5. Collaboration diagram
6. Statechart diagram
7. Activity diagram
8. Component diagram
9. Deployment diagram

(b)Write short note on realization relationship. (5)


Refer qstn no 3.b of essay qstns
6.(a)Explain the concept of packages and instances in detail. (8)
Refer qstn no 4.a of essay qstns

(b)Briefly explain features of class diagram with example. (7)


Refer qstn no 1. of essay qstns
8.Describe the features of ‘Advanced classes’? (15)

Class diagram :Shows a set of classes, interfaces and collaborations and their
relationships.
To model static design view of the system.
Contents:
 Classes
 Interfaces
 Collaborations
 Dependency, Generalization and association relationships.

Advancedclasses
Classifiers: a mechanism that describes structural and behavioral features.
It includes classes,interfaces,datatypes,signals,components,nodes,usecases and
subsystems

…………….briefly summarize various classifiers

Visibility: Visibility of a feature specifies whether it can be used by other


classifiers.

Explain--- public ,private and protected


Expalin Abstract, Root, Leaf, and Polymorphic Elements

Multiplicity of a class

ExplainTemplate Classes
Module3

1.Explain the UML notations for 1)Events 2)Threads?


EVENTS
 "Things that happen" are called events, and each one represents the
specification of a significant occurrence that has a location in time and space.
 In the context of state machines, you use events to model the occurrence of a
stimulus that can trigger a state transition.
 Events may include signals, calls, the passing of time, or a change in state. Events
may be synchronous or asynchronous, so modeling events is wrapped up in the
modelling of processes and threads

Kinds of Events
 Events may be external or internal. External events are those that pass between the
system and its actors. For example, the pushing of a button and an interrupt from a
collision sensor are both examples of external events.

 Internal events are those that pass among the objects that live inside the system. An
overflow exception is an example of an internal event.
Signals
 A signal represents a named object that is dispatched (thrown) asynchronously by one
object and then received (caught) by another.
 Exceptions are supported by most contemporary programming languages and are the
most common kind of internal signal that you will need to model.
 A signal may be sent as the action of a state transition in a state machine or the sending
of a message in an interaction. The execution of an operation can also send signals.
2.Discuss the relationships used in the use case diagram?
Relationships in usecase diagram
Dependency, generalization, and association relationships
 Generalization
 child use case inherits the behavior and meaning of the parent use case
 In a banking system the use case Validate User, might then have two specialized
children of this use case (Check password andRetinal scan),
 An include relationship between use cases means that the base use case
explicitly incorporates the behavior of another use case at a location specified in
the base.
 the base use case pulling behavior from the supplier use case
 An extend relationship between use cases means that the base use case
implicitly incorporates the behavior of another use case at a location specified
indirectly by the extending use case.

3.What is meant by procedural and flat sequences?


Sequencing

When an object passes a message to another object (in effect, delegating some
action to the
receiver), the receiving object might in turn send a message to another object, which
might send
a message to yet a different object, and so on.
Procedural sequence
Most commonly, you can specify a procedural or nested flow of control, rendered using a
filled
solid arrowhead, as Figur shows. In this case, the message findAtis specified as the
first message nested in the second message of the sequence (2.1).

Flat Sequence
Flat flow of control rendered using a stick arrowhead, to model the nonprocedural
progression of control from step to step. In this case, the message assertCall is specified as
the second message in the sequence.

We use flat sequences only when modelling interactions in the context of use
cases that involve the system as a whole, together with actors outside the system
4.Write short note on activity diagrams?
 Activity diagrams are one of the five diagrams in the UML for modeling
the dynamic aspects of systems. An activity diagram is essentially a
flowchart, showing flow of control from activity to activity.
 You use activity diagrams to model the dynamic aspects of a system. For
the most part, this involves modeling the sequential (and possibly
concurrent) steps in a computational process.
 With an activity diagram, you can also model the flow of an object as it
moves from state to state at different points in the flow of control.
Activity diagrams may stand alone to visualize, specify, construct, and
document the dynamics of a society of objects, or they may be used to
model the
flow of control of an operation.

5.Write short notes on Use case diagram ?


 Use case diagrams are central to modeling the behavior of a system, a
subsystem, or a class.
 Each one shows a set of use cases and actors and their relationships.
 You apply use case diagrams to model the use case view of a system
 For the most part, this involves modeling the context of a system, subsystem, or
class, or modeling the requirements of the behavior of these elements.
 Use case diagrams are important for visualizing, specifying, and documenting the
behavior of an element
 Use case diagrams commonly contain
 Use cases
 Actors
 Dependency, generalization, and association relationships
COMMON USES
 1. To model the context of a system
 2. To model the requirements of a system
6.Comment on events and signals?Explain kinds of events and signals?
 An event is the specification of a significant occurrence that has a location in
time and space. Inthe context of state machines, an event is an occurrence of a
stimulus that can trigger a state transition.
Kinds of Events
 Events may be external or internal. External events are those that pass
between the system and its actors. For example, the pushing of a button and an
interrupt from a collision sensor are both examples of external events.
 Internal events are those that pass among the objects that live inside the
system. An overflow exception is an example of an internal event.
Signals
 A signal is a kind of event that represents the specification of an asynchronous
stimulus communicated between instances. The creation and destruction of
objects are also kinds of signals.In the UML, you can model four kinds of
events: signals, calls, the passing of time, and a change in state.
 A signal may be sent as the action of a state transition in a state machine or
the sending of a message in an interaction. The execution of an operation can
also send signals. In fact, when you model a class or an interface, an important
part of specifying the behavior of that element is specifying the signals that its
operations can send.
7.Briefly explain state machine along with an example?
A state machine is a behavior that specifies the sequences of states an object goes
through during its lifetime in response to events, together with its responses to those
events.An event is the specification of a significant occurrence that has a location in
time and space.
Uses of state machines
A state machine describes the dynamic aspects of an object whose current behavior
depends on its past. A state machine in effect specifies the legal ordering of states
an object may go through during its lifetime
Common Modeling Techniques
To Model the Lifetime of an Object

Explain steps

For example, Figure shows the state machine for the controller in a home security
system,which is responsible for monitoring various sensors around the perimeter of the house.

8.Describe advanced features of state machines?


A state machine is a behavior that specifies the sequences of states an object goes
through during its lifetime in response to events, together with its responses to
those events.An event is the specification of a significant occurrence that has a
location in time and space
States
A state is a condition or situation during the life of an object during which it satisfies
some condition, performs some activity, or waits for some event. An object remains in a
state for a finite amount of time.
Transitions
A transition is a relationship between two states indicating that an object in the first
state will perform certain actions and enter the second state when a specified event
occurs and specified conditions are satisfied

Advanced States and Transitions


Entry and Exit Actions
In the symbol for the state,you can include an entry action (marked by the keyword
event entry) and an exit action (marked by the keyword event exit), together with an
appropriate action. Whenever you enter the state,its entry action is dispatched;
whenever you leave the state, its exit action is dispatched.

Internal Transitions
Once inside a state, you'll encounter events you'll want to handle without leaving the
state. These are called internal transitions, and they are subtly different from self-
transitions. Whenever you are in the state and that event is triggered, the
corresponding action is dispatched without leaving and then reentering the state.
Therefore, the event is handledwithout dispatching the state's exit and then entry
actions.
Deferred Events
A deferred event is a list of events whose occurrence in the state is postponed until a
state in which the listed events are not deferred becomes active, at which time they
occur and may trigger transitions as if they had just occurred.
Substates
A substate is a state that's nested inside another one. For example, a Heater might be in the
Heating state, but also while in the Heating state, there might be a nested state called
Activating. In this case, it's proper to say that the object is both Heating and Activating
9.How do we model threads and signals in UML?
 In the UML, you model each independent flow of control as an active object that
represents a process or thread that can initiate control activity.
 A process is a heavyweight flow that can execute concurrently with other processes; a thread
is a lightweight flow that can execute concurrently with other threads within the same
process.
 In the UML, each independent flow of control is modeled as an active object. An active
object is a process or thread that can initiate control activity .
 an active object is an instance of an active class.
 Also as for every kind of object, active objects can communicate with one another by
passing messages
 More often, THREAD is hidden inside a heavier-weight process and runs inside the
address space of the enclosing process. In Java, for example, a thread is a child of the
class Thread.
 All the threads that live in the context of a process are peers of one another, contending
for the same resources accessible inside the process.
 Threads are never nested inside one another.

 ACTIVE CLASSES
 You use active classes to model common families of processes or threads. In technical
terms, this means that an active object• an instance of an active class• reifies (is a
manifestation of) a
process or thread.

Communication

10.Draw the sequence diagram corresponding to telephone


conversation,assuming 3 classes ; ,callee andphone line?
Essay questions
1.What is a usecase diagram?What are the common uses of usecase
diagram?Draw the usecase diagram of credit card validation system? (15)

Use case Diagrams


Use case diagrams are one of the five diagrams in the UML for modeling the dynamic aspects
of

systems (activity diagrams, statechart diagrams, sequence diagrams, and collaboration


diagrams
are four other kinds of diagrams in the UML for modeling the dynamic aspects of
systems). Use
case diagrams are central to modeling the behavior of a system, a subsystem, or a class.
Each
one shows a set of use cases and actors and their relationships.
You apply use case diagrams to model the use case view of a system. For the most
part, this
involves modeling the context of a system, subsystem, or class, or modeling the
requirements of the behavior of these elements.
Use case diagrams are important for visualizing, specifying, and documenting the
behavior of an
element. They make systems, subsystems, and classes approachable and
understandable by
presenting an outside view of how those elements may be used in context. Use case
diagrams
are also important for testing executable systems through forward engineering and for
comprehending executable systems through reverse engineering.

A use case diagram is a diagram that shows a set of use cases and actors and
their
relationships.
Use case diagrams commonly contain
· Use cases
· Actors
· Dependency, generalization, and association relationships
Like all other diagrams, use case diagrams may contain notes and constraints.
COMMON USES
You apply use case diagrams to model the static use case view of a system. This view
primarily
supports the behavior of a system• the outwardly visible services that the system
provides in the
context of its environment.
When you model the static use case view of a system, you'll typically apply use case
diagrams in
one of two ways.
1. To model the context of a system
Modeling the context of a system involves drawing a line around the whole system and
asserting
which actors lie outside the system and interact with it.Here, you'll apply use case
diagrams to
specify the actors and the meaning of their roles.
To model the context of a system,
 Identify the actors that surround the system by considering which groups require
help
from the system to perform their tasks; which groups are needed to execute the
system's
functions; which groups interact with external hardware or other software
systems; and
which groups perform secondary functions for administration and maintenance.
 Organize actors that are similar to one another in a
generalization/specializationhierarchy.
Where it aids understandability, provide a stereotype for each such actor.
 Populate a use case diagram with these actors and specify the paths of
communication
from each actor to the system's use cases.

For example, Figure shows the context of a credit card validation system, with an
emphasis on the actors that surround the system. You'll find Customers, of which there
are two kinds (Individual customer and Corporate customer). These actors are the roles
that humans play when interacting with the system. In this context, there are also actors
that represent other institutions, such as Retail institution (with which a Customer
performs a card transaction to buy an item or a service) and Sponsoring financial
institution (which serves as the clearinghouse for the credit card account)

2. To model the requirements of a system


 Establish the context of the system by identifying the actors that
surround it.
 For each actor, consider the behavior that each expects or requires the
system to provide.
 Name these common behaviors as use cases.
 Factor common behavior into new use cases that are used by others;
factor variant
behavior into new use cases that extend more main line flows.
 Model these use cases, actors, and their relationships in a use case
diagram.
 Adorn these use cases with notes that assert nonfunctional requirements; you
may have to attach some of these to the whole system.
Use case diagram of credit card validation

2.What are the notations used in activity diagram?What are its common
uses ?How is activity diagram different from state chart diagram? (15)
Activity diagrams are one of the five diagrams in the UML for modeling the dynamic
aspects of systems. An activity diagram is essentially a flowchart, showing flow of
control from activity to
activity.For the most part, this involves modeling the sequential (and possibly
concurrent) steps in a computational process.

An activity diagram shows the flow from activity to activity. Activity diagrams
commonly contain
· Activity states and action states
· Transitions
· Objects
Action States give any example

Activity States giv e any eg

Triggerless Transitions

Forking and Joining

A fork may have one incoming transition and two or more outgoing transitions, each of
which represents an independent flow of control. a join represents the synchronization
of two or more concurrent flows of control. A join may have two or more incoming
transitions and one outgoing transition. Above the join, the activities associated with
each of these paths continues in parallel.
Common uses

1. To model a workflow
Explain the steps

2. To model an operation
Explain the steps

ACTIVITY DIAGRAM VS STATE CHART DIAGRAM


 A statechart diagram shows a state machine.
 An activity diagram is a special case of a statechart diagram in which all or most of the
states are activity states and all or most of the transitions are triggered by completion of
activities in the source state.
 Thus, both activity and statechart diagrams are useful in modeling the lifetime of an
object.
 However, whereas an activity diagram shows flow of control from activity to activity, a
statechart diagram shows flow of control from state to state.
3. a) How we can model a flow of control in behavioural modeling? (8)
An interaction is a behavior that comprises a set of messages exchanged among
a
set of objects within a context to accomplish a purpose.You use interactions to model
the dynamic aspect of collaborations, representing societies of objects playing specific
roles, all working together to carry out some behavior that's bigger than
the sum of the elements

You can visualize those objects and messages involved in an interaction in two ways: by
emphasizing the time ordering of its messages, and by emphasizing the structural
organization of the objects that send and receive messages.
 In the UML, the first kind of representation is called a sequence diagram; the
second kind of representation is called a collaboration diagram.
 Both sequence diagrams and collaboration diagrams are kinds of interaction
diagrams.
To model a flow of control,
· Set the context for the interaction, whether it is the system as a whole, a class, or an
individual operation.
· Set the stage for the interaction by identifying which objects play a role; set their
initial
properties, including their attribute values, state, and role.
· If your model emphasizes the structural organization of these objects, identify the
links
that connect them, relevant to the paths of communication that take place in this
interaction. Specify the nature of the links using the UML's standard stereotypes and
constraints, as necessary.
· In time order, specify the messages that pass from object to object. As necessary,
distinguish the different kinds of messages; include parameters and return values to
convey the necessary detail of this interaction.
· Also to convey the necessary detail of this interaction, adorn each object at every
moment in time with its state and role.
FLOW OF CONTROL BY TIME
Modeling Flows of Control by Organization(Collaboration diagram)

b) Write short note on actors and usecases? (7)


 A use case describes a set of sequences, in which each sequence
represents the interaction of the things outside the system (its actors) with the
system itself (and its key abstractions).
 A use case represents a functional requirement of your system as a whole. For
example, one central use case of a bank is to process loans.
Actors
 An actor represents a coherent set of roles that users of use cases play when
interacting with these use cases. Typically, an actor represents a role that a
human, a hardware device, or even another system plays with a system. For
example, if you work for a bank, you might be a LoanOfficer.

4. a) With suitable example explain the concept of interaction diagrams 8)


Interaction diagram is the collective name given to sequence diagrams and collaboration
diagrams. All sequence diagrams and collaborations are interaction diagrams, and an
interaction diagram is either a sequence diagram or a collaboration diagram
 .An interaction diagram shows an interaction, consisting of a set of objects and
their relationships, including the messages that may be dispatched among them.
A sequence diagram is an interaction diagram that emphasizes the time ordering
of messages; a collaboration diagram is an interaction diagram that emphasizes
the structural organization of the objects that send and receive messages.
 You use interaction diagrams to model the dynamic aspects of a system. For the most
part, this involves modeling concrete or prototypical instances of classes, interfaces,
components, and
nodes, along with the messages that are dispatched among them, all in the context of
a scenario
that illustrates a behavior.
SEQUENCE DIAGRAM
 A sequence diagram emphasizes the time ordering of messages.
Collaboration Diagrams

A collaboration diagram emphasizes the organization of the objects that participate in an


Interaction.

b) Explain various parts of transitions in state machine? (7)


A state machine is a behavior that specifies the sequences of states an object goes
through during its lifetime in response to events, together with its responses to those
events.We use state machines to model the dynamic aspects of a system.

A transition is a relationship between two states indicating that an object in the first
state will perform certain actions and enter the second state when a specified event
occurs and specified conditions are satisfied. A transition is rendered as a solid directed
line.
Transitions
A transition is a relationship between two states indicating that an object in the first
state will
perform certain actions and enter the second state when a specified event occurs and
specified
conditions are satisfied. On such a change of state, the transition is said to fire. Until the
transition
fires, the object is said to be in the source state; after it fires, it is said to be in the target
state. For
example, a Heater might transition from the Idle to the Activating state when an event
such
as tooCold (with the parameter desiredTemp) occurs.
A transition has five parts.
1. Source state -The state affected by the transition; if an object is in the source state,
an outgoing
transition may fire when the object receives the trigger event of the transition and if
the guard condition, if any, is satisfied
2. Event trigger -The event whose reception by the object in the source state makes the
transition
eligible to fire, providing its guard condition is satisfied
3. Guard condition A Boolean expression that is evaluated when the transition is
triggered by the
reception of the event trigger; if the expression evaluates True, the transition is
eligible to fire; if the expression evaluates False, the transition does not fire and if
there is no other transition that could be triggered by that same event, the event is
lost
4. Action An executable atomic computation that may directly act on the object that
owns the
state machine, and indirectly on other objects that are visible to the object
5. Target state -The state that is active after the completion of the transition

Advanced States and Transitions

5.Explain with examples the types of interaction diagrams?Also state their


common uses? (15)
Refer qstn no 4.a and 3.a
COMMON USES
• Modeling flows of control by time ordering
• Modeling flows of control by organization
• Forward and reverse engineering

6.Explain the use of activity diagrams and swimlane diagrams for


modeling object oriented systems with suitable examples? (15)
Refer qstn no 2
Swimlanes
 Swimlanes are useful when you are modeling workflows of business processes, to
partition the activity states on an activity diagram into groups, each group representing
the business organization responsible for those activities.
 In the UML, each group is called a swimlane because, visually, each group is
divided from its neighbor by a vertical solid line

7. (a) Examine the various steps required for modeling Inter


Process
Communication (10)
In the UML, you model each independent flow of control as an active object that represents a
process or thread that can initiate control activity.
A process is a heavyweight flow that can execute concurrently with other
processes; a thread is a lightweight flow that can execute concurrently with other
threads within the same process.
In the UML, each independent flow of control is modeled as an active object. An active object is
a
process or thread that can initiate control activity. As for every kind of object, an active object is
an instance of a class. In this case, an active object is an instance of an active class. Also as for
every kind of object, active objects can communicate with one another by passing messages,
although here, message passing must be extended with certain concurrency semantics, to help
you to synchronize the interactions among independent flows.

An active object is an object that owns a process or thread and can initiate control
activity. An active class is a class whose instances are active objects. A process is a
heavyweight flow that can execute concurrently with other processes. A thread is a lightweight
flow that can execute
concurrently with other threads within the same process. Graphically, an active class is rendered
as a rectangle with thick lines. Processes and threads are rendered as stereotyped active classes
(and also appear as sequences in interaction diagrams).
ACTIVE CLASS

Modeling Interprocess Communication


The problem of interprocess communication is compounded by the fact that, in
distributed
systems, processes may live on separate nodes. Classically, there are two approaches to
interprocess communication: message passing and remote procedure calls. In the UML,
you still
model these as asynchronous or synchronous events, respectively. But because these
are no
longer simple in-process calls, you need to adorn your designs with further information.
To model interprocess communication,
 Model the multiple flows of control.
 Consider which of these active objects represent processes and which represent
threads.
Distinguish them using the appropriate stereotype.
 Model messaging using asynchronous communication; model remote procedure
calls
using synchronous communication.
 Informally specify the underlying mechanism for communication by using notes,
or more
formally by using collaborations.
Figure shows a distributed reservation system with processes spread across four nodes.
Each object is marked using the process stereotype. Each object is also marked with a
location tagged value, specifying its physical location. Communication among the
ReservationAgent, TicketingManager, and HotelAgent is asynchronous. Modeled with
a note, communication is described as building on a Java Beans messaging service.
Communication between the TripPlanner and the ReservationSystem is synchronous.
The
semantics of their interaction is found in the collaboration named CORBA ORB. The
TripPlanner acts as a client, and the ReservationAgent acts as a server.

Module4

1. Explain the term interfaces and components in the context of


architectural modeling?
Components
A component is a physical and replaceable part of a system that conforms to and
provides the realization of a set of interfaces. You use components to model the
physical things that may reside on a node, such as executables, libraries, tables, files,
and documents.
Components and Interfaces
All the most common component-based operating system facilities (such as COM+, CORBA, and
Enterprise Java Beans) use interfaces as the glue that binds components together. An interface
that a component realizes is called an export interface, meaning an interface that the
component provides as a service to other components. A component may provide many export
interfaces. The interface that a component uses is called an import interface, meaning an
interface that the component conforms to and so builds on. A component may conform to many
import interfaces. Also, a component may both import and export interfaces.

2.Write a short note on Frameworks in architectural modeling?


Frameworks
A framework is an architectural pattern that provides an extensible template for applications
within a domain. For example, one common architectural pattern you'll encounter in real time
systems is a cyclic executive, which divides time into frames and subframes, during which
processing takes place under strict deadlines. Choosing this pattern versus its alternative (an
even-driven architecture) colors your entire system. Because this pattern (and its alternative) is
so common, it makes sense to name it as a framework.

In the UML, you model a framework as a stereotyped package. Zoom inside that package,
and
you'll see mechanisms that live in any of various views of a system's architecture
Figure illustrates such a framework, named CyclicExecutive. Among other things, this
framework includes a collaboration (CommonEvents) encompassing a set of event classes, along
with a mechanism (EventHandler) for processing these events in a cyclic fashion. A client that
builds on this framework (such as Pacemaker) could build on the abstractions in CommonEvents
via subclassing and could also apply an instance of the EventHandler mechanism.
Briefly Explain the steps
3.Distinguish design frameworks and design patterns
A pattern provides a common solution to a common problem in a given context.
You use patterns to specify mechanisms and frameworks that shape the architecture of your
system. In the UML, you will typically model design patterns• also called mechanisms• which
you can represent as collaborations. Similarly, you will typically model architectural patterns as
frameworks, which you can represent as stereotyped packages.The UML provides a graphical
representation for both kinds of patterns.
A mechanism is a design pattern that applies to a society of classes.

A framework is an architectural pattern that provides an extensible template for


applications within a domain .

Modeling Design Patterns

Briefly Explain the steps


Give any example-

Frameworks
In the UML, you model a framework as a stereotyped package. Zoom inside that package,
and you'll see mechanisms that live in any of various views of a system's architecture
Briefly Explain the steps
4.List the common uses of component diagram?
 Modeling Executables and Libraries
 Modeling Tables, Files, and Documents
 Modeling an API
 Modeling Source Code
 Modeling source code
· Modeling executable releases
· Modeling physical databases
· Modeling adaptable systems
· Forward and reverse engineering

5.What are design paterns?How are they useful for a designer?

 A pattern is a common solution to a common problem in a given


context. A mechanism is a design pattern that applies to a society of
classes.
 A framework is an architectural pattern that provides an extensible
template for applications within a domain.
 In all well-structured systems, you'll find lots of patterns at various
levels of abstraction.
 Design patterns specify the structure and behavior of a society of
classes; architectural patterns specify the structure and behavior of
an entire system.
 Patterns are part of the UML simply because patterns are important
parts of a developer's vocabulary. By making the patterns in your
system explicit, you make your system far more understandable and
easier to evolve and maintain.
 Patterns help you to visualize, specify, construct, and document the
artifacts of a software intensive system.
 You can forward engineer a system by selecting an appropriate set
of patterns and applying them to the abstractions specific to your
domain.
 You can also reverse engineer a system by discovering the patterns it
embodies, although that's hardly a perfect process.
 In practice, there are two kinds of patterns of interest• design
patterns and frameworks and the UML provides a means of modeling
both.

Modeling Design Patterns

Briefly explain the steps


Give any example-

6.Describe deployment diagram and state is common uses?


Deployment diagrams are one of the two kinds of diagrams used in modeling the physical
aspects of an object-oriented system. A deployment diagram shows the configuration of run time
processing nodes and the components that live on them.
Deployment diagrams commonly contain
Nodes
Dependency and association relationships
Common Uses
 To model embedded systems

 To model client/server systems


 To model fully distributed systems

7.Explain the advantages of using an ADL?


Architecture Description Languages (ADLs) are computer languages
describing the software and hardware architecture of a system. The
description may cover software features such as processes, threads, data,
and subprograms as well as hardware component such as processors,
devices, buses, and memory. The connections between the components
can be described in logical as well as physical terms.
Most ADLs have some common features:
• They have a graphical syntax as well a formally defined syntax and
semantics.
• They often have features for modeling distributed systems.
• Little support for capturing design information, except through general
purpose annotation mechanisms
• They often have ability to represent hierarchical levels of detail including
the creation of substructures by instantiating templates.
ADVANTAGES
· One advantage is that they are designed to represent architectures in a
formal way.
· Another advantage is that they often are designed to be readable to both
human and machines.
8.How RUP is different from water fall model?
Waterfall
· Waterfall programming is a highly structured process that relies heavily on up-
front planning and a set of sequential, prescribed steps that flow into each other
like a waterfall.
· Each step typically has its own team of experts and carefully scripted milestones
and no step can begin until the previous step has been completed.
· The goal is to gather all your detailed requirements early in the process and
provide a single complete solution with results that are highly predictable.
Typically the steps in Waterfall development are:
· Requirements and specifications gathering
· Software design
· Coding
· Integration
· Testing and debugging
· Installation
· Maintenance

RUP

Like Waterfall, the Rational Unified Process (RUP), originated by Rational Software and

later by IBM, is also process heavy, but is an iterative approach that takes into account

the need to accommodate change and adaptability during the development process.

Like Waterfall, RUP has a series of phases and milestones that flow into each other.

Phases consist of:

1. Inception, where the project's scope, estimated costs, risks, business case,

environment and architecture are identified.

2. Elaboration, where requirements are specified in detail, architecture is

validated, the project environment is further defined and the project team is
configured.

3. Construction, where the software is built and tested and supporting

documentation is produced.

4. Transition, where the software is system tested, user tested, reworked and

deployed.
Essay questions
1)With suitable example explain collaboration diagram & component
Diagram? (15)
COLLABORATION
A collaboration names a society of classes,interfaces, and other elements that work together to
provide some cooperative behavior that's bigger than the sum of all its parts.
You use collaborations to specify the realization of use cases and operations, and to model the
architecturally significant mechanisms of your system

Briefly explain Structural Aspects of a Collaboration

Briefly explain Behavioral Aspects of a Collaboration

Common Modeling Technique


1) Modeling the Realization of a Use Case
Explain steps and give any example
2) Modeling the Realization of an Operation
Explain steps and give any example

COMPONENT DIAGRAM
Component diagrams are one of the two kinds of diagrams found in modeling the physical
aspects of object-oriented systems. A component diagram shows the organization and
dependencies among a set of components.

Component diagrams commonly contain


Components
Interfaces
 Dependency, generalization, association, and realization relationships

Common Uses
1. To model source code
With most contemporary object-oriented programming languages, you'll cut code using integrated
development environments that store your source code in files. You can use component
diagrams to model the configuration management of these files, which represent work-product
components.

Explain the steps

2. To model executable releases


A release is a relatively complete and consistent set of artifacts delivered to an internal or
external user. In the context of components, a release focuses on the parts necessary to deliver a
running system.
.
Explain the steps

3. To model physical databases


Think of a physical database as the concrete realization of a schema, living in the world of bits.
Schemas, in effect, offer an API to persistent information; the model of a physical database
represents the storage of that information in the tables of a relational database or the pages of an
object-oriented database. You use component diagrams to represent these and other kinds of
physical databases.

Explain the steps

4. To model adaptable systems


Some systems are quite static; their components enter the scene, participate in an execution, and
then depart. Other systems are more dynamic, involving mobile agents or components that
migrate for purposes of load balancing and failure recovery. You use component diagrams in
conjunction with some of the UML's diagrams for modeling behavior to represent these kinds of
systems.

Explain the steps

2) Write notes on (i) Software Architecture (ii) Architecture description


language? (15)
4. (a) Summarize Rational Unified process (RUP)? (10)
The Rational Unified Process captures some of the best current software
development practices in a form that is tailorable for a wide range of projects and
organizations.On the management side, the Rational Unified Process provides a
disciplined approach on how to assign tasks and responsibilities within a software
development organization.
Characteristics of the Process
The Rational Unified Process is an iterative process
The Rational Unified Process's activities emphasize the creation and maintenance of models
rather than paper documents
Development under the Rational Unified Process is architecture-centric. The process focuses on
the early development and baselining of a software architecture
Development activities under the Rational Unified Process are use case_ driven
The Rational Unified Process supports object-oriented techniques
The Rational Unified Process is a configurable process
The Rational Unified Process encourages objective ongoing quality control and risk
management.
Phases and Iterations
A phase is the span of time between two major milestones of the process in which a well-defined
set of objectives are met, artifacts are completed, and decisions are made whether to move into
the next phase.
An iteration represents a complete development
cycle, from requirements capture in analysis to implementation and testing, that results in the
release of an executable project
Process Workflows
The Rational Unified Process consists of nine process workflows.

Artifacts
Models-List Few models
 Business model - Establishes an abstraction of the organization
 Domain model - Establishes the context of the system
 Use case model -Establishes the system's functional requirements
Other Artifacts
The Rational Unified Process's artifacts are categorized as either management artifacts or
technical artifacts. The Rational Unified Process's technical artifacts may be divided into four
main sets.
1. Requirements set -Describes what the system must do
2. Design set- Describes how the system is to be constructed
3. Implementation set -Describes the assembly of developed software components4.
Deployment set - Provides all the data for the deliverable configuration
(b) Distinguish design frameworks and design patterns (5)
Refer qstn no 3 and 5 (short ans qstn)

5.Which diagrams are used in UML Architectural modeling? Explain with


examples? (15)
Explain Component diagram,Collaboration and deployment diagram.

6.Discuss the various phases of the unified process of software


development? (15)
Phases and Iterations
A phase is the span of time between two major milestones of the process in which a well-defined
set of objectives are met, artifacts are completed, and decisions are made whether to move into
the next phase.
An iteration represents a complete development
cycle, from requirements capture in analysis to implementation and testing, that results in the
release of an executable project

Phases
Inception
During the inception phase, you establish the business case for the system and delimit the
project's scope. The business case includes success criteria, risk assessment, estimates of the
resources needed, and a phase plan showing a schedule of major milestones. During inception,
it's common to create an executable prototype that serves as a proof of concept.
At the end of the inception phase, you examine the life cycle objectives of the project and decide
whether to proceed with full-scale development.
Elaboration
The goals of the elaboration phase are to analyze the problem domain, establish a sound
architectural foundation, develop the project plan, and eliminate the highest risk elements of the
project. Architectural decisions must be made with an understanding of the whole system. This
implies that you describe most of the system's requirements. To verify the architecture, you
implement a system that demonstrates the architectural choices and executes significant use
cases.
At the end of the elaboration phase, you examine the detailed system objectives and scope, the
choice of architecture, and the resolution of major risks, and decide whether to proceed with
construction.
Construction
During the construction phase, you iteratively and incrementally develop a complete product that
is ready to transition to its user community. This implies describing the remaining requirements
and acceptance criteria, fleshing out the design, and completing the implementation and test of
the software.
At the end of the construction phase, you decide if the software, sites, and users are all ready to
go operational.
Transition
During the transition phase, you deploy the software to the user community. Once the system has
been put into the hands of its end users, issues often arise that require additional development in
order to adjust the system, correct some undetected problems, or finish some features that have
been postponed. This phase typically starts with a beta release of the system, which is then
replaced with the production system.
At the end of the transition phase, you decide whether the life cycle objectives of the project have
been met and determine if you should start another development cycle. This is also a point at
which you wrap up the lessons learned on the project in order to improve your development
process, which will be applied to the next project.
Iterations
Each phase in the Rational Unified Process can be further broken down into iterations. An
iteration is a complete development loop resulting in a release (internal or external) of an
executable product constituting a subset of the final product under development, which then is
grown incrementally from iteration to iteration to become the final system. Each iteration goes
through the various process workflows, although with a different emphasis on each process
workflow, depending on the phase. During inception, the focus is on requirements capture. During
elaboration, the focus turns toward analysis and design. In construction, implementation is the
central activity, and transition centers on deployment.
7.a)State and xplain the different architectural views (7)
SOFTWARE ARCHITECTURE
A system's architecture is perhaps the most important artifact that
can be used to manage these different viewpoints and so control the iterative and
incremental
development of a system throughout its life cycle.
Architecture is the set of significant decisions about
· The organization of a software system
· The selection of the structural elements and their interfaces by which the system is
composed
· Their behavior, as specified in the collaborations among those elements
· The composition of these structural and behavioral elements into progressively larger
Subsystems
The architectural style that guides this organization: the static and dynamic elements
and
their interfaces, their collaborations, and their composition

ARCHITECTURAL VIEWS
The use case view of a system encompasses the use cases that describe the
behavior of the
system as seen by its end users, analysts, and testers. This view doesn't really specify the
organization of a software system. Rather, it exists to specify the forces that shape the
system's
architecture
The process view of a system encompasses the threads and processes that
form the system's concurrency and synchronization mechanisms. This view primarily
addresses the performance,scalability, and throughput of the system.
The implementation view of a system encompasses the components and
files that are used to assemble and release the physical system. This view primarily
addresses the configuration
management of the system's releases, made up of somewhat independent components
and filesthat can be assembled in various ways to produce a running system
The deployment view of a system encompasses the nodes that form the system's
hardware
topology on which the system executes. This view primarily addresses the distribution,
delivery,and installation of the parts that make up the physical system

b)Explain the structural and behavioural aspects of collaboration? (8)


 A collaboration diagram is an interaction diagram that emphasizes the
structural organization of the objects that send and receive messages.
 A collaboration diagram shows a set of objects, links among those objects, and
messages sent and received by those objects. The objects are typically named or
anonymous instances of classes, but may also represent instances of other things, such as
collaborations, components, and nodes. You use collaboration diagrams to illustrate the
dynamic view of a system.
Two aspects of collaborations
 Collaborations have two aspects: a structural part that specifies the
classes, interfaces, and other elements that work together to carry
out the named collaboration, and
 a behavioral part that specifies the dynamics of how those elements
interact.
Structural Aspects of a Collaboration.

Behavioral Aspects of a Collaboration


 The behavioral part of a collaboration is typically rendered using an
interaction diagram.
 An interaction diagram specifies an interaction that represents a
behavior comprised of a set of messages that are exchanged among
a set of objects within a context to accomplish a specific purpose
8)Explain in detail the characteristics and structure of unified process
framework(15)
The Architecture(STRUCTURE) of the RUP
The process itself has been designed using techniques similar to those for software
design. In particular, it has an underlying object-oriented model, using UML. Figure 2
shows the overall architecture of the Rational Unified Process.

Structure of RUP

The process has two structures or, if you prefer, two dimensions:
 The horizontal dimension represents time and shows the lifecycle aspects of the
process as it unfolds.
 The vertical dimension represents core process disciplines (or
workflows), which logically group software engineering activities by their
nature.

The first (horizontal) dimension represents the dynamic aspect of the


process expressed in terms of cycles, phases, iterations, and milestones.In the RUP, a
software product is designed and built in a succession of incremental iterations. This
allows testing and validation of design ideas,as well as risk mitigation, to occur earlier in
the lifecycle. The second (vertical) dimension represents the static aspect of the process
described in terms of process components: activities, disciplines, artifacts, and roles.
Refer qstn 4.a) and 6[Essay qstns] for additional details of RUP

Вам также может понравиться