SlideShare a Scribd company logo
Harsh Kishore Mishra
B.Tech. IT, IIMET Jaipur

                                     ABSTRACT

                  Admission Process Management System
Admission Process management system is computerized and convenient system. Since, the
present system is manual all the work is done in papers and ink by hand so it is much costly
and difficult to use and to operate and it is also time consuming. So our automated
computerized student admission process management system is much feasible, in cost, time,
and efforts as compare to the previous manual system.
          It is economically feasible, it will only require a single operator to operate the
system, who is responsible for entering the data into the database via a user interface
provided to him, who can also able to show all the data in html tabular form so to provide
information regarding the students who are either taken admission or to take admission, since
it requires only a single person to operate the whole system thus reduces the cost to operate
the system. It is technically feasible, since the whole system is designed into the latest
technologies like ASP.NET and MS Access and SQL Server which are the most recent
technologies to develop web based systems and design databases.
It uses the latest hardware technologies like P4 Systems so easy to operate. It is Behavioral
feasible, since the system is providing a attractive user interface to the operator/end user, so
he feel very easy to work onto it. Response to operator/end user is very fast and very good.
Since, as we mentioned above that it requires much less amount of cost, it uses computer
work so it is very fast to operate and it is very easy for user to work on it.




                                                                                                   1
Harsh Kishore Mishra
B.Tech. IT, IIMET Jaipur

1. Lab Objective

        •    What is UML
        •    Why the UML is necessary
        •    How to represent UML components in diagrams

2. Tool used

    •       EDRAW 5

3. Lab Description

       The Unified Modeling Language (UML) is a visual modeling language that enables
system builders to create blueprints that capture their visions in a standard, easy-to-understand
way, and provides a mechanism to effectively share and communicate these visions with others.

The purpose of the diagrams is to-

        1. Present multiple views of a system;
        2. This set of multiple views is called a model.
        3. UML model describes what a system is supposed to do.
        4. It doesn’t tell how to implement the system.


The Major nine Diagrams are:

        1. Class Diagram
        2. Object Diagram
        3. Use Case
        4. Sequence
        5. Collaboration
        6. State Chart
        7. Activity
        8. Component
        9. Deployment




                                                                                                    2
Harsh Kishore Mishra
B.Tech. IT, IIMET Jaipur

     Class Diagram –
       The UML Class diagram is a graphical notation used to construct and visualize object
oriented systems.

A UML class diagram is made up of:
   o A set of classes and
   o A set of relationships between classes

A class with three sections.
   • The upper part holds the name of the class
   • The middle part contains the attributes of the class
   • The bottom part gives the methods or operations the class can take or undertake

What is a class?

       A class in an object oriented system provides a crisp abstraction of a well defined set of
responsibilities. The class diagram is the main building block in object oriented modelling. It is
used both for general conceptual modelling of the systematics of the application, and for detailed
modelling translating the models into programming code. The classes in a class diagram
represent both the main objects and or interactions in the application and the objects to be
programmed

       A class is a category or group of things that have the same attributes and the same
behaviors. A rectangle is the icon that represents the class. It’s divided into three areas The
uppermost area contains the name, the middle area holds the attributes, and the lowest area holds
the operations. i.e. Anything in the class of washing machines has attributes such as brand name,
model, serial number, and capacity. Behaviors for things in this class include the operations
“accept clothes,” “accept detergent,” “turn on,” and “turn off.”




A class consists of three parts:
   Class Name:
    • The name of the class appears in the
       first partition.
   Class Attributes:
    • Attributes are shown in the second partition.
    • The attribute type is shown after the colon.
    • Attributes map onto member variables (data members)
    • in code.

                                                                                                     3
Harsh Kishore Mishra
B.Tech. IT, IIMET Jaipur

   Class Operations (Methods):
   • Operations are shown in the third partition.
      They are services the class provides.
   • The return type of a method is shown after the colon at the end of the method signature.
   • The return type of method parameters are shown after the colon following the parameter
      name.
   • Operations map onto class methods in code

Visibility and Access for attributes and operations of a class

The +, - and # symbols before an attribute and operation name in a class denote the visibility of
the attribute and operation.

       + denotes public attributes or operations
       - denotes private attributes or operations
       # denotes protected attributes or operations

We can observe that
    • attribute1 and op1 of MyClassName are public
    • attribute3 and op3 are protected.
    • attribute2 and op2 are private.




Relationships between classes

       A Link is the basic relationship among objects. It is represented as a line connecting two
or more object boxes. It can be shown on an object diagram or class diagram. A link is an
instance of an association. In other words, it creates a relationship between two classes.

A class may be involved in one or more relationships with other classes.


Inheritance (or Generalization)

• Represents an “is-a” relationship.
• An abstract class name is shown in
      italics.
• SubClass1 and SubClass2 are
      specializations of SuperClass.




                                                                                                    4
Harsh Kishore Mishra
B.Tech. IT, IIMET Jaipur

Association

       An association represents a family of links. Binary associations (with two ends) are
normally represented as a line, with each end connected to a class box. Higher order associations
can be drawn with more than two ends. In such cases, the ends are connected to a central
diamond.An association can be named, and the ends of an association can be adorned with role
names,    ownership      indicators,    multiplicity,  visibility,    and    other    properties.

• Simple association:
   o A structural link between two peer classes.
   o There is an association between Class1 and Class2




• Aggregation: Aggregation is a variant of the "has a" or 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.

Aggregation can occur when a class is a collection or container of other classes, but where the
contained classes do not have a strong life cycle dependency on the container—essentially, if the
container is destroyed, its contents are not.


A special type of association.
   It represents a “part-of” relationship.
    o Class2 is part of Class1.
    o Many instances (denoted by the *) of Class2 can be associated with Class1.
    o Objects of Class1 and Class2 have separate lifetimes




                                                                                                     5
Harsh Kishore Mishra
B.Tech. IT, IIMET Jaipur

• Composition: A special type of aggregation where parts are destroyed when the whole is
destroyed. Class diagram showing Composition between two classes at top and Aggregation
between two classes at bottom Composition is a stronger variant of the "owns a" or association
relationship; composition is more specific than aggregation.

Composition usually has a strong life cycle dependency between instances of the container class
and instances of the contained class(es): If the container is destroyed, normally every instance
that it contains is destroyed as well. (Note that a part can (where allowed) be removed from a
composite before the composite is deleted, and thus not be deleted as part of the composite.)

   o Objects of Class2 live and die with Class1.
   o Class2 cannot stand by itself.




Differences between Composition and Aggregation

When attempting to represent real-world whole-part relationships, e.g., an engine is part of a car,
the composition relationship is most appropriate. However, when representing a software or
database relationship, e.g., car model engine ENG01 is part of a car model CM01, an aggregation
relationship is best, as the engine, ENG01 may be also part of a different car model. Thus the
aggregation relationship is often called "catalog" containment to distinguish it from
composition's "physical" containment.


• Dependency:
   o Exists between two classes if changes to the definition of one may cause changes to the
     other (but not the other way around).
   o Class1 depends on Class2




                                                                                                      6
Harsh Kishore Mishra
B.Tech. IT, IIMET Jaipur

Class Level Relationships

   •   Generalization

       Class diagram showing generalization between one superclass and two subclasses The
Generalization relationship ("is a") indicates that one of the two related classes (the subclass) is
considered to be a specialized form of the other (the super type) and superclass is considered as
'Generalization' of subclass. In practice, this means that any instance of the subtype is also an
instance of the superclass.

An exemplary tree of generalizations of this form is found in binomial nomenclature: human
beings are a subclass of simian, which are a subclass of mammal, and so on. The relationship is
most easily understood by the phrase 'an A is a B' (a human is a mammal, a mammal is an
animal).

The UML graphical representation of a Generalization is a hollow triangle shape on the
superclass end of the line (or tree of lines) that connects it to one or more subtypes.

The generalization relationship is also known as the inheritance or "is a" relationship.

The superclass in the generalization relationship is also known as the "parent", superclass, base
class, or base type.

The subtype in the specialization relationship is also known as the "child", subclass, derived
class, derived type, inheriting class, or inheriting type.

Note that this relationship bears no resemblance to the biological parent/child relationship: the
use of these terms is extremely common, but can be misleading.

   Generalization-Specialization relationship
      A is a type of B
      E. g. "an oak is a type of tree", "an automobile is a type of vehicle"


   •   Realization

        In UML modeling, a realization relationship is a relationship between two model
elements, in which one model element (the client) realizes (implements or executes) the behavior
that the other model element (the supplier) specifies. A realization is indicated by a dashed line
with an unfilled arrowhead towards the supplier.

Realizations can only be shown on class or component diagrams.

A realization is a relationship between classes, interfaces, components, and packages that
connects a client element with a supplier element. A realization relationship between classes and
interfaces and between components and interfaces shows that the class realizes the operations
offered by the interface.




                                                                                                       7
Harsh Kishore Mishra
B.Tech. IT, IIMET Jaipur

Class Stereotype Descriptions

       Each class is associated with a stereotype that classifies it into one of three types. A short
description of the three stereotypes is given below.

        A control class represents the persistent information in a system. A Control class models
the coordination and monitor main sequencing of other objects in the system.Control classes
handle the flow of control for a use-case and can therefore be seen as co-ordinating
representation classes. These do not do everything in the use case, but co-ordinate with other
classes that can do the work for them.

       A Boundary classes are responsible for communication with the user & Actor or external
systems.A Boundary class represents the interaction between a system and the external world
namely consisting of users and other external systems. They are identified by each actor–use-
case pair on the system's use-case diagram, with one and only one boundary class existing for
each pair

        A Entity classes model coordination and sequencing of other objects in the system.
Entity classes model the information handled by the system, and sometimes the behaviour
associated with the information. They should not be identified as database tables or other data-
stores.An entity class represent the persistent information in a system.




                                                                                                        8
Harsh Kishore Mishra
B.Tech. IT, IIMET Jaipur




                           9
Harsh Kishore Mishra
B.Tech. IT, IIMET Jaipur

      Object Diagram -
                An object is an instance of a class—a specific thing that has specific values of the
class’s attributes. The icon is a rectangle, just like the class icon, but the name is underlined. In
The name of the instance begins with a lowercase letter. It’s also possible to have an anonymous
object, as the icon on the right of Figure shows. This just means that you don’t supply a specific
name for the object, although you do show the class it belongs to.




      Use Case Diagram –
       In many design processes, the use case diagram is the first that designers will work with
