Sei sulla pagina 1di 28

UML

Unified Modeling Language


Prof. Juliano Schimiguel

Pgina 1

Agenda
Histrico
A Guerra

dos Mtodos

Conceitos
Diagramas

Pgina 2

Histrico

Com o surgimento do paradigma de orientao a


objetos - OO (a partir da metade da dcada de 70),
comearam a surgir mtodos alternativos de anlise
e projeto de sistemas;

Os conceitos de OO trouxeram uma nova filosofia


de programao, em relao tcnica estruturada.
Dessa forma, novos mtodos eram necessrios:

Classe

Objeto

Herana

Encapsulamento

Polimorfismo

Pgina 3

A Trajetria da UML

Primeira proposta de linguagem orientada a objetos:

Smalltalk (Xerox Parc)

Surgimento do C++

Comeou a surgir a preocupao de se criar mtodos de


projeto em orientao a objetos

Vrios pesquisadores e grupos propuseram diferentes


mtodos de anlise e projeto OO

Peter Coad e Ed Yourdon (Coad & Yourdon)

Grady Booch (Booch)

James Rumbaugh (OMT Object Modeling Technique)

Ivar Jacobson (OOSE Object-Oriented Software


Engineering)

Pgina 4

A Guerra dos Mtodos (1)

As diferenas de notao entre os mtodos gerou


problemas de comunicao entre pessoas e
desenvolvedores que utilizavam diferentes tcnicas

OMG (Object Management Group) tentou, sem


sucesso, padronizar a notao

http://www.omg.org

Pgina 5

A Guerra dos Mtodos (2)

Qual a diferena entre um metodologista e um


terrorista?
Com um terrorista, pode-se negociar; com um
metodologista no...

Pgina 6

O Nascimento da UML (1)

Em 1994, James Rumbaugh sai da GE (General Electric) e se une Grady Booch da Rational Software, com a inteno de
integrar seus mtodos:

Para a conferncia OOPSLA95, Grady e James prepararam a primeira descrio de seu mtodo unificado

Ivar Jacobson se une equipe;

Em 1996, eles (conhecidos como os TRS AMIGOS) lanam a primeira verso da UML

Pgina 7

O Nascimento da UML (2)

A OMG decidiu padronizar os mtodos

Vrias organizaes submeteram propostas:

A Rational Software lanou a verso 1.0 da UML como proposta;

Aps algumas quedas-de-brao, a verso 1.1 da UML foi adotada como padro;

Em 1999, a verso 1.3 tornada pblica.

Pgina 8

O que Linguagem de
Modelagem?

uma linguagem cujo vocabulrio e regras tm seu foco voltado para a representao conceitual e fsica de
um sistema a ser desenvolvido;

Questo Importante:

A UML indica como criar e ler modelos, mas no aponta quais modelos devero ser criados;

Essa tarefa cabe ao processo de desenvolvimento de sistemas.

Pgina 9

Modelagem: Objetivos

Guia para a construo do sistema;

Modelos documentam as decises tomadas;

Linguagem comum entre os desenvolvedores;

Pgina 10

Uso de UML (1)

Quo perfeitamente se deve seguir a linguagem de modelagem?

Isto depende da razo que se est utilizando a linguagem;

No caso de se estar utilizando uma ferramenta CASE para o desenvolvimento do sistema, deve-se aderir ao padro da ferramenta:

CASE (Computer Aided Software Engineer) - Engenharia de Software Assistida por Computador;

So ferramentas que permitem o desenvolvimento de sistemas seguindo-se os conceitos de um determinado mtodo;

Permitem a gerao automtica de cdigo: C++, Java, ...

Pgina 11

Uso de UML (2)

No caso de uso dos diagramas para fins de comunicao entre pessoas:

No se deve desviar muito da notao;

A linguagem deve ser flexionada para contribuir na comunicao, e no a comunicao


entre as pessoas tem de ser alterada para o entendimento dos diagramas.

Pgina 12

Ferramentas CASE

Rational Rose
http://www.rational.com/

TogetherSoft
http://www.togethersoft.com/

ArgoUML (gratuita)
http://argouml.tigris.org/

Gentleware Poseidon UML (gratuita)


http://www.gentleware.com/

Pgina 13

Por que fazer Anlise e


Projeto? (1)

O produto final do processo de desenvolvimento de sistemas o cdigo executvel:

Diagramas so, na verdade, apenas figuras bonitas?

Nenhum usurio vai lhe agradecer pelas suas figuras bonitas!!!

Pgina 14

Por que fazer Anlise e


Projeto? (2)

Razes para utilizar UML:

Facilidade na comunicao entre usurios e projetistas, e entre projetistas e programadores;

