54
Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005 Belém-2005

Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

Embed Size (px)

Citation preview

Page 1: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

Análise e Projetos de Sistemas

Revisão de ConteúdoUML-Linguagem de Modelagem Unificada

Professor: Armando Hage

Belém-2005Belém-2005

Page 2: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

Conceitos da UML

A UML pode ser usada para:A UML pode ser usada para: Mostrar os limites de um sistema e suas Mostrar os limites de um sistema e suas

funções principais (funções principais (Use-casesUse-cases)) Ilustrar as funções básicas do sistema por Ilustrar as funções básicas do sistema por

diagramas de interação diagramas de interação Representar a estrutura estática do sistema Representar a estrutura estática do sistema

((Diagramas de ClassesDiagramas de Classes) ) Modelar o comportamento de Objetos com Modelar o comportamento de Objetos com

diagramas de estadodiagramas de estado

Page 3: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

Tradicional e Moderna

Classes

Objetos

Relacionamentos

Java BeansCORBA

Casos de UsoComponent

es

Responsabilidade

Design Patterns

Colaboração

Objetos deNegócio Atividades

Page 4: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

Usos de UML

A UML é uma linguagem de modelagem para Visualização Especificação Construção Documentação Comunicação

DiagramasDiagramas

São representações gráficas deum conjunto de elementos. São

desenhados para visualizar osistema de diferentes

perspectivas

Page 5: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

9 Diagramas

Modelos

ClasseClasse Use CaseUse Case

ObjetoObjeto

ComponentComponentee

ImplantaçãoImplantação

SeqüênciaSeqüência

ColaboraçãoColaboração

StatechartStatechart(Estado)(Estado)

AtividadeAtividade

Page 6: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

9 Diagramas

Modelos

ClasseClasse Caso de UsoCaso de Uso

ObjetoObjeto

ComponentComponentee

ImplantaçãoImplantação

SeqüênciaSeqüência

ColaboraçãoColaboração

StatechartStatechart(Estado)(Estado)

AtividadeAtividade

Visão Estática

Visão Dinâmica

Page 7: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

Diagramas Estruturais

1. Diagrama de classes Classes, interfaces e colaborações

2. Diagrama de objetos Objetos

3. Diagrama de componentes Componentes

4. Diagrama de implantação Nós

Page 8: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

Diagramas Comportamentais

1. Diagramas de Caso de Uso organiza o comportamento do sistema

2. Diagrama de Seqüência Tem, como foco, a ordem temporal das

mensagens

3. Diagrama de Colaboração Tem, como foco, a organização estrutural

de objetos que enviam e recebem mensagens

Page 9: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

Diagramas Comportamentais

4. Diagramas de Estados Tem, como foco, o estado de mudança de

um sistema orientado por eventos

5. Diagrama de Atividades Tem, como foco, o fluxo de controle de

uma atividade para outra

Page 10: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

Elementos Essencias

ElementosElementosEstruturaisEstruturais

ElementosElementosComportamentaisComportamentais

Elementos deElementos deAgrupamentoAgrupamento

Elementos deElementos deAnotaçãoAnotação

Page 11: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

Elementos Estruturais São as partes estáticas de um modelo,

representando elementos conceituais ou físicos Classe Componente Casos de Uso Interface Nó

Page 12: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

Elementos Comportamentais

São as partes dinâmicas dos modelo da UML Interação: especifica um conjunto de

mensagens trocadas entre objetos Máquina de Estado: especifica

seqüências de estados de um objeto

Page 13: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

Elementos de Agrupamento

São as partes organizacionais dos modelo da UML Pacotes: mecanismo para organizar os

elementos em grupos

Page 14: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

Elementos de Anotação

São as partes explicativas dos modelo da UML. São comentários utilizados para descrever, iluminar e remarcar elementos no modelo Nota: símbolo contendo restrições ou

comentários que são melhor expressados em textos

Page 15: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

Notação UML

Partes que compõem a UML:Partes que compõem a UML: VisõesVisões Modelos de ElementosModelos de Elementos DiagramasDiagramas

1 – Modelo do Domínio de 1 – Modelo do Domínio de Dados do ProblemaDados do Problema

2 – Modelo do Domínio 2 – Modelo do Domínio FuncionalFuncional

3 – Modelo 3 – Modelo ComportamentalComportamental