when starting a project. This diagram allows for the specification of high level user goals that
the system must carry out. These goals are not necessarily tasks or actions, but can be more
general required functionality of the system.

       A use case is a description of a system’s behavior from a user’s standpoint. For system
developers, the use case is a valuable tool: It’s a tried-and-true technique for gathering system
requirements from a user’s point of view. Obtaining information from the user’s point of view is
important if the goal is to build a system that real people can use.




Use Case

       More formally, a use case is made up of a set of scenarios. Each scenario is a sequence
of steps that encompass an interaction between a user and a system. The use case brings
scenarios together that accomplish a specific goal of the user.

A use case can be specified by textually describing the steps required and any alternative actions
at each step. For example, the use case for searching a web for a keyword might be shown as:

1. Customer enters the keyword
2. Customer clicks the search button
3. The search is executed
4. The results are shown

Alternative: Search Failed
If the search fails at 3, then the user is redirected back to the search screen at step 1


                                                                                                        10
Harsh Kishore Mishra
B.Tech. IT, IIMET Jaipur

        In Visual Case, you can specify the steps of a use case in its description field. Simply
right-click on a use case and select properties. You can then run a report and print or export the
results to html or ascii text. Together, the report and the diagrams will include all of the details
of the use case - their specific scenarios and the actors that carry them out.

Actor

        The use case diagram allows a designer to graphically show these use cases and the
actors that use them. An actor is a role that a user plays in the system. It is important to
distinguish between a user and an actor (better thought of as a role). A user of the system may
play several different roles through the course of his, her or its job (since an actor may be another
system). Examples of actors are salesperson, manager, support person, and web store system. It
is possible that the same person may be a sales person and also provide support. When creating
a use case model, we are not concerned with the individuals, only the roles that they play.

Associations

       On a use case diagram, associations are drawn between actors and use cases to show that
an actor carries out a use case. A use case can be carried out by many actors and an actor may
carry out many use cases.




       In the above diagram, the actors are shown as the green stick figure shapes on the left, the
use cases are the blue ellipses, and the associations between them are represented by the
connecting lines. The developer and the stakeholder both are responsible for specifying the
system roles, but only the developer creates the model.

Includes

       Use cases can also be related to each other with three different links. The diagram below
shows the use of the includes link. Both invoice purchase and online purchase include the
scenarios defined by purchase valuation. In general, the includes link is to avoid repetition of
scenarios in multiple use cases.




                                                                                                        11
Harsh Kishore Mishra
B.Tech. IT, IIMET Jaipur

Generalization

        When a use case describes a variation on another use case, use a generalization link. In
the example below, the use case limit exceeded describes a situation in which the usual scenario
of online purchase is not performed. Use cases that generalize another use case should only
specify an alternative, even exceptional, scenario to the use case being generalized. The overall
goal of the use cases should be the same.




Extends

       In some instances you want to describe a variation on behaviour in a more controlled
form. In such instances you can define extension points in the extended use case. In the
example below, search by name is said to extend search at the name extension point. The
extends link is more controlled than the generalization link in that functionality can only be
added at the extension points.




Putting it all Together

         When starting a use case model, it is very important to keep it simple. Often it is easiest
to first determine the actors of the system, and then flush out the use cases that they perform.
Your use case diagrams can be as simple or complex as you wish, however simpler, less
cluttered diagrams are easier to understand, and are often more powerful in capturing the tasks of
the system.
In Visual Case, you can explode a use case into a new use case diagram. For example, the use
case online purchase may require further specification as you move into the design. You can
create a sub-diagram within any use case to help clarify and understand the tasks involved.
Remember that a use case represents a goal of a user, not an atomic programming operation.
Your use case design should be simple and help to clarify the user's goals and expectations for
the system.


                                                                                                       12
Harsh Kishore Mishra
B.Tech. IT, IIMET Jaipur




                                     Use Case Diagram


     Sequence Diagram –
      Class and object diagrams are static model views. Interaction diagrams are dynamic.
They describe how objects collaborate.

        UML sequence diagrams are used to represent or model the flow of messages, events and
actions between the objects or components of a system. Time is represented in the vertical
direction showing the sequence of interactions of the header elements, which are displayed
horizontally at the top of the diagram.

        Sequence Diagrams are used primarily to design, document and validate the architecture,
interfaces and logic of the system by describing the sequence of actions that need to be
performed to complete a task or scenario. UML sequence diagrams are useful design tools
because they provide a dynamic view of the system behavior which can be difficult to extract
from static diagrams or specifications.



                                                                                                  13
Harsh Kishore Mishra
B.Tech. IT, IIMET Jaipur

Although UML sequence diagrams are typically used to describe object-oriented software
systems, they are also extremely useful as system engineering tools to design system
architectures, in business process engineering as process flowdiagrams, as message sequence
charts and call flows for telecom/wireless system design, and for protocol stack design and
analysis.

         A sequence diagram is an interaction diagram that details how operations are carried out
-- what messages are sent and when. Sequence diagrams are organized according to time. The
time progresses as you go down the page. The objects involved in the operation are listed from
left to right according to when they take part in the message sequence.

       Objects interact with one another, and these interactions occur over time. The UML
sequence diagram shows the time-based dynamics of the interaction

Sequence Diagram Header Elements

       The header portion of the sequence diagram represents the components or objects of the
system being modeled and are laid out horizontally at the top of the diagram. See an example
sequence diagram here.




                                                                                                    14
Harsh Kishore Mishra
B.Tech. IT, IIMET Jaipur




                           15
Harsh Kishore Mishra
B.Tech. IT, IIMET Jaipur




Use case elaboration.

        Usage scenarios describe a way the system may be used by its actors. The UML sequence
diagram can be used to flesh out the details of one or more use cases by illustrating visually how
the system will behave in a particular scenario. The use cases along with their corresponding
sequence diagrams describe the expected behavior of the system and form a strong foundation
for the development of system architectures with robust interfaces.
Distributed & web-based systems.
        When a system consists of distributed components (such as a client communicating with
one or more servers over the Internet), sequence diagrams can be used to document and validate
the architecture, interfaces and logic of each of these components for a set of usage
scenarios.

Complex logic.

        UML sequence diagrams are often used to model the logic of a complex feature by
showing         the      interactions       between        the       various      objects   that
collaborate to implement each scenario. Modeling multiple scenarios showing different aspects of
the feature helps developers take into account special cases during implementation.

State machines.

      Sequence diagram editor makes it so easy to edit your sequence diagrams that you could
even make the corrections in real time during the meeting and instantly see the result of the
changes as you make them.

Complex interactions between components.

       Sequence diagrams are often used to design the interactions between components of a
system that need to work together to accomplish a task. They are particularly useful when the
components are being developed in parallel by different teams (typical in wireless and telephony


                                                                                                     16
Harsh Kishore Mishra
B.Tech. IT, IIMET Jaipur

systems) because they support the design of robust interfaces that cover multiple scenarios and
special cases.


Collaboration tool-

        Sequence diagrams are valuable collaboration tools during design meetings because they
allow you to discuss the design in concrete terms. You can see the interactions between entities,
various proposed state transitions and alternate courses/special cases on paper as you discuss the
design.
        Sequence diagram editor makes it so easy to edit your sequence diagrams that you could
even make the corrections in real time during the meeting and instantly see the result of the
changes as you make them.




                                                                                                     17
Harsh Kishore Mishra
B.Tech. IT, IIMET Jaipur



Documentation-

         Sequence diagrams can be used to document the dynamic view of the system design at
various levels of abstraction, which is often difficult to extract from static diagrams or even the
complete source code. The diagrams can abstract much of the implementation detail and provide
a high level view of system behavior.



     Collaboration Diagrams
       Class and object diagrams are static model views. Interaction diagrams are dynamic.
They describe how objects collaborate. With interaction diagram, we introduce the notion of
time.
       Collaboration diagrams represent objects in a system an their associations. Collaboration
diagrams show a sequence of activities between specific items. This is where one shows the
messages or actions that can be performed on the classes--and which other classes or users
perform them. Also, collaboration diagrams show an example sequence between specific actions.
Each occurrence of a specific class may be labled with a name

They are composed of three elements:
o Objects
o Associations
o Messages

Object Interaction diagrams depict dynamic, run-time behavior
• communication between objects via messages
• sequence of transactions in a dialog between a user and a system
• one trace of behavior is ideally one use case

Both diagrams are illustrate interaction.
• Sequence is used to illustrate temporal interactions.
• Collaboration is better suited to display the association between the objects.
• Given enough information, a sequence diagram can be converted into a collaboration
   diagrams (and vice-versa).

Collaboration Diagram Semantics -
o Member of the Behavioural Group of diagrams
      as well as Sequence, Statechart, and Activity diagrams
o Behavioural description includes
      static - structural description on the participants
      dynamic - description on the execution of the actions
o Collaboration
      set of participants and interactions which are meaningful in a c ontext
o Purpose
      models the exchange of messages between objects to achieve something
o Can be attached to:

                                                                                                      18
Harsh Kishore Mishra
B.Tech. IT, IIMET Jaipur

      operation or use case
      class
o Parameterised collaboration can be reused & can assist in defining the structural aspects of a
  design pattern

Collaboration Diagram Notation -
o Represents a Collaboration and Interaction
o Collaboration
       set of objects and their interactions in a specific context
o Interaction
        set of messages exchanged in a collaboration to produce a desired result
o Objects rectangles containing the object signature object signature:      object name : object
   Class
o object name (optional) –
       starts with lowercase letter
o class name (mandatory) –
       starts with uppercase letter objects connected by lines user (stick man) can appear
o Messages are labelled like C and Java function calls
o followed by round brackets, and can have parameters and return values are followed by an
   arrow to show direction internal messages are numbered, starting from 1

Collaboration Diagram Issues -
o Message Signature
      guard
o condition applied to the message in square brackets at the start of the signature sequence
   number
o numbers separated by dots, ending in a colon return value
o name followed by :=
      operation name
      argument list
o names separated by commas, within round brackets
o Types of message flows synchronous, asynchronous, simple
o Multiplicity of objects how can messages sent to a multiplicity (e.g., an array) of objects be

Communication Diagram -

        Both the sequence diagram and the communication diagram show interactions among
objects. For this reason, the UML refers to them collectively as interaction diagrams.




                                                                                                   19
Harsh Kishore Mishra
B.Tech. IT, IIMET Jaipur

