View
109
Download
0
Category
Preview:
Citation preview
Análise e Projetos de Sistemas
Revisão de ConteúdoUML-Linguagem de Modelagem Unificada
Professor: Armando Hage
Belém-2005Belé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
Tradicional e Moderna
Classes
Objetos
Relacionamentos
Java BeansCORBA
Casos de UsoComponent
es
Responsabilidade
Design Patterns
Colaboração
Objetos deNegócio Atividades
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
9 Diagramas
Modelos
ClasseClasse Use CaseUse Case
ObjetoObjeto
ComponentComponentee
ImplantaçãoImplantação
SeqüênciaSeqüência
ColaboraçãoColaboração
StatechartStatechart(Estado)(Estado)
AtividadeAtividade
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
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
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
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
Elementos Essencias
ElementosElementosEstruturaisEstruturais
ElementosElementosComportamentaisComportamentais
Elementos deElementos deAgrupamentoAgrupamento
Elementos deElementos deAnotaçãoAnotação
Elementos Estruturais São as partes estáticas de um modelo,
representando elementos conceituais ou físicos Classe Componente Casos de Uso Interface Nó
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
Elementos de Agrupamento
São as partes organizacionais dos modelo da UML Pacotes: mecanismo para organizar os
elementos em grupos
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
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)
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
Modelos de Elementos
ClassesClasses
Cliente
Nome : StringIdade : Integer
Criar()Destruir()
ObjetosObjetos
Marcelo:Cliente
Nome = "Marcelo"Idade = “28”
Criar()Destruir()
Modelos de Elementos
EstadosEstados
ComponentesComponentes
PacotesPacotes
RelacionamentosRelacionamentos AssociaçõesAssociações GeneralizaçõesGeneralizações Dependências e Dependências e
RefinamentosRefinamentos
DiagramasDiagrama de Casos de UsoDiagrama de Casos de Uso
Aplicar emPré Fixados
Consultar Conta Corrente
Gerar HistóricoMovimentarConta Corrente
<<include>>
Cliente
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
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
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
DiagramasDiagrama de SeqüênciaDiagrama de Seqüência
: Computador : Servidor deImpressão
: Impressora : Fila
Imprimir (arquivo) [Impressora Livre]Imprimir (arquivo)
[Impressora Ocupada]Imprimir (arquivo)
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
DiagramasDiagrama de ComponenteDiagrama de Componente
Gerenciador deComunicação
Comm.dll
Gráficos
Graficos.dll
Gerenciador deBanco de
DadosDb.dll
Aplicação
App.exe
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
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
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
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
Casos de Uso
Gráfico de atores
ATOR
Caso de Uso
SISTEMA
Interação
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
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:
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
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
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
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
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
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
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
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
Atores: Especialização
É possível definir tipos gerais de atores e especializá-los usando o relacionamento de especialização
Cliente
Cliente Especial
Comunica <<Comunicates>>
Relacionamento Ator com Caso de uso Simbologia : Linha
Aluno Solicitar Matricula
AnalistaComercial
Vendedor
Analisar Riscos
Fechar Preço
Avaliar o Negócio
Registrar Negócio
Negócio comLimites
Excedidos
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>>
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
AnalistaComercial
Vendedor
Analisar Riscos
Fechar Preço
Avaliar o Negócio
Registrar Negócio
<<include>>
<<include>>
Negócio comLimites
Excedidos
Generalização
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
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
?
<<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
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
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
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
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
Próxima AulaDiagramas de Classe
Recommended