4 – Particionar os 4 – Particionar os Modelos (Modelo da Modelos (Modelo da Organização)Organização)

Page 16: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

Visões

Tipos de Visões:Tipos de Visões: Visão de Use-casesVisão de Use-cases Visão de ComponentesVisão de Componentes Visão LógicaVisão Lógica Visão de OrganizaçãoVisão de Organização Visão de ConcorrênciaVisão de Concorrência

Page 17: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

Modelos de Elementos

ClassesClasses

Cliente

Nome : StringIdade : Integer

Criar()Destruir()

ObjetosObjetos

Marcelo:Cliente

Nome = "Marcelo"Idade = “28”

Criar()Destruir()

Page 18: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

Modelos de Elementos

EstadosEstados

ComponentesComponentes

PacotesPacotes

RelacionamentosRelacionamentos AssociaçõesAssociações GeneralizaçõesGeneralizações Dependências e Dependências e

RefinamentosRefinamentos

Page 19: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

DiagramasDiagrama de Casos de UsoDiagrama de Casos de Uso

Aplicar emPré Fixados

Consultar Conta Corrente

Gerar HistóricoMovimentarConta Corrente

<<include>>

Cliente

Page 20: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

DiagramasDiagrama de ClassesDiagrama de Classes

Companhia deAluguel de Veículos

Cliente

0..*

0..1

Carro SportCaminhão Carro de Passeio

Contrato de Aluguel

11

1

Veículo Alugado

1

0..*

refere a

possui

possui Tipos de Veículos

Page 21: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

DiagramasDiagrama de ObjetosDiagrama de Objetos

2478: Contrato de Aluguel

Num_Contrato = 2478Veículo =" Corsa"

2479: Contrato de Aluguel

Num_Contrato = 2479Veículo = " Santana"

Marcelo: Cliente

Nome =: "Marcelo Turine"Idade = 28CPF = 94168912-24

Page 22: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

DiagramasDiagrama de EstadoDiagrama de Estado

No Térreo Subindo

ParadoDescendo

Indo para otérreo

subir (andar)

Chegar no andar subir (andar)

Chegar no andar

descer (andar)

tempo de espera

Chegar no térreo

Page 23: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

DiagramasDiagrama de SeqüênciaDiagrama de Seqüência

: Computador : Servidor deImpressão

: Impressora : Fila

Imprimir (arquivo) [Impressora Livre]Imprimir (arquivo)

[Impressora Ocupada]Imprimir (arquivo)

Page 24: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

DiagramasDiagrama de ColaboraçãoDiagrama de Colaboração

1: Imprimir (arq)

[Impressora Ocupada]1.2: Armazenar (arq)

[Impressora Livre]1.1: Imprimir (arq): Servidor de

Impressão

: Computador: Fila

: Impressora

Page 25: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

DiagramasDiagrama de ComponenteDiagrama de Componente

Gerenciador deComunicação

Comm.dll

Gráficos

Graficos.dll

Gerenciador deBanco de

DadosDb.dll

Aplicação

App.exe

Page 26: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

DiagramasDiagrama de Execução ou ImplantaçãoDiagrama de Execução ou Implantação

<<TCP/IP>>

<<TCP/IP>>

SQL <<TCP/IP>>

ClienteA :Pentium 200

MMX

ClienteB :Pentium 200

MMX

Servidor deAplicação :

HP/UX

Servidor deBanco deDados :ORACLE

Page 27: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

UML - Diagramas

Diagramas de casos de uso Diagramas de classe Diagramas de comportamento

diagrama de estado diagrama de atividade diagrama de seqüência diagrama de colaboração

Diagramas de implementação diagrama de componente diagrama de implantação

Page 28: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

Análise usando UML

Caso de uso Classes Componentes Implantação

Aluno

Solicitar Matricula

Solicitar Nota

Secretaria

Diretor

incluiAluno

cursonomeCréditos

abrir()incluir

Ofertalocal

abrir()incluir

1

0..*

1

1..*

ClienteWin

ServidorNT

EXE

OCX

Page 29: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

Diagramas de Casos de Uso

Técnica utilizada para descrever a

funcionalidade de um sistema através

de atores externos interagindo em

casos de uso. É realizado em interações

Page 30: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

Casos de Uso

Gráfico de atores

ATOR

Caso de Uso

SISTEMA

Interação

Page 31: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

Modelagem de Comportamento O comportamento de um sistema é modelado através de

