You are on page 1of 34

An Introduction to UML

Objectives
In this lesson, you will learn about : Object-oriented modeling Origin and evolution of UML Architecture of UML User View Actor Use Cases

NIIT

UML /Lesson 1/Slide 1 of 34

An Introduction to UML
The Object Oriented Approach
The object-oriented approach views a system as a collection of real-world objects Object-oriented systems are based on classes A class categorizes a set of objects that share common Attributes - represent the properties of the class Behaviors - represent the operations that can be performed by the class An object is an instance of a class and demonstrates the attributes and behaviors of the class
NIIT UML /Lesson 1/Slide 2 of 34

An Introduction to UML
Features of Object-Orientation
Abstraction - represents the essential characteristics of an object or a class that differentiates it from other objects or classes with respect to the viewers perspective Inheritance - helps you generalize common attributes and behaviors in separate classes from which various subclasses can be derived Encapsulation - helps you hide unnecessary behaviors or attributes from the user Polymorphism - is the ability of an object to behave differently under different circumstances
NIIT UML /Lesson 1/Slide 3 of 34

An Introduction to UML
Software Development Life Cycle
Software Development Life Cycle consists of four phases that any software-intensive system undergoes
Inception - This is the first phase of the SDLC process. The idea of a new system is envisaged at this stage Elaboration - This is the second phase of the SDLC process. The system vision and architecture are defined at this stage Construction - This is the third phase of the SDLC process. The software is coded to form an executable base, which is ready to be deployed Transition - This is the last phase of the SDLC process. The software is handed over to the end user and is tested for defects
NIIT UML /Lesson 1/Slide 4 of 34

An Introduction to UML
Object-Oriented Modeling
Modeling is breaking the complex problem into small elements and arriving at the solution of the problem Models help you visualize and specify different parts of a system Models also show how different parts are related to one another and help in visualizing their working

NIIT

UML /Lesson 1/Slide 5 of 34

An Introduction to UML
Object-Oriented Modeling(Contd.)
UML defines various models in the software engineering domain. The models and their description are given below:
The class model describes the static structure The state model represents the dynamic behavior of objects The use case model explains the requirements of the user The interaction model describes the messages flows The implementation model contains the work units The deployment model contains details that pertain to process allocation
NIIT UML /Lesson 1/Slide 6 of 34

An Introduction to UML
Unified Modeling Language (UML)
Is a standard modeling language used for modeling software systems of varying complexities Provides a set of notations and rules for using any kind of system Focus is on creating simple, well-documented and easy-to-understand software models

NIIT

UML /Lesson 1/Slide 7 of 34

An Introduction to UML
Goals of UML
The goals of the UML are: To provide a simple and ready-to-use expressive visual modeling language To be process-independent To be language-independent

NIIT

UML /Lesson 1/Slide 8 of 34

An Introduction to UML
UML is used to:
Visualize the software system with well-defined symbols Specify the software system and help in building precise, unambiguous, and complete models Construct models of the software system that can directly communicate with a variety of programming languages Document models of the software system by expressing requirements of the system during its development and deployment stages

NIIT

UML /Lesson 1/Slide 9 of 34

An Introduction to UML
Where is UML Used?
Some of the most common domains where UML is being currently used are: Banking services Defense systems Distributed Web-based services Enterprise Information systems Medical systems Aerospace systems.

NIIT

UML /Lesson 1/Slide 10 of 34

An Introduction to UML
UML: The Big Picture

Structural View

Implementation View

User View Environment View

Behavioral View

NIIT

UML /Lesson 1/Slide 11 of 34

An Introduction to UML
Views in UML
User View represents the goals and objectives of the system Structural View represents the static or idle state of the system Behavioral View represents the dynamic or changing state of the system Implementation View represents the distribution of the logical elements of the system Environment View represents the distribution of the physical elements of the system

NIIT

UML /Lesson 1/Slide 12 of 34

An Introduction to UML
Context and Environment of a System
A system addresses a problem and provides solutions to the problem within a framework. This framework is referred to as the context of a system The environment of a system specifies the functionality of the system from the users point of view

NIIT

UML /Lesson 1/Slide 13 of 34

An Introduction to UML
The User View of a System
Represents the goals and objectives of various users and their requirements from the system Represents that part of the system with which the user interacts Consist of: System Users - System users can be human users or other systems that interact directly with the system Actors - Actors are the elements that lie outside the system, and therefore are called the external entities of a system. They are used to model system users
NIIT UML /Lesson 1/Slide 14 of 34

An Introduction to UML
Actors
Are divided into four main categories: Principal actors people who directly interact with the system. Secondary actors people who are involved in maintenance of the system External hardware The hardware that is a part of system other than the computer that runs an application Other systems The external systems with which your system needs to interact for its working

NIIT

UML /Lesson 1/Slide 15 of 34

An Introduction to UML
Problem Statement 1.D.1
One of the sources used by Tebisco for recruiting personnel is the internal job postings process. Whenever a vacancy arises, the Human Resource (HR) head of the region informs all the employees of that region and also sends the information to other regional HR heads inviting applications. The other regional HR heads then place the vacancy information on the notice board. All interested employees send their applications to the HR head of the region where the vacancy exists. Identify the various actors interacting with the system.

NIIT

UML /Lesson 1/Slide 16 of 34

An Introduction to UML
Solution: The actors identified are:
Regional HR head where a vacancy exists, denoted as RHR(V) Other Regional HR head, denoted as RHR(O) All employees of Tebisco, denoted as EMP

NIIT

UML /Lesson 1/Slide 17 of 34

