Top Banner
Lecture 1: Introduction Duration : 3 HRS Object Oriented Modeling with UML by Ramakant Soni Assistant Professor Dept. of Computer Science B. K. Birla Institute of Engineering & Technology, Pilani Ramakant Soni @ BKBIET Pilani 1
40
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Lecture 1   Introduction to UML

Lecture 1: IntroductionDuration : 3 HRS

Object Oriented Modeling with UML

by

Ramakant SoniAssistant Professor

Dept. of Computer ScienceB. K. Birla Institute of Engineering & Technology, Pilani

Ramakant Soni @ BKBIET Pilani 1

Page 2: Lecture 1   Introduction to UML

Objective of the module

Objective 1:This course is to learn modeling and design programsusing the object approach. The language used is UML.

Objective 2:Objective 2:To provide a software development methodologystarting the real world until the completion of theprogram

Objective 3:Learn how to design objects in view of reusability.

Ramakant Soni @ BKBIET Pilani 2

Page 3: Lecture 1   Introduction to UML

What is a Model?Definition 1:

In (computers) Model is a simulation to reproduce behavior of a system.

Definition 2:

Ramakant Soni @ BKBIET Pilani 3

Definition 2:

It’s the representation of entities and relationships between them.

Definition 3:

A model serves as an abstraction - an approximate representation of the real item that is being built.

Page 4: Lecture 1   Introduction to UML

What is modeling?

Definition 1:Definition 1:Process of representing a real-world object or phenomenon asa set of mathematical equations.

Definition 2:Designing and analyzing a mathematical representation of aneconomic system to study the effect of changes to systemvariables.

Ramakant Soni @ BKBIET Pilani 4

Page 5: Lecture 1   Introduction to UML

Why to model?

• It is neither technically wise nor economically practical tobuild certain kind of complex systems without first creatinga design, a blueprint or another abstract representation.

For example : Professional architect needs to first developan array of architectural plans before constructing a multi-office building.office building.

• Modeling provides architects and others with the ability tovisualize entire systems, assess different options andcommunicate designs more clearly before taking on therisks- technical, financial or otherwise of actualconstruction.

Ramakant Soni @ BKBIET Pilani 5

Page 6: Lecture 1   Introduction to UML

When do we model?

Some specific situations in which the modeling effort is worthwhile include:

• To better understand the business or engineering situation at hand ("as-is" model) and to craft a better system ("to-be" model).situation at hand ("as-is" model) and to craft a better system ("to-be" model).

• To build and design a system architecture.

• To create visualizations of code and other forms of implementation.

Ramakant Soni @ BKBIET Pilani 6

Page 7: Lecture 1   Introduction to UML

How do We model?• A standard means for representing software models and related

artifacts.Software architects, designers and developers use UML for specifying,visualizing, constructing and documenting all aspects of a softwaresystem.Key leaders from IBM Rational led the original development of UML.Today, UML is managed by the Object Management Group (OMG), whichensure that the specification continues to meet the dynamic needs of thesoftware community.software community.

• UML is more than just a graphical notational standard -- it is a modelinglanguage.As with all languages, UML defines syntax (both graphical and textual) andsemantics (the underlying meanings of the symbols and text). Having atrue modeling language rather than just a standard notation is essentialfor standardizing the use of UML. UML -- a true modeling language -- hashelped it become the software industry's most recognized and widelyapplicable modeling standard.

Ramakant Soni @ BKBIET Pilani 7

Page 8: Lecture 1   Introduction to UML

Objects

• Objects are key to understanding object-orientedtechnology.If we look around right now and we'll find manyexamples of real-world objects: our book, desk, laptop,or phones.

• Software objects are conceptually similar to real-worldobjects: they too consist of state and related behavior.

An object stores its state in fields/ variables andexposes its behavior through methods/ functions.

Ramakant Soni @ BKBIET Pilani 8

Page 9: Lecture 1   Introduction to UML

Object Responsibilities

Objects (classes) have responsibilities, which they are expected to exhibit in an object-oriented information:

• What they know about themselves -: (Attributes)• What they know about themselves -: (Attributes)

• What they do -: (Operations)

• What they know about other objects -:(Class and

object relationships )

Ramakant Soni @ BKBIET Pilani 9

Page 10: Lecture 1   Introduction to UML

Object Oriented Modeling

• Object-oriented modeling is an approach to modelingan application that is used at the beginning of thesoftware life cycle when using an object-orientedapproach to software development.

• Object-oriented modeling is typically done via usecases and abstract definitions of the most importantobjects. The most common language used to doobject-oriented modeling is the Object ManagementGroup's Unified Modeling Language (UML).

Ramakant Soni @ BKBIET Pilani 10

Page 11: Lecture 1   Introduction to UML

Object Oriented Concept

Following are some fundamental concepts of object oriented world:

• Objects: Objects represent an entity and the basic building block.

• Class: Class is the blue print of an object.

• Abstraction: Abstraction represents the behavior of an real world entity.