Each arrow represents a message that goes from one object to another. Time, in this diagram,
proceeds from top to bottom. So the first message is timeSoak (), which the timer sends to itself.
The second message is sendWater (), which the timer sends to the water pipe. The final message,
stopRotating (), goes from the timer to the drum.


     Activity Diagram
        Activity diagram is another important diagram in UML to describe dynamic aspects of
the system.The activities that occur within a use case or within an object’s behavior typically
occur in a sequence is represented by the activity diagram

Activity diagram is basically a flow chart to represent the flow form one activity to another
activity. The activity can be described as an operation of the system.So the control flow is drawn
from one operation to another. This flow can be sequential, branched or concurrent. Activity
diagrams deals with all type of flow control by using different elements like fork, join etc.

Purpose:

The basic purposes of activity diagrams are similar to other four diagrams. It captures the
dynamic behaviour of the system. Other four diagrams are used to show the message flow from
one object to another but activity diagram is used to show message flow from one activity to
another.

Activity is a particular operation of the system. Activity diagrams are not only used for
visualizing dynamic nature of a system but they are also used to construct the executable system
by using forward and reverse engineering techniques. The only missing thing in activity diagram
is the message part.

It does not show any message flow from one activity to another. Activity diagram is some time
considered as the flow chart. Although the diagrams looks like a flow chart but it is not. It shows
different flow like parallel, branched, concurrent and single.

So the purposes can be described as:
• Draw the activity flow of a system.
• Describe the sequence from one activity to another.
• Describe the parallel, branched and concurrent flow of the system.

How to draw Activity Diagram?

       Activity diagrams are mainly used as a flow chart consists of activities performed by the
system. But activity diagram are not exactly a flow chart as they have some additional
capabilities. These additional capabilities include branching, parallel flow, swimlane etc.

The main element of an activity diagram is the activity itself. An activity is a function performed
by the system. After identifying the activities we need to understand how they are associated
with constraints and conditions.

So before drawing an activity diagram we should identify the following elements:

                                                                                                      20
Harsh Kishore Mishra
B.Tech. IT, IIMET Jaipur

   •   Activities
   •   Association
   •   Conditions
   •   Constraints

The following is an example of an activity diagram for Admission Process management system.
In the diagram four activities are identified which are associated with conditions. One important
point should be clearly understood that an activity diagram cannot be exactly matched with the
code. The activity diagram is made to understand the flow of activities and mainly used by the
business users.

The following diagram is drawn with the four main activities:
• Admission request by student
• Receipt of the Application
• Confirm Application
• Dispatch order
                    After receiving the order request condition checks are performed to check if it
is normal or special order. After the type of order is identified dispatch activity is performed and
that is marked as the termination of the process.
Where to use Activity Diagrams?

       The basic usage of activity diagram is similar to other four UML diagrams. The specific
usage is to model the control flow from one activity to another. This control flow does not
include messages.

The activity diagram is suitable for modeling the activity flow of the system. An application can
have multiple systems. Activity diagram also captures these systems and describes flow from one
system to another. This specific usage is not available in other diagrams. These systems can be
database, external queues or any other system.

Now we will look into the practical applications of the activity diagram. From the above
discussion it is clear that an activity diagram is drawn from a very high level. So it gives high
level view of a system. This high level view is mainly for business users or any other person who
is not a technical person.

       This diagram is used to model the activities which are nothing but business requirements.
So the diagram has more impact on business understanding rather implementation details.

Following are the main usages of activity diagram:

   •   Modeling work flow by using activities.
   •   Modeling business requirements.
   •   High level understanding of the system's functionalities.
   •   Investigate business requirements at a later stage.




                                                                                                       21
Harsh Kishore Mishra
B.Tech. IT, IIMET Jaipur




      Statechart Diagram
       The name of the diagram itself clarifies the purpose of the diagram and other details. It
describes different states of a component in a system. The states are specific to a
component/object of a system.

       A Statechart diagram describes a state machine. Now to clarify it state machine can be
defined as a machine which defines different states of an object and these states are controlled by
external or internal events.

       Activity diagram explained in next chapter, is a special kind of a Statechart diagram. As
Statechart diagram defines states it is used to model lifetime of an object.

Purpose:
       Statechart diagram is one of the five UML diagrams used to model dynamic nature of a
system. They define different states of an object during its lifetime. And these states are changed
by events. So Statechart diagrams are useful to model reactive systems. Reactive systems can be
defined as a system that responds to external or internal events.

       Statechart diagram describes the flow of control from one state to another state. States are
defined as a condition in which an object exists and it changes when some event is triggered. So


                                                                                                      22
Harsh Kishore Mishra
B.Tech. IT, IIMET Jaipur

the most important purpose of Statechart diagram is to model life time of an object from creation
to termination.

Statechart diagrams are also used for forward and reverse engineering of a system. But the main
purpose is to model reactive system.

Following are the main purposes of using Statechart diagrams:

   •   To model dynamic aspect of a system.
   •   To model life time of a reactive system.
   •   To describe different states of an object during its life time.
   •   Define a state machine to model states of an object.

How to draw Statechart Diagram?

Statechart diagram is used to describe the states of different objects in its life cycle. So the
emphasis is given on the state changes upon some internal or external events. These states of
objects are important to analyze and implement them accurately.

Statechart diagrams are very important for describing the states. States can be identified as the
condition of objects when a particular event occurs.

Before drawing a Statechart diagram we must have clarified the following points:
   • Identify important objects to be analyzed.
   • Identify the states.
   • Identify the events.

A Statechart diagram where the state of Order object is analyzed. The first state is an idle state
from where the process starts. The next states are arrived for events like send request, confirm
request, and dispatch order. These events are responsible for state changes of order object. The
initial and final state of an object is also shown below.

Where to use Statechart Diagrams?

From the above discussion we can define the practical applications of a Statechart diagram.
Statechart diagrams are used to model dynamic aspect of a system like other four diagrams
disused in this tutorial. But it has some distinguishing characteristics for modeling dynamic
nature.
Statechart diagram defines the states of a component and these state changes are dynamic in
nature. So its specific purpose is to define state changes triggered by events. Events are internal
or external factors influencing the system.

Statechart diagrams are used to model states and also events operating on the system. When
implementing a system it is very important to clarify different states of an object during its life
time and statechart diagrams are used for this purpose. When these states and events are
identified they are used to model it and these models are used during implementation of the
system.




                                                                                                      23
Harsh Kishore Mishra
B.Tech. IT, IIMET Jaipur

If we look into the practical implementation of Statechart diagram then it is mainly used to
analyze the object states influenced by events. This analysis is helpful to understand the system
behaviour during its execution.




So the main usages can be described as:

   •   To model object states of a system.
   •   To model reactive system. Reactive system consists of reactive objects.
   •   To identify events responsible for state changes.
   •   Forward and reverse engineering.


        At any given time, an object is in a particular state. This transition from one state to the
next state is represented by state diagram.i.e A person can be a newborn, infant, child,
adolescent, teenager, or adult. An elevator is either moving or stationary. A washing machine can
be either in the soaking, washing, rinsing, spinning, or off state. The symbol at the top of the
figure represents the start state and the symbol at the bottom represents the end state.


                                                                                                       24
Harsh Kishore Mishra
B.Tech. IT, IIMET Jaipur

       Component Diagram
Component diagram is a special kind of diagram in UML. The purpose is also different from
all other diagrams discussed so far. It does not describe the functionality of the system but it
describes the components used to make those functionalities.

So from that point component diagrams are used to visualize the physical components in a
system. These components are libraries, packages, files etc.

Component diagrams can also be described as a static implementation view of a system.
Static implementation represents the organization of the components at a particular moment.

A single component diagram cannot represent the entire system but a collection of diagrams
are used to represent the whole.

So the purpose of the component diagram can be summarized as:

   •    Visualize the components of a system.
   •    Construct executables by using forward and reverse engineering.
   •    Describe the organization and relationships of the components.

How to draw Component Diagram?

Component diagrams are used to describe the physical artifacts of a system. This artifact
includes files, executables, libraries etc.

So the purpose of this diagram is different, Component diagrams are used during the
implementation phase of an application. But it is prepared well in advance to visualize the
implementation details.

Initially the system is designed using different UML diagrams and then when the artifacts are
ready component diagrams are used to get an idea of the implementation.

This diagram is very important because without it the application cannot be implemented
efficiently. A well prepared component diagram is also important for other aspects like
application performance, maintenance etc.

So before drawing a component diagram the following artifacts are to be identified clearly:

   •    Files used in the system.
   •    Libraries and other artifacts relevant to the application.
   •    Relationships among the artifacts.

Now after identifying the artifacts the following points needs to be followed:

   •    Use a meaningful name to identify the component for which the diagram is to be
        drawn.
   •    Prepare a mental layout before producing using tools.
   •    Use notes for clarifying important points.


                                                                                                   25
Harsh Kishore Mishra
B.Tech. IT, IIMET Jaipur

Where to use Component Diagrams?

We have already described that component diagrams are used to visualize the static
implementation view of a system. Component diagrams are special type of UML diagrams
used for different purposes.

These diagrams show the physical components of a system. To clarify it, we can say that
component diagrams describe the organization of the components in a system.

Organization can be further described as the location of the components in a system. These
components are organized in a special way to meet the system requirements.

As we have already discussed those components are libraries, files, executables etc. Now
before implementing the application these components are to be organized. This component
organization is also designed separately as a part of project execution.

Component diagrams are very important from implementation perspective. So the
implementation team of an application should have a proper knowledge of the component
details.

Now the usage of component diagrams can be described as:

   •   Model the components of a system.
   •   Model database schema.
   •   Model executables of an application.
   •   Model system's source code.




                                                                                             26
Harsh Kishore Mishra
B.Tech. IT, IIMET Jaipur

       Deployment Diagram

Overview:

Deployment diagrams are used to visualize the topology of the physical components of a
system where the software components are deployed.

So deployment diagrams are used to describe the static deployment view of a system.
Deployment diagrams consist of nodes and their relationships.

Purpose:

The name Deployment itself describes the purpose of the diagram. Deployment diagrams are
used for describing the hardware components where software components are deployed.
Component diagrams and deployment diagrams are closely related.

Component diagrams are used to describe the components and deployment diagrams shows
how they are deployed in hardware.

UML is mainly designed to focus on software artifacts of a system. But these two diagrams
are special diagrams used to focus on software components and hardware components.

So most of the UML diagrams are used to handle logical components but deployment
diagrams are made to focus on hardware topology of a system. Deployment diagrams are
used by the system engineers.