Utiliza-se UML para atingir uma certa preciso, sem se perder em detalhes, procurando
salientar apenas aquelas informaes que so importantes

Pgina 15

Por que fazer Anlise e


Projeto? (3)

A UML ajuda na obteno de uma viso geral do sistema:

A anlise do diagrama de classes pode rapidamente dizer


que tipos de abstraes esto presentes no sistema.

Comportamento

Estado
Identidade

Pgina 16

Por que fazer Anlise e


Projeto? (4)

A medida que se examina mais profundamente o processo de desenvolvimento,


pode ser necessrio entender como as classes colaboram:

Nesse momento, faz-se uso dos diagramas de interao, que ilustram os comportamentoschave do sistema;

Pgina 17

Conceito de UML

A UML um linguagem de modelagem grfica destinada a ...


Visualizar

Especificar

Construir
Documentar

... os artefatos de um sistema complexo de software.

Neste contexto, artefato um conjunto de informaes utilizado ou produzido por um processo de desenvolvimento de software.

Pgina 18

Linguagem para
Visualizao

Para muitos programadores, no existe diferena entre pensar e implementar um cdigo;

A UML muito mais que um punhado de smbolos grficos. Por trs de cada smbolo grfico, existe uma
representao bem definida;

Um desenvolvedor poder usar a UML para escrever seu modelo e qualquer outro desenvolvedor ser capaz de
interpret-lo.

Pgina 19

Linguagem para
Especificao

Especificar significa construir modelos precisos, sem ambigidades e completos;

Atender a todas as decises importantes em termos de anlise, projeto e


implementao.

Pgina 20

Linguagem para Construo

No uma linguagem visual de programao, mas seus modelos podem ser diretamente conectados a vrias linguagens de programao;

possvel mapear os modelos da UML em linguagens de programao tais como Java, C++, Visual Basic ou at tabelas de banco de dados
relacionais;

Permite a realizao de uma engenharia de produo: a gerao de cdigo a partir de um modelo em UML;

Permite a engenharia reversa, construir um modelo a partir de sua implementao.

Pgina 21

Linguagem para
Documentao

Uma empresa de software produz vrios tipos de artefatos, alm do cdigo executvel bruto:

Requisitos

Projeto

Cdigo-fonte

Testes

Prottipos

Estes artefatos no so apenas partes do processo, mas tambm so crticos para controlar.

Pgina 22

Onde pode ser usada?

Destina-se principalmente a sistemas complexos de software;

Tem sido empregada em domnios como:

Sistemas de Informaes corporativos

Servios bancrios e financeiros

Telecomunicaes

Transportes

Defesa/Espao Areo

Eletrnica mdica

Servios distribudos baseados na Web

suficientemente expressiva para modelar sistemas que no sejam de software.

Pgina 23

Os Conceitos da UML

A UML pode ser utilizada para:

Mostrar o uso de um sistema e suas funes usando Casos de Uso e Atores;

Ilustrar a concretizao de Casos de Uso com Diagramas de Iteraes;

Representar a estrutura esttica de um sistema usando Diagramas de Classes;

Modelar o comportamento de objetos com Diagramas de Transies de Estado;

Revelar a arquitetura de implementao fsica com Diagramas de Componentes e Distribuio.

Pgina 24

Colocando a UML para


funcionar

Uma Universidade quer informatizar seu sistema de matrcula:

A Secretaria produz o currculo para o semestre:


Um curso pode ter mltiplas matrias

Os Alunos selecionam 4 matrias principais e 2 matrias alternativas;

Aps o registro, o sistema de cobranas ser notificado para que receba o pagamento do estudante por um semestre;

Os Alunos podem usar o sistema para adicionar ou remover matrias por um determinado perodo aps a matrcula;

Os Professores usam o sistema para receber a lista de oferta de cursos.

Pgina 25

Atores

Um Ator algum ou alguma coisa que deve interagir


com o sistema a ser desenvolvido

Secretaria
Professor

Aluno
Sistema Cobrana

Pgina 26

Casos de Uso

Um caso de uso um padro de comportamento que o sistema exibe

Cada caso de uso uma seqncia de transaes relacionadas executadas por um ator e o sistema, num dilogo

Atores so examinados para determinar suas necessidades

Secretaria: manter o curriculum

Professor: solicitar lista de cursos

Aluno: manter o horrio de aulas

Sistema Cobrana: recebe informaes sobre cobranas

Manter Curriculum

Solicitar Lista de Cursos

Manter Horrio

Pgina 27

Diagrama de Casos de Uso

Diagramas de casos de uso so criados para se


visualizar a relao entre atores e casos de uso

Solicita Lista de Cursos


Professor
Aluno
Mantm seu Horrio

Mantm Curriculum
Secretaria

Pgina 28

Potrebbero piacerti anche