• Encapsulation: Encapsulation is the mechanism of binding the data together and hiding them from outside world.

• Inheritance: Inheritance is the mechanism of making new classes from existing one.

• Polymorphism: It defines the mechanism to exists in different forms.

Ramakant Soni @ BKBIET Pilani 11

Page 12: Lecture 1   Introduction to UML

UML

• The key thing to remember about UML is that it is designed to be universal, it is intended to be independent of implementation platform. Specifically it is a PIM, a platform-independent Specifically it is a PIM, a platform-independent model.

Ramakant Soni @ BKBIET Pilani 12

Page 13: Lecture 1   Introduction to UML

Unified Modeling Language (UML)

• UML is a general-purpose modeling language in the field ofsoftware engineering, which is designed to provide a standard wayto visualize the design of a system.

• It was created and developed by Grady Booch, Ivar Jacobson andJames Rumbaugh at Rational Software during 1994–95 with furtherdevelopment led by them through 1996.development led by them through 1996.

• In 1997 it was adopted as a standard by the Object ManagementGroup (OMG), and has been managed by this organization eversince. In 2000 the Unified Modeling Language was also accepted bythe International Organization for Standardization (ISO) as anapproved ISO standard. Since then it has been periodically revisedto cover the latest revision of UML.

Ramakant Soni @ BKBIET Pilani 13

Page 14: Lecture 1   Introduction to UML

4 parts to the UML 2.x specification:

• The Superstructure that defines the notation and semantics for diagrams and their model elements.

• The Infrastructure that defines the core meta-model on which the Superstructure is based.which the Superstructure is based.

• The Object Constraint Language (OCL) for defining rules for model elements.

• The UML Diagram Interchange that defines how UML 2 diagram layouts are exchanged.

Ramakant Soni @ BKBIET Pilani 14

Page 15: Lecture 1   Introduction to UML

Design/Usage

Software development methodsUML is not a development method by itself; however, it wasdesigned to be compatible with the leading object-orientedsoftware development methods of its time.

UML diagrams represent two different views of a system model:

• Static (or structural) view: emphasizes the static structure of thesystem using objects, attributes, operations and relationships.

• Dynamic (or behavioral) view: emphasizes the dynamic behavior ofthe system by showing collaborations among objects and changesto the internal states of objects.

Ramakant Soni @ BKBIET Pilani 15

Page 16: Lecture 1   Introduction to UML

Applications of UML

• UML is very powerful modeling language. We can develop many diagramsusing UML and provide users with ready-to-use, expressive modelingexamples.

• UML can be applied in many areas like embedded systems, webapplications, commercial applications etc.

• Some UML tools generate program language code from UML.

• UML can be used for modeling the whole system independent of platformlanguage.

• UML gives us a standard way to write a system's view, covering conceptualthings such as business processes and system functions, as well as thingslike classes written in a specific programming language, databaseschemas, and reusable software components.

Ramakant Soni @ BKBIET Pilani 16

Page 17: Lecture 1   Introduction to UML

Areas where UML is effectively used

UML has been used effectively in following areas:

• Enterprise information systems.• Banking and financial services.• Telecommunications.• Transportation.• Transportation.• Defense.• Retail.• Medical electronics.• Science and Research.• Distributed Web-based services.

Ramakant Soni @ BKBIET Pilani 17

Page 18: Lecture 1   Introduction to UML

Why modeling with UML is used• Modeling provides structure for problem solving.

• If we model a system, we may find multiple solutions.

• Modeling helps us manage the complexity of systems beforeactually starting development work.

• With various diagrams from UML we can show clear views of• With various diagrams from UML we can show clear views ofsystem thus reducing time-to-market for business problemsolutions.

• If we model any problem before its development there arefewer chances that our development plan will go wrong, thusdecreasing development costs.

• Modeling reduces the risk of mistakes.

Ramakant Soni @ BKBIET Pilani 18

Page 19: Lecture 1   Introduction to UML

Design examples:

Taxi service - Workflow diagram

"A taxicab, also known as a taxi or a cab, is a type of vehicle for hire with a driver, used by asingle passenger or small group of passengers often for a non-shared ride. A taxicab conveyspassengers between locations of their choice. In modes of public transport, the pick-up anddrop-off locations are determined by the service provider, not by the passenger, althoughdemand responsive transport and share taxis provide a hybrid bus/taxi mode. There are fourdistinct forms of taxicab, which can be identified by slightly differing terms in differentcountries:

(1) Hackney carriages also known as public hire, hailed or street taxis, licensed for hailingthroughout communities.

(2) Private hire vehicles, also known as minicabs or private hire taxis, licensed for pre-bookingonly.

(3) Taxi buses, also known as Jitneys, operating on pre-set routes typified by multiple stops andmultiple independent passengers.

(4) Limousines, specialized vehicle licensed for operation by pre-booking. Although types ofvehicles and methods of regulation, hiring, dispatching, and negotiating payment differsignificantly from country to country, many common characteristics exist.“