The purpose of deployment diagrams can be described as:

   •    Visualize hardware topology of a system.
   •    Describe the hardware components used to deploy software components.
   •    Describe runtime processing nodes.

How to draw Deployment Diagram?

Deployment diagram represents the deployment view of a system. It is related to the
component diagram. Because the components are deployed using the deployment diagrams.
A deployment diagram consists of nodes. Nodes are nothing but physical hardwares used to
deploy the application.

Deployment diagrams are useful for system engineers. An efficient deployment diagram is
very important because it controls the following parameters

   •    Performance
   •    Scalability
   •    Maintainability
   •    Portability

So before drawing a deployment diagram the following artifacts should be identified:


                                                                                            27
Harsh Kishore Mishra
B.Tech. IT, IIMET Jaipur

   •   Nodes
   •   Relationships among nodes

The following deployment diagram is a sample to give an idea of the deployment view of
order management system. Here we have shown nodes as:

   •   Monitor
   •   Modem
   •   Caching server
   •   Server

The application is assumed to be a web based application which is deployed in a clustered
environment using server 1, server 2 and server 3. The user is connecting to the application
using internet. The control is flowing from the caching server to the clustered environment.

So the following deployment diagram has been drawn considering all the points mentioned
above:




Where to use Deployment Diagrams?

Deployment diagrams are mainly used by system engineers. These diagrams are used to
describe the physical components (hardwares), their distribution and association.

To clarify it in details we can visualize deployment diagrams as the hardware
components/nodes on which software components reside.



                                                                                               28
Harsh Kishore Mishra
B.Tech. IT, IIMET Jaipur

Software applications are developed to model complex business processes. Only efficient
software applications are not sufficient to meet business requirements. Business requirements
can be described as to support increasing number of users, quick response time etc.

To meet these types of requirements hardware components should be designed efficiently and
in a cost effective way.

Now a day's software applications are very complex in nature. Software applications can be
stand alone, web based, distributed, mainframe based and many more. So it is very important
to design the hardware components efficiently.

So the usage of deployment diagrams can be described as follows:

   •   To model the hardware topology of a system.
   •   To model embedded system.
   •   To model hardware details for a client/server system.
   •   To model hardware details of a distributed application.
   •   Forward and reverse engineering

Component diagrams are different in terms of nature and behaviour. Component diagrams are
used to model physical aspects of a system.

Now the question is what are these physical aspects? Physical aspects are the elements like
executables, libraries, files, documents etc which resides in a node.

So component diagrams are used to visualize the organization and relationships among
components in a system. These diagrams are also used to make executable systems.




                                                                                                29

More Related Content

What's hot

Slides chapter 9
Slides chapter 9Slides chapter 9
Slides chapter 9
Priyanka Shetty
 
Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...
Drusilla918
 
Analysis modeling
Analysis modelingAnalysis modeling
Analysis modeling
Inocentshuja Ahmad
 
Object Modelling Technique " ooad "
Object Modelling Technique  " ooad "Object Modelling Technique  " ooad "
Object Modelling Technique " ooad "
AchrafJbr
 
Use case diagram
Use case diagramUse case diagram
Use case diagram
City University
 
Classes and Objects
Classes and Objects  Classes and Objects
Classes and Objects
yndaravind
 
Presentation on uml
Presentation on umlPresentation on uml
Presentation on uml
Shruti Dalela
 
Slide 4 Interaction Diagram
Slide 4 Interaction DiagramSlide 4 Interaction Diagram
Slide 4 Interaction DiagramNiloy Rocker
 
Sequence diagram
Sequence diagramSequence diagram
Sequence diagram
Rahul Pola
 
UML diagrams and symbols
UML diagrams and symbolsUML diagrams and symbols
UML diagrams and symbols
Kumar
 
Uml with detail
Uml with detailUml with detail
Uml with detail
Hamza Khan
 
SAD11 - Sequence Diagrams
SAD11 - Sequence DiagramsSAD11 - Sequence Diagrams
SAD11 - Sequence Diagrams
Michael Heron
 
Communication diagram Introduction
Communication diagram IntroductionCommunication diagram Introduction
Communication diagram Introduction
Dineesha Suraweera
 
CS8592-OOAD Lecture Notes Unit-3
CS8592-OOAD Lecture Notes Unit-3CS8592-OOAD Lecture Notes Unit-3
CS8592-OOAD Lecture Notes Unit-3
Gobinath Subramaniam
 
Ooad unit – 1 introduction
Ooad unit – 1 introductionOoad unit – 1 introduction
Ooad unit – 1 introduction
Babeetha Muruganantham
 
Elaboration and domain model
Elaboration and domain modelElaboration and domain model
Elaboration and domain model
Vignesh Saravanan
 
INTRODUCTION TO UML DIAGRAMS
INTRODUCTION TO UML DIAGRAMSINTRODUCTION TO UML DIAGRAMS
INTRODUCTION TO UML DIAGRAMS
Ashita Agrawal
 
Ooad presentatin crc cards
Ooad presentatin crc cardsOoad presentatin crc cards
Ooad presentatin crc cards
Hitachi Systems Micro Clinic
 
Class diagrams
Class diagramsClass diagrams
Class diagrams
Nadia_Nazeer
 

What's hot (20)

Slides chapter 9
Slides chapter 9Slides chapter 9
Slides chapter 9
 
Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...
 
Analysis modeling
Analysis modelingAnalysis modeling
Analysis modeling
 
Uml class-diagram
Uml class-diagramUml class-diagram
Uml class-diagram
 
Object Modelling Technique " ooad "
Object Modelling Technique  " ooad "Object Modelling Technique  " ooad "
Object Modelling Technique " ooad "
 
Use case diagram
Use case diagramUse case diagram
Use case diagram
 
Classes and Objects
Classes and Objects  Classes and Objects
Classes and Objects
 
Presentation on uml
Presentation on umlPresentation on uml
Presentation on uml
 
Slide 4 Interaction Diagram
Slide 4 Interaction DiagramSlide 4 Interaction Diagram
Slide 4 Interaction Diagram
 
Sequence diagram
Sequence diagramSequence diagram
Sequence diagram
 
UML diagrams and symbols
UML diagrams and symbolsUML diagrams and symbols
UML diagrams and symbols
 
Uml with detail
Uml with detailUml with detail
Uml with detail
 
SAD11 - Sequence Diagrams
SAD11 - Sequence DiagramsSAD11 - Sequence Diagrams
SAD11 - Sequence Diagrams
 
Communication diagram Introduction
Communication diagram IntroductionCommunication diagram Introduction
Communication diagram Introduction
 
CS8592-OOAD Lecture Notes Unit-3
CS8592-OOAD Lecture Notes Unit-3CS8592-OOAD Lecture Notes Unit-3
CS8592-OOAD Lecture Notes Unit-3
 
Ooad unit – 1 introduction
Ooad unit – 1 introductionOoad unit – 1 introduction
Ooad unit – 1 introduction
 
Elaboration and domain model
Elaboration and domain modelElaboration and domain model
Elaboration and domain model
 
INTRODUCTION TO UML DIAGRAMS
INTRODUCTION TO UML DIAGRAMSINTRODUCTION TO UML DIAGRAMS
INTRODUCTION TO UML DIAGRAMS
 
Ooad presentatin crc cards
Ooad presentatin crc cardsOoad presentatin crc cards
Ooad presentatin crc cards
 
Class diagrams
Class diagramsClass diagrams
Class diagrams
 

Similar to Software Testing and UML Lab

SMD Unit ii
SMD Unit iiSMD Unit ii
SMD Unit ii
madhavi patil
 
OOP_Module 2.pptx
OOP_Module 2.pptxOOP_Module 2.pptx
OOP_Module 2.pptx
PrasenjitKumarDas2
 
Css uml
Css umlCss uml
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
Madhar Khan Pathan
 
classdiagram.pptx
classdiagram.pptxclassdiagram.pptx
classdiagram.pptx
RahulGautam663736
 
Uml - An Overview
Uml - An OverviewUml - An Overview
Uml - An Overview
Raj Thilak S
 
Architecture and design
Architecture and designArchitecture and design
Architecture and design
himanshu_airon
 
Ooad lab manual
Ooad  lab manualOoad  lab manual
Ooad lab manual
Praseela R
 
Sda 7
Sda   7Sda   7
Software Engineering - Modelling Concepts + Class Modelling + Building the An...
Software Engineering - Modelling Concepts + Class Modelling + Building the An...Software Engineering - Modelling Concepts + Class Modelling + Building the An...
Software Engineering - Modelling Concepts + Class Modelling + Building the An...
Prakhyath Rai
 
CASE Tools lab.ppt
CASE Tools lab.pptCASE Tools lab.ppt
CASE Tools lab.ppt
RAJESH S
 
Different Types Diagrams
Different Types Diagrams  Different Types Diagrams
Different Types Diagrams
ShauryaGupta38
 
Uml class diagram and packages ppt for dot net
Uml class diagram and packages ppt for dot netUml class diagram and packages ppt for dot net
Uml class diagram and packages ppt for dot net
mekhap
 
L ab # 07
L ab # 07L ab # 07
L ab # 07Mr SMAK
 
Object oriented analysis and design unit- iv
Object oriented analysis and design unit- ivObject oriented analysis and design unit- iv
Object oriented analysis and design unit- iv
Shri Shankaracharya College, Bhilai,Junwani
 
ASP.NET System design 2
ASP.NET System design 2ASP.NET System design 2
ASP.NET System design 2Sisir Ghosh
 
UML-Advanced Software Engineering
UML-Advanced Software EngineeringUML-Advanced Software Engineering
UML-Advanced Software Engineering
Amit Singh
 
SE18_Lec 06_Object Oriented Analysis and Design
SE18_Lec 06_Object Oriented Analysis and DesignSE18_Lec 06_Object Oriented Analysis and Design
SE18_Lec 06_Object Oriented Analysis and Design
Amr E. Mohamed
 
Unit 2
Unit 2Unit 2
Concepts of oops
Concepts of oopsConcepts of oops
Concepts of oops
Sourabrata Mukherjee
 

Similar to Software Testing and UML Lab (20)

SMD Unit ii
SMD Unit iiSMD Unit ii
SMD Unit ii
 
OOP_Module 2.pptx
OOP_Module 2.pptxOOP_Module 2.pptx
OOP_Module 2.pptx
 
Css uml
Css umlCss uml
Css uml
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
classdiagram.pptx
classdiagram.pptxclassdiagram.pptx
classdiagram.pptx
 
