análise e projeto de software parte i · de arquitetura de software, análise e projeto de...
TRANSCRIPT
![Page 2: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/2.jpg)
Agenda• Apresentação do professor• Apresentação da disciplina• Metodologia e avaliação
![Page 3: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/3.jpg)
Marcos Barbosa Dósea
Apresentação do professor
![Page 4: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/4.jpg)
Currículo� Formação:
– Formado em Ciência da computação– Mestre em Engenharia de Software e Linguagens de
Programação– Certificado Java 5.
� Experiência:– 1 ano como Analista de Sistemas e suporte à Equipe de
Desenvolvimento na Plataforma Java EE na Secretaria de Estado da Fazenda de Sergipe.
– 2 anos na Qualiti Software Processes como consultor na área de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de software.
– Consultor na suíte de ferramentas da IBM Rational. – Professor em Disciplinas de Pós-Graduação em Gerência de
Projetos e Engenharia de Software. – Consultor do Centro de Processamento de Dados da
Universidade Federal de Sergipe.– Professor da Universidade Federal de Sergipe.
![Page 6: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/6.jpg)
Análise e Projeto de Software
Apresentação da disciplina
![Page 7: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/7.jpg)
Característica da disciplina• Nome: Análise e Projeto de Software• Carga horária: 20 horas/aula• Datas: 06/11 e 20/11• Horário: 08:00 às 12:00h e 13:00 às 17:00h• Intervalos: 10:00h e 15:00h (15 minutos)
![Page 8: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/8.jpg)
Objetivo da disciplina
Proporcionar ao aluno um conhecimento amplo das principais técnicas e
ferramentas que podem ser utilizadas para realizar análise e projeto de software Orientado à Objetos.
![Page 9: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/9.jpg)
Ementa• Princípios da Orientação a Objetos. • Classes, Objetos, Encapsulamento, Herança, Agregação e Composição;
• Modelagem Orientada a Objetos. • Diagramas UML. • Análise de Software Orientada a Objetos.• Projeto de Arquitetura de Software• Projeto de Software• Projeto de Banco de Dados• Padrões de desenho (Design Patterns).
![Page 10: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/10.jpg)
Divisão da ementa• PARTE I:
– Diagrama de Classes;– Diagramas de Interação;– Análise e Projeto de Software;
• PARTE II:– Análise de Software Orientado à Objetos;– Projeto da Arquitetura;– Projeto de Software Orientado à Objetos;
![Page 11: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/11.jpg)
Divisão da ementa• PARTE III:
– Arquitetura de Software;– Projeto de Software Orientado à Objetos (continuação)– Projeto de Banco de Dados– Padrões de Projeto Orientado à Objetos
![Page 12: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/12.jpg)
Bibliografia• FILHO, Wilson de Pádua Paula. Engenharia de
Software: Fundamentos, Métodos e Padrões. 2. ed. São Paulo: LTC, 2003.
• SOMMERVILLE, Ian. Engenharia de Software. 8. ed. São Paulo: Pearson, 2005.
• PRESSMAN, R. S. Engenharia de Software. 5. ed. SãoPaulo: MCGraw-Hill, 2006.
![Page 13: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/13.jpg)
Bibliografia• Rational IBM. RUP (Rational Unified Process).
Disponível em: http://www.wthreex.com/rup/smallprojects/index.htm. Acesso em: 15/09/2009.
• FOWLER, Martin. UML Essencial. 3. ed. São Paulo: Bookman, 2005.
• LARMAN, Craig. Utilizando UML e Padrões. 3. ed. SãoPaulo: Bookman, 2007.
![Page 14: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/14.jpg)
Metodologia e avaliação
![Page 15: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/15.jpg)
Metodologia e avaliação• Aulas expositivas;• Dinâmicas e atividades em grupo;• Os alunos serão avaliados da seguinte forma:– Participação em sala de aula (Presença +
Participação) – 2,0;– Estudo de caso – 8,0;
![Page 16: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/16.jpg)
Cronograma de aulas
Apresentação do trabalhotarde20/118
12 - Padrões de Projetotarde20/117
Estudo de Caso: Projetando o Banco de Dadosmanhã20/116
11 - Projeto de Banco de Dadosmanhã20/116
10 - Projeto de Software OO (continuação)manhã20/116
09 - Arquitetura de Softwaremanhã20/115
Revisãomanhã20/115
Estudo de Caso: Criando modelo de análise e projetotarde6/114
07 - Projeto de Software OOtarde6/114
06 - Projeto da Arquiteturatarde6/114
05 - Análise de Software OOtarde6/113
Estudo de Caso: Criando diagramas de classe e interaçãomanhã6/112
04 - Introdução à Análise e Projeto de Software OOmanhã6/112
03 - Diagrama de Interaçãomanhã6/112
02 - Diagrama de Classesmanhã6/111
01 - Apresentação da Disciplinamanhã6/111
AssuntoTurnoDataAula
![Page 17: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/17.jpg)
Dúvidas
![Page 18: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/18.jpg)
Agenda
• Aula I– Motivação– Diagrama de Classes
![Page 20: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/20.jpg)
O que é análise e projeto?
![Page 21: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/21.jpg)
Qual a importância?
![Page 22: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/22.jpg)
Por onde começar?
• Visão do Sistema
Modelagem de Negócio
Requisitos
Análise
Projeto
Implementação
![Page 23: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/23.jpg)
Por que fazer visualmente?
• Vamos arrumar a estante...
Geografia
História / Inglês Matemática
Física
Física
Estatística Biologia
![Page 25: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/25.jpg)
Agenda
• Diagrama de Classes– Características– Classes– Interfaces– Relacionamentos– Esteriótipos– Quando construir?
• Análise• Projeto
![Page 26: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/26.jpg)
Características
• Mais importante e o mais utilizado diagrama da UML.
• Exibe as classes que irão compor o sistema com seus respectivos métodos, atributos e relacionamentos.
• Visão estática da organização das classes.
![Page 27: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/27.jpg)
Características
• Pode ser utilizado para modelar classes persistentes.
• Intencionalmente projetado para ser uma evolução do modelo Entidade-Relacionamento.
![Page 28: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/28.jpg)
Classes
• Podem possuir atributos e métodos.• Não se preocupam com os passos que devem ser percorridos pelos métodos.
• Possui 3 divisões não obrigatórias:– Nome da Classe– Atributos e seus tipos de dados.– Métodos. Cliente
-cpf: long#endereco: String~nome: String
+validar(cpf: long): boolean
![Page 29: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/29.jpg)
Classes
• Visibilidade dos Atributos e Métodos– Privada (-)– Protegida (#)– Pacote (~)– Pública (+) Cliente
-cpf: long#endereco: String~nome: String
+validar(cpf: long): boolean
![Page 30: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/30.jpg)
Cliente
-cpf: long#endereco: String~nome: String-emDebito: boolean = false
+validar(cpf: long): boolean
Classes
• Podemos visualizar ainda...– Tipo dos atributos e argumentos.– Retorno dos métodos.– Valor padrão dos atributos quando criados.
Tipo dos atributos
Tipo dos argumentos
Retorno do método
Valor padrão
![Page 31: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/31.jpg)
Classes
• Atributos e Operações de Instância e Estáticos– A única diferença na representação é queos estáticos ficam sublinhados.
Cliente
-cpf: long#endereco: String~nome: String-emDebito: boolean = false
+validar(cpf: long): boolean
Cliente
-cpf: long#endereco: String~nome: String-emDebito: boolean = false
+validar(cpf: long): boolean
Instância Estático
![Page 32: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/32.jpg)
Classes
• Classe Concreta e Abstrata– Única diferença é o estilo da fonte daclasse abstrata que fica em itálico.
Pessoa Pessoa
Concreta Abstrata
![Page 33: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/33.jpg)
Vamos pensar um pouco...
• Qual seria o melhor nível de visibilidade para os atributos de uma classe?
• Qual o objetivo de uma classe abstrata?
![Page 34: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/34.jpg)
Interfaces
• Duas representações:
FachadaFachada
<<interface>>
![Page 35: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/35.jpg)
Diagrama de Classes
• Relacionamentos– Associações– Especialização / Generalização– Dependência – Realização
![Page 36: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/36.jpg)
Relacionamentos
• Associações– Descreve o vínculo que ocorre entre classes.– Instâncias das classes ligadas às instâncias de outras classes para troca de informações, utilização de métodos, etc.
– São representadas por retas ligando as classes envolvidas.• Navegabilidade não é obrigatória e representa o fluxo das informações.
• É bom dar um nome para associação quando não estiver implícita.
![Page 37: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/37.jpg)
Relacionamentos
• Associações– Multiplicidade
• 0..1 : No mínimo 0 no máximo 1• 1..1 : Um e somente um.• 0..* : No mínimo nenhum e no máximo muitos.• 1..* : No mínimo 1 no máximo muitos.• 3..5: No mínimo 3 no máximo 5.
![Page 38: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/38.jpg)
Relacionamentos
• Associações– Associação Unária ou Reflexiva
Associação
MultiplicidadeMultiplicidade
Papel
![Page 39: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/39.jpg)
Relacionamentos
• Associações– Associação Binária
![Page 40: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/40.jpg)
Relacionamentos
• Associações– Agregação
• Objeto-todo é composto por vários objetos-parte.• Objetos-parte podem existir sem um objeto-todo.• Significado contém, faz parte de, é constituído por
Equipe
Jogador
0. .1
*
A equipe é constuída por n jogadores. Os objetos-parte (jogadores) podem existirsem o objeto-todo (equipe), por isso a multiplicidade do relacionamento 0..1.
![Page 41: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/41.jpg)
Relacionamentos
• Associações– Composição
• É uma agregação com uma restrição mais forte.• Objetos-Parte pertencem exclusivamente a um Objeto-Todo. São criados e destruídos juntos.
Pedido
ItemPedido
*
1 O pedido é constituído por vários itens do pedido. Os objetos-parte (ItemPedido) não podem existir sem o objeto-todo(Pedido), por isso a multiplicidade do relacionamento é 1.
![Page 42: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/42.jpg)
Outros exemplos...
• Qual o tipo de associação existente entre as entidades turma e aluno?
• Qual o tipo de associação existente entre as entidades filme e atores?
![Page 43: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/43.jpg)
Diagrama de Classes
• Relacionamentos– Associações– Especialização / Generalização– Dependência – Realização
![Page 44: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/44.jpg)
Relacionamentos
• Especialização / Generalização– Relação semântica “é um” ou “é uma”.– A subclasse herda atributos e operações dasuper classe, podendo adicionar outras.
![Page 45: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/45.jpg)
Diagrama de Classes
• Relacionamentos– Associações– Especialização / Generalização– Dependência – Realização
![Page 46: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/46.jpg)
Relacionamentos
• Dependência– Objetos de um classe usam serviços de objetos de outra classe.
– Muito úteis para gestão de dependências.
Cliente Servidor
![Page 47: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/47.jpg)
Diagrama de Classes
• Relacionamentos– Associações– Especialização / Generalização– Dependência – Realização
![Page 48: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/48.jpg)
Relacionamentos
• Realização– Um elemento (classe) implementa as operações especificadas por outro elemento (interface). A classe String
implementa a interface
Hashtable
A classe String implementa a
interface Comparable
![Page 49: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/49.jpg)
Classes Associativas
• São classes que estão ligadas a associações, em vez de estarem ligadas a outras classes.
• Também chamadas classes de associação.• Comum entre associações de conectivademuitos para muitos, mas podem aparecer em relacionamentos de qualquer conectividade.
![Page 50: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/50.jpg)
Classes Associativas
• Exemplo
Papel na
associação
Pessoa
+nome+telefone+endereco
Empresa
+razaoSocial+endereco
contrata
+empregador+empregado
**
Emprego
+salario+dataContratacao
Classe associativa
![Page 51: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/51.jpg)
Outros exemplos...
• Como ficaria o relacionamento das entidades Venda e Produto?
• Como ficaria o relacionamento das entidades pessoa e filme?
![Page 52: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/52.jpg)
Esteriótipos
• Mecanismos de extensibilidade da UML.• Bastante utilizado para gerar código.
– Ex: << EJB >>• Nos diagramas de classes podem ser usados nas:– Classes– Métodos– Atributos
![Page 53: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/53.jpg)
Esteriótipos
• Exemplos Esteriótipos de Classes– << file >> : denota o arquivo físico– << library >> : bliblioteca de arquivos.– << table >> : denota uma tabela do banco de dados.
– << thread >>: representa uma thread• Exemplos Esteriótipos de Métodos
– << create >>: cria uma instância da classe.– << destroy >>: destrói uma instância de classe.
![Page 54: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/54.jpg)
Esteriótipos
• Exemplos
Pessoa<<table>>
+nome+telefone+endereco
Pessoa
+nome+telefone+endereco
<<create>>+criar()
![Page 55: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/55.jpg)
Agenda
• Diagrama de Classes– Características– Classes– Interfaces– Relacionamentos– Esteriótipos– Quando construir?
• Análise• Projeto
![Page 56: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/56.jpg)
Visão LógicaVisão Lógica
Quando construir?
Visão de Casos de UsoVisão de Casos de Uso Visão de ProcessosVisão de Processos+
Diagramas de Classes de Projeto
Diagramas de Seqüência
Diagramas de Colaboração
Diagrama de Distribuição
Modelo de Análise e Projeto
Visão de DistribuiçãoVisão de Distribuição+
Diagrama deComponentesModelo de
Casos de Uso
![Page 57: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/57.jpg)
Classes de Análise
• Tipos de Classes de Análise– fronteira ( <<boundary>> )– Controle ( <<control>> )– Entidade ( <<entity>> )
• Estes estereótipos são uma conveniência de análise que desaparecem no projeto
![Page 58: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/58.jpg)
Classes de Análise
• Exemplo:
Conta
login
senha
<<entity>>
TelaLogin
efetuarLogin()
<<boundary>>
CadastroContas
existeCon ta()
<<en tity col lectio n>>
0..n0..n
ControladorLogin
efetuarLogin()
<<control>>
1
0..n
1
0..n
1
1
1
1
![Page 59: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/59.jpg)
Visão LógicaVisão Lógica
Quando construir?
Visão de Casos de UsoVisão de Casos de Uso Visão de ProcessosVisão de Processos+
Diagramas de Classes de Projeto
Diagramas de Seqüência
Diagramas de Colaboração
Diagrama de Distribuição
Modelo de Análise e Projeto
Visão de DistribuiçãoVisão de Distribuição+
Diagrama deComponentesModelo de
Casos de Uso
![Page 60: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/60.jpg)
Perspectivas no Projeto
• Conceitual– Classe interpretada como um conceito.– Apenas classes e atributos são utilizados.
• Especificação– Principais interfaces e métodos.– Prover maior entendimentos da arquitetura.
• Implementação– Especificação é detalhada.– Visibilidades, parâmetros tipos sãoadicionados.
![Page 61: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/61.jpg)
Perspectiva Conceitual
![Page 62: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/62.jpg)
Perspectiva de Especificação
![Page 63: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/63.jpg)
Perspectiva de Implementação
![Page 64: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/64.jpg)
Atividade de Sala I
Crie o diagrama de classes com suas respectivas associações e cardinalidades
contendo as classes que você achar necessário para realizar o caso de uso cadastro de pessoas físicas / jurídicas.
![Page 65: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/65.jpg)
Atividade Sala I
Exercite a criação de diagrama de classes usando o StarUML criando alguns dos diagramas exibidos na apresentação. Exercite a geração do código em
diferentes linguagens.
![Page 66: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/66.jpg)
Agenda
• Aula II– Diagramas de Interação– Introdução à Análise e Projeto de Software
![Page 68: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/68.jpg)
Motivação
• Como os diagramas estudados até o momento podem ajudar?– Auxiliam na definição dos requisitos.– Auxiliam o processo de análise do sistema.– Definem classes e responsabilidades.– Definem associações entre classes.
![Page 69: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/69.jpg)
Motivação
• Como determinar a sequência de chamada dos métodos?
• Qual classe inicia o encadeamento daschamadas?
• Todos os métodos necessários já foramdescritos?
• Quais as classes que participam numainteração?
![Page 70: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/70.jpg)
Agenda
• Diagrama de Seqüência– Características– Componentes Básicos
• Diagrama de Comunicação
![Page 71: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/71.jpg)
Diagrama de Seqüência
• Características– Determina a seqüência de eventos que ocorrem num determinado processo.
– Para um mesmo processo (caso de uso) existirão vários diagramas de seqüência.
– Semelhante ao caso de uso especificado.– Os diagramas de sequência e comunicaçãosão chamados diagramas de interação daUML.
![Page 72: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/72.jpg)
Diagrama de Seqüência
• Características– Depende do diagrama de classes e por isso normalmente são construídos em conjunto.
– Concentra-se na seqüência temporal dos eventos.
![Page 73: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/73.jpg)
Diagrama de Seqüência
• Componentes Básicos– Atores– Objetos– Linha de Vida– Foco de Controle ou Ativação– Mensagens ou Estímulos– Condições de guarda– Laços
![Page 74: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/74.jpg)
Diagrama de Seqüência
• Componentes Básicos– Atores– Objetos– Linha de Vida– Foco de Controle ou Ativação– Mensagens ou Estímulos– Condições de guarda– Laços
![Page 75: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/75.jpg)
Diagrama de Seqüência
• Atores– São exatamente os mesmo descritos no caso de uso, ou seja, entidades externas que interagem com o sistema e solicitam serviços.
![Page 76: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/76.jpg)
Diagrama de Seqüência
• Componentes Básicos– Atores– Objetos– Linha de Vida– Foco de Controle ou Ativação– Mensagens ou Estímulos– Condições de guarda– Laços
![Page 77: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/77.jpg)
Diagrama de Seqüência
• Objetos– Representam as instâncias das classes envolvidas no processo.
Representação
através dos dois
pontos (:) seguido do
nome da classe. O
nome do objeto é
opcional.
![Page 78: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/78.jpg)
Diagrama de Seqüência
• Objetos– Quando o objeto existe desde o início o retângulo
aparecerá na parte superior do diagrama. Quando ele écriado no decorrer do processo ele surgirá na mesma altura da mensagem.
Objeto criado após o
início do processo.
Mensagem de criação
do objeto.
![Page 79: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/79.jpg)
Diagrama de Seqüência
• Componentes Básicos– Atores– Objetos– Linha de Vida– Foco de Controle ou Ativação– Mensagens ou Estímulos– Condições de guarda– Laços
![Page 80: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/80.jpg)
Diagrama de Seqüência
• Linha de Vida– Representa o tempo em que um objeto existiu durante um processo. É interrompida com um “X” quando um objeto é destruído.
Linha da vida.
X
![Page 81: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/81.jpg)
Diagrama de Seqüência
• Componentes Básicos– Atores– Objetos– Linha de Vida– Foco de Controle ou Ativação– Mensagens ou Estímulos– Condições de guarda– Laços
![Page 82: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/82.jpg)
Diagrama de Seqüência
• Foco de Controle ou Ativação– Indica os períodos em que um determinado objeto está participando ativamente do processo.
Foco de controle.
![Page 83: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/83.jpg)
Diagrama de Seqüência
• Componentes Básicos– Atores– Objetos– Linha de Vida– Foco de Controle ou Ativação– Mensagens ou Estímulos– Condições de guarda– Laços
![Page 84: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/84.jpg)
Diagrama de Seqüência
• Mensagens ou Estímulos– Demonstram a ocorrência de eventos que normalmente forçam a chamada de um método de algum objeto envolvido no processo.• Ator – Ator• Ator – Objeto• Objeto – Ator• Objeto - Objeto
![Page 85: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/85.jpg)
Diagrama de Seqüência
• Mensagens ou EstímulosMensagem de criação.
Mensagem para objetos que já existem.
Mensagem de retorno.
Método destrutor
Auto-Chamadas ou Auto-delegações.
<destroy>
![Page 86: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/86.jpg)
Diagrama de Seqüência
• Componentes Básicos– Atores– Objetos– Linha de Vida– Foco de Controle ou Ativação– Mensagens ou Estímulos– Condições de guarda– Laços
![Page 87: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/87.jpg)
Diagrama de Seqüência
• Condições de Guarda– Indica que uma mensagem só poderá ser enviada a um objeto se uma condição for verdadeira.
Condição de guarda.
![Page 88: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/88.jpg)
Diagrama de Sequência
• Condicão de Guarda na UML 2.0
![Page 89: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/89.jpg)
Diagrama de Sequência
• Condicional Mutuamente Exclusiva
![Page 90: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/90.jpg)
Diagrama de Seqüência
• Componentes Básicos– Atores– Objetos– Linha de Vida– Foco de Controle ou Ativação– Mensagens ou Estímulos– Condições de guarda– Laços
![Page 91: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/91.jpg)
Diagrama de Sequência
• Loop
![Page 92: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/92.jpg)
Vamos pensar um pouco...
Utilizando as classes criadas para realizar o cadastro de clientes crie o diagrama
de sequência para realizar a operação de inserção e remoção de dados no banco
de dados.
![Page 93: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/93.jpg)
Roteiro
• Diagrama de Seqüência• Diagrama de Comunicação
– Características– Componentes Básicos
![Page 94: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/94.jpg)
Diagrama de Comunicação
• Características– Possui as mesmas funções do diagrama de seqüência.
– Concentra-se na organização estrutural dos objetos.
– É possível gerá-lo a partir do diagrama de seqüência e vice-versa.
![Page 95: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/95.jpg)
Diagrama de Comunicação
• Componentes Básicos– Objetos– Atores– Vínculos– Mensagens– Condições
![Page 96: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/96.jpg)
Diagrama de Comunicação
• Objetos– São as instâncias da classe que participam de um processo.
Semelhante a
representação do
diagrama de seqüência.
Coleção de
dependentes.
![Page 97: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/97.jpg)
Diagrama de Comunicação
• Componentes Básicos– Objetos– Atores– Vínculos– Mensagens– Condições
![Page 98: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/98.jpg)
Diagrama de Comunicação
• Atores– São os mesmos do diagrama de seqüência e conseqüentemente os mesmo do diagrama de casos de uso.
![Page 99: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/99.jpg)
Diagrama de Comunicação
• Componentes Básicos– Objetos– Atores– Vínculos– Mensagens– Condições
![Page 100: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/100.jpg)
Diagrama de Comunicação
• Vínculos– Indicam as ligações que existem entre os objetos envolvidos em um processo, ou seja, os objetos colaboram entre si.
![Page 101: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/101.jpg)
Diagrama de Comunicação
• Componentes Básicos– Objetos– Atores– Vínculos– Mensagens– Condições
![Page 102: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/102.jpg)
Diagrama de Comunicação
• Mensagens– Representam a chamada dos métodos. São as mesmas do diagrama de seqüência.
– Não existem mensagens de retorno.
A seta indica a direção para
onde a mensagem foi
enviada.
![Page 103: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/103.jpg)
Diagrama de Comunicação
• Mensagens– Também é possível disparar uma mensagem para si próprio.
Auto-Chamada.
![Page 104: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/104.jpg)
Diagrama de Comunicação
• Mensagens– Podem ser enviadas diversas vezes.
Mensagem enviada repetidas vezes.
Pode-se restringir o número de vezes.
Ex: *[i := 1..10]
Variável de Retorno
Coleção de objetos
![Page 105: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/105.jpg)
Diagrama de Comunicação
• Componentes Básicos– Objetos– Atores– Vínculos– Mensagens– Condições
![Page 106: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/106.jpg)
Diagrama de Comunicação
• Condições– Mensagem só é enviada se a condição for satisfeita.
Condição.
![Page 107: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/107.jpg)
Diagrama de Comunicação
![Page 108: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/108.jpg)
Atividade Sala II
Crie um projeto no StarUML contendo as classes necessárias para realização de um CRUD para os dados de uma Pessoa. Crie diagramas de interação para definir os métodos necessários nessas classes.
![Page 110: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/110.jpg)
Agenda
• Introdução• Como fazer Análise? • Fluxo de Análise e Projeto do RUP
![Page 111: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/111.jpg)
Introdução
• Onde estamos?
![Page 112: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/112.jpg)
Introdução
• O que faremos?– Analisar o Software– Definir a arquitetura– Projetar o Software
• Componentes• Banco de Dados
![Page 113: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/113.jpg)
Análise x Projeto
Modelo complexo.Modelo simples
Requisitos Funcionais e Não Funcionais
Requisitos Funcionais
Representação próximado código.
Estrutura geral daarquitetura do sistema
Detalha operações e atributos dos objetos
Comportamento caixapreta
Foco na soluçãoFoco no problemaProjetoAnálise
![Page 114: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/114.jpg)
Quais os artefatos produzidos?
Análise e
Projeto
Análise e
Projeto
Modelo de Casos de Uso
Projeto de Banco de Dados
Documento de Requisitos
Glossário
Documento da Arquitetura
Mapeamento das Classes de Análise em Elementos de Projeto
Modelo de Análise e Projeto
![Page 115: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/115.jpg)
Quais os artefatos produzidos?
• O que é produzido?Modelo de Casos de Uso Modelo de Análise e Projeto
Diagrama de Classes
Diagrama de Seqüência
Diagrama de Colaboração
Realização de Caso de Uso
Caso de Uso
![Page 116: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/116.jpg)
Quais os artefatos produzidos?
• Pode ser um modelo que inicia naatividades de análise (visão abstrata) e éconcluído no projeto (visão detalhada).
• Podem ser dois modelos– Modelo de Análise– Modelo de Projeto (evoluído do modelo de análise)
• Como escolher?– Documentação x Esforço Manutenção
![Page 117: Análise e Projeto de Software Parte I · de arquitetura de software, análise e projeto de sistemas e melhoria e implantação de processos de desenvolvimento de ... • Diagramas](https://reader036.vdocuments.pub/reader036/viewer/2022062911/5be72db209d3f23a558bb8a7/html5/thumbnails/117.jpg)
Fluxo de Análise e Projeto
Analisar caso de usoProjetista
Projetista de banco de dados
Revisar projeto
Projetar caso de uso
Arquiteto
Revisor do projeto
Projetar base de dados
Projetar arquitetura
Projetar subsistema
Projetar classes