![Page 1: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/1.jpg)
Alessandro Almeida | www.alessandroalmeida.com
![Page 2: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/2.jpg)
Os próximos slides fazem parte de uma atividade realizada pelos alunos da turma SIN-NA6 (6º semestre de Sistemas de Informação – 2º semestre de 2012)
![Page 3: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/3.jpg)
ORIENTAÇÃO A OBJETOS
![Page 4: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/4.jpg)
INTEGRANTES
• Ana Paula de Sousa - 10101629
• Caroline Soares - 10100815
• Elias Nascimento - 10101626
• Guilherme Oliveira - 10101599
• Rafael V Cordeiro - 10103318
![Page 5: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/5.jpg)
HISTÓRICO DA ORIENTAÇÃO A OBJETOS
• Evolução da Programação Estruturada
A Programação Orientada a Objetos é uma evolução da Programação Estruturada
• Linguagem Estruturada
Funções e Dados podem ser acessados por qualquer função.
• Linguagem Orientada à Objetos
Funções agregadas aos dados em uma unidade chamada ‘objeto’.
![Page 6: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/6.jpg)
HISTÓRICO DA ORIENTAÇÃO A OBJETOS
• Anos 60:
A Linguagem de programação chamada de SIMULA (projetadas para apoiar a simulação de eventos discretos), já utilizavam o uso de conceitos de O.O.
• Anos 70:
Surge a primeira linguagem totalmente voltada a O.O., que é SMALLTALK, Incorporou ideias da linguagem de programação SIMULA.
• Anos 80:
Quase todas as linguagens de programação já apresentavam conceitos de O.O., como o Delphi, Java, C++, PASCAL, LISP, C++, ADA, EIFFEL, OBJECT PASCAL entre outras.
• Anos 90:
JAVA é ao mesmo tempo um ambiente e uma linguagem de programação O.O., e foi projetado para
resolver os problemas da área de programação cliente/servidor.
![Page 7: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/7.jpg)
EVOLUÇÃO DA ORIENTAÇÃO A OBJETOS
• Larry Constantine – (1960) Foi quem primeiro lançou a ideia de que softwares poderiam ser
projetados antes que fossem programados
• Ole-Johan Dahl e Kristen Nygaard - (1966) - Foi quem primeiro lançou a ideia de Classes
introduzida na linguagem SIMULA
• Alan Curtis Kay - (1970) Iniciou o conceito de Mensagem e Herança, usados na linguagem
SmallTalk, e Adele Goldberg.
![Page 8: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/8.jpg)
CONCEITOS DE ORIENTAÇÃO A OBJETOS
• O que é a Orientação a Objetos?
• E o que colaboram para construir?
• O que é um paradigma?
• O paradigma pode auxíliar em que?
![Page 9: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/9.jpg)
VANTAGENS DA TECNOLOGIA DE OBJETOS
Código:
-Eliminação de
redundância
-Fácil manutenção
-Reaproveitamento de
código
Se houver mudanças nos
requisitos?
![Page 10: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/10.jpg)
CLASSE
• O que é Classe?
- Atributos e Métodos.
Atributos = características
Métodos = ações
Operações caracterizam o comportamento de um
objeto, e são o único meio de acessar, manipular e
modificar os atributos de um objeto.
![Page 11: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/11.jpg)
OBJETOS
• Um objeto possui um estado, exibe um comportamento bem-definido e possui uma
identidade única.
Conjunto de Propridades Reação (M ;P) Propriedade do Objeto
![Page 12: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/12.jpg)
HERANÇA
- O que nos permite a herança?
- Também conhecida como?
- Herança de Atributos e de Métodos
- Herança de Relacionamentos
Através da herança é possível representar a relação de
generalização/especialização entre duas classes:
" a superclasse é uma generalização da(s) subclasse(s), e
" a subclasse é uma especialização da(s) superclasse(s).
Temos os tipos de herança:
Herança estrita: as subclasses podem redefinir ou
excluir propriedades herdadas da superclasse.
Herança não estrita: as mudanças citada acima não são
permitidas.
![Page 13: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/13.jpg)
POLIMORFISMO Polimorfismo é um conceito abstrato que, de forma sucinta,
diz que algo pode responder de formas diferentes para
uma mesma situação.
A implementação de Polimorfismo se faz através de
Classes e métodos abstratos:
-Métodos abstratos (mostrar programa)
![Page 14: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/14.jpg)
LINGUAGENS DE PROGRAMAÇÃO
ORIENTADAS A OBJETOS
Java
C#
C++
Ruby
Python
Delphi
Lisp
![Page 15: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/15.jpg)
APLICAÇÃO NA VIDA REAL
![Page 16: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/16.jpg)
BIBLIOGRAFIA
• http://www.webgoal.com.br/origem-da-orientacao-a-objetos/ (08/09/2012 19:45hs)
• http://www.hardware.com.br/artigos/programacao-orientada-objetos/ (08/09/2012 – 19:40hs)
Conceitos de O.O
• Blair, G. et al. (Editors) Object-Oriented Languages, Systems and Applications, PitmanPublishing, 1991.
• Buzato, L. E., Rubira, C. M. F. Construção de Sistemas Orientados a Objetos Confiáveis, Décima Primeira Escola de
Computação, Rio de Janeiro, Julho de 1998.
• Cardelli, L, and Wegner, P. On understanding types, data abstraction and Oliva, Alexandre. Programaçäo em Java. II
Simpósio Brasileiro de Linguagens deProgramaçäo, Campinas, setembro de 1997.
• Takahashi, T. Programação Orientada a Objetos, Escola de Computação, São Paulo,1990.
• Rubira, C. M. F. Tópicos Especiais em Engenharia de Software II, Universidade Estadual de Campinas, notas de aula,
1996.
• http://www.ufpa.br/cdesouza/teaching/es/3-OO-concepts.pdf
![Page 17: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/17.jpg)
![Page 18: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/18.jpg)
Aline Mayara Coqueto – 10102152
Felipe Gustavo Marques Pires - 10103101
Gustavo Henrique da Cunha - 10101635
Stéfanie Caroline Rodrigues Martins - 10101621
Thais Cirqueira da Silva - 10103368
![Page 19: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/19.jpg)
Requisitos são as necessidades do meu cliente. O que meu sistema irá fazer.
Servem para ajudar a entender e delimitar o que deve ser implementado em um software.
![Page 20: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/20.jpg)
Responsável por exibir de forma prática as interações das funcionalidades do sistema uma com as outras e do sistema com o usuário. uc Diagrama de Caso de Uso
Lançar Notas
Professor Aluno
Calcular Média FinalRealizar Prov a 1
Realizar Prov a 2
Realizar Segunda
Epoca
«include»
«include»
«extend»
![Page 21: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/21.jpg)
1. Caso de Uso;
2. Ator;
3. Relacionamento;
4. Fronteira do Sistema;
5. Cenário.
uc Diagrama de Caso ...
Calcular Média Final
uc Diagrama de C...
Turma de Sistemas
uc Diagrama de Caso de Uso
Lançar Notas
![Page 22: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/22.jpg)
Representa uma função do sistema.
uc Diagrama de Caso ...
Calcular Média Final
![Page 23: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/23.jpg)
Papel desempenhado por algo ou alguma coisa externa ao sistema.
uc Diagra...
Professor
![Page 24: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/24.jpg)
São as conexões feitas entre os elementos .
Tipos de Relacionamento:
◦ Associação ;
◦ Generalização ;
◦ Include ;
◦ Extend.
![Page 25: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/25.jpg)
Relacionamento entre um ator e o caso de uso.
uc Diagrama de Caso de Uso
Professor
Calcular Média Final
![Page 26: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/26.jpg)
Demonstra quando há algo em comum entre os papéis do sistema.
uc Atores
Aluno 1 Aluno 2
Turma de Sistemas
uc Diagrama de Caso de Uso
Lançar Notas
Professor
Calcular Média FinalRealizar Prov a 1
Realizar Prov a 2
Realizar Segunda
Epoca
Turma de Sistemas«include»
«include»
«extend»
![Page 27: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/27.jpg)
uc Diagrama de Caso de Uso
Lançar Notas
Professor Aluno
Calcular Média Final
Realizar Prov a 2
«include»
Demonstra a dependência entre dois casos de uso.
![Page 28: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/28.jpg)
Demonstra que o caso de uso base pode ser complementado por outro caso de uso.
uc Diagrama de Caso de Uso
Lançar Notas
Professor Aluno
Calcular Média FinalRealizar Segunda
Epoca«extend»
![Page 29: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/29.jpg)
Delimita os casos de uso que irão compor o diagrama.
uc Diagrama de Caso de Uso
Lançar Notasuc Diagrama de Caso de Uso
Lançar Notas
Professor
Calcular Média Final
![Page 30: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/30.jpg)
Sequência de eventos gerados a partir de uma ação do usuário.
uc Diagrama de Caso de Uso
Lançar Notas
Professor
Calcular Média FinalRealizar Prov a 1
Realizar Prov a 2
Realizar Segunda
Epoca
Turma de Sistemas«include»
«include»
«extend»
![Page 31: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/31.jpg)
Documento que descreve o passo a passo a respeito das ações geradas pelo sistema através de determinadas ações do ator.
Composto por:
◦ Fluxo Principal;
◦ Fluxo Alternativo;
◦ Ator.
![Page 32: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/32.jpg)
Escopo bem definido;
Organização e Divisão de Trabalho;
Estimativa do Tamanho do Projeto;
Direcionado de Testes.
![Page 33: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/33.jpg)
![Page 34: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/34.jpg)
Nome: Fellipe Ricardo Prontuário: 10100813 Fellipe Callegari 10100831 Jordana Müller 10103659 Luana Soares 10100819 Professor: Alessandro Turma: SIN-NA6
![Page 35: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/35.jpg)
Introdução Exemplo Utilização Composição Relacionamento Níveis de abstração Criação de uma boa estrutura
![Page 36: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/36.jpg)
Um diagrama de classes mostra um conjunto de classes, interfaces e colaborações e seus relacionamentos.
Os Diagramas de Classe são a base para: Diagramas de Componentes e os Diagramas de Implantação.
Os diagramas de classe são importantes para a construção de sistemas executáveis por intermédio de engenharia do produção e reversa.
![Page 37: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/37.jpg)
![Page 38: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/38.jpg)
Use os diagramas de classe para fazer a modelagem da visão estática do projeto de um sistema.
![Page 39: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/39.jpg)
Nome da Classe Atributos e tipo de dado ~: de pacote +: publico #: protegido -: Privado
Operações e parâmetros
![Page 40: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/40.jpg)
Associações Define relacionamento entre as classes
Classe de Associações Uma classe de associação contem informações de
relacionamento entre outras classes
![Page 41: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/41.jpg)
Dependências Ocorre quando não é possível existir a classe A sem que a
classe B já exista
Multiplicidade Utiliza notações (“0..1”, “0..*”, “*”, “1”, “1..*”)
![Page 42: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/42.jpg)
Agregações Relacionamento onde uma classe é formada por diversas
outras classes
Composição É outro tipo de agregação, em que a relação é mais forte
![Page 43: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/43.jpg)
Interfaces As interfaces são apenas modelos de comportamentos, não
podendo ser instanciadas Diagrama de Objetos Diagrama de objeto representa uma instancia de uma classe
especifica
![Page 44: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/44.jpg)
Nível de domínio Nível de análise Nível de design
Generalização Classes abstratas
![Page 45: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/45.jpg)
Atribua-lhe um nome que comunique seu propósito Distribua organizadamente seus elementos de
modo a minimizar o cruzamento de linhas Comunicação de um único aspecto da visão estática
do projeto do sistema Apresentação de elementos essenciais à
compreensão desse aspecto Exibir somente os detalhes essenciais à
compreensão Use notas e cores para características importantes
do diagrama
![Page 46: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/46.jpg)
Diagrama de Classes UML
![Page 47: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/47.jpg)
LIVRO: UML Guia do Usuário EDITORA: Campus AUTOR: Grady Booch LIVRO: Utilizando UML e Padrões EDITORA: Bookman AUTOR: Craig Larman http://www.fernandoamaral.com.br/Default.aspx?Artigo=40 http://www.macoratti.net/net_uml1.htm http://pt.wikipedia.org/wiki/Diagrama_de_classes http://www.slideshare.net/suissapg/diagrama-de-classe-5802269 http://gilmarborba.com.br/?p=184 http://www.dsc.ufcg.edu.br/~jacques/cursos/map//html/uml/diagramas/classes/cl
asses3.htm http://javafree.uol.com.br/topic-876366-Diagrama-de-Classes-e-Objetos.html
![Page 48: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/48.jpg)
![Page 49: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/49.jpg)
Integrantes Jéssica Soares Barbosa
Marcelo Yassuo Cecilio Furuko
Rafael de Lima Abreu
Rafael Rodrigues Alves
Tatiana Ribeiro de Oliveira
![Page 50: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/50.jpg)
Diagrama de Classes Pode-se dizer que é um dos mais importantes
diagramas da UML. A partir dele que os demais diagramas são elaborados;
Um diagrama de classes descreve os tipos de objetos no sistema e os vários tipos de relacionamentos estáticos que existem entre eles.
Em programação podemos dizer que diagrama de classes é uma representação da estrutura e relações das classes que servem de modelo para objetos
![Page 51: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/51.jpg)
Seus Elementos Atributos
Multiplicidade
Associação
Relacionamento
Generalização ou Herança
Agregação
Composição
![Page 52: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/52.jpg)
Atributo Define as características da classe como um todo.
Nome
Tipo de dados
Valor inicial(depende da linguagem de programação, e é opcional)
Propriedade(opcional, depende da característica do elemento)
![Page 54: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/54.jpg)
Associação
As associações em um diagrama de classe definem os tipos de ligações que os objetos participam
![Page 55: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/55.jpg)
Relacionamento – Generalização
Na implementação física correponde a um processo de herança.
![Page 56: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/56.jpg)
Relacionamento - Agregação
Uma agregação representa um todo que é composto de várias partes;
![Page 57: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/57.jpg)
Relacionamento - Composição
A composição, é diferente da agregação, pois é um relacionamento de contenção. Um objeto CONTÉM outros objetos(elementos). Esses elementos que estão contidos dentro de outro objeto depende dele para existir.
![Page 58: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/58.jpg)
Exemplo
![Page 59: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/59.jpg)
Especificação de instância
O que é a especificação da instância?
Qual o conceito utilizado para especificar?
Diagrama de Objetos utilizado na especificação de instancias.
![Page 60: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/60.jpg)
Especificação de instância
![Page 61: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/61.jpg)
Engenharia de código
![Page 62: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/62.jpg)
Engenharia Reversa Importação de código para geração de interfaces UML
Auxilia na recuperação de dados
Verificação de código original para identificar possiveis alterações
Permite modelar melhores proteções para um software ja existente
![Page 63: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/63.jpg)
Geração de Código
Produto
+ codigo: String
+ descricao: String + modelo: String
+ marcaImpressora: String
+ cor: String
+ ultimaAtualizacao: Date
+saldo: Double
+preco: Double
+ buscar()
+ listar()
+ criar()
+ atualizar()
+ excluir()
‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘
‘ ‘
‘ ‘ Produto.cls
‘ ‘ Implementation of the Class Produto
‘ ‘ Generated by Enterprise Architect
‘ ‘ Create on: 10-Set-2012 20:46:15
‘ ‘
‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘
Public codigo As String
Public descrição As String
Public modelo As String
Public marcaImpressora As String
Public cor As String
Public ultimaAtualizacao As Date
Public saldo As Double
Public preco As Double
Public Sub buscar()
End Sub
Public Sub Listar()
End Sub
Public Sub criar()
End Sub
Public Sub atualizar()
End Sub
Public Sub excluir()
End Sub
![Page 64: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/64.jpg)
Classes de Persistências
Visa preservar de maneira permanente os objetos de
uma classe – “gravar em disco”
Nem toda classe é/precisa ser persistente
Necessário explicitamente definir através de um estereótipo/restrição
Diagrama de classe esquema lógico BD
![Page 65: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/65.jpg)
Mapeamento de Atributos
![Page 66: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/66.jpg)
Mapeamento de Relacionamentos
![Page 67: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/67.jpg)
Conclusão
Visão geral do diagrama de classes
Vantagens da utilização em projetos
O que agrega para o curso?
![Page 68: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/68.jpg)
Diagrama de Objetos
SIN – NA6 - Engenharia de Software II
Alexandre Alisson
Leonardo Botelho
Lucas Palma
Luciana Sassaki
![Page 69: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/69.jpg)
• Função do Diagrama
- O diagrama de objetos é uma poderosa
ferramenta da UML para a modelagem de
exemplos.
- Esse diagrama é também usado para
testar o comportamento de uma
determinada “sociedade de classes”.
![Page 70: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/70.jpg)
• Função do Diagrama
- A função do Diagrama de Objetos é
detalhar a classe, ele mostra os objetos da
classe.
- Testar se a classe foi especificada
corretamente.
- São importantes para visualizar, especificar
e documentar os modelos estruturais.
![Page 71: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/71.jpg)
• Estrutura do Diagrama
- Objeto: É apresentado a partir de duas
partes: O nome do objeto e (com a
separação de dois pontos) o nome da
classe correspondente.
![Page 72: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/72.jpg)
• Estrutura do Diagrama
- Ligações: Os objetos além de
representar/exemplificar os dados, também
mostram os enlaces com outros objetos.
Esses enlaces são denominados ligações.
![Page 73: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/73.jpg)
• Estrutura do Diagrama
- Nome e Valores de Atributos: O diagrama de objetos NÃO MOSTRA a definição dos atributos (tipo, visibilidade e assim por diante). Ele mostra nomes e valores de atributos em uma instrução de atribuição, como nome = “João”; CEP=”30000-000” etc. Este diagrama simplesmente apresenta os nomes e os valores dos atributos no segundo compartimento da caixa representativa do objeto no diagrama.
![Page 74: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/74.jpg)
• Estrutura do Diagrama
![Page 75: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/75.jpg)
• Estrutura do Diagrama
![Page 76: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/76.jpg)
• Exemplo de Utilização - Diagrama de
Classse
- Diagrama de
Objeto
![Page 77: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/77.jpg)
• Como deve ser usado
- Esse diagrama é muito útil à medida que exemplifica para o usuário final, ou até mesmo o analista de sistemas. A finalidade da classe ou de determinados atributos, que em alguns casos poderiam indicar dúvidas. Além disso esse digrama é muito importante para testar se a classe foi definida corretamente, principalmente no que diz respeito às multiplicidades, ou a quantidade de ocorrências de um objeto com relação a outro.
![Page 78: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/78.jpg)
• Conclusão
- Vantagens e Desvantagens.
- O grupo concluiu que na teoria é de
grande ajuda utilizar o diagrama de
objetos. Entretanto, na prática, levando
em consideração a agilidade e urgência da
entrega dos projetos fica complicado a
aplicação do diagrama.
![Page 79: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/79.jpg)
• Bibliografia
- http://www.unesp.br/gs/treinamento/graduacao/CursoUML-Diagramas.pdf
- http://www.fag.edu.br/professores/elielder/materias/apoo/09.pdf
- http://techblog.desenvolvedores.net/2011/05/28/diagrama-de-objeto-uml
- http://tadeujnr.sites.uol.com.br/pcc/txt_uml.html
- http://gilmarborba.com.br/?p=706
![Page 80: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/80.jpg)
DIAGRAMA DE SEQUÊNCIA
O diagrama que enfatiza interações entre objetos.
![Page 81: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/81.jpg)
Grupo
Francine - 10102189
Kelly - 09106691
Lyncon - 09211083
Marina - 09107265
Rodrigo - 10104385
![Page 82: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/82.jpg)
Introdução
• O que é?
• Função
• Estrutura
• Exemplos
• Conclusão
![Page 83: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/83.jpg)
O que é?
O Diagrama de Sequencia é um modelo
suportado pela UML, ele se localiza dentro
do grupo de diagramas dinâmicos, pois
exerce colaboração dinâmica entre os vários
objetos de um sistema.
![Page 84: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/84.jpg)
Função
Mostrar a sequência de mensagens enviadas
entre os objetos;
Mostrar o que ocorre em pontos específicos
da execução do sistema;
Apresentar as interações entre atores e
sistema.
![Page 85: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/85.jpg)
Estrutura
![Page 86: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/86.jpg)
Estrutura Mensagens Tipos
![Page 87: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/87.jpg)
Estrutura Mensagens Condições de guarda
:Aluno
imprimirRelatorio( )
login( )
:Sistema :Impressora
sistemaOk
matricula( )
turmaCheia
matriculado
[com vaga] [sem vaga]
![Page 88: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/88.jpg)
Estrutura Objetos Principais
Objeto
Ator
Mensagens
Tempo
![Page 89: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/89.jpg)
Exemplo 1 Diagrama de Sequência
Cliente
Comunicar Extravio de BluRay
Sistema da
Locadora
Atendente Gerente
Solicitar Registro de Aluguel
Retornar Registro de Aluguel Solicitar Conversa com Gerente
Falar com o Gerente Solicitar Registro do BluRay
Retornar Registro do BluRay Negociar Multa
Pagar Multa
Buscar Aluguel
Buscar BluRay
![Page 90: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/90.jpg)
Exemplo 2 Diagrama de Sequência
![Page 91: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/91.jpg)
Obrigado!
Francine - 10102189
Kelly - 09106691
Lyncon - 09211083
Marina - 09107265
Rodrigo - 10104385
![Page 92: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/92.jpg)
DIAGRAMA DE ATIVIDADES Engenharia de Software II
![Page 93: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/93.jpg)
Átila Romão 10102407
Fabio Henrique 10103664
José Carlos 10100807
Lucas Akeda 10103693
Murillo Carvalho 10101630
![Page 94: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/94.jpg)
FUNÇÃO DO DIAGRAMA
É utilizado para modelar o aspecto
comportamental de processos.
Uma atividade é modelada como uma
sequência estruturada de
ações, controladas potencialmente por
nós de decisão e sincronismo.
![Page 95: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/95.jpg)
EXEMPLO DIAGRAMA DE ATIVIDADES
![Page 96: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/96.jpg)
RAIA
Seguradora OficinaSegurado
Acionar Seguro Recolher Automóvel
Consertar Automóvel
[else]
[perda total]Depositar Valor Segurado
Pagar Franquia Cobrar Fraquia
Avaliar Danos
![Page 97: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/97.jpg)
COMO DEVE SER USADO
Para capturar as ações que serão executadas.
Para mostrar como um grupo de ações relacionadas pode ser executado.
Para mostrar como uma instância pode ser executada.
Para mostrar como um negócio funciona.
![Page 98: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/98.jpg)
EXEMPLO PARA UTILIZAÇÃO
Pode ser aplicado em qualquer processo dentro de uma empresa.
Exemplo:
Impressão de extrato bancário;
E-commerce.
![Page 99: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/99.jpg)
CONCLUSÃO
Fácil entendimento
Esboça bem a comunicação e dependências das tarefas.
Muito usada no mercado.
![Page 100: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/100.jpg)
Carlos Renan
Diogo Carvalho
Felipe Polizelo
Joilson Lazaro
Rafael Vecchi
![Page 101: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/101.jpg)
UML
![Page 102: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/102.jpg)
![Page 103: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/103.jpg)
CONGREGA UMA DETERMINADA VISÃO QUE PODE ENGLOBAR VÁRIOS DIAGRAMAS.
O DIAGRAMA DE VISÃO GERAL É SEMELHANTE AO DIAGRAMA DE ATIVIDADES, CONFORME VERSÃO ANTIGA DO UML.
ELE APRESENTA AS EXECUÇÕES, AÇÕES E TRANSAÇÕES DA ATIVIDADE DESCRITA.
![Page 104: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/104.jpg)
![Page 105: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/105.jpg)
![Page 106: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/106.jpg)
![Page 107: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/107.jpg)
PODE SER USADO PARA DEMONSTRAR DE FORMA SINTÉTICA SITUAÇÕES QUE TENHAM INTERAÇÕES COMPLEXAS.
COM OS DIAGRAMAS SE TEM UMA FÁCIL VISUALIZAÇÃO DAS ATIVIDADES COMO UM TODO, ÓTIMO MATERIAL PARA SER USADA EM REUNIÕES.
![Page 108: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/108.jpg)
![Page 109: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/109.jpg)
![Page 110: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/110.jpg)
![Page 111: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/111.jpg)
![Page 112: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/112.jpg)
UML
![Page 113: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/113.jpg)
![Page 114: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/114.jpg)
SIMILAR COM O DIAGRAMA DE SEQUENCIA ELE TRAZ AS SEQUENCIAS DAS MENSAGENS.
IDENTIFICAÇÃO É FEITA POR MEIO DE SEQUENCIA NUMÉRICAS.
DIAGRAMAS DE COMUNICAÇÃO ILUSTRAM AS INTERAÇÕES ENTRE OBJETOS.
![Page 115: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/115.jpg)
![Page 116: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/116.jpg)
![Page 117: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/117.jpg)
![Page 118: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/118.jpg)
USADOS EM GRAFO OU REDE
PODE SER ALTERADO A QUALQUER MOMENTO SEM AFETAR OS PROCESSOS.
DIAGRAMA DE COMUNICAÇÃO TEM VANTAGEM, SOBRE O DIAGRAMA DE SEQUENCIA, DE PERMITIR A EXPANSÃO VERTICAL PARA NOVOS OBJETOS.
![Page 119: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/119.jpg)
![Page 120: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/120.jpg)
![Page 121: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/121.jpg)
![Page 122: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/122.jpg)
![Page 123: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/123.jpg)
![Page 124: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/124.jpg)
• 10100814 GILVAN VELAMES DA SILVA
• 10100845 RICARDO NOGUEIRA MENTA DE CARVALHO
• 10100843 RODINEI MIGUEL DOS SANTOS
• 10101211 RODRIGO GOERING OLIVEIRA
• 10101627 PALOMA HARUMI DA SILVA NISHIMURA
![Page 125: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/125.jpg)
• Representar o estado ou situação
em que um objeto pode se
encontrar no decorrer da execução
de processos de um sistema. Com
isso, o objeto pode passar de um
estado inicial para um estado final
através de uma transição.
![Page 126: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/126.jpg)
• Estado (Inicial/Final) • Guarda
• Estados • Ações
• Eventos • Transição
• Barra Sincronização • Condição
![Page 127: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/127.jpg)
• Inicial: é utilizado para representar o início da
modelagem de estados de um objeto,
representado por um círculo preenchido.
• Final: é utilizado para representar o fim dos
estados modelados, representado por um
círculo preenchido envolvido por outro círculo
não preenchido.
![Page 128: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/128.jpg)
• Um objeto pode passar por diversos estados
dentro de um processo.
• Um estado pode demonstrar:
• a espera pela ocorrência de um evento.
• a reação a um estímulo.
• a execução de alguma atividade.
• a satisfação de alguma condição.
• Ex:
![Page 129: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/129.jpg)
• Segunda divisão do retângulo pode armazenar
três cláusulas:
• Entry: representa as ações realizadas no
momento em que o objeto assume o Estado
em questão;
• Exit: identifica as ações executadas antes
do objeto mudar de Estado;
• Do: ilustra as atividades executadas
enquanto o objeto se encontra em um
determinado Estado.
Ex:
![Page 130: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/130.jpg)
• Uma transição representa um evento que causa
uma mudança no Estado de um objeto, gerando
um novo Estado (evento de ativação). • Transições podem possuir condições de guarda e
descrições, se isto for considerado necessário.
• Flecha que liga dois estados: estado origem -> estado destino
• Evento - Provoca a transição de estado.
• Guarda - Condição que restringe a ocorrência da
transição.
• Ação - Operação decorrente da transição de estado.
![Page 131: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/131.jpg)
• Ex:
![Page 132: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/132.jpg)
• Ocorrência que deve ser reconhecida e gerar
uma reação pelo sistema em estudo.
• A ocorrência de um evento provoca a transição
entre estados de instâncias de alguma classe
pertencente ao sistema.
![Page 133: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/133.jpg)
• A guarda é uma expressão que resulta em um
valor booleano.
• É representada entre colchetes [expressão].
• A ação é representada pela invocação de uma
operação:
operacao(parametros)
• É precedida por uma barra inclinada ou um
acento circunflexo.
![Page 134: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/134.jpg)
• Representa um ponto na transição de
estados de um objeto em que deve ser
tomada uma decisão, a partir da qual um
determinado estado será ou não gerado.
![Page 135: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/135.jpg)
• Utilizada quando da ocorrências de estados
paralelos, causados por transições
concorrentes.
• Ex:
![Page 136: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/136.jpg)
• Máquinas de estado
comportamentais.
• Máquinas de estado
para protocolos.
![Page 137: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/137.jpg)
• Podem ser utilizadas para especificar o
comportamento de vários tipos de
elementos. Por exemplo, podem ser
utilizadas para modelar o comportamento
de entidades individuais (objetos), por
meio da modificação dos valores de seus
atributos. O formalismo de máquina de
estados neste caso é uma variante
orientada a objetos.
![Page 138: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/138.jpg)
• Máquinas de estado para representar
protocolos expressam as transições legais
que um objeto pode desenvolver. Com
seu uso, pode-se definir o ciclo de vida de
objetos, ou uma determinada ordem na
invocação de suas operações. Para este
tipo de máquina de estado, interfaces e
portas podem estar associados.
![Page 139: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/139.jpg)
![Page 140: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/140.jpg)
• Pedido de Compra:
![Page 141: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/141.jpg)
![Page 142: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/142.jpg)
Diagramas de implementação
Cesar Augusto Romão – 10103024
Lucas de Melo Favaretto – 10102153
Thiago Pereira de Campos - 10100804
![Page 143: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/143.jpg)
Definição
• São utilizados como uma representação gráfica da visão estática de um sistema em funcionamento. Um único diagrama não deve capturar tudo sobre a visão de implantação do sistema. Neste estágio é onde organizamos o código fonte para ambiente de trabalho e realizamos o executável (ambiente de instalação)
• Foco na comunicação de um aspecto na visão estática de implantação do sistema e deve somente conter elementos essenciais à compreensão desse aspecto. Deve-se fornecer detalhes consistentes com seu nível de abstração além de informar bem ao leitor sobre a semântica importante.
• Podemos dividir o Diagrama de Implementação em dois, o Diagrama de Componentes e o Diagrama de Distribuição:
![Page 144: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/144.jpg)
Diagrama de Componentes
• Representa a parte física do sistema, exibindo os componentes do sistema e a dependência entre eles. Cada componente é composto por uma ou mais classes. Propõe uma visão estática do sistema. O diagrama de componentes é utilizado para modelar a arquitetura e solução de implementação do sistema. Através do diagrama de componentes pode-se gerar pseudo-código em linguagens de programação. No diagrama de componentes também é possível mostrar a configuração de um sistema de software mostrando, graficamente, a dependência entre os diversos arquivos que compõem o sistema.
![Page 145: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/145.jpg)
![Page 146: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/146.jpg)
Diagrama de Distribuição (Implantação)
• Os diagramas de distribuição mostram a distribuição de hardware do sistema, identificando os servidores como nós do diagrama e a rede que relaciona os nós. Os componentes de software vão estar mapeados nestes nós.
![Page 147: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/147.jpg)
Estrutura
• Abaixo estão alguns itens importantes para uma definição da estrutura:
• Devemos nomeá-lo de forma capaz de se comunicar com seu propósito
• Organize seus elementos de modo que os itens que são semanticamente afins fiquem próximos fisicamente.
• Usar notas e cores como indicações visuais para destacar itens importantes.
• Defina um conjunto de ícones comuns e utilize de forma consistente, evitando assim qualquer dificuldade no entendimento.
![Page 148: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/148.jpg)
Estrutura no padrão “Factory method”
• O padrão Factory Method, da forma como foi descrito no livro Design Patterns: Elements of Reusable Object-Oriented Software, contém os seguintes elementos:
• Creator — declara o factory method (método de fabricação) que retorna o objeto da classe Product (produto). Este elemento também pode definir uma implementação básica que retorna um objeto de uma classe ConcreteProduct (produto concreto) básica;
• ConcreteCreator — sobrescreve o factory method e retorna um objeto da classe ConcreteProduct;
• Product — define uma interface para os objectos criados pelo factory method;
• ConcreteProduct — uma implementação para a interface Product.
![Page 149: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/149.jpg)
![Page 150: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/150.jpg)
Utilização
• Este padrão pode ser utilizado na construção de um framework que suporta aplicações que apresentam múltiplos documentos ao usuário. Normalmente este tipo de aplicação manipula um número variável de formatos de documento e, por isso, este framework deve ser flexível o bastante para suportar qualquer formato. Uma solução para este problema poderia disponibilizar, no framework, o código para alguns dos formatos mais utilizados. O padrão Factory Method propõe uma solução que deixa para o cliente (a implementação da aplicação) a tarefa de suportar os formatos necessários e para o framework o papel de definição de uma abstração que oferece uma interface única para criação de documentos. Este framework seria baseado em duas classes abstratas, que representam a Aplicação e o Documento.
![Page 151: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/151.jpg)
Conclusão
• Uma visão clara do sistema como um todo
• Avaliar se os processos estão organizados de forma mais efetiva
• Definir estratégias ou otimizar as já existentes dentro deste diagrama.
![Page 152: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/152.jpg)
Referencial teórico
• http://www.klebermota.eti.br/2011/11/22/uml-unified-modeling-language-a-linguagem-unificada-de-modelagem/
![Page 153: Engenharia de Software II - Atividade: Diagramas da UML](https://reader031.vdocuments.pub/reader031/viewer/2022013118/558c79f7d8b42a45318b4594/html5/thumbnails/153.jpg)
[email protected] www.slideshare.net/alessandroalmeida