uml unit 01

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

Upload: prashanth-shivakumar

Post on 17-Aug-2015

142 views

Category:

Software


0 download

TRANSCRIPT

Objectives

In this lesson, you will learn about :

Object-oriented modeling

Origin and evolution of UML

Architecture of UML

User View

Actor

Use Cases

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

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 viewer’s 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

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

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

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

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

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 

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

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.

UML: The Big Picture

User View

Structural View

Behavioral View

Implementation View

Environment View

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

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 user’s point of view

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

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

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.

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

 

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.

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

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

Diagrammatic Conventions for Drawing

Use Case Diagrams(Contd.)

Following is the diagrammatic representation of use case diagrams

<Actor Name>

<Use Case Name>

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

Diagrammatic Conventions for Drawing

Use Case Diagrams(Contd.)

Enter Bill Details

Calculate Total Amount

Print Bill

Clerk

Clerk

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.

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.

Solution:

Distribute Information

Send Application

RHR (V)

EMP

RHR (O)

EMP RHR (V)

Solution:(Contd.)

Match Skills

Generate Offer Letter

Update Interview Details

Arrange Interview

EMP

EMP

RHR (V)

RHR (V)

Solution:(Contd.)

Accept / Reject Offer Letter

RHR (V) EMP

Transfer Request

RHR (O) RHR (V)

Solution:(Contd.)

Arrange for Transfer

Update Transfer Details

EMP

RHR (V) RHR (O)

RHR (V)

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.

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

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

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

Summary (Contd.)

Different kind of views in UML are:

The user view

The structural view

The behavioral view

The implementation view

The environment view