Buscar

AULA UML

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

*
Introdução a 
Unified Modeling Language
Josyane Lannes Florenzano de Souza
Mestre em Ciência da Computação – PUCRS
josyane@terra.com.br
*
Agenda
Histórico
Contribuições para UML
O que é UML?
Visão Geral da UML
Benefícios
O que é modelagem visual?
Notações x Metamodelos
Processo
*
Histórico
Sucessora da onda de métodos de análise e projeto orientado a objetos (OOA&D)
Unifica os métodos de Booch, Rumbaugh (OMT) e Jacobson
*
Contribuições para a UML
*
O que é UML?
Linguagem de modelagem;
Não é um método;
 Linguagem de Modelagem notação (gráfica) utilizada por métodos para expressar projetos
 Processo sugestão de quais passos a serem seguidos na elaboração de um projeto
Ex: RUP
*
Visão Geral da UML
A UML é uma linguagem destinada a: 
visualizar
especificar
construir
documentar
os artefatos de um sistema complexo de software.
Artefatos: diagramas e documentos.
*
OMG (Object Management Group)
Adotou a UML em novembro de 1997 como padrão
RTF (Revision Task Force)
Pertencente a OMG
Ficou responsável pelas revisões da UML
*
Benefícios da UML
Definir um mapeamento de análise/abstração para implementação;
Definir uma expressiva e consistente notação;
Ajuda a apontar omissões e inconsistências;
Suporta pequenas e grandes análises.
*
O que é modelagem visual?	
*
Notações x Metamodelos
Notações
“coisa” gráfica que vc vê nos modelos;
ela é a sintaxe da linguagem de modelagem;
Ex: notação de diagrama de classe define como itens e conceitos são representados: classe, associação e multiplicidade
*
0..1
associação
classe
multiplicidade
*
Notações x Metamodelos
Metamodelos
Diagrama, geralmente um diagrama de classes, que define a notação.
Obs: se quiserem mais detalhes: ler manual de referência, ou documentação oficial da UML, ou www.omg.org
*
Processo
Desenvolvido por Jacobson, Booch e Rumbaugh, 1999;
pode-se usar qualquer processo com UML!!!
*
Processo
Visão Geral do Processo
Concepção
Elaboração
Construção
Transição
Um bate-papo na hora do café...
*
Processo
Visão Geral do Processo
Elabora o plano de negócio do projeto – quanto custará e quanto terá de retorno
*
Processo
Visão Geral do Processo
Uma “vaga” idéia dos requisitos
 Riscos de requisitos – descobrir todos os casos de uso e esboçar esqueleto do modelo conceitual do domínio (classe, atividade, interação)
 Riscos tecnológicos – diagrama de classe, pacote, utilização
 Riscos de habilidades ou de especialização - consultoria
 Riscos políticos
*
Processo
Visão Geral do Processo
Uma “vaga” idéia dos requisitos
 Esta fase termina quando:
 os desenvolvedores se sentirem à vontade para estipular quanto tempo levará para construir cada caso de uso;
 todos os riscos significativos forem identificados.
*
Processo
Visão Geral do Processo
Consiste de várias iterações.
Cada iteração é um miniprojeto:
 faz análise
 projeto
 codificação
 teste
 integração para casos de uso designados para cada iteração
*
Processo
Visão Geral do Processo
Um bom exemplo da fase de transição é o período entre a versão beta e a versão final do produto 
*
Visões e Diagramas 1.4 - Estrutural
*
Visões e Diagramas - Dinâmico
*
Diagramas UML 2.0 
(13 diagramas oficiais)
Atividades
Classes
Comunicação
Componentes
Estruturas compostas
Distribuição
Visão Geral da Interação
Objetos
Pacotes
Sequência
Máquina de estado
Sincronismo
Caso de Uso
*
Componentes da UML
Elementos de modelagem
Relacionamentos
Mecanismos de extensão
Diagramas
*
Elementos de Modelagem
Elementos Estruturais
Classe, interface, colaboração, use case e componente (agregado de classe)
Elementos de Comportamento
Interação, máquina de estados
Elementos de Agrupamento
Pacotes, subsistema
Outros Elementos
Notas
*
Elementos de Modelagem
Classe
*
Elementos de Modelagem
Dependência
Associação
Generalização
Realização
*
Mecanismos de Extensão
Stereotype
Tagged value
Constraint (OCL)
*
Mecanismos de Extensão
Constraints
Targed 
 Value
