Aula5 linguagem uml-introducao

Preview:

Citation preview

Engenharia de Software

Aula 5 – Linguagem UML - IntroduçãoProfa. Dra. Judith Pavón

Universidade Salvador – UNIFACS2012

Objetivo da aula

2

O objetivo desta aula é apresentar uma introdução à linguagem UML.

Conteúdo

O que é UML ? Vantagens do uso da notação UML Estrutura da UML Apresentação dos Diagramas da UML

O que é UML ? Década de 90, muitos métodos

disputavam o mercado

Principais métodos

. Booch (Grady Booch - Rational). Booch (Grady Booch - Rational)

. OMT (Rumbaugh - GE). OMT (Rumbaugh - GE)

. OOSE (Jacobson - Objectory). OOSE (Jacobson - Objectory)

O que é UML ?

Individualmente possuíam Individualmente possuíam pontos fortes, mas com pontos fortes, mas com vários pontos em comumvários pontos em comum BOOCHBOOCH

OMTOMT

OOSEOOSE

MétodoMétodo

UnificadoUnificado

Versões 0.8 e 0.9Versões 0.8 e 0.9

Booch, OMT e OOSE

Os três autores decidiramUnificar seus métodos

(Rational)

MétodoMétodo

UnificadoUnificado

O que é UML ?

Individualmente possuíam Individualmente possuíam pontos fortes, mas com pontos fortes, mas com vários pontos em comumvários pontos em comum

Os três autores decidiram unificar seus métodos

UMLUML

UnifiedUnified

ModelingModeling

LanguageLanguage

Versão 1.0Versão 1.0VVersão atual 2.3

Booch, OMT e OOSE

O que é UML ? Metodologia :

. LINGUAGEM GRÁFICA. LINGUAGEM GRÁFICA

. MÉTODO. MÉTODO++UMLUML

UML diz o que pode ser feito mas não diz como deve ser feito.É independente de processo.

O que é UML ? UML é uma linguagem de modelagem, que

permite representar através de uma notação gráfica o projeto de um sistema.

UML (Linguagem de Modelagem Unificada) é uma linguagem gráfica para visualização, especificação, construção e documentação de projetos de software.

UML Resources Page http://www.omg.org/uml/

http://www.omg.org/technology/uml/index.htm

Vantagens do uso da Notação UML

• UML aborda o caráter estático e dinâmico do sistema. • Surgiu a partir das três metodologias de modelagem orientado a objetos bem sucedidas.• Linguagem de modelagem mais utilizada no mercado de trabalho.• UML está destinada a ser a linguagem de modelagem padrão para sistemas orientados a objetos.• Abrange todas as etapas do processo de desenvolvimento de um software.

Estrutura da UML Elementos Básicos do Modelo

. Estruturais (classes, interfaces, colaborações, casos de uso, classes ativas, componentes, nós). Comportamentais (interação, estado)

. Agrupamento (pacotes)

. Anotacionais (notas)

. . dependência, associação, generalização, realização

Relacionamentos

11

Estrutura da UML Diagramas

. ESTÁTICOS. Diagrama de Classes. Diagrama de Objetos

. Diagrama de Implementação

- Diagrama de Componentes - Diagrama de Implantação

Estrutura da UML Diagramas

. DINÂMICOS

. Diagrama de Casos de Uso

. Diagramas de Interação - Diagrama de Seqüência

- Diagrama de Comunicação. Diagrama de Atividade

. Máquina de Estados

Conhecendo os Diagramas da UML Diagrama de Casos de Uso

. Enfoque: Análise de Requisitos. Enfoque: Análise de Requisitos

. Caso de Uso representa um seqüência de ações executadas com o objetivo de atingir um propósito.

. Interage com atores representam papéis.

Conhecendo os Diagramas da UML Diagrama de Casos de Uso

Representação GráficaRepresentação Gráfica

C o r r e n t i s t a

E f e t u a rS a q u e

Conhecendo os Diagramas da UML Diagrama de Casos de Uso

Descrição de Caso de UsoDescrição de Caso de Uso

. Cenário Principal fluxo perfeito, no qual nada ocorre de errado