diagramas de casos de uso (“use cases”);

Um diagrama de use cases apresenta as funções de um sistema, as entidades que as realizam e as relações entre as entidades e as funções. Funções do sistema são modeladas como “use cases” Entidades que as realizam são modeladas como atores

Page 32: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

Atores representam qualquer elemento que possa interagir com o sistema.

Atores podem ser: Pessoas Outros sistemas Equipamentos ligados ao sistema

Atores podem: Entrar com informações no sistema Receber resultados do sistema Entrar com informações e receber resultados do sistema

Atores

O símbolo ao lado representa um ator em um diagrama de use cases:

Page 33: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

Identificação Atores são descobertos a partir e entrevistas com o cliente ou com especialistas do

domínio da aplicação

Quem está interessado em uma deterdminada função ? Quem será beneficiado pelo sistema ? Quem fornece informação para o sistema ? Quem usa ou remove informação do sistema ? Quem fornece suporte ou manutenção para o sistema ? O sistema utiliza recursos externos ? Alguma pessoa realiza diversas funções no sistema ? O sistema interage com algum sistema em operação ?

Guias: Dois atores que realizem as mesmas funções podem ser representados por um

único ator Um ator que realize as funções de dois ou mais atores pode ser descomposto

nestes atores primários Documentação

Cada ator deve receber um nome As funções do ator no sistema devem ser resumidas em um parágrafo

Page 34: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

Diagramas de Casos de Uso

Utilizado na fase de Construção: compreender os requisitos do sistema

Definir os Casos de Uso Clientes são as pessoas que podem avaliar o valor do

negócio de um caso de uso sendo implementado Categorizar: Alta, Média e Baixa Prioridade de acordo

com o valor do negócio

Servem para facilitar o entendimento de um sistema mostrando a sua “visão externa”

São usados para modelar o contexto de um sistema, subsistema ou classe

Page 35: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

São uma das maneiras mais comuns de documentar os requisitos do sistema Delimitam (escopo) do sistema Definem a funcionalidade

Cenário Seqüência de passos que descreve uma interação

entre um usuário e o sistema

Diagramas de Casos de Uso

Page 36: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

Um caso de uso é um conjunto de cenários amarrados por um objetivo comum de um usuário

Especificação de seqüências de ações que um sistema, subsistema ou classe pode realizar, interagindo com atores

Mostra o relacionamento entre os atores e os casos de uso dentro do sistema

Podem incluir seqüências alternativas ou excepcionais (de erro)

Diagramas de Casos de Uso

Page 37: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

Exemplo: Compra de um Produto

1. O cliente navega pelo catálogo e seleciona os itens a serem comprados

2. O cliente vai para o check out

3. O cliente preenche o formulário de remessa

4. O sistema apresenta o total do faturamento

5. O cliente preenche a informação de cartão de crédito

6. O sistema autoriza a compra

7. O sistema confirma a venda

8. O sistema envia uma confirmação por e-mail

Alternativa

No item 6. O sistema falha na autorização da compra por crédito

Page 38: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

Roteiro: Cadastro de Vendedores

1. Gerente seleciona vendedor

2. Gerente solicita documentos para vendedor

3. Vendedor apresenta documentos ao Gerente

4. Gerente consulta cadastro de vendedores

5. Gerente anota dados e entrega documento ao vendedor

6. Gerente determina % (percentual) de comissão do vendedor

7. Gerente expõe condições de trabalho e forma de remuneração

8. Gerente providencia atualização de dados cadastrais do vendedor

9. Gerente anota alterações de dados cadastrais do vendedor

10. Gerente assinala vendedores a serem eliminados

Caso de Uso Passos do Roteiro

Cadastrar Vendedor 4,5,8

Consultar vendedor 4

Excluir vendedor 4,10,8

Alterar Vendedor 4,9,8

Registrar comissão 6

Page 39: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

Casos de Uso

Um caso de uso é um padrão de comportamento que o sistema exibe

Podem ser: Principais tarefas do Ator Tarefas que roduzem informações para um Ator

Símbolo:

Solicitar Matricula

Page 40: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

Representação Gráfica

A coleção de casos de uso deverá especificar todas as formas existentes de uso do sistema

O sistema será descrito por meio de vários casos de uso que são executados por um número de atores

Matricular aluno

Solicitar histórico

Verificar pré-

requisitos

Page 41: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