Uml - An Overview
Uml - An OverviewUml - An Overview
Uml - An Overview
 
Architecture and design
Architecture and designArchitecture and design
Architecture and design
 
Ooad lab manual
Ooad  lab manualOoad  lab manual
Ooad lab manual
 
Sda 7
Sda   7Sda   7
Sda 7
 
Software Engineering - Modelling Concepts + Class Modelling + Building the An...
Software Engineering - Modelling Concepts + Class Modelling + Building the An...Software Engineering - Modelling Concepts + Class Modelling + Building the An...
Software Engineering - Modelling Concepts + Class Modelling + Building the An...
 
CASE Tools lab.ppt
CASE Tools lab.pptCASE Tools lab.ppt
CASE Tools lab.ppt
 
Different Types Diagrams
Different Types Diagrams  Different Types Diagrams
Different Types Diagrams
 
Uml class diagram and packages ppt for dot net
Uml class diagram and packages ppt for dot netUml class diagram and packages ppt for dot net
Uml class diagram and packages ppt for dot net
 
L ab # 07
L ab # 07L ab # 07
L ab # 07
 
Object oriented analysis and design unit- iv
Object oriented analysis and design unit- ivObject oriented analysis and design unit- iv
Object oriented analysis and design unit- iv
 
ASP.NET System design 2
ASP.NET System design 2ASP.NET System design 2
ASP.NET System design 2
 
UML-Advanced Software Engineering
UML-Advanced Software EngineeringUML-Advanced Software Engineering
UML-Advanced Software Engineering
 
SE18_Lec 06_Object Oriented Analysis and Design
SE18_Lec 06_Object Oriented Analysis and DesignSE18_Lec 06_Object Oriented Analysis and Design
SE18_Lec 06_Object Oriented Analysis and Design
 
Unit 2
Unit 2Unit 2
Unit 2
 
Concepts of oops
Concepts of oopsConcepts of oops
Concepts of oops
 

More from Harsh Kishore Mishra

Wormhole attack
Wormhole attackWormhole attack
Wormhole attack
Harsh Kishore Mishra
 
Intellectual Property Rights : Indian Perspective
Intellectual Property Rights : Indian PerspectiveIntellectual Property Rights : Indian Perspective
Intellectual Property Rights : Indian Perspective
Harsh Kishore Mishra
 
IEEE 802.11ac Standard
IEEE 802.11ac StandardIEEE 802.11ac Standard
IEEE 802.11ac Standard
Harsh Kishore Mishra
 
Big data
Big dataBig data
BYOD: Bring Your Own Device Implementation and Security Issues
BYOD: Bring Your Own Device Implementation and Security IssuesBYOD: Bring Your Own Device Implementation and Security Issues
BYOD: Bring Your Own Device Implementation and Security Issues
Harsh Kishore Mishra
 
BYOD: Implementation and Security Issues
BYOD: Implementation and Security IssuesBYOD: Implementation and Security Issues
BYOD: Implementation and Security IssuesHarsh Kishore Mishra
 
Role of MicroRNA in Phosphorus Defficiency
Role of MicroRNA in Phosphorus DefficiencyRole of MicroRNA in Phosphorus Defficiency
Role of MicroRNA in Phosphorus DefficiencyHarsh Kishore Mishra
 
Windows 8: inside what and how
Windows 8: inside what and howWindows 8: inside what and how
Windows 8: inside what and how
Harsh Kishore Mishra
 
Windows 8 CP
Windows 8 CPWindows 8 CP
Windows 8 CP
Harsh Kishore Mishra
 

More from Harsh Kishore Mishra (13)

Wormhole attack
Wormhole attackWormhole attack
Wormhole attack
 
Intellectual Property Rights : Indian Perspective
Intellectual Property Rights : Indian PerspectiveIntellectual Property Rights : Indian Perspective
Intellectual Property Rights : Indian Perspective
 
IEEE 802.11ac Standard
IEEE 802.11ac StandardIEEE 802.11ac Standard
IEEE 802.11ac Standard
 
Big Data: Issues and Challenges
Big Data: Issues and ChallengesBig Data: Issues and Challenges
Big Data: Issues and Challenges
 
Big data
Big dataBig data
Big data
 
BYOD: Bring Your Own Device Implementation and Security Issues
BYOD: Bring Your Own Device Implementation and Security IssuesBYOD: Bring Your Own Device Implementation and Security Issues
BYOD: Bring Your Own Device Implementation and Security Issues
 
BYOD: Implementation and Security Issues
BYOD: Implementation and Security IssuesBYOD: Implementation and Security Issues
BYOD: Implementation and Security Issues
 
Role of MicroRNA in Phosphorus Defficiency
Role of MicroRNA in Phosphorus DefficiencyRole of MicroRNA in Phosphorus Defficiency
Role of MicroRNA in Phosphorus Defficiency
 
Windows 8: inside what and how
Windows 8: inside what and howWindows 8: inside what and how
Windows 8: inside what and how
 
Windows 7 Versions Features
Windows 7 Versions FeaturesWindows 7 Versions Features
Windows 7 Versions Features
 
Network security
Network securityNetwork security
Network security
 
Intellectual Property Rights
Intellectual Property RightsIntellectual Property Rights
Intellectual Property Rights
 
Windows 8 CP
Windows 8 CPWindows 8 CP
Windows 8 CP
 

Recently uploaded

MASS MEDIA STUDIES-835-CLASS XI Resource Material.pdf
MASS MEDIA STUDIES-835-CLASS XI Resource Material.pdfMASS MEDIA STUDIES-835-CLASS XI Resource Material.pdf
MASS MEDIA STUDIES-835-CLASS XI Resource Material.pdf
goswamiyash170123
 
Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.
Ashokrao Mane college of Pharmacy Peth-Vadgaon
 
Azure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHatAzure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHat
Scholarhat
 
How to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold MethodHow to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold Method
Celine George
 
Digital Artifact 1 - 10VCD Environments Unit
Digital Artifact 1 - 10VCD Environments UnitDigital Artifact 1 - 10VCD Environments Unit
Digital Artifact 1 - 10VCD Environments Unit
chanes7
 
A Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptxA Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptx
thanhdowork
 
Group Presentation 2 Economics.Ariana Buscigliopptx
Group Presentation 2 Economics.Ariana BuscigliopptxGroup Presentation 2 Economics.Ariana Buscigliopptx
Group Presentation 2 Economics.Ariana Buscigliopptx
ArianaBusciglio
 
South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)
Academy of Science of South Africa
 
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptxChapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Mohd Adib Abd Muin, Senior Lecturer at Universiti Utara Malaysia
 
Aficamten in HCM (SEQUOIA HCM TRIAL 2024)
Aficamten in HCM (SEQUOIA HCM TRIAL 2024)Aficamten in HCM (SEQUOIA HCM TRIAL 2024)
Aficamten in HCM (SEQUOIA HCM TRIAL 2024)
Ashish Kohli
 
A Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in EducationA Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in Education
Peter Windle
 
Pride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School DistrictPride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School District
David Douglas School District
 
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
Nguyen Thanh Tu Collection
 
Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
Thiyagu K
 
CACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdfCACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdf
camakaiclarkmusic
 
RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3
RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3
RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3
IreneSebastianRueco1
 
Landownership in the Philippines under the Americans-2-pptx.pptx
Landownership in the Philippines under the Americans-2-pptx.pptxLandownership in the Philippines under the Americans-2-pptx.pptx
Landownership in the Philippines under the Americans-2-pptx.pptx
JezreelCabil2
 
MATATAG CURRICULUM: ASSESSING THE READINESS OF ELEM. PUBLIC SCHOOL TEACHERS I...
MATATAG CURRICULUM: ASSESSING THE READINESS OF ELEM. PUBLIC SCHOOL TEACHERS I...MATATAG CURRICULUM: ASSESSING THE READINESS OF ELEM. PUBLIC SCHOOL TEACHERS I...
MATATAG CURRICULUM: ASSESSING THE READINESS OF ELEM. PUBLIC SCHOOL TEACHERS I...
NelTorrente
 
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
Levi Shapiro
 
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
EugeneSaldivar
 

Recently uploaded (20)

MASS MEDIA STUDIES-835-CLASS XI Resource Material.pdf
MASS MEDIA STUDIES-835-CLASS XI Resource Material.pdfMASS MEDIA STUDIES-835-CLASS XI Resource Material.pdf
MASS MEDIA STUDIES-835-CLASS XI Resource Material.pdf
 
Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.
 
Azure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHatAzure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHat
 
How to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold MethodHow to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold Method
 
Digital Artifact 1 - 10VCD Environments Unit
Digital Artifact 1 - 10VCD Environments UnitDigital Artifact 1 - 10VCD Environments Unit
Digital Artifact 1 - 10VCD Environments Unit
 
A Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptxA Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptx
 
Group Presentation 2 Economics.Ariana Buscigliopptx
Group Presentation 2 Economics.Ariana BuscigliopptxGroup Presentation 2 Economics.Ariana Buscigliopptx
Group Presentation 2 Economics.Ariana Buscigliopptx
 
South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)
 
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptxChapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
 
Aficamten in HCM (SEQUOIA HCM TRIAL 2024)
Aficamten in HCM (SEQUOIA HCM TRIAL 2024)Aficamten in HCM (SEQUOIA HCM TRIAL 2024)
Aficamten in HCM (SEQUOIA HCM TRIAL 2024)
 
A Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in EducationA Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in Education
 
Pride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School DistrictPride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School District
 
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
 
Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
 
CACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdfCACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdf
 
RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3
RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3
RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3
 
Landownership in the Philippines under the Americans-2-pptx.pptx
Landownership in the Philippines under the Americans-2-pptx.pptxLandownership in the Philippines under the Americans-2-pptx.pptx
Landownership in the Philippines under the Americans-2-pptx.pptx
 
MATATAG CURRICULUM: ASSESSING THE READINESS OF ELEM. PUBLIC SCHOOL TEACHERS I...
MATATAG CURRICULUM: ASSESSING THE READINESS OF ELEM. PUBLIC SCHOOL TEACHERS I...MATATAG CURRICULUM: ASSESSING THE READINESS OF ELEM. PUBLIC SCHOOL TEACHERS I...
MATATAG CURRICULUM: ASSESSING THE READINESS OF ELEM. PUBLIC SCHOOL TEACHERS I...
 
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
 
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
 