. Cenários Alternativos alternativas do fluxo ; exceções

Conhecendo os Diagramas da UML

Exemplo : Exemplo : Caso de UsoCaso de Uso Efetuar Saque Efetuar Saque. Cenário Principal Ator: Correntista1. O sistema faz a leitura do cartão magnético.2. O correntista informa sua senha.3. O sistema valida a senha, verificando se é a mesma senha que está associada ao correntista.

4. O correntista informa o valor desejado de saque.5. O sistema verifica se o valor solicitado é possível dentro do saldo do correntista.

Conhecendo os Diagramas da UML

continuação do Caso de Uso

6. O sistema bloqueia o valor de saque na C/C.7. O sistema inicia a contagem de cédulas.8. O sistema debita o valor de saque da conta corrente.9. O sistema libera o dinheiro para o correntista.

Cenário Perfeito:É impossível tudo

ocorrer sem problemas !

Conhecendo os Diagramas da UML

Tratar estes problemas

Conhecendo os Diagramas da UML

. exceção

Senha Inválida

... 3. O sistema valida a senha, verificando se é a mesma senha que está associada ao correntista ...

3a. Se a senha não conferir, solicitar nova senha, por no máximo três vezes. Após a última chance, persistindo o problema, bloquear conta corrente (estende) e encerrar o caso de uso.

Conhecendo os Diagramas da UML Diagrama de Casos de Uso

Relacionamentos entre casos de usoRelacionamentos entre casos de uso

«estende»C a d a s t r a r

F u n c i o n á r i o

C a d a s t r a rD e p e n d e n t e s

V a l i d a rC P F

«inclui»

Conhecendo os Diagramas da UML Diagrama de Casos de Uso

Ligação com outros diagramas

Casos de Uso

Diagrama de Classes

Diagramas de Interação

Diagrama de Atividades

Conhecendo os Diagramas da UML Diagrama de Classes

. Abrange as Fases de . Abrange as Fases de AnáliseAnálise e e ProjetoProjeto

. Modelagem de classes e seus relacionamentos.. Modelagem de classes e seus relacionamentos.

Diagrama de Classes. . Conta CorrenteConta Corrente. . CorrentistaCorrentista . . LançamentoLançamento

Analisando os casos de uso,Analisando os casos de uso,

podemos identificarpodemos identificar

classes e atributos.classes e atributos.

Conhecendo os Diagramas da UML

Conhecendo os Diagramas da UML

Diagrama de Classes

. . Conta CorrenteConta Corrente. . CorrentistaCorrentista . . LançamentoLançamentoContaCorrente

numeroagenciadataAberturasenha...

Correntista

nomecpfenderecodataNascimento...

Lancamento

datatipovalornumDocumento...

Primeira abstração: AtributosPrimeira abstração: Atributos

Diagrama de Classes

. . Conta CorrenteConta Corrente. . CorrentistaCorrentista . . LançamentoLançamentoContaCorrente

numeroagenciadataAberturasenha...

abrirConta()bloquearConta()validarSenha(senha)...

Correntista

nomecpfenderecodataNascimento...

cadastrar()...

Lancamento

datatipovalornumDocumento...

lancar()listarLancamen tos(periodo)...

Conhecendo os Diagramas da UML

Modelagem evolui: OperaçõesModelagem evolui: Operações

Diagrama de Classes

ContaCorrente

numeroagenciadataAberturasenha...

abrirConta()bloquearConta()validarSenha(senha)...

Correntista

nomecpfenderecodataNascimento...

cadastrar()...

Lancamento

datatipovalornumDocumento...

lancar()listarLancamen tos(periodo)...

As classes não vivem sozinhas...As classes não vivem sozinhas...

precisamos estabelecer precisamos estabelecer

seus relacionamentos !!!seus relacionamentos !!!

Conhecendo os Diagramas da UML

Diagrama de Classes

ContaCorrenteCorrentista

Lancamento

RelacionamentoRelacionamento

de Associaçãode Associação

RelacionamentoRelacionamento

de Agregaçãode Agregação

