20
INTRODUCTION TO UML Le Trung Hieu

Chappter 2 Introduction to Uml

Embed Size (px)

DESCRIPTION

UML

Citation preview

INTRODUCTION TO UML

INTRODUCTION TO UMLLe Trung HieuOverview of UMLUnified Modeling Language (UML) is a standard language for creating blueprint that depicts structure and design of the software system. You can use UML for modeling systems that can range between enterprise information systems to distributed Web-based applications. There are several tools available, such as Rational Rose, Jude, AgroUML, and Poseidon, which you can use to design software systems by using UML.

Evolution of UMLDuring the mid 1970s and late 1980s:Object-oriented modeling languages were developed for analysis and design of the software. The most prominently used languages were:Boochs Booch93 Jacobsons Object Oriented Software Engineering (OOSE)Rumbaughs Object Modeling Technique-2 (OMT).In October 1994, the unification of Booch93, OMT, and OOSE led to the release of version 0.9 and 0.91 of UML.

Scope of UMLRational Software Corporation defines UML as follows: The Unified Modeling Language (UML) is a language for specifying, constructing, visualizing, and documenting the artifacts of a software-intensive system.Artifacts include requirements, architecture, design in terms of classes, objects or interfaces, source code, tests, prototypes, and the software releases of a software system. A software-intensive system includes high-end enterprise solutions, such as:Banking servicesDistributed Web-based servicesMedical systemsInsurance

Defining UML Notations UML provides the following nine diagrams to represent the structure and design of a software system:Use case diagramsClass diagramsObject diagrams Collaboration diagrams Sequence diagrams State diagrams Activity diagrams Component diagrams Deployment diagrams

Defining Use Case DiagramsA use case diagram:Depicts the various operations that a system performs. Contains use cases, actors, and their relationships.

Defining Class DiagramsA class diagram represents a set of classes, interfaces, and their relationships.

Defining Object DiagramsAn object diagram represents an instance of a class diagram.

Defining Collaboration DiagramsCollaboration diagrams represent interaction between objects in the form of messages.

Defining Sequence DiagramsSequence diagrams represent interaction between objects in the form of messages ordered in sequence by time.

Defining State DiagramsA state diagram shows how a class reacts when an event occurs.

Defining Activity DiagramsActivities are a representation of various operations performed by a class. An activity diagram depicts the flow of control from one activity to another.

Defining Component DiagramsYou combine packages or individual entities to form components. A component diagram depicts various components and their dependencies.

Defining Deployment DiagramsA deployment diagram shows the physical placement of components in nodes over a network.

Associating UML Diagrams with UML Modeling TechniquesThe four modeling techniques are:Requirements modeling: Involves depicting the requirements using use case diagrams. Static modeling: Involves depicting the static constituents of the software system using the class and object diagrams.Dynamic modeling: Involves depicting the behavior of static constituents using the following diagrams: Collaboration diagramSequence diagramActivity diagramState diagram Architectural modeling: Involves depicting the architecture of the software system into multiple tiers, such as presentation, business, and resource.

Viewing a Software System ArchitectureThe architecture of a software system is defined as an arrangement of the static and dynamic constituents in a model. The various views of a software system are:Use case view: Indicates the functionalities that the system offers to each stakeholder. Design view: Focuses on the static and dynamic representation of the system. Process view: Represents various processes executing in a system at a given instance of time. Implementation view: Represents the physical system including files and components required to assemble the system. Deployment view: Represents the hardware components on which the software system will execute.

Viewing a Software System Architecture

The Role of UML in SDLCDiagrams developed using UML serve as key documents in each phase of SDLC.The following table lists the UML diagrams that the end users can use in the requirement analysis phase:

Diagram

Role of a Diagram in the Requirement Analysis Phase

Use case

Depicts the various users of the system and how they are going to use the system to meet the requirement objectives

Class

Depicts the classes and their dependencies for the primary requirements of the system

Sequence and Collaboration

Depicts the sequence of steps performed in a process

Activity

Depicts the specific activities that are required to understand the functional requirements of the system

The Role of UML in SDLC

The following table lists various UML diagrams that you can use in the design phase:

Diagram

Role of a Diagram in SDLC phase

Class

Depicts the classes, their attributes and operations, and the relationship between classes

Sequence

Depicts the sequence of interactions between the various objects of the system

Package

Depicts the various classes that are grouped together depending on their functionality

Deployment

Depicts the layout of the software components over the network

State

Depicts the state of an object on the occurrence of an event

Component

Depicts the components required for executing system

The Role of UML in SDLCYou use the use case diagram in the test phase. The use case diagram depicts the test cases on the basis of which the system is tested.