An Introduction to UML
Problem Statement 1.P.1
Employee referrals are one of the best sources used for recruiting external candidates at Tebisco. In this process an employee recommends a candidate. Whenever a vacancy arises, the HR head of the region informs all the employees of that region and also sends the information to other regional HR heads inviting applications. The regional HR head then places the vacancy information on the notice board. Employees send the details of candidates being recommended by them to the HR head of the region where the vacancy exists. After an employee sends in the recommendation, the regional HR head sends an acknowledgement of the receipt of the application to the candidate. Identify the various actors interacting with the system.
NIIT UML /Lesson 1/Slide 18 of 34

An Introduction to UML
Use Cases
Consist of elements that lie inside the system Are responsible for functionality and behavior of the system Are set of transactions performed by the system when an actor initiates an event or an action Represent all the possible events that can occur in all possible scenarios

NIIT

UML /Lesson 1/Slide 19 of 34

An Introduction to UML
Diagrammatic Conventions for Drawing Use Case Diagrams
The user view of a system consists of use case diagrams A use case diagram contains actors, use cases, and their relationships A use case diagram represents the functionality provided by the system to external entities Use case diagrams consist of actors and use cases

NIIT

UML /Lesson 1/Slide 20 of 34

An Introduction to UML
Diagrammatic Conventions for Drawing Use Case Diagrams(Contd.)
Following is the diagrammatic representation of use case diagrams

<Use Case Name>

<Actor Name>

NIIT

UML /Lesson 1/Slide 21 of 34

An Introduction to UML
Diagrammatic Conventions for Drawing Use Case Diagrams(Contd.)
Consider the following examples of use cases in the billing system of the department store: Enter Bill Details Calculate Total Amount Print Bill

NIIT

UML /Lesson 1/Slide 22 of 34

An Introduction to UML
Diagrammatic Conventions for Drawing Use Case Diagrams(Contd.)
Enter Bill Details

Clerk Calculate Total Amount

Print Bill

Clerk

NIIT

UML /Lesson 1/Slide 23 of 34

An Introduction to UML
Problem Statement 1.D.2
In the internal job postings process, the HR head of the region where a vacancy exists informs the employees of that region and other regional HR heads. The other regional HR heads inform employees by putting up a notice with the vacancy information. In response to this information, employees from various regions send their applications to the HR head of the region where the vacancy exists. The skills of the applicants are then matched with the skills required for the vacancy. Applicants who possess the required skills are short-listed and an interview schedule is drawn. The short-listed applicants are informed about the interview schedule.
NIIT UML /Lesson 1/Slide 24 of 34

An Introduction to UML
Problem Statement 1.D.2 (Contd.)
Based on the interview proceedings, interview details are updated and all the selected applicants are given a new offer letter. The applicant informs the HR head of the region where the vacancy exists, either by accepting or declining the offer letter. After the employee accepts the offer letter, a transfer request is sent to the HR head of the current region of the employee. The respective region processes the transfer details and sends it to the new region where the employee has been transferred. The new region then updates the employee details and sends the transfer documents to the employee. Identify the various use cases involved in the internal job postings process and represent the user view of the system.
NIIT UML /Lesson 1/Slide 25 of 34

An Introduction to UML
Solution:

Distribute Information

RHR (O)

RHR (V)

EMP

Send Application

EMP

RHR (V)

NIIT

UML /Lesson 1/Slide 26 of 34

An Introduction to UML
Solution:(Contd.)
Match Skills

RHR (V) Arrange Interview

EMP

Update Interview Details RHR (V) Generate Offer Letter EMP

NIIT

UML /Lesson 1/Slide 27 of 34

An Introduction to UML
Solution:(Contd.)
Accept / Reject Offer Letter

EMP

RHR (V)

Transfer Request

RHR (V)

RHR (O)

NIIT

UML /Lesson 1/Slide 28 of 34

An Introduction to UML
Solution:(Contd.)

Arrange for Transfer

RHR (O)

RHR (V)

Update Transfer Details

RHR (V)

EMP

NIIT

UML /Lesson 1/Slide 29 of 34

An Introduction to UML
Problem Statement 1.P.2
Dual Infosys Inc is going in for workflow automation. One of the workflows that they want to automate is leave processing. The process followed by Dual Infosys Inc is discussed below. The employee sends an application for a leave to the supervisor. Supervisor sanctions or rejects the leave application and sends it to the HR Operations (HR(O)). HR(O) verifies the leave balance and processes the leave by updating the leave details and sends the approval to the employee. Identify the various use cases involved in the employee referral process of leave application and represent the user view of this system.
NIIT UML /Lesson 1/Slide 30 of 34

An Introduction to UML
Summary
In this lesson you learned that: A class is a set of objects that share common attributes and behaviors. Features of object-orientation are: Abstraction Inheritance Encapsulation Polymorphism Advantages of object-oriented approach are: Realistic modeling
NIIT UML /Lesson 1/Slide 31 of 34

An Introduction to UML
Summary (Contd.)
Reusability Resilience to change The phases in Software Development Life Cycle are: Inception Elaboration Construction Transition UML provides a set of notations and rules for using different kind of systems

NIIT

UML /Lesson 1/Slide 32 of 34

An Introduction to UML
Summary (Contd.)
The goals of UML are: To provide a simple and ready-to-use expressive visual modeling language To be process independent To be language independent

NIIT

UML /Lesson 1/Slide 33 of 34

An Introduction to UML
Summary (Contd.)
Different kind of views in UML are: The user view The structural view The behavioral view The implementation view The environment view

NIIT

UML /Lesson 1/Slide 34 of 34