Conhecendo os Diagramas da UML

Diagrama de Classes

ContaCorrenteCorrentista

Lancamento

RelacionamentoRelacionamento

de Associaçãode Associação

RelacionamentoRelacionamento

de Agregaçãode Agregação

Não precisamosNão precisamos

trabalhar com todos os elementos, trabalhar com todos os elementos,

dependendo do nível de abstraçãodependendo do nível de abstração

Conhecendo os Diagramas da UML

Conhecendo os Diagramas da UML Diagrama de Classes

. . Relacionamento de Generalização/EspecializaçãoRelacionamento de Generalização/Especialização

PessoanomedataNascimento

crmespecialidade

Medico

Medico:Medico:nomenome

dataNascimentodataNascimentocrmcrm

especialidadeespecialidade

Conhecendo os Diagramas da UML Diagrama de Classes

Ligação com outros diagramasLigação com outros diagramas

Diagrama de Classes

Diagrama de Componentes

Diagramas de Objetos

Diagrama de Gráfico de

Estados

Diagramas de Interação

Conhecendo os Diagramas da UML

Diagrama de Seqüência. É um tipo de Diagrama de Interação

. Objetivo:

Representação dos cenários de um caso de uso

. Mostra a troca de mensagens entre objetos, dentro de uma seqüência temporal

objeto

ativação

mensagem

linha de vida

Conhecendo os Diagramas da UML

Diagrama de Comunicação. É um tipo de Diagrama de Interação

. Objetivo:

Enfatiza a colaboração entre objetos sem identificar a seqüência temporal

Diagrama de Comunicação

Conhecendo os Diagramas da UML

Conhecendo os Diagramas da UML

Diagrama de Atividades

. Objetivo: . Objetivo:

Focaliza um fluxo de atividades que ocorrem Focaliza um fluxo de atividades que ocorrem para um determinado processamento de alguns para um determinado processamento de alguns elementos do modelo, como um caso de uso ou elementos do modelo, como um caso de uso ou uma operação.uma operação.

Conhecendo os Diagramas da UML

Diagrama deAtividades

Conhecendo os Diagramas da UML

Máquina de Estados

. Objetivo: . Objetivo:

Descreve o comportamento de objetos por meio Descreve o comportamento de objetos por meio de seqüências de estados e ações que ocorrem de seqüências de estados e ações que ocorrem durante a sua vida.durante a sua vida.

Conhecendo os Diagramas da UML

Máquina de Estados

A g u a r d a n d o P a g a m e n t o

P e d i d oe m i t i d o

V e r i f i c a n d o E s t o q u e

P a g a m e n t o E f e t u a d o

A g u a r d a n d o R e p o s i ç ã o d eE s t o q u e

[ P r o d u t o i n e x i s t e n t en o e s t o q u e ]

E s t o q u e r e p o s t o

P r o d u t o s e p a r a d o

A g u a r d a n d o E n t r e g a

P r o d u t or e c e b i d op e l o c l i e n t e

Conhecendo os Diagramas da UML

Diagrama de Componentes. É um tipo de Diagrama de Implementação

. Objetivo:

Mostra a estrutura de componentes, incluindo os classificadores que eles especificam e os artefatos que eles implementam

Conhecendo os Diagramas da UML

Diagrama de Componentes

P e d i d o s . c l a s s

C l i e n t e . j a v a P r o d u t o . j a v a P e d i d o . j a v a

Conhecendo os Diagramas da UML

Diagrama de Implantação

. Objetivo:

Mostra a configuração de elementos de processa-mento em tempo de execução e os componentes de software, processos e objetos que neles são executados

Conhecendo os Diagramas da UML

Diagrama de Implantação

43

Versão 2.0 Diagramas que mudaram de nome:

Diagrama de Estado -> Máquina de EstadoDiagrama de Colaboração -> Diagrama de Comunicação

Diagramas novos (na versão 2.0)Diagrama de interação GeralDiagrama de Estrutura compostaDiagrama de tempo

Ferramenta que pode ser útil (Free) http://www.visual-paradigm.com/

Vale a pena conferir.

Dúvidas

44