Ramakant Soni @ BKBIET Pilani 19

Page 20: Lecture 1   Introduction to UML

Flow:

Ramakant Soni @ BKBIET Pilani 20

Page 21: Lecture 1   Introduction to UML

Is UML a Language?

• UML can be described as a general purpose visualmodeling language to visualize, specify, constructand document software system. Although UML isgenerally used to model software systems but it isnot limited within this boundary. It is also used tonot limited within this boundary. It is also used tomodel non software systems as well like process flowin a manufacturing unit etc.

• UML is not a programming language but tools canbe used to generate code in various languagesusing UML diagrams.

Ramakant Soni @ BKBIET Pilani 21

Page 22: Lecture 1   Introduction to UML

Goal of UML

• Its goal is to define some general purposemodeling language which all modelers can useand also it needs to be made simple tounderstand and use.

• UML diagrams are not only for developers butalso for business users, common people andanybody interested to understand the system.The system can be a software or nonsoftware.

Ramakant Soni @ BKBIET Pilani 22

Page 23: Lecture 1   Introduction to UML

UML Diagrams

• UML has many types of diagrams which aredivided into two categories. Some typesrepresent structural information, and the restrepresent general types of behavior, includingrepresent general types of behavior, includinga few that represent different aspects ofinteractions.

Ramakant Soni @ BKBIET Pilani 23

Page 24: Lecture 1   Introduction to UML

UML Diagram Hierarchy

Ramakant Soni @ BKBIET Pilani 24

Page 25: Lecture 1   Introduction to UML

Ramakant Soni @ BKBIET Pilani 25

Page 26: Lecture 1   Introduction to UML

UML Building Blocks

The building blocks of UML can be defined as:

1. Things

2. Relationships

3. Diagrams3. Diagrams

Ramakant Soni @ BKBIET Pilani 26

Page 27: Lecture 1   Introduction to UML

UML Building Blocks

Things can be defined as: Structural, Behavioral,Grouping & An-notational.

Relationship shows how elements are associatedwith each other and this association describes thewith each other and this association describes thefunctionality of an application.

UML diagrams: All the elements, relationships areused to make a complete UML diagram and thediagram represents a system.

Ramakant Soni @ BKBIET Pilani 27

Page 28: Lecture 1   Introduction to UML

Structural thingsThe Structural things define the static part of the model. They representphysical and conceptual elements.

Structural things constitutes:

• Class: Class represents set of objects having similar responsibilities.

Ramakant Soni @ BKBIET Pilani 28

Page 29: Lecture 1   Introduction to UML

Interface

Interface defines a set of operations which specify theresponsibility of a class.

Ramakant Soni @ BKBIET Pilani 29

I

Interface

Page 30: Lecture 1   Introduction to UML

Collaboration:

Collaboration defines interaction between elements.

Ramakant Soni @ BKBIET Pilani 30

Page 31: Lecture 1   Introduction to UML

Use case:

Use case represents a set of actions performed by a system for a specific goal.

Ramakant Soni @ BKBIET Pilani 31

Page 32: Lecture 1   Introduction to UML

Component

Component describes physical part of a system.

Ramakant Soni @ BKBIET Pilani 32

Page 33: Lecture 1   Introduction to UML

Node

A node can be defined as a physical element that exists at run time.

Ramakant Soni @ BKBIET Pilani 33

Page 34: Lecture 1   Introduction to UML

Behavioral things:

• A behavioral thing consists of the dynamic parts of UML models.

Ramakant Soni @ BKBIET Pilani 34

Page 35: Lecture 1   Introduction to UML

Interaction:

• Interaction is defined as a behavior thatconsists of a group of messages exchangedamong elements to accomplish a specific task.

Ramakant Soni @ BKBIET Pilani 35

Message

Page 36: Lecture 1   Introduction to UML

State machine:

• State machine is useful when the state of an objectin its life cycle is important. It defines the sequenceof states an object goes through in response toevents. Events are external factors responsible forstate change.

Ramakant Soni @ BKBIET Pilani 36

Page 37: Lecture 1   Introduction to UML

Package:

• Package is the only one grouping thing available for gathering structural and behavioral things.

Ramakant Soni @ BKBIET Pilani 37

Page 38: Lecture 1   Introduction to UML

Annotational things:

• Annotational things can be defined as a mechanism to capture remarks, descriptions, and comments of UML model elements. Note is the only one Annotational thing available.

Ramakant Soni @ BKBIET Pilani 38

Notes

Page 39: Lecture 1   Introduction to UML

References :

• http://www.ibm.com/developerworks/rational/library/6007.html

• http://en.wikipedia.org/wiki/Unified_Modeling_Language

• http://conferences.embarcadero.com/article/32200

• Tutorialspoint.com/ UML Tutorial• Tutorialspoint.com/ UML Tutorial

Ramakant Soni @ BKBIET Pilani 39

Page 40: Lecture 1   Introduction to UML

Thanks

Ramakant Soni @ BKBIET Pilani 40