Prof. Wanderson Leandro de Oliveira
https://sites.google.com/site/wleandrooliveira
ANALISE DE SISTEMAS II
UML
UNIFIED MODELING LANGUAGEM
Bibliografia
BOOCH, Grady; RUMBAUGH, James; JACOBSON,
Ivar. UML: guia do usuário. 2.ed. rev. e atual. Rio de
Janeiro: Elsevier, Campus, 2006.
MELO, Ana Cristina. Desenvolvendo aplicações com
UML 2.2: do conceitual à implementação. 3.ed. Rio de Janeiro: Brasport, 2010.
LARMAN, Craig. Utilizando UML e padrões: uma
UML
–
Caso de Uso
Documentação de Caso de Uso:
Documentação resumida com o propósito de caso de uso
Deve espelhar o diálogo entre o Ator e Caso de Uso
Deve ser utilizada uma linguagem de alcance do
UML
–
Caso de Uso
Fluxos de Eventos de Caso de Uso:
Descreve apenas os eventos pertinentes ao Caso de Uso, e não o que acontece em outros casos de uso
UML
–
Caso de Uso
Fluxos de Eventos de Caso de Uso:
O fluxo deve descrever:
Como e quando o caso de uso começa e termina
Quando o caso de uso interage com os Atores
UML
–
Caso de Uso - Descrição
<ID caso de Uso> : <Nome do caso de uso>
1. Descrição do caso de Uso: 2. Atores:
3. Pré-condições: 4. Pós-condições: 5. Fluxo de Eventos:
5.1 Fluxo Principal: 5.2 Fluxo Alternativo: 5.3 Fluxo de Exceção:
6. Requisitos Especiais: 7. Observações:
UML
–
Caso de Uso - Descrição
<ID caso de Uso> : <Nome do caso de uso>
Deve conter o numero do caso de uso e seu
nome.
Ex: Caso de Uso 5 : Devolver Itens
UML
–
Caso de Uso - Descrição
1: Descrição de Caso de Uso
Contem a descrição do caso de uso, isto é, o
objetivo desta funcionalidade do sistema.
UML
–
Caso de Uso - Descrição
2: Atores
Contem os atore que interagem com o caso de
uso.
UML
–
Caso de Uso - Descrição
3:
Pré-condições
Descreve o que é necessário para o caso de uso ser executado.
Ex: Usuário deve estar logado no sistema.
O cliente ter vasilhames para serem trocados nasua compra.
UML
–
Caso de Uso - Descrição
4: Pós-condições
Uma pós-condição é o estado que o sistema pode apresentar após o término do caso de uso.
Ex: Sai um relatório com o total de itens
devolvidos por tipo e o total geral de itens devolvidos pelo cliente.
UML
–
Caso de Uso - Descrição
5: Fluxo de Eventos
Ele deve descrever o fluxo de eventos do caso de uso claramente, para que alguém de fora o
entenda facilmente.
O fluxo de eventos deve apresentar o que o sistema faz, e não como é o design do sistema para realizar o comportamento exigido.
UML
–
Caso de Uso - Descrição
5: Fluxo de Eventos
5.1: Fluxo Principal
5.2: Fluxo Alternativo
UML
–
Caso de Uso - Descrição
5.1: Fluxo Principal
Exemplo:
O cliente coloca os Itens a serem devolvidos na máquina.
O sistema identifica o item a ser devolvido e incrementa o numero de itens inseridos pelo cliente e o total diário de cada tipo particular.
O cliente aperta o botão de término da devolução.
O sistema imprime o total de itens devolvidos por tipo
UML
–
Caso de Uso - Descrição
6: Requisitos Especiais:
Nos Requisitos Especiais de um caso de uso, você descreve todos os requisitos no caso de
uso que não são abordados pelo fluxo de
UML
–
Caso de Uso - Descrição
7: Observações:
UML
–
Caso de Uso - Descrição
8: Interfaces:
Neste tópico devem ser colocados um print das telas do sistema, isto é, a tela que fará a
UML
–
Caso de Uso - Descrição
Caso de Uso 5 : Devolver Itens
Descrição do caso de Uso:
Este caso de Uso tem o objetivo de contar os itens que são devolvidos pelo cliente
Atores: Cliente
Pré-condições:
O cliente ter vasilhames para serem trocados na sua compra.
Pós-condições:
UML
–
Caso de Uso - Descrição
Caso de Uso 5 : Devolver Itens
Fluxo de Eventos:
5.1 Fluxo Principal:
1. O cliente coloca os Itens a serem devolvidos na máquina.
2. O sistema identifica o item a ser devolvido e incrementa o numero de itens inseridos pelo cliente e o total diário de cada tipo particular.
3. O cliente aperta o botão de término da devolução.
4. O sistema imprime o total de itens devolvidos por tipo e o total geral de itens devolvidos pelo cliente.
5.2 Fluxo Alternativo:
UML
–
Caso de Uso - Descrição
Caso de Uso 5 : Devolver Itens
Requisitos Especiais: Não se aplica.
Observações:
Não se aplica.
Interfaces:
Diagrama de Classes
Conjunto
de
classes,
interfaces,
colaborações e seus relacionamentos.
O diagrama de classes demonstra a
estrutura estática das classes de um
sistema onde estas representam as
Classes
Classes:
É uma descrição de um tipo de objeto
Usamos classes para classificar os objetos
que identificamos no mundo real
Uma classe pode ser a descrição de um
UML - Classes
Em UML as classes são representadas por
um retângulo divididos em 3 compartimentos:
Cliente
nome: string endereco:string cadastraCliente() alteraDados()
Nome
Atributos
UML - Classes
Compartimentos:
OBS: A sintaxe usada em cada um destes
compartimentos
é
independente
de
qualquer linguagem de programação
Cliente
nome: string endereco:string
cadastraCliente() alteraDados()
UML - Classes
Cliente nome: string endereco:string cadastraCliente() alteraDados()Atributos: possuirá a relação
de atributos que a classe
possui
em
sua
estrutura
interna
Compartimentos:
UML - Classes
Compartimentos:
OBS: A sintaxe usada em cada um destes
compartimentos
é
independente
de
qualquer linguagem de programação
Cliente
nome: string endereco:string
cadastraCliente() alteraDados()
UML - Classes
As normas de estilo da UML determinam que:
Cliente
nome: string endereco:string
cadastraCliente() alteraDados()
•
Nome da classe seja centralizado
e negrito
•
Escrever as iniciais dos nomes
das
classes
em
maiúsculas,
inclusive as primeiras letras de
nomes compostos
UML - Classes
As normas de estilo da UML determinam que:
Cliente
nome: string endereco:string
cadastraCliente() alteraDados()
•
Os atributos e as operações
devem
ser
escritos
com
formatação normal e alinhados a
esquerda
•
Os
nomes
de
atributos
e
operações devem iniciar com letra
minúscula, entretanto as iniciais
das palavras compostas devem
iniciar com letra maiúscula
Ex: nomeCliente
UML - Classes
Classes podem se relacionar com outras através
de diversas maneiras:
Associação : conectadas entre si
Dependências: uma classe depende ou usa
outra classe
Especialização: uma classe é uma
especialização de outra classe
Pacotes: Classes agrupadas por
UML - Classes
Todos os relacionamentos são mostrados no
diagramas de classe juntamente com suas
estruturas internas, que são os atributos e
operações
O diagrama de classes é considerado estático
Relacionamentos
Relacionamentos:
Herança;
Associação;
Agregação/Composição;
Heranças
Herança é um relacionamento do tipo generalização/especialização, onde uma classe pode ser derivada(subclasse) de outra mais geral(superclasse), absorvendo todas as características fundamentais e adicionando outras
características, de tal modo a torná-la mais
Heranças
Associação
Um relacionamento estrutural que descreve um conjunto de vínculos, em que o vínculo é uma conexão entre os objetos.
Associações podem ser:
Unárias(reflexiva);
Binárias
Associação
Associação
Associação
Cardinalidade e Navegação
Cardinalidade ou Multiplicidade: determina
quantos objetos no sistema são possíveis em cada vértice da associação.
Navegação: define se é possível para cada objeto
Classes Associativas
Agregação
Tipo de relacionamento com características todo-parte.
Dependência entre Classes
Relacionamento entre duas classes: Cliente(client) e Fornecedor(supplier).
Classe cliente usa / depende da classe fornecedor.
A alteração da classe independente poderá afetar a semântica da classe dependente.
Exercício: Projeto Loja Online
Estudo de caso: Loja Online
O cliente pode pesquisar e visualizar os produtos da loja online sem precisar estar registrado no site da loja; inclusive ele pode adicionar produtos desejados na cesta de compras.
Para fazer o checkout, ou seja finalizar a compra, o
cliente deve estar devidamente cadastrado e logado no sistema da loja.
Fazer Diagramas de Caso de Uso;