Atores: Especialização

É possível definir tipos gerais de atores e especializá-los usando o relacionamento de especialização

Cliente

Cliente Especial

Page 42: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

Comunica <<Comunicates>>

Relacionamento Ator com Caso de uso Simbologia : Linha

Aluno Solicitar Matricula

Page 43: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

AnalistaComercial

Vendedor

Analisar Riscos

Fechar Preço

Avaliar o Negócio

Registrar Negócio

Negócio comLimites

Excedidos

Page 44: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

Sistemade Controle dePré-Requisitos

Secretária

Solicitar Histórico

Solicitar histórico do

semestre atual

Verificardependênc

ias

Estudante

Matricularaluno

?

Solicitar histórico de

todos os semestres

?

<<include>>

Page 45: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

Associações entre Casos de Uso Existem 3 tipos:1) Inclusão <<include>> (linha pontilhada)

comportamento semelhante em mais de um caso de uso (evitar copiar comportamento)

substitui o uso de <<uses>> (UML 1.1)

2) Generalização semelhante, mas faz um pouco mais capturar cenários alternativos

3) Extensão <<extend>> (linha pontilhada) é uma generalização, mas possui mais regras (estereótipo

de dependência) caso de uso-base (declara pontos de extensão) e o

estendido

Page 46: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

AnalistaComercial

Vendedor

Analisar Riscos

Fechar Preço

Avaliar o Negócio

Registrar Negócio

<<include>>

<<include>>

Negócio comLimites

Excedidos

Generalização

Page 47: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

Usa <<include>> (<<uses>>)

Casos de uso que são usados como transações de outros

Apresenta um comportamento que é comum a um ou mais casos de uso

é um refinamento

Validar Senha

<<include>>

<<include>>

Matricular para cursos

Manter Curriculum

Page 48: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

Generalização e <<extend>> (<<Extendes>>)

Caso de uso que é similar a outro já modelado Define-se o novo apenas com a variação de um

comportamento original É um refinamento

Registrar Vendas aprazo

Registrar Vendas avista

<<extends>>

Registrar Vendas

Definir prestações

?

Page 49: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

<<extend>>(info. de pagamento,info. de entrega)

Compra porCliente Regular

Compra Produto

pontos de extensãoinfo. de pagamentoinfo. de entrega

Semelhante á generalização, mas possui mais regras caso de uso-estendido pode acrescentar

comportamento para o caso de uso-base, em cima dos pontos de extensão

Page 50: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

Criando um Diagrama de Casos de Uso

Identifique os objetivos do sistema Elabore um roteiro para realizar a tarefa, do

ponto de vista do usuário (sem se referir ao sistema)

Identifique os atores Identifique os casos de uso Identifique os relacionamentos Refine buscando a existência de Extend,

Include e Generalização

Page 51: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

Estudo de caso

Vídeo-locadora Especializada em vídeos para treinamento

empresarial Locação, devolução e reserva de fitas Funcionário atende no balcão Gerente recebe posição financeira diariamente Objetivos

Locação Devolução Reserva Emissão de relatórios gerenciais

Page 52: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

Locação de Fitas - Necessidades

01.Cliente informa sua Identificação ao Atendente.02.Cliente informa Fitas a devolver ao Atendente.03.Atendente registra a devolução.04.Cliente informa Fitas a locar ao Atendente.05.Atendente verifica existencia de Reserva.06.Atendente registra a locação.07.Atendente informa ao Cliente o valor da

locação.08.Cliente efetua o pagamento.09.Atendente fornece boleto ao Cliente.10.Cliente assina o boleto.11.Cliente sai da loja com as fitas.12 Ao final do mês o Atendente retira um extrato

da situação do Cliente.

CASOS DE USO Pesquisar ReservaRegistrar DevoluçãoRegistrar LocaçãoRegistrar PagamentoEmitir relatórios

ATORES Atendente

Page 53: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

Diagrama de Caso de Uso

Atendente

Pesquisar Cliente

CASOS DE USO Pesquisar ReservaRegistrar DevoluçãoRegistrar LocaçãoRegistrar PagamentoGerar Relatórios

Pesquisar Reserva

Registrar Reserva

Registrar Locação

Registrar Pagamento

Emitir Relatório

<<include>>

<<include>>

<<include>>

<<include>>

ATORES Atendente

Page 54: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005

Próxima AulaDiagramas de Classe