Stereotypes
Pessoa
Empresa
{Pessoa.empregador=
Pessoa.chefe.empregador}
TransaçãoKioski
Servidor
Form=standalone1,
Biblioteca=Xc1,
Índice=ambos
<<database>>
Reserva
Targed value para 
geração de código
*
Casos de Uso
Conjunto de cenários amarrados por um objetivo comum de um usuário.
Seqüência de passos que descreve uma 
interação entre um usuário e um sistema 
*
Exemplo de Cenário de Compra de um Produto
Loja on line baseada na web:
O cliente navega no catálogo de itens e adiciona itens desejados à sua cesta de compras. Quando o cliente deseja pagar, descreve o endereço de entrega, fornece as informações do cartão de crédito e confirma a venda. O sistema verifica a autorização do cartão de crédito e confirma a venda imediatamente e envia um e-mail logo a seguir. 
*
Descrição – exemplo de texto de caso de uso
O cliente navega no catálogo e seleciona itens a serem comprados
O cliente vai para o check out
O cliente preenche o formulário de remessa (endereço de entrega; opção de entrega imediata ou em três dias)
O sistema apresenta a informação total do faturamento incluindo a remessa, os preços e os impostos
O cliente preenche a informação de cartão de crédito
O sistema autoriza a compra
O sistema confirma imediatamente a venda
O sistema manda uma confirmação para o cliente por e-mail
Alternativa: Falha na Autorização
No item 6, o sistema falha na autorização da compra por crédito
Permite ao cliente resubmeter a informação do cartão de crédito e tentar novamente
*
Diagrama de Casos de Uso
Descreve o que o sistema fará;
Serve de contrato entre o usuário, cliente e desenvolvedores;
Valida o que o sistema fará;
É composto de atores e casos de uso;
Cada caso de uso no modelo deve ser descrito em detalhes;
Descreve passo-a-passo como o sistema interage com os atores. 
*
Exemplos 1 – 
Diagrama de Casos de Uso
*
Exemplos 2 – 
Diagrama de Casos de Uso
*
Exemplo 3 – 
Diagrama de Casos de Uso
*
Ator
Papel que um usuário desempenha em relação ao sistema;
Ator desempenha os casos de uso;
Um único ator pode desempenhar muitos casos de uso;
Um caso de uso pode ter reciprocamente vários atores desempenhando-o;
Os atores podem ser humano, sistema externo.
*
Associação entre casos de uso
Associação de inclusão
Ocorre quando há uma parte do comportamento que é semelhante em mais de um caso de uso e você não quer ficar copiando descrição deste comportamento
Generalização de caso de uso
Utiliza quando tem um que é semelhante a outro, mas faz um pouco mais.
*
Associação entre casos de uso
Extensão
Semelhante a generalização mas possui mais regras;
O caso de uso estendido pode acrescentar comportamento para o caso de uso-base, mas este tipo de caso deve declarar certos “pontos de extensão”, e o caso de uso da extensão pode acrescentar comportamento adicional naqueles pontos de extensão.
*
Exemplo 4 – 
Associação de Extensão
Compra
Por Cliente
Regular
Comprar um Produto
Pontos de extensão
info. de pagamento
info. de entrega
<<extend>>
(info. de pagamento, info de entrega)
*
Regras
Use inclusão quando você estiver se repetindo em dois ou mais casos de uso separados e você deseja evitar a repetição.
Use generalização quando você estiver descrevendo uma variação em comportamento normal e você deseja descrevê-la sem muito rigor.
Use extensão quando você estiver descrevendo uma variação em comportamento normal e deseja utilizar a forma mais controlada, explicando os pontos de extensão no caso de uso.
*
Quando utilizar casos de uso
Não consigo imaginar, no momento, uma situação na qual não utilizaria casos de uso.
Ferramenta essencial na captura de requisitos e no planejamento e controle de um projeto iterativo.
Captura de casos de uso é uma das tarefas básicas na fase de elaboração.
Importante: Casos de Uso representam uma visão externa do sistema. Como tal, não espere nenhuma correlação entre eles e classes dentro do sistema.
*
Referência Bibliográfica
	FOWLER, M; SCOTT, K. UML essencial: um breve guia para a linguagem-padrão de modelagem de objetos. 2. ed. Porto Alegre : Bookman, 2000.
169 p.
 
	Bibliografia complementar
	RIZZONI, Ariadne M. B.; CHIOSSI , Thelma C. dos Santos. Introdução à Engenharia de Software. São Paulo, Unicamp. 2001.

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando