Upload
gitanjalipanda
View
8
Download
0
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.