Software Testing and UML Lab

  • 1. Harsh Kishore Mishra B.Tech. IT, IIMET Jaipur ABSTRACT Admission Process Management System Admission Process management system is computerized and convenient system. Since, the present system is manual all the work is done in papers and ink by hand so it is much costly and difficult to use and to operate and it is also time consuming. So our automated computerized student admission process management system is much feasible, in cost, time, and efforts as compare to the previous manual system. It is economically feasible, it will only require a single operator to operate the system, who is responsible for entering the data into the database via a user interface provided to him, who can also able to show all the data in html tabular form so to provide information regarding the students who are either taken admission or to take admission, since it requires only a single person to operate the whole system thus reduces the cost to operate the system. It is technically feasible, since the whole system is designed into the latest technologies like ASP.NET and MS Access and SQL Server which are the most recent technologies to develop web based systems and design databases. It uses the latest hardware technologies like P4 Systems so easy to operate. It is Behavioral feasible, since the system is providing a attractive user interface to the operator/end user, so he feel very easy to work onto it. Response to operator/end user is very fast and very good. Since, as we mentioned above that it requires much less amount of cost, it uses computer work so it is very fast to operate and it is very easy for user to work on it. 1
  • 2. Harsh Kishore Mishra B.Tech. IT, IIMET Jaipur 1. Lab Objective • What is UML • Why the UML is necessary • How to represent UML components in diagrams 2. Tool used • EDRAW 5 3. Lab Description The Unified Modeling Language (UML) is a visual modeling language that enables system builders to create blueprints that capture their visions in a standard, easy-to-understand way, and provides a mechanism to effectively share and communicate these visions with others. The purpose of the diagrams is to- 1. Present multiple views of a system; 2. This set of multiple views is called a model. 3. UML model describes what a system is supposed to do. 4. It doesn’t tell how to implement the system. The Major nine Diagrams are: 1. Class Diagram 2. Object Diagram 3. Use Case 4. Sequence 5. Collaboration 6. State Chart 7. Activity 8. Component 9. Deployment 2
  • 3. Harsh Kishore Mishra B.Tech. IT, IIMET Jaipur Class Diagram – The UML Class diagram is a graphical notation used to construct and visualize object oriented systems. A UML class diagram is made up of: o A set of classes and o A set of relationships between classes A class with three sections. • The upper part holds the name of the class • The middle part contains the attributes of the class • The bottom part gives the methods or operations the class can take or undertake What is a class? A class in an object oriented system provides a crisp abstraction of a well defined set of responsibilities. The class diagram is the main building block in object oriented modelling. It is used both for general conceptual modelling of the systematics of the application, and for detailed modelling translating the models into programming code. The classes in a class diagram represent both the main objects and or interactions in the application and the objects to be programmed A class is a category or group of things that have the same attributes and the same behaviors. A rectangle is the icon that represents the class. It’s divided into three areas The uppermost area contains the name, the middle area holds the attributes, and the lowest area holds the operations. i.e. Anything in the class of washing machines has attributes such as brand name, model, serial number, and capacity. Behaviors for things in this class include the operations “accept clothes,” “accept detergent,” “turn on,” and “turn off.” A class consists of three parts: Class Name: • The name of the class appears in the first partition. Class Attributes: • Attributes are shown in the second partition. • The attribute type is shown after the colon. • Attributes map onto member variables (data members) • in code. 3
  • 4. Harsh Kishore Mishra B.Tech. IT, IIMET Jaipur Class Operations (Methods): • Operations are shown in the third partition. They are services the class provides. • The return type of a method is shown after the colon at the end of the method signature. • The return type of method parameters are shown after the colon following the parameter name. • Operations map onto class methods in code Visibility and Access for attributes and operations of a class The +, - and # symbols before an attribute and operation name in a class denote the visibility of the attribute and operation. + denotes public attributes or operations - denotes private attributes or operations # denotes protected attributes or operations We can observe that • attribute1 and op1 of MyClassName are public • attribute3 and op3 are protected. • attribute2 and op2 are private. Relationships between classes A Link is the basic relationship among objects. It is represented as a line connecting two or more object boxes. It can be shown on an object diagram or class diagram. A link is an instance of an association. In other words, it creates a relationship between two classes. A class may be involved in one or more relationships with other classes. Inheritance (or Generalization) • Represents an “is-a” relationship. • An abstract class name is shown in italics. • SubClass1 and SubClass2 are specializations of SuperClass. 4
  • 5. Harsh Kishore Mishra B.Tech. IT, IIMET Jaipur Association An association represents a family of links. Binary associations (with two ends) are normally represented as a line, with each end connected to a class box. Higher order associations can be drawn with more than two ends. In such cases, the ends are connected to a central diamond.An association can be named, and the ends of an association can be adorned with role names, ownership indicators, multiplicity, visibility, and other properties. • Simple association: o A structural link between two peer classes. o There is an association between Class1 and Class2 • Aggregation: Aggregation is a variant of the "has a" or 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. Aggregation can occur when a class is a collection or container of other classes, but where the contained classes do not have a strong life cycle dependency on the container—essentially, if the container is destroyed, its contents are not. A special type of association. It represents a “part-of” relationship. o Class2 is part of Class1. o Many instances (denoted by the *) of Class2 can be associated with Class1. o Objects of Class1 and Class2 have separate lifetimes 5
  • 6. Harsh Kishore Mishra B.Tech. IT, IIMET Jaipur • Composition: A special type of aggregation where parts are destroyed when the whole is destroyed. Class diagram showing Composition between two classes at top and Aggregation between two classes at bottom Composition is a stronger variant of the "owns a" or association relationship; composition is more specific than aggregation. Composition usually has a strong life cycle dependency between instances of the container class and instances of the contained class(es): If the container is destroyed, normally every instance that it contains is destroyed as well. (Note that a part can (where allowed) be removed from a composite before the composite is deleted, and thus not be deleted as part of the composite.) o Objects of Class2 live and die with Class1. o Class2 cannot stand by itself. Differences between Composition and Aggregation When attempting to represent real-world whole-part relationships, e.g., an engine is part of a car, the composition relationship is most appropriate. However, when representing a software or database relationship, e.g., car model engine ENG01 is part of a car model CM01, an aggregation relationship is best, as the engine, ENG01 may be also part of a different car model. Thus the aggregation relationship is often called "catalog" containment to distinguish it from composition's "physical" containment. • Dependency: o Exists between two classes if changes to the definition of one may cause changes to the other (but not the other way around). o Class1 depends on Class2 6
  • 7. Harsh Kishore Mishra B.Tech. IT, IIMET Jaipur Class Level Relationships • Generalization Class diagram showing generalization between one superclass and two subclasses The Generalization relationship ("is a") indicates that one of the two related classes (the subclass) is considered to be a specialized form of the other (the super type) and superclass is considered as 'Generalization' of subclass. In practice, this means that any instance of the subtype is also an instance of the superclass. An exemplary tree of generalizations of this form is found in binomial nomenclature: human beings are a subclass of simian, which are a subclass of mammal, and so on. The relationship is most easily understood by the phrase 'an A is a B' (a human is a mammal, a mammal is an animal). The UML graphical representation of a Generalization is a hollow triangle shape on the superclass end of the line (or tree of lines) that connects it to one or more subtypes. The generalization relationship is also known as the inheritance or "is a" relationship. The superclass in the generalization relationship is also known as the "parent", superclass, base class, or base type. The subtype in the specialization relationship is also known as the "child", subclass, derived class, derived type, inheriting class, or inheriting type. Note that this relationship bears no resemblance to the biological parent/child relationship: the use of these terms is extremely common, but can be misleading. Generalization-Specialization relationship A is a type of B E. g. "an oak is a type of tree", "an automobile is a type of vehicle" • Realization In UML modeling, a realization relationship is a relationship between two model elements, in which one model element (the client) realizes (implements or executes) the behavior that the other model element (the supplier) specifies. A realization is indicated by a dashed line with an unfilled arrowhead towards the supplier. Realizations can only be shown on class or component diagrams. A realization is a relationship between classes, interfaces, components, and packages that connects a client element with a supplier element. A realization relationship between classes and interfaces and between components and interfaces shows that the class realizes the operations offered by the interface. 7
  • 8. Harsh Kishore Mishra B.Tech. IT, IIMET Jaipur Class Stereotype Descriptions Each class is associated with a stereotype that classifies it into one of three types. A short description of the three stereotypes is given below. A control class represents the persistent information in a system. A Control class models the coordination and monitor main sequencing of other objects in the system.Control classes handle the flow of control for a use-case and can therefore be seen as co-ordinating representation classes. These do not do everything in the use case, but co-ordinate with other classes that can do the work for them. A Boundary classes are responsible for communication with the user & Actor or external systems.A Boundary class represents the interaction between a system and the external world namely consisting of users and other external systems. They are identified by each actor–use- case pair on the system's use-case diagram, with one and only one boundary class existing for each pair A Entity classes model coordination and sequencing of other objects in the system. Entity classes model the information handled by the system, and sometimes the behaviour associated with the information. They should not be identified as database tables or other data- stores.An entity class represent the persistent information in a system. 8
  • 9. Harsh Kishore Mishra B.Tech. IT, IIMET Jaipur 9
  • 10. Harsh Kishore Mishra B.Tech. IT, IIMET Jaipur Object Diagram - An object is an instance of a class—a specific thing that has specific values of the class’s attributes. The icon is a rectangle, just like the class icon, but the name is underlined. In The name of the instance begins with a lowercase letter. It’s also possible to have an anonymous object, as the icon on the right of Figure shows. This just means that you don’t supply a specific name for the object, although you do show the class it belongs to. Use Case Diagram – In many design processes, the use case diagram is the first that designers will work with when starting a project. This diagram allows for the specification of high level user goals that the system must carry out. These goals are not necessarily tasks or actions, but can be more general required functionality of the system. A use case is a description of a system’s behavior from a user’s standpoint. For system developers, the use case is a valuable tool: It’s a tried-and-true technique for gathering system requirements from a user’s point of view. Obtaining information from the user’s point of view is important if the goal is to build a system that real people can use. Use Case More formally, a use case is made up of a set of scenarios. Each scenario is a sequence of steps that encompass an interaction between a user and a system. The use case brings scenarios together that accomplish a specific goal of the user. A use case can be specified by textually describing the steps required and any alternative actions at each step. For example, the use case for searching a web for a keyword might be shown as: 1. Customer enters the keyword 2. Customer clicks the search button 3. The search is executed 4. The results are shown Alternative: Search Failed If the search fails at 3, then the user is redirected back to the search screen at step 1 10
  • 11. Harsh Kishore Mishra B.Tech. IT, IIMET Jaipur In Visual Case, you can specify the steps of a use case in its description field. Simply right-click on a use case and select properties. You can then run a report and print or export the results to html or ascii text. Together, the report and the diagrams will include all of the details of the use case - their specific scenarios and the actors that carry them out. Actor The use case diagram allows a designer to graphically show these use cases and the actors that use them. An actor is a role that a user plays in the system. It is important to distinguish between a user and an actor (better thought of as a role). A user of the system may play several different roles through the course of his, her or its job (since an actor may be another system). Examples of actors are salesperson, manager, support person, and web store system. It is possible that the same person may be a sales person and also provide support. When creating a use case model, we are not concerned with the individuals, only the roles that they play. Associations On a use case diagram, associations are drawn between actors and use cases to show that an actor carries out a use case. A use case can be carried out by many actors and an actor may carry out many use cases. In the above diagram, the actors are shown as the green stick figure shapes on the left, the use cases are the blue ellipses, and the associations between them are represented by the connecting lines. The developer and the stakeholder both are responsible for specifying the system roles, but only the developer creates the model. Includes Use cases can also be related to each other with three different links. The diagram below shows the use of the includes link. Both invoice purchase and online purchase include the scenarios defined by purchase valuation. In general, the includes link is to avoid repetition of scenarios in multiple use cases. 11
  • 12. Harsh Kishore Mishra B.Tech. IT, IIMET Jaipur Generalization When a use case describes a variation on another use case, use a generalization link. In the example below, the use case limit exceeded describes a situation in which the usual scenario of online purchase is not performed. Use cases that generalize another use case should only specify an alternative, even exceptional, scenario to the use case being generalized. The overall goal of the use cases should be the same. Extends In some instances you want to describe a variation on behaviour in a more controlled form. In such instances you can define extension points in the extended use case. In the example below, search by name is said to extend search at the name extension point. The extends link is more controlled than the generalization link in that functionality can only be added at the extension points. Putting it all Together When starting a use case model, it is very important to keep it simple. Often it is easiest to first determine the actors of the system, and then flush out the use cases that they perform. Your use case diagrams can be as simple or complex as you wish, however simpler, less cluttered diagrams are easier to understand, and are often more powerful in capturing the tasks of the system. In Visual Case, you can explode a use case into a new use case diagram. For example, the use case online purchase may require further specification as you move into the design. You can create a sub-diagram within any use case to help clarify and understand the tasks involved. Remember that a use case represents a goal of a user, not an atomic programming operation. Your use case design should be simple and help to clarify the user's goals and expectations for the system. 12
  • 13. Harsh Kishore Mishra B.Tech. IT, IIMET Jaipur Use Case Diagram Sequence Diagram – Class and object diagrams are static model views. Interaction diagrams are dynamic. They describe how objects collaborate. UML sequence diagrams are used to represent or model the flow of messages, events and actions between the objects or components of a system. Time is represented in the vertical direction showing the sequence of interactions of the header elements, which are displayed horizontally at the top of the diagram. Sequence Diagrams are used primarily to design, document and validate the architecture, interfaces and logic of the system by describing the sequence of actions that need to be performed to complete a task or scenario. UML sequence diagrams are useful design tools because they provide a dynamic view of the system behavior which can be difficult to extract from static diagrams or specifications. 13
  • 14. Harsh Kishore Mishra B.Tech. IT, IIMET Jaipur Although UML sequence diagrams are typically used to describe object-oriented software systems, they are also extremely useful as system engineering tools to design system architectures, in business process engineering as process flowdiagrams, as message sequence charts and call flows for telecom/wireless system design, and for protocol stack design and analysis. A sequence diagram is an interaction diagram that details how operations are carried out -- what messages are sent and when. Sequence diagrams are organized according to time. The time progresses as you go down the page. The objects involved in the operation are listed from left to right according to when they take part in the message sequence. Objects interact with one another, and these interactions occur over time. The UML sequence diagram shows the time-based dynamics of the interaction Sequence Diagram Header Elements The header portion of the sequence diagram represents the components or objects of the system being modeled and are laid out horizontally at the top of the diagram. See an example sequence diagram here. 14
  • 15. Harsh Kishore Mishra B.Tech. IT, IIMET Jaipur 15
  • 16. Harsh Kishore Mishra B.Tech. IT, IIMET Jaipur Use case elaboration. Usage scenarios describe a way the system may be used by its actors. The UML sequence diagram can be used to flesh out the details of one or more use cases by illustrating visually how the system will behave in a particular scenario. The use cases along with their corresponding sequence diagrams describe the expected behavior of the system and form a strong foundation for the development of system architectures with robust interfaces. Distributed & web-based systems. When a system consists of distributed components (such as a client communicating with one or more servers over the Internet), sequence diagrams can be used to document and validate the architecture, interfaces and logic of each of these components for a set of usage scenarios. Complex logic. UML sequence diagrams are often used to model the logic of a complex feature by showing the interactions between the various objects that collaborate to implement each scenario. Modeling multiple scenarios showing different aspects of the feature helps developers take into account special cases during implementation. State machines. Sequence diagram editor makes it so easy to edit your sequence diagrams that you could even make the corrections in real time during the meeting and instantly see the result of the changes as you make them. Complex interactions between components. Sequence diagrams are often used to design the interactions between components of a system that need to work together to accomplish a task. They are particularly useful when the components are being developed in parallel by different teams (typical in wireless and telephony 16
  • 17. Harsh Kishore Mishra B.Tech. IT, IIMET Jaipur systems) because they support the design of robust interfaces that cover multiple scenarios and special cases. Collaboration tool- Sequence diagrams are valuable collaboration tools during design meetings because they allow you to discuss the design in concrete terms. You can see the interactions between entities, various proposed state transitions and alternate courses/special cases on paper as you discuss the design. Sequence diagram editor makes it so easy to edit your sequence diagrams that you could even make the corrections in real time during the meeting and instantly see the result of the changes as you make them. 17
  • 18. Harsh Kishore Mishra B.Tech. IT, IIMET Jaipur Documentation- Sequence diagrams can be used to document the dynamic view of the system design at various levels of abstraction, which is often difficult to extract from static diagrams or even the complete source code. The diagrams can abstract much of the implementation detail and provide a high level view of system behavior. Collaboration Diagrams Class and object diagrams are static model views. Interaction diagrams are dynamic. They describe how objects collaborate. With interaction diagram, we introduce the notion of time. Collaboration diagrams represent objects in a system an their associations. Collaboration diagrams show a sequence of activities between specific items. This is where one shows the messages or actions that can be performed on the classes--and which other classes or users perform them. Also, collaboration diagrams show an example sequence between specific actions. Each occurrence of a specific class may be labled with a name They are composed of three elements: o Objects o Associations o Messages Object Interaction diagrams depict dynamic, run-time behavior • communication between objects via messages • sequence of transactions in a dialog between a user and a system • one trace of behavior is ideally one use case Both diagrams are illustrate interaction. • Sequence is used to illustrate temporal interactions. • Collaboration is better suited to display the association between the objects. • Given enough information, a sequence diagram can be converted into a collaboration diagrams (and vice-versa). Collaboration Diagram Semantics - o Member of the Behavioural Group of diagrams as well as Sequence, Statechart, and Activity diagrams o Behavioural description includes static - structural description on the participants dynamic - description on the execution of the actions o Collaboration set of participants and interactions which are meaningful in a c ontext o Purpose models the exchange of messages between objects to achieve something o Can be attached to: 18
  • 19. Harsh Kishore Mishra B.Tech. IT, IIMET Jaipur operation or use case class o Parameterised collaboration can be reused & can assist in defining the structural aspects of a design pattern Collaboration Diagram Notation - o Represents a Collaboration and Interaction o Collaboration set of objects and their interactions in a specific context o Interaction set of messages exchanged in a collaboration to produce a desired result o Objects rectangles containing the object signature object signature: object name : object Class o object name (optional) – starts with lowercase letter o class name (mandatory) – starts with uppercase letter objects connected by lines user (stick man) can appear o Messages are labelled like C and Java function calls o followed by round brackets, and can have parameters and return values are followed by an arrow to show direction internal messages are numbered, starting from 1 Collaboration Diagram Issues - o Message Signature guard o condition applied to the message in square brackets at the start of the signature sequence number o numbers separated by dots, ending in a colon return value o name followed by := operation name argument list o names separated by commas, within round brackets o Types of message flows synchronous, asynchronous, simple o Multiplicity of objects how can messages sent to a multiplicity (e.g., an array) of objects be Communication Diagram - Both the sequence diagram and the communication diagram show interactions among objects. For this reason, the UML refers to them collectively as interaction diagrams. 19
  • 20. Harsh Kishore Mishra B.Tech. IT, IIMET Jaipur Each arrow represents a message that goes from one object to another. Time, in this diagram, proceeds from top to bottom. So the first message is timeSoak (), which the timer sends to itself. The second message is sendWater (), which the timer sends to the water pipe. The final message, stopRotating (), goes from the timer to the drum. Activity Diagram Activity diagram is another important diagram in UML to describe dynamic aspects of the system.The activities that occur within a use case or within an object’s behavior typically occur in a sequence is represented by the activity diagram Activity diagram is basically a flow chart to represent the flow form one activity to another activity. The activity can be described as an operation of the system.So the control flow is drawn from one operation to another. This flow can be sequential, branched or concurrent. Activity diagrams deals with all type of flow control by using different elements like fork, join etc. Purpose: The basic purposes of activity diagrams are similar to other four diagrams. It captures the dynamic behaviour of the system. Other four diagrams are used to show the message flow from one object to another but activity diagram is used to show message flow from one activity to another. Activity is a particular operation of the system. Activity diagrams are not only used for visualizing dynamic nature of a system but they are also used to construct the executable system by using forward and reverse engineering techniques. The only missing thing in activity diagram is the message part. It does not show any message flow from one activity to another. Activity diagram is some time considered as the flow chart. Although the diagrams looks like a flow chart but it is not. It shows different flow like parallel, branched, concurrent and single. So the purposes can be described as: • Draw the activity flow of a system. • Describe the sequence from one activity to another. • Describe the parallel, branched and concurrent flow of the system. How to draw Activity Diagram? Activity diagrams are mainly used as a flow chart consists of activities performed by the system. But activity diagram are not exactly a flow chart as they have some additional capabilities. These additional capabilities include branching, parallel flow, swimlane etc. The main element of an activity diagram is the activity itself. An activity is a function performed by the system. After identifying the activities we need to understand how they are associated with constraints and conditions. So before drawing an activity diagram we should identify the following elements: 20
  • 21. Harsh Kishore Mishra B.Tech. IT, IIMET Jaipur • Activities • Association • Conditions • Constraints The following is an example of an activity diagram for Admission Process management system. In the diagram four activities are identified which are associated with conditions. One important point should be clearly understood that an activity diagram cannot be exactly matched with the code. The activity diagram is made to understand the flow of activities and mainly used by the business users. The following diagram is drawn with the four main activities: • Admission request by student • Receipt of the Application • Confirm Application • Dispatch order After receiving the order request condition checks are performed to check if it is normal or special order. After the type of order is identified dispatch activity is performed and that is marked as the termination of the process. Where to use Activity Diagrams? The basic usage of activity diagram is similar to other four UML diagrams. The specific usage is to model the control flow from one activity to another. This control flow does not include messages. The activity diagram is suitable for modeling the activity flow of the system. An application can have multiple systems. Activity diagram also captures these systems and describes flow from one system to another. This specific usage is not available in other diagrams. These systems can be database, external queues or any other system. Now we will look into the practical applications of the activity diagram. From the above discussion it is clear that an activity diagram is drawn from a very high level. So it gives high level view of a system. This high level view is mainly for business users or any other person who is not a technical person. This diagram is used to model the activities which are nothing but business requirements. So the diagram has more impact on business understanding rather implementation details. Following are the main usages of activity diagram: • Modeling work flow by using activities. • Modeling business requirements. • High level understanding of the system's functionalities. • Investigate business requirements at a later stage. 21
  • 22. Harsh Kishore Mishra B.Tech. IT, IIMET Jaipur Statechart Diagram The name of the diagram itself clarifies the purpose of the diagram and other details. It describes different states of a component in a system. The states are specific to a component/object of a system. A Statechart diagram describes a state machine. Now to clarify it state machine can be defined as a machine which defines different states of an object and these states are controlled by external or internal events. Activity diagram explained in next chapter, is a special kind of a Statechart diagram. As Statechart diagram defines states it is used to model lifetime of an object. Purpose: Statechart diagram is one of the five UML diagrams used to model dynamic nature of a system. They define different states of an object during its lifetime. And these states are changed by events. So Statechart diagrams are useful to model reactive systems. Reactive systems can be defined as a system that responds to external or internal events. Statechart diagram describes the flow of control from one state to another state. States are defined as a condition in which an object exists and it changes when some event is triggered. So 22
  • 23. Harsh Kishore Mishra B.Tech. IT, IIMET Jaipur the most important purpose of Statechart diagram is to model life time of an object from creation to termination. Statechart diagrams are also used for forward and reverse engineering of a system. But the main purpose is to model reactive system. Following are the main purposes of using Statechart diagrams: • To model dynamic aspect of a system. • To model life time of a reactive system. • To describe different states of an object during its life time. • Define a state machine to model states of an object. How to draw Statechart Diagram? Statechart diagram is used to describe the states of different objects in its life cycle. So the emphasis is given on the state changes upon some internal or external events. These states of objects are important to analyze and implement them accurately. Statechart diagrams are very important for describing the states. States can be identified as the condition of objects when a particular event occurs. Before drawing a Statechart diagram we must have clarified the following points: • Identify important objects to be analyzed. • Identify the states. • Identify the events. A Statechart diagram where the state of Order object is analyzed. The first state is an idle state from where the process starts. The next states are arrived for events like send request, confirm request, and dispatch order. These events are responsible for state changes of order object. The initial and final state of an object is also shown below. Where to use Statechart Diagrams? From the above discussion we can define the practical applications of a Statechart diagram. Statechart diagrams are used to model dynamic aspect of a system like other four diagrams disused in this tutorial. But it has some distinguishing characteristics for modeling dynamic nature. Statechart diagram defines the states of a component and these state changes are dynamic in nature. So its specific purpose is to define state changes triggered by events. Events are internal or external factors influencing the system. Statechart diagrams are used to model states and also events operating on the system. When implementing a system it is very important to clarify different states of an object during its life time and statechart diagrams are used for this purpose. When these states and events are identified they are used to model it and these models are used during implementation of the system. 23
  • 24. Harsh Kishore Mishra B.Tech. IT, IIMET Jaipur If we look into the practical implementation of Statechart diagram then it is mainly used to analyze the object states influenced by events. This analysis is helpful to understand the system behaviour during its execution. So the main usages can be described as: • To model object states of a system. • To model reactive system. Reactive system consists of reactive objects. • To identify events responsible for state changes. • Forward and reverse engineering. At any given time, an object is in a particular state. This transition from one state to the next state is represented by state diagram.i.e A person can be a newborn, infant, child, adolescent, teenager, or adult. An elevator is either moving or stationary. A washing machine can be either in the soaking, washing, rinsing, spinning, or off state. The symbol at the top of the figure represents the start state and the symbol at the bottom represents the end state. 24
  • 25. Harsh Kishore Mishra B.Tech. IT, IIMET Jaipur Component Diagram Component diagram is a special kind of diagram in UML. The purpose is also different from all other diagrams discussed so far. It does not describe the functionality of the system but it describes the components used to make those functionalities. So from that point component diagrams are used to visualize the physical components in a system. These components are libraries, packages, files etc. Component diagrams can also be described as a static implementation view of a system. Static implementation represents the organization of the components at a particular moment. A single component diagram cannot represent the entire system but a collection of diagrams are used to represent the whole. So the purpose of the component diagram can be summarized as: • Visualize the components of a system. • Construct executables by using forward and reverse engineering. • Describe the organization and relationships of the components. How to draw Component Diagram? Component diagrams are used to describe the physical artifacts of a system. This artifact includes files, executables, libraries etc. So the purpose of this diagram is different, Component diagrams are used during the implementation phase of an application. But it is prepared well in advance to visualize the implementation details. Initially the system is designed using different UML diagrams and then when the artifacts are ready component diagrams are used to get an idea of the implementation. This diagram is very important because without it the application cannot be implemented efficiently. A well prepared component diagram is also important for other aspects like application performance, maintenance etc. So before drawing a component diagram the following artifacts are to be identified clearly: • Files used in the system. • Libraries and other artifacts relevant to the application. • Relationships among the artifacts. Now after identifying the artifacts the following points needs to be followed: • Use a meaningful name to identify the component for which the diagram is to be drawn. • Prepare a mental layout before producing using tools. • Use notes for clarifying important points. 25
  • 26. Harsh Kishore Mishra B.Tech. IT, IIMET Jaipur Where to use Component Diagrams? We have already described that component diagrams are used to visualize the static implementation view of a system. Component diagrams are special type of UML diagrams used for different purposes. These diagrams show the physical components of a system. To clarify it, we can say that component diagrams describe the organization of the components in a system. Organization can be further described as the location of the components in a system. These components are organized in a special way to meet the system requirements. As we have already discussed those components are libraries, files, executables etc. Now before implementing the application these components are to be organized. This component organization is also designed separately as a part of project execution. Component diagrams are very important from implementation perspective. So the implementation team of an application should have a proper knowledge of the component details. Now the usage of component diagrams can be described as: • Model the components of a system. • Model database schema. • Model executables of an application. • Model system's source code. 26
  • 27. Harsh Kishore Mishra B.Tech. IT, IIMET Jaipur Deployment Diagram Overview: Deployment diagrams are used to visualize the topology of the physical components of a system where the software components are deployed. So deployment diagrams are used to describe the static deployment view of a system. Deployment diagrams consist of nodes and their relationships. Purpose: The name Deployment itself describes the purpose of the diagram. Deployment diagrams are used for describing the hardware components where software components are deployed. Component diagrams and deployment diagrams are closely related. Component diagrams are used to describe the components and deployment diagrams shows how they are deployed in hardware. UML is mainly designed to focus on software artifacts of a system. But these two diagrams are special diagrams used to focus on software components and hardware components. So most of the UML diagrams are used to handle logical components but deployment diagrams are made to focus on hardware topology of a system. Deployment diagrams are used by the system engineers. The purpose of deployment diagrams can be described as: • Visualize hardware topology of a system. • Describe the hardware components used to deploy software components. • Describe runtime processing nodes. How to draw Deployment Diagram? Deployment diagram represents the deployment view of a system. It is related to the component diagram. Because the components are deployed using the deployment diagrams. A deployment diagram consists of nodes. Nodes are nothing but physical hardwares used to deploy the application. Deployment diagrams are useful for system engineers. An efficient deployment diagram is very important because it controls the following parameters • Performance • Scalability • Maintainability • Portability So before drawing a deployment diagram the following artifacts should be identified: 27
  • 28. Harsh Kishore Mishra B.Tech. IT, IIMET Jaipur • Nodes • Relationships among nodes The following deployment diagram is a sample to give an idea of the deployment view of order management system. Here we have shown nodes as: • Monitor • Modem • Caching server • Server The application is assumed to be a web based application which is deployed in a clustered environment using server 1, server 2 and server 3. The user is connecting to the application using internet. The control is flowing from the caching server to the clustered environment. So the following deployment diagram has been drawn considering all the points mentioned above: Where to use Deployment Diagrams? Deployment diagrams are mainly used by system engineers. These diagrams are used to describe the physical components (hardwares), their distribution and association. To clarify it in details we can visualize deployment diagrams as the hardware components/nodes on which software components reside. 28
  • 29. Harsh Kishore Mishra B.Tech. IT, IIMET Jaipur Software applications are developed to model complex business processes. Only efficient software applications are not sufficient to meet business requirements. Business requirements can be described as to support increasing number of users, quick response time etc. To meet these types of requirements hardware components should be designed efficiently and in a cost effective way. Now a day's software applications are very complex in nature. Software applications can be stand alone, web based, distributed, mainframe based and many more. So it is very important to design the hardware components efficiently. So the usage of deployment diagrams can be described as follows: • To model the hardware topology of a system. • To model embedded system. • To model hardware details for a client/server system. • To model hardware details of a distributed application. • Forward and reverse engineering Component diagrams are different in terms of nature and behaviour. Component diagrams are used to model physical aspects of a system. Now the question is what are these physical aspects? Physical aspects are the elements like executables, libraries, files, documents etc which resides in a node. So component diagrams are used to visualize the organization and relationships among components in a system. These diagrams are also used to make executable systems. 29