tecnologias atuais de c desenvolvimento de software c e · principais diagramas da uml . c c e 3/60...
TRANSCRIPT
![Page 1: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/1.jpg)
C
C
E
Tecnologias Atuais de Desenvolvimento de Software
Análise OO e UML Prof. Luiz Antônio [email protected]
![Page 2: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/2.jpg)
C
C
E
2/60
Agenda
OO Análise de sistemas, modelos e modelagem Análise estruturada Análise essencial Motivação para OO Objetos, o conceito central
UML (Breve) história Características gerais Propósitos Aplicações Principais diagramas da UML
![Page 3: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/3.jpg)
C
C
E
3/60
Análise de sistemas
Comunicação entre analistas e usuários para definir o
propósito e os requisitos de um sistema.
![Page 4: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/4.jpg)
C
C
E
4/60
Modelo e modelagem de sistemas
Modelo é uma representação de um sistema (ou de um objeto qualquer). É uma abstração da realidade e representa uma seleção de características do mundo real que são relevantes para o propósito com o qual o modelo foi construído.
![Page 5: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/5.jpg)
C
C
E
5/60
Modelo e modelagem de sistemas
Detalhe:
Todo bom modelo precisa representar
A estrutura dos dados (a dimensão de dados);
As funções que transformam os dados (a dimensão funcional);
As sequências de aplicação das funções (a dimensão temporal) e as demais restrições.
![Page 6: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/6.jpg)
C
C
E
6/60
Modelo e modelagem de sistemas
Modelagem consiste em se criar um modelo da parcela do mundo real que é de nosso interesse.
![Page 7: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/7.jpg)
C
C
E
7/60
Modelo e modelagem de sistemas
Por que modelar? Possibilitar o estudo do comportamento do
sistema; Possibilitar a discussão de correções,
modificações e validação com o usuário, a um custo baixo;
Facilitar a comunicação entre os membros da equipe;
Documentar o sistema, registrando todas as decisões tomadas durante o projeto.
![Page 8: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/8.jpg)
C
C
E
8/60
Análise Estruturada e Essencial
Metodologias e técnicas muito usados até meados da década de 90:
Análise estruturada;
Análise essencial.
Dificuldades:
Separação entre dados e processos;
Descontinuidade da análise para o projeto;
Diferenças de modelagem entre tipos de sistemas.
![Page 9: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/9.jpg)
C
C
E
9/60
OOA&D
Décadas de 70-80 surgiram linguagens OO e híbridas: Smalltalk;
C++;
Object-Pascal.
POO usado no contexto acadêmico somente;
Métodos de projetos OO passaram a ser pesquisados para dar suporte “organizado” ao desenvolvimento de sistemas com linguagens OO. Continua...
![Page 10: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/10.jpg)
C
C
E
10/60
OOA&D
Resolveram as dificuldades dos paradigmas anteriores: Ok quanto à separação entre dados e processos
Diagramas de classes identificam as entidades, os relacionamentos, as operações e responsabilidades.
Ok quanto à descontinuidade da análise para o projeto Os diagramas são refinados ao longo do ciclo de vida pelo
acréscimo de detalhes em um único nível hierárquico.
Ok quanto às diferenças de modelagem entre tipos de sistemas
As metodologias e linguagem de especificação adotadas permitem o tratamento de casos em qualquer domínio, indistintamente.
![Page 11: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/11.jpg)
C
C
E
11/60
Objetos, o conceito central
Objetos são entidades: Que representam coisas concretas ou
abstratas do mundo real (um carro, um processo químico);
Que se categorizam em classes;
Que possuem estados;
Que mantêm relacionamentos entre si;
Têm responsabilidades e executam operações...
![Page 12: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/12.jpg)
C
C
E
12/60
Objetos, o conceito central
... participando colaborativamente, em seqüências pré-definidas (programadas), da execução das funções do sistema;
![Page 13: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/13.jpg)
C
C
E
13/60
Objetos, o conceito central
Objetos são entidades que os projetistas definem as características e como vão colaborar para a realização dos objetivos de um sistema.
![Page 14: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/14.jpg)
C
C
E
14/60
Objetos, o conceito central
![Page 15: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/15.jpg)
C
C
E
15/60
História da UML
Meados da década de 90: Massa crítica de idéias produzidas pelas
várias metodologias;
Necessidade de estabilizar o mercado OO para viabilizar o desenvolvimento de ferramentas CASE OO.
![Page 16: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/16.jpg)
C
C
E
16/60
História da UML
Iniciativa da comunidade no sentido de juntar forças para criar uma linguagem
unificada
Guerra dos métodos
![Page 17: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/17.jpg)
C
C
E
17/60
História da UML
Dentre os métodos mais importantes destacavam-se: Booch (Grady Booch - Rational Software), bom
nas fases de projeto e construção;
OOSE (Ivar Jacobson - Objectory), bom na captura de requisitos e análise (abordagem em alto nível de abstração).
OMT (Jim Rumbaugh - GE), bom na análise de SIs com uso intensivo de dados.
Cada um dos três passa a usar também idéias dos outros dois.
![Page 18: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/18.jpg)
C
C
E
18/60
História da UML
Os três – RJB - agora (96/97) juntos na Rational: Iniciaram o processo de padronização da
UML, criaram uma proposta inicial e ...
... “passaram a bola” para o OMG, que passou a considerar outras opiniões;
Desenvolveram a metodologia unificada e software de apoio à mesma (Objectory) e software de case (Rose)
![Page 19: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/19.jpg)
C
C
E
19/60
História da UML
UML está, atualmente, na versão 2.2, e o desenvolvimento é gerido pelo OMG;
Especificação disponível em pdf;
Versões anteriores (i.e. 1.3, 1.4, 1.5 e 2.0) ainda são bastante empregadas, incluindo CASEs.
![Page 20: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/20.jpg)
C
C
E
20/60
Principais Propósitos
Permitir a modelagem de sistemas, do conceito ao artefato executável, utilizando técnicas OO;
Contemplar as necessidades de modelagem de sistemas pequenos e simples a grandes e complexos;
Prover uma linguagem que permita o entendimento e utilização por humanos e por máquinas;
Ser independente da linguagem de programação e do processo de desenvolvimento;
Construir modelos precisos, sem ambigüidades e completos;
Linguagem para visualização do modelo, facilitando o entendimento pela equipe de desenvolvimento e pelos clientes;
Servir para construir código, embora não seja uma linguagem de programação;
Servir para documentar sistemas (requisitos, arquitetura, projeto, etc.).
![Page 21: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/21.jpg)
C
C
E
21/60
Referências
Referências importantes: Fowler & Scott, “UML Essencial”, Bookman
Booch, Rumbaugh & Jabobson, “UML: Guia do Usuário”, Campus
Larman, “Utilizando UML e Padrões-Uma Introdução à Análise e Projeto Orientados a Objetos, Bookman.
...
...Referência Básica (centenas de páginas): Infra-estrutura;
Superestrutura;
OCL.
![Page 22: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/22.jpg)
C
C
E
22/60
Importante
Aproximadamente 40% da linguagem cobre 98% das necessidades de um projeto comum (Fowler).
![Page 23: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/23.jpg)
C
C
E
23/60
Diagramas da UML
A UML define 13 diagramas, divididos em três categorias:
Diagramas estruturais
Classes, objetos, componentes, pacotes, estruturas compostas e implantação.
Diagramas comportamentais
Casos de uso (usados por algumas metodologias durante a captura de requisitos), atividade e máquina de estados.
Diagramas de interação
Seqüência, comunicação, temporização (de tempo), visão geral de interação.
![Page 24: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/24.jpg)
C
C
E
24/60
Modelo UML Básico
C. Uso
Classes
DTE
DA DS
Aspectos/Características Externos
Aspectos/Características Internos
Visão de Casos de
Uso
Visão Estática
Visão Dinâmica
![Page 25: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/25.jpg)
C
C
E
25/60
Casos de Uso
Comprar Mercadoria
Processar Abertura
do Caixa
Ponto de Venda
Retornar Mercadoria
Caixa Cliente
Limites do
sistema
Nome do
sistema/negócio
Ator Caso de uso
Relacionamento
![Page 26: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/26.jpg)
C
C
E
26/60
Casos de Uso Atores são pessoas, sistemas ou hardware
que interagem com o negócio ou sistema em estudo;
Atores podem participar de um ou mais casos de uso;
Um único usuário pode interpretar o papel de vários atores;
Vários usuários podem interpretar o papel de um único ator;
A implementação interna dos atores não é relevante.
![Page 27: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/27.jpg)
C
C
E
27/60
Casos de Uso
Casos de uso (ovais/elipses) representam funcionalidades de um sistema ou transações de um negócio;
Relacionamentos Entre atores e casos de uso especificam
quais atores participam de quais casos de uso;
Entre casos de uso, representando dependências.
![Page 28: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/28.jpg)
C
C
E
28/60
Casos de Uso
Fronteira (ou limite) do sistema/negócio:
Opcional, segundo a UML;
Colocamos a fronteira quando queremos e podemos (às vezes não conseguimos definir uma fronteira retangular com os U.C. dentro e os atores fora).
![Page 29: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/29.jpg)
C
C
E
29/60
Casos de Uso
Dois enfoques:
No negócio:
Concentra-se nas relações entre participantes e processos de negócios
casos de uso do negócio
No sistema:
Concentram-se nas relações usuários/sistema
Evidenciam a interação com o software
casos de uso do sistema
Ver ilustração a seguir...
![Page 30: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/30.jpg)
C
C
E
30/60
Casos de Uso Posto do XNSS
Janela
Porta
Balcão Eu quero averbar meu
tempo de serviço
Eu quero requerer minha
aposentadoria
Só quero fazer uma
“perguntinha”
Estou consultando
minhas contribuições
Atendente
![Page 31: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/31.jpg)
C
C
E
31/60
Casos de Uso
Casos de uso de sistema Capturam o comportamento de um sistema tal
como observado pelos usuários externos (atores); Um caso de uso é uma unidade coerente de
funcionalidade expressa como uma transação entre os usuários e o sistema;
Muito usados na definição dos requisitos do sistema;
Cada caso de uso especifica uma seqüência de ações, incluindo suas possíveis variações, executadas durante as interações com os respectivos atores.
![Page 32: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/32.jpg)
C
C
E
32/60
Casos de Uso Exemplo de Diagrama
![Page 33: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/33.jpg)
C
C
E
33/60
Exemplo 2: Sistema Local SuperSeg de Segurança Patrimonial (SLSSP)
Usuario
Vigilante
Administrador
Programador Aut.
Superv idor
Def inir Perf il
Usuário
SCSSP
Informar
Ocorrências
Monitorar Status
Obter Imagens
sob demanda
Visualizar
Imagens
PeriódicasPesquisar
Histórico de
Imagens
Autenticar Usuário
Def inir Senha
Criar Usuários
Remover
Usuários Criar Automação
Selecionar
Eventos
Editar Automação
Reservar
Imagens
Efetuar Limpeza
de Disco
<<include>>
<<include>>
<<extend>>
![Page 34: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/34.jpg)
C
C
E
34/60
Exemplo 3:
Administrador
Cadastrar Participantesdo Ambito Interno doPGL
Provedor de Conteudo
Registrar ALOs
Desenvolvedor de AplicacoesGerais
Pesquisar Conteudo
Alterar Registro de ALOs
Substituir Conteudo deALOs
Remover ALOs
Compor Conteudo(Com Modelagem doFluxo de Trabalho -Workflow)
PublicarConteudo
Professor
Professor Monitor
Professor Coordenador
Inserir Aluno emPrograma
Definir Associacao deResponsabilidadeProfessor/Programa
Acessar caixa deentrada e saida
Avaliar Desempenhoem QuestaoDiscursiva
Agendar SessaoColetiva
Participar deSessao Coletiva
Definir Ponto deSincronismo Durante aExecucao de Conteudo
Aluno
Submeter Avaliacao
Solicitar ProximaEtapa de Conteudo
AutenticarUsuario
Usuario PGL
Consultar ALOs
Registrar Conteudo
Alterar Registrode Conteudo
Remover Conteudo
Substituir Conteudo
Consultar Conteudo
Alterar Dados dosAlunos
Bloquear/Desbloquar Aluno
Consultar Dadosdos AlunosAcessar Quadro de
Avisos
Elaborar Relatorio deAtividades de Aluno
SubmeterArtefato
Ativar Programa<<extend>>
<<extend>>
![Page 35: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/35.jpg)
C
C
E
35/60
Casos de Uso Principais Relacionamentos
Entre casos de uso: Ocorrem quando há uma parte do comportamento
que é semelhante em mais de um caso de uso e você não quer ficar copiando a descrição desse comportamento (fatoração);
Inclusão: Ocorre obrigatoriamente.
Extensão: Ocorre opcionalmente.
Entre atores: Generalização/especialização
![Page 36: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/36.jpg)
C
C
E
36/60
Casos de Uso Inclusão
Cliente
Garçon
Almoçar no Restaurante
Jantar no Restaurante
Pagar a Conta
«include»
«include»
![Page 37: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/37.jpg)
C
C
E
37/60
Casos de Uso Extensão
Cliente
Garçon
Almoçar no Restaurante
Jantar no Restaurante
Pagar a Conta
«include»
«extend»
![Page 38: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/38.jpg)
C
C
E
38/60
Casos de Uso Inclui ou estende?
Na prática fazemos a pergunta:
A
B
<<inclui>>
A inclusão ocorre sempre? Se a resposta for “Sim”, deixamos como está (com o <<include>>). Se a resposta for “Não”, trocamos o sentido da seta e substituímos o <<include>> pelo <<estende>>.
A
B
<<estende>>
![Page 39: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/39.jpg)
C
C
E
39/60
Casos de Uso Generalização/especialização de atores
Vendedor
Gerente de Vendas
Registrar Venda
Aprov ar Financiamento
Aprova financiamento
e registra venda
Só registra venda
![Page 40: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/40.jpg)
C
C
E
40/60
Casos de Uso Descrições
U.C. precisam ser descritos.As descrições podem ser: Em alto nível (descrição geral, resumida),
geralmente feita no início do processo de captura dos requisitos, ou
Detalhada (ou expandida), não procedimental, e é refinada ao longo do restante do projeto, ou quando há riscos maiores de erros de definição.
![Page 41: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/41.jpg)
C
C
E
41/60
Casos de Uso Descrição
Existem muitas formas de descrição das seqüências de operações de um caso de uso. Você pode inventar e (idealmente) padronizar a sua. A UML não especifica uma forma correta. Existem templates prontos na Internet (e.g.
Alistair Cockburn em http://alistair.cockburn.us/usecases/uctempla.doc
http://alistair.cockburn.us/usecases/uctempla2.dot
Em geral as empresas adotam seus próprios padrões.
![Page 42: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/42.jpg)
C
C
E
42/60
Diagrama de Classes Introdução
É uma visão estática do sistema.
Descreve relações atemporais entre elementos do domínio.
Compõe-se de classes, relacionamentos entre elas,
restrições, etc. Podem modelar o domínio sob três perspectivas:
Conceitual.
Especificação.
Implementação.
Cada perspectiva representa o domínio com graus diferentes de abstração
![Page 43: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/43.jpg)
C
C
E
43/60
Diagrama de Classes Classes, atributos, operações e relacionamentos
PedidoDeReposicaoDeEstoque
- dataColocacao
Pedido
- numero
- enderecoEntrega
- tipoPagamento
- prazoEntrega
ItemDePedido
- ordem
- quantidade
ItemDeReposicaoDeEstoque
- ordem
- quantidade
Produto
- codigp
- descricao
- precoUnitario
- qtdEstoque
Fornecedor
Cliente
- endereco
- telefone
ClientePF
- nome
ClientePJ
- razaoSocial
- contato
Funcionario
- nome
+Representante de Vendas 0..1
*
* 1
* *
1
1..*
1
*
1
*
1
1..*
![Page 44: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/44.jpg)
C
C
E
44/60
Diagrama de Classes Associações: leitura dos rótulos e multiplicidades
Galinha Ovo
1
bota
*
![Page 45: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/45.jpg)
C
C
E
45/60
Diagrama de Classes Associações: semântica das multiplicidades
Representam regras com respeito às relações entre os objetos.
Ok
~Ok
![Page 46: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/46.jpg)
C
C
E
46/60
Diagrama de Classes Auto-associações
Pode haver auto-associação. Exemplos:
Pessoa
genero:{“M”,”F”}
0..1
mulher
0..1
homem
Funcionário
*
Subordinado
0..1
Chefe casa
![Page 47: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/47.jpg)
C
C
E
47/60
Diagrama de Classes Classes de associação
Pessoa Empresa
Emprego
salario: money
* 0..1
empregado empregador
![Page 48: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/48.jpg)
C
C
E
48/60
Diagrama de Máquina de Estados
Liv re
Ocupado
+ exit / imprimirFatura
Reserv ado
checkin
checkout
checkin
cancelamento de reserva
reserva
![Page 49: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/49.jpg)
C
C
E
49/60
Diagrama de Máquina de Estados Tipos de Estados
Estados podem ser:
De atividade: nome bom » verbo no gerúndio (lendo, calculando ...)
De satisfação de condição: nome bom » verbo no particípio (autenticado, lançado...)
De espera: nomes bons » aguardando ou esperando
![Page 50: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/50.jpg)
C
C
E
50/60
Diagrama de Máquina de Estados Transições
Transições:
Passagem de um estado para outro;
Ocorrem a partir de eventos;
Envolvem, em geral, ações de curta duração;
Ações não podem ser interrompidas;
São rotuladas.
![Page 51: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/51.jpg)
C
C
E
51/60
Diagrama de Atividade
[ Ficha Válida ]
Servir Café
Receber
Ficha
Colocar Pó
no Filtro
Colocar Copo
na Bandeja
Despejar Água
Fervente no Filtro
Despejar Café
no CopoDespejar Açúcar
no Copo
Exibir Mensagem
Para Retirar Café
Exibir Mensagem de
Ficha Inválida
Coar Café
Receber
Ficha
Colocar Pó
no Filtro
Colocar Copo
na Bandeja
Despejar Água
Fervente no Filtro
Máquina de Café
Despejar Café
no CopoDespejar Açúcar
no Copo
Exibir Mensagem
Para Retirar Café
Exibir Mensagem de
Ficha Inválida
Coar Café
[ else ]
[Ficha Válida]
![Page 52: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/52.jpg)
C
C
E
52/60
DA
Enfocam o fluxo de controle entre ações do sistema (visão dinâmica);
Úteis para descrição de comportamentos com muito processamento em paralelo;
Úteis para modelagem de programas concorrentes, onde se projetam graficamente as threads e pontos de sincronismo.
Úteis para a modelagem de processos de negócio.
![Page 53: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/53.jpg)
C
C
E
53/60
DA Partições ou Raias de natação
Partições:
Raias (swimlanes) são usadas quando há necessidade de se indicar quem executa as atividades.
![Page 54: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/54.jpg)
C
C
E
54/60
DA Raias de natação
Pro
ce
ss
am
en
toA
ten
dim
en
toF
ina
nc
eir
o
Receber
pedido
«signal sending»Solicitar Pagamento
«signal receipt»Pagamento Confirmado
Preparar
fatura
cópia do pedido
Organizar pedido
«signal receipt»Pedido Completo
Embalar
pedido
Notificar
transportadora
ActivityFinal
[senão]
[pedido completo]
![Page 55: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/55.jpg)
C
C
E
55/60
DA Raias de natação
Raias podem ser hierarquizadas/multidimensionadas:
![Page 56: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/56.jpg)
C
C
E
56/60
Diagrama de Sequência
Descrevem como grupos de objetos colaboram em algum comportamento do sistema;
Servem para modelar o “funcionamento” (programação) do sistema.
![Page 57: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/57.jpg)
C
C
E
57/60
Diagrama de Sequência Melhores que o Diagrama de Comunicação para
apresentar as responsabilidades de cada objeto, especialmente quando o aspecto da ordenação temporal é relevante.
![Page 58: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/58.jpg)
C
C
E
58/60
Diagrama de Sequência João:Presidente Paulo:DiretorFinanceiro Maria:GerenteFaturamento Pedro:GerenteOperacoes
lucroLiquido()
receitas()
despesas()
aguardarResposta()
lucroLiquido()
![Page 59: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/59.jpg)
C
C
E
59/60
Diagrama de Sequência Em geral são visualmente complexos
Cliente
formulário de
especificação de
Pedido
controleEntradaPedido colecaoClientes umCliente:Cliente oCatalogoDeProdutos
oNovoPedido:Pedido
oNovoItem:ItemDePedido
oProduto:Produto
loop
[para todos os clientes, até ser validado ]
alt
[clienteValido = false]
[clienteValido = true]
loop
[para todos os itens de pedido do pedido]
exibirTelaAutenticacao()
login/senha()
verificarLoginSenha(login:string, senha:string)
verificarLoginSenha(login:string, senha:string)
verificarLoginSenha(login:string, senha:string)
clienteValido= :{true, false}
"login/senha inexistente"()
getNome(nomeCliente:string)
getEndereco(enderecoCliente:string)
exibeDdosCliente(nomeCliente:string, enderecoCliente:string)
«create»
exibirCamposEntradaItensPedido()
codigo e quantidade()
criaItemPedido(codigo:int, quantidade:int, descr:string, prUnitario:value)
criaItemPedido(codigo:int, quantidade:int, descr:string, prUnitario:value)
«create»
getPuDescricao(codigi:int, descricao:string)
localizarProduto(cofigo:int)
getPuDescricao(pU:value, descricao:string)
calculaPrTotal(pU:value, qtd:int) :value
:descrição, preço item, valor pedido
![Page 60: Tecnologias Atuais de C Desenvolvimento de Software C E · Principais diagramas da UML . C C E 3/60 Análise de sistemas Comunicação entre analistas e usuários para definir o propósito](https://reader036.vdocuments.net/reader036/viewer/2022070916/5fb6aa4aec18924eb046dc61/html5/thumbnails/60.jpg)
C
C
E
60/60
UML Lembrete
Próxima aula: Arquitetura de Software
Patterns e Frameworks
MDA