Alessandro Almeida | www.alessandroalmeida.com
   Os próximos slides fazem parte de uma    atividade realizada pelos alunos da turma    SIN-NA6 (6º semestre de Sistemas...
ORIENTAÇÃO A OBJETOS
INTEGRANTES•   Ana Paula de Sousa - 10101629•   Caroline Soares      - 10100815•   Elias Nascimento     - 10101626•   Guil...
HISTÓRICO DA ORIENTAÇÃO A OBJETOS•   Evolução da Programação Estruturada    A Programação Orientada a Objetos é uma evoluç...
HISTÓRICO DA ORIENTAÇÃO A OBJETOS•   Anos 60:    A Linguagem de programação chamada de SIMULA (projetadas para apoiar a si...
EVOLUÇÃO DA ORIENTAÇÃO A OBJETOS•   Larry Constantine – (1960) Foi quem primeiro lançou a ideia de que softwares poderiam ...
CONCEITOS DE ORIENTAÇÃO A OBJETOS•   O que é a Orientação a Objetos?•   E o que colaboram para construir?•   O que é um pa...
VANTAGENS DA TECNOLOGIA DE OBJETOS Código:-Eliminação deredundância-Fácil manutenção-Reaproveitamento decódigo Se houver m...
CLASSE•    O que é Classe?- Atributos e Métodos.Atributos = característicasMétodos = ações                    Operações ca...
OBJETOS•   Um objeto possui um estado, exibe um comportamento bem-definido e possui uma    identidade única.            Co...
HERANÇA-   O que nos permite a herança?-   Também conhecida como?-   Herança de Atributos e de Métodos                    ...
POLIMORFISMOPolimorfismo é um conceito abstrato que, de forma sucinta,diz que algo pode responder de formas diferentes par...
LINGUAGENS DE PROGRAMAÇÃOORIENTADAS A OBJETOS Java             C++         Delphi           C#                Python      ...
APLICAÇÃO NA VIDA REAL
BIBLIOGRAFIA•   http://www.webgoal.com.br/origem-da-orientacao-a-objetos/ (08/09/2012 19:45hs)•   http://www.hardware.com....
   Aline Mayara Coqueto – 10102152   Felipe Gustavo Marques Pires - 10103101   Gustavo Henrique da Cunha - 10101635   ...
   Requisitos são as necessidades do meu    cliente. O que meu sistema irá fazer.   Servem para ajudar a entender e    d...
   Responsável por exibir de forma prática    as interações das funcionalidades do    sistema uma com as outras e do sist...
1.   Caso de Uso;2.   Ator;3.   Relacionamento;4.   Fronteira do Sistema;                         uc Diagrama de Caso de U...
   Representa uma função do sistema.               uc Diagrama de Caso ...                  Calcular Média Final
   Papel desempenhado por algo ou alguma    coisa externa ao sistema.                  uc Diagra...                     P...
   São as conexões feitas entre os elementos .   Tipos de Relacionamento:    ◦ Associação ;    ◦ Generalização ;    ◦ In...
   Relacionamento entre um ator e o caso    de uso.          uc Diagrama de Caso de Uso                                  ...
      Demonstra quando há algo em comum              entre os papéis do sistema.uc Diagrama de Caso de Uso               ...
   Demonstra a dependência entre dois    casos de uso.          uc Diagrama de Caso de Uso                               ...
   Demonstra que o caso de uso base pode    ser complementado por outro caso de    uso.     uc Diagrama de Caso de Uso   ...
     Delimita os casos de uso que irão              compor o diagrama.                                                   ...
   Sequência de eventos gerados a partir de    uma ação do usuário.       uc Diagrama de Caso de Uso                     ...
   Documento que descreve o passo a passo a    respeito das ações geradas pelo sistema    através de determinadas ações d...
   Escopo bem definido;   Organização e Divisão de Trabalho;   Estimativa do Tamanho do Projeto;   Direcionado de Test...
Nome: Fellipe Ricardo     Prontuário: 10100813      Fellipe Callegari               10100831      Jordana Müller          ...
   Introdução   Exemplo   Utilização   Composição   Relacionamento   Níveis de abstração   Criação de uma boa estru...
 Um diagrama de classes mostra um conjunto de  classes, interfaces e colaborações e seus  relacionamentos. Os Diagramas ...
   Use os diagramas de classe para fazer a modelagem    da visão estática do projeto de um sistema.
Nome da ClasseAtributos e tipo de dado~: de pacote+: publico#: protegido-: PrivadoOperações e parâmetros
Associações Define relacionamento entre as classesClasse de Associações Uma classe de associação contem informações de  ...
Dependências Ocorre quando não é possível existir a classe A sem que a  classe B já existaMultiplicidade Utiliza notaçõe...
Agregações Relacionamento onde uma classe é formada por diversas  outras classesComposição É outro tipo de agregação, em...
Interfaces As interfaces são apenas modelos de comportamentos, não   podendo ser instanciadasDiagrama de Objetos Diagram...
Nível de domínio          Nível de análise              Nível de design          Generalização                      Classe...
   Atribua-lhe um nome que comunique seu propósito   Distribua organizadamente seus elementos de    modo a minimizar o c...
Diagrama de Classes       UML
   LIVRO: UML Guia do Usuário EDITORA: Campus AUTOR: Grady Booch   LIVRO: Utilizando UML e Padrões EDITORA: Bookman AUTO...
Integrantes Jéssica Soares Barbosa Marcelo Yassuo Cecilio Furuko Rafael de Lima Abreu Rafael Rodrigues Alves Tatiana ...
Diagrama de Classes Pode-se dizer que é um dos mais importantes  diagramas da UML. A partir dele que os demais  diagramas...
Seus Elementos Atributos Multiplicidade Associação Relacionamento    Generalização ou Herança    Agregação    Compo...
Atributo Define as características da classe como um todo.   Nome   Tipo de dados   Valor inicial(depende da linguagem...
Multiplicidade
Associação As associações em um diagrama de classe definem os tipos de ligações que os objetos participam
Relacionamento – Generalização Na implementação física correponde a um processo de herança.
Relacionamento - Agregação Uma agregação representa um todo que é composto de várias partes;
Relacionamento - Composição A composição, é diferente da agregação, pois é um relacionamento de contenção. Um objeto CONT...
Exemplo
Especificação de instância O que é a especificação da instância? Qual o conceito utilizado para especificar? Diagrama d...
Especificação de instância
Engenharia de código
Engenharia Reversa Importação de código para geração de interfaces UML Auxilia na recuperação de dados Verificação de c...
Geração de Código    Produto                      ‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘            ...
Classes de Persistências  Visa preservar de maneira permanente os objetos de   uma classe – “gravar em disco”  Nem toda ...
Mapeamento de Atributos
Mapeamento de Relacionamentos
Conclusão Visão geral do diagrama de classes Vantagens da utilização em projetos O que agrega para o curso?
Diagrama de ObjetosSIN – NA6 - Engenharia de Software IIAlexandre AlissonLeonardo BotelhoLucas PalmaLuciana Sassaki
• Função do Diagrama-   O diagrama de objetos é uma poderosa    ferramenta da UML para a modelagem de    exemplos.-   Esse...
• Função do Diagrama-   A função do Diagrama de Objetos é    detalhar a classe, ele mostra os objetos da    classe.-   Tes...
• Estrutura do Diagrama-   Objeto: É apresentado a partir de duas    partes: O nome do objeto e (com a    separação de doi...
• Estrutura do Diagrama-   Ligações: Os objetos além de    representar/exemplificar os dados, também    mostram os enlaces...
• Estrutura do Diagrama-   Nome e Valores de Atributos: O diagrama de    objetos NÃO MOSTRA a definição dos    atributos (...
• Estrutura do Diagrama
• Estrutura do Diagrama
• Exemplo de Utilização  -   Diagrama de   -   Diagrama de      Objeto            Classse
• Como deve ser usado-   Esse diagrama é muito útil à medida que    exemplifica para o usuário final, ou até    mesmo o an...
• Conclusão-   Vantagens e Desvantagens.-   O grupo concluiu que na teoria é de    grande ajuda utilizar o diagrama de    ...
• Bibliografia-   http://www.unesp.br/gs/treinamento/graduacao/C    ursoUML-Diagramas.pdf-   http://www.fag.edu.br/profess...
DIAGRAMA DE SEQUÊNCIAO diagrama que enfatiza interações entre objetos.
Grupo   Francine - 10102189   Kelly - 09106691   Lyncon - 09211083   Marina - 09107265   Rodrigo - 10104385
Introdução•     O que é?•     Função•     Estrutura•     Exemplos•     Conclusão
O que é?   O Diagrama de Sequencia é um modelo    suportado pela UML, ele se localiza dentro    do grupo de diagramas din...
Função Mostrar a sequência de mensagens enviadas  entre os objetos; Mostrar o que ocorre em pontos específicos  da execu...
Estrutura
Estrutura  Mensagens  Tipos
Estrutura  Mensagens  Condições de guarda                                :Sistema             :Impressora       :Aluno  ...
Estrutura  Objetos Principais                           Mensagens          Ator         Objeto             Tempo
Exemplo 1  Diagrama de Sequência                                                                                         ...
Exemplo 2  Diagrama de Sequência
Obrigado!   Francine - 10102189   Kelly - 09106691   Lyncon - 09211083   Marina - 09107265   Rodrigo - 10104385
DIAGRAMA DE ATIVIDADESEngenharia de Software II
Átila Romão        10102407Fabio Henrique     10103664José Carlos        10100807Lucas Akeda        10103693Murillo Carval...
FUNÇÃO DO DIAGRAMAÉ utilizado para modelar o aspectocomportamental de processos.Uma atividade é modelada como umasequência...
EXEMPLO DIAGRAMA DE ATIVIDADES
RAIA       Segurado                  Seguradora                     Oficina         Acionar Seguro       Recolher Automóve...
COMO DEVE SER USADO Para capturar as ações que serão executadas. Para mostrar como um grupo de ações relacionadas  pode ...
EXEMPLO PARA UTILIZAÇÃO Pode ser aplicado em qualquer processo dentro de uma  empresa. Exemplo: Impressão de extrato ba...
CONCLUSÃO Fácil entendimento Esboça bem a comunicação e dependências das tarefas. Muito usada no mercado.
   Carlos Renan   Diogo Carvalho   Felipe Polizelo   Joilson Lazaro   Rafael Vecchi
UML
   CONGREGA UMA DETERMINADA VISÃO QUE    PODE ENGLOBAR VÁRIOS DIAGRAMAS.   O DIAGRAMA DE VISÃO GERAL É SEMELHANTE    AO ...
   PODE SER USADO PARA DEMONSTRAR DE FORMA    SINTÉTICA SITUAÇÕES QUE TENHAM INTERAÇÕES    COMPLEXAS.   COM OS DIAGRAMAS...
UML
   SIMILAR COM O DIAGRAMA DE SEQUENCIA ELE    TRAZ AS SEQUENCIAS DAS MENSAGENS.   IDENTIFICAÇÃO É FEITA POR MEIO DE    S...
   USADOS EM GRAFO OU REDE   PODE SER ALTERADO A QUALQUER MOMENTO    SEM AFETAR OS PROCESSOS.   DIAGRAMA DE COMUNICAÇÃO...
•   10100814   GILVAN VELAMES DA SILVA•   10100845   RICARDO NOGUEIRA MENTA DE CARVALHO•   10100843   RODINEI MIGUEL DOS S...
• Representar o estado ou situação  em que um objeto pode se  encontrar no decorrer da execução  de processos de um sistem...
•   Estado (Inicial/Final)   • Guarda•   Estados                  • Ações•   Eventos                  • Transição•   Barra...
• Inicial: é utilizado para representar o início da modelagem de estados de um objeto, representado por um círculo preench...
• Um objeto pode passar por diversos estados  dentro de um processo.• Um estado pode demonstrar:• a espera pela ocorrência...
• Segunda divisão do retângulo pode armazenar  três cláusulas:    • Entry: representa as ações realizadas no  momento em q...
• Uma transição representa um evento que causa  uma mudança no Estado de um objeto, gerando  um novo Estado (evento de ati...
• Ex:
• Ocorrência que deve ser reconhecida e gerar  uma reação pelo sistema em estudo.• A ocorrência de um evento provoca a tra...
• A guarda é uma expressão que resulta em umvalor booleano. • É representada entre colchetes [expressão]. • A ação é repre...
• Representa um ponto na transição deestados de um objeto em que deve sertomada uma decisão, a partir da qual umdeterminad...
• Utilizada quando da ocorrências de estados  paralelos, causados por transições  concorrentes.• Ex:
• Máquinas de estado   comportamentais.• Máquinas de estado   para protocolos.
• Podem ser utilizadas para especificar o  comportamento de vários tipos de  elementos. Por exemplo, podem ser  utilizadas...
• Máquinas de estado para representar  protocolos expressam as transições legais  que um objeto pode desenvolver. Com  seu...
• Pedido de Compra:
Diagramas de implementação   Cesar Augusto Romão – 10103024  Lucas de Melo Favaretto – 10102153 Thiago Pereira de Campos -...
Definição• São utilizados como uma representação gráfica da visão estática de um  sistema em funcionamento. Um único diagr...
Diagrama de Componentes• Representa a parte física do sistema, exibindo os componentes do sistema  e a dependência entre e...
Diagrama de Distribuição                 (Implantação)• Os diagramas de distribuição mostram a distribuição de hardware do...
Estrutura• Abaixo estão alguns itens importantes para uma definição da estrutura:• Devemos nomeá-lo de forma capaz de se c...
Estrutura no padrão “Factory method”• O padrão Factory Method, da forma como foi descrito no livro Design  Patterns: Eleme...
Utilização• Este padrão pode ser utilizado na construção de um framework que  suporta aplicações que apresentam múltiplos ...
Conclusão• Uma visão clara do sistema como um todo• Avaliar se os processos estão organizados de  forma mais efetiva• Defi...
Referencial teórico• http://www.klebermota.eti.br/2011/11/22/u  ml-unified-modeling-language-a-linguagem-  unificada-de-mo...
alessandro.almeida@uol.com.brwww.slideshare.net/alessandroalmeida
Engenharia de Software II - Atividade: Diagramas da UML
Engenharia de Software II - Atividade: Diagramas da UML
Engenharia de Software II - Atividade: Diagramas da UML
Engenharia de Software II - Atividade: Diagramas da UML
Engenharia de Software II - Atividade: Diagramas da UML
Engenharia de Software II - Atividade: Diagramas da UML
Engenharia de Software II - Atividade: Diagramas da UML
Engenharia de Software II - Atividade: Diagramas da UML
Engenharia de Software II - Atividade: Diagramas da UML
Engenharia de Software II - Atividade: Diagramas da UML
Engenharia de Software II - Atividade: Diagramas da UML
Engenharia de Software II - Atividade: Diagramas da UML
Engenharia de Software II - Atividade: Diagramas da UML
Engenharia de Software II - Atividade: Diagramas da UML
Engenharia de Software II - Atividade: Diagramas da UML
Engenharia de Software II - Atividade: Diagramas da UML
Engenharia de Software II - Atividade: Diagramas da UML
Engenharia de Software II - Atividade: Diagramas da UML
Engenharia de Software II - Atividade: Diagramas da UML
Engenharia de Software II - Atividade: Diagramas da UML
Engenharia de Software II - Atividade: Diagramas da UML
Engenharia de Software II - Atividade: Diagramas da UML
Engenharia de Software II - Atividade: Diagramas da UML
Engenharia de Software II - Atividade: Diagramas da UML
Engenharia de Software II - Atividade: Diagramas da UML
Próximos SlideShares
Carregando em…5
×

Engenharia de Software II - Atividade: Diagramas da UML

14.620 visualizações

Publicada em

Os slides fazem parte de uma atividade realizada pelos alunos da turma SIN-NA6 (6º semestre de Sistemas de Informação – 2º semestre de 2012)

Disciplina: Engenharia de Software II.

Curso: Sistemas de Informação.

Publicada em: Negócios
0 comentários
3 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
14.620
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
485
Comentários
0
Gostaram
3
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Engenharia de Software II - Atividade: Diagramas da UML

  1. 1. Alessandro Almeida | www.alessandroalmeida.com
  2. 2.  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)
  3. 3. ORIENTAÇÃO A OBJETOS
  4. 4. INTEGRANTES• Ana Paula de Sousa - 10101629• Caroline Soares - 10100815• Elias Nascimento - 10101626• Guilherme Oliveira - 10101599• Rafael V Cordeiro - 10103318
  5. 5. 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’.
  6. 6. 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.
  7. 7. 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.
  8. 8. 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?
  9. 9. VANTAGENS DA TECNOLOGIA DE OBJETOS Código:-Eliminação deredundância-Fácil manutenção-Reaproveitamento decódigo Se houver mudanças nosrequisitos?
  10. 10. CLASSE• O que é Classe?- Atributos e Métodos.Atributos = característicasMé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.
  11. 11. 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
  12. 12. HERANÇA- O que nos permite a herança?- Também conhecida como?- Herança de Atributos e de Métodos 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- Herança de Relacionamentos " 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.
  13. 13. POLIMORFISMOPolimorfismo é um conceito abstrato que, de forma sucinta,diz que algo pode responder de formas diferentes parauma mesma situação.A implementação de Polimorfismo se faz através deClasses e métodos abstratos:-Métodos abstratos (mostrar programa)
  14. 14. LINGUAGENS DE PROGRAMAÇÃOORIENTADAS A OBJETOS Java C++ Delphi C# Python Lisp Ruby
  15. 15. APLICAÇÃO NA VIDA REAL
  16. 16. 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
  17. 17.  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
  18. 18.  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.
  19. 19.  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 Realizar Segunda Epoca «extend» Calcular Média Final «include» Realizar Prov a 1 Professor Aluno «include» Realizar Prov a 2
  20. 20. 1. Caso de Uso;2. Ator;3. Relacionamento;4. Fronteira do Sistema; uc Diagrama de Caso de Uso Cenário. Lançar Notas5. uc Diagrama de C... uc Diagrama de Caso ... Calcular Média Final Turma de Sistemas
  21. 21.  Representa uma função do sistema. uc Diagrama de Caso ... Calcular Média Final
  22. 22.  Papel desempenhado por algo ou alguma coisa externa ao sistema. uc Diagra... Professor
  23. 23.  São as conexões feitas entre os elementos . Tipos de Relacionamento: ◦ Associação ; ◦ Generalização ; ◦ Include ; ◦ Extend.
  24. 24.  Relacionamento entre um ator e o caso de uso. uc Diagrama de Caso de Uso Calcular Média Final Professor
  25. 25.  Demonstra quando há algo em comum entre os papéis do sistema.uc Diagrama de Caso de Uso uc Atores Lançar Notas Realizar Segunda Epoca «extend» Turma de Sistemas Calcular Média Final Realizar Prov a 1 «include» Turma de Sistemas Professor «include» Realizar Prov a 2 Aluno 1 Aluno 2
  26. 26.  Demonstra a dependência entre dois casos de uso. uc Diagrama de Caso de Uso Lançar Notas Calcular Média Final Professor Aluno «include» Realizar Prov a 2
  27. 27.  Demonstra que o caso de uso base pode ser complementado por outro caso de uso. uc Diagrama de Caso de Uso Lançar Notas Realizar Segunda Calcular Média Final «extend» Epoca Professor Aluno
  28. 28.  Delimita os casos de uso que irão compor o diagrama. uc Diagrama de Caso de Usouc Diagrama de Caso de Uso Lançar Notas Lançar Notas Calcular Média Final Professor
  29. 29.  Sequência de eventos gerados a partir de uma ação do usuário. uc Diagrama de Caso de Uso Lançar Notas Realizar Segunda Epoca «extend» Calcular Média Final Realizar Prov a 1 «include» Turma de Sistemas Professor «include» Realizar Prov a 2
  30. 30.  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.
  31. 31.  Escopo bem definido; Organização e Divisão de Trabalho; Estimativa do Tamanho do Projeto; Direcionado de Testes.
  32. 32. Nome: Fellipe Ricardo Prontuário: 10100813 Fellipe Callegari 10100831 Jordana Müller 10103659 Luana Soares 10100819Professor: Alessandro Turma: SIN-NA6
  33. 33.  Introdução Exemplo Utilização Composição Relacionamento Níveis de abstração Criação de uma boa estrutura
  34. 34.  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.
  35. 35.  Use os diagramas de classe para fazer a modelagem da visão estática do projeto de um sistema.
  36. 36. Nome da ClasseAtributos e tipo de dado~: de pacote+: publico#: protegido-: PrivadoOperações e parâmetros
  37. 37. Associações Define relacionamento entre as classesClasse de Associações Uma classe de associação contem informações de relacionamento entre outras classes
  38. 38. Dependências Ocorre quando não é possível existir a classe A sem que a classe B já existaMultiplicidade Utiliza notações (“0..1”, “0..*”, “*”, “1”, “1..*”)
  39. 39. Agregações Relacionamento onde uma classe é formada por diversas outras classesComposição É outro tipo de agregação, em que a relação é mais forte
  40. 40. Interfaces As interfaces são apenas modelos de comportamentos, não podendo ser instanciadasDiagrama de Objetos Diagrama de objeto representa uma instancia de uma classe especifica
  41. 41. Nível de domínio Nível de análise Nível de design Generalização Classes abstratas
  42. 42.  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
  43. 43. Diagrama de Classes UML
  44. 44.  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
  45. 45. Integrantes Jéssica Soares Barbosa Marcelo Yassuo Cecilio Furuko Rafael de Lima Abreu Rafael Rodrigues Alves Tatiana Ribeiro de Oliveira
  46. 46. 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
  47. 47. Seus Elementos Atributos Multiplicidade Associação Relacionamento  Generalização ou Herança  Agregação  Composição
  48. 48. 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)
  49. 49. Multiplicidade
  50. 50. Associação As associações em um diagrama de classe definem os tipos de ligações que os objetos participam
  51. 51. Relacionamento – Generalização Na implementação física correponde a um processo de herança.
  52. 52. Relacionamento - Agregação Uma agregação representa um todo que é composto de várias partes;
  53. 53. 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.
  54. 54. Exemplo
  55. 55. 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.
  56. 56. Especificação de instância
  57. 57. Engenharia de código
  58. 58. 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
  59. 59. Geração de Código Produto ‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘ ‘‘ + codigo: String ‘ ‘ Produto.cls + descricao: String ‘ ‘ Implementation of the Class Produto + modelo: String ‘ ‘ Generated by Enterprise Architect + marcaImpressora: String ‘ ‘ Create on: 10-Set-2012 20:46:15 + cor: String ‘‘ + ultimaAtualizacao: Date ‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘ +saldo: Double +preco: Double Public codigo As String Public descrição As String + buscar() Public modelo As String Public marcaImpressora As String + listar() Public cor As String + criar() Public ultimaAtualizacao As Date + atualizar() Public saldo As Double + excluir() 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
  60. 60. 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
  61. 61. Mapeamento de Atributos
  62. 62. Mapeamento de Relacionamentos
  63. 63. Conclusão Visão geral do diagrama de classes Vantagens da utilização em projetos O que agrega para o curso?
  64. 64. Diagrama de ObjetosSIN – NA6 - Engenharia de Software IIAlexandre AlissonLeonardo BotelhoLucas PalmaLuciana Sassaki
  65. 65. • 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”.
  66. 66. • 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.
  67. 67. • 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.
  68. 68. • 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.
  69. 69. • 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.
  70. 70. • Estrutura do Diagrama
  71. 71. • Estrutura do Diagrama
  72. 72. • Exemplo de Utilização - Diagrama de - Diagrama de Objeto Classse
  73. 73. • 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.
  74. 74. • 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.
  75. 75. • Bibliografia- http://www.unesp.br/gs/treinamento/graduacao/C ursoUML-Diagramas.pdf- http://www.fag.edu.br/professores/elielder/materi as/apoo/09.pdf- http://techblog.desenvolvedores.net/2011/05/28/di agrama-de-objeto-uml- http://tadeujnr.sites.uol.com.br/pcc/txt_uml.html- http://gilmarborba.com.br/?p=706
  76. 76. DIAGRAMA DE SEQUÊNCIAO diagrama que enfatiza interações entre objetos.
  77. 77. Grupo Francine - 10102189 Kelly - 09106691 Lyncon - 09211083 Marina - 09107265 Rodrigo - 10104385
  78. 78. Introdução• O que é?• Função• Estrutura• Exemplos• Conclusão
  79. 79. 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.
  80. 80. 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.
  81. 81. Estrutura
  82. 82. Estrutura  Mensagens  Tipos
  83. 83. Estrutura  Mensagens  Condições de guarda :Sistema :Impressora :Aluno login( ) sistemaOk matricula( ) turmaCheia[sem vaga] [com vaga] imprimirRelatorio( ) matriculado
  84. 84. Estrutura  Objetos Principais Mensagens Ator Objeto Tempo
  85. 85. Exemplo 1  Diagrama de Sequência Sistema da LocadoraCliente Atendente Gerente Comunicar Extravio de BluRay Solicitar Registro de Aluguel Retornar Registro de Aluguel Buscar Aluguel Solicitar Conversa com Gerente Falar com o Gerente Solicitar Registro do BluRay Retornar Registro do BluRay Buscar BluRay Negociar Multa Pagar Multa
  86. 86. Exemplo 2  Diagrama de Sequência
  87. 87. Obrigado! Francine - 10102189 Kelly - 09106691 Lyncon - 09211083 Marina - 09107265 Rodrigo - 10104385
  88. 88. DIAGRAMA DE ATIVIDADESEngenharia de Software II
  89. 89. Átila Romão 10102407Fabio Henrique 10103664José Carlos 10100807Lucas Akeda 10103693Murillo Carvalho 10101630
  90. 90. FUNÇÃO DO DIAGRAMAÉ utilizado para modelar o aspectocomportamental de processos.Uma atividade é modelada como umasequência estruturada deações, controladas potencialmente pornós de decisão e sincronismo.
  91. 91. EXEMPLO DIAGRAMA DE ATIVIDADES
  92. 92. RAIA Segurado Seguradora Oficina Acionar Seguro Recolher Automóvel Avaliar Danos [perda total] Depositar Valor Segurado [else] Pagar Franquia Cobrar Fraquia Consertar Automóvel
  93. 93. 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.
  94. 94. EXEMPLO PARA UTILIZAÇÃO Pode ser aplicado em qualquer processo dentro de uma empresa. Exemplo: Impressão de extrato bancário; E-commerce.
  95. 95. CONCLUSÃO Fácil entendimento Esboça bem a comunicação e dependências das tarefas. Muito usada no mercado.
  96. 96.  Carlos Renan Diogo Carvalho Felipe Polizelo Joilson Lazaro Rafael Vecchi
  97. 97. UML
  98. 98.  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.
  99. 99.  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.
  100. 100. UML
  101. 101.  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.
  102. 102.  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.
  103. 103. • 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
  104. 104. • 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.
  105. 105. • Estado (Inicial/Final) • Guarda• Estados • Ações• Eventos • Transição• Barra Sincronização • Condição
  106. 106. • 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.
  107. 107. • 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:
  108. 108. • 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:
  109. 109. • 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 datransição. • Ação - Operação decorrente da transição de estado.
  110. 110. • Ex:
  111. 111. • 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.
  112. 112. • A guarda é uma expressão que resulta em umvalor booleano. • É representada entre colchetes [expressão]. • A ação é representada pela invocação de umaoperação: operacao(parametros) • É precedida por uma barra inclinada ou um acento circunflexo.
  113. 113. • Representa um ponto na transição deestados de um objeto em que deve sertomada uma decisão, a partir da qual umdeterminado estado será ou não gerado.
  114. 114. • Utilizada quando da ocorrências de estados paralelos, causados por transições concorrentes.• Ex:
  115. 115. • Máquinas de estado comportamentais.• Máquinas de estado para protocolos.
  116. 116. • 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.
  117. 117. • 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.
  118. 118. • Pedido de Compra:
  119. 119. Diagramas de implementação Cesar Augusto Romão – 10103024 Lucas de Melo Favaretto – 10102153 Thiago Pereira de Campos - 10100804
  120. 120. 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:
  121. 121. 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.
  122. 122. 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.
  123. 123. 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.
  124. 124. 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.
  125. 125. 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.
  126. 126. 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.
  127. 127. Referencial teórico• http://www.klebermota.eti.br/2011/11/22/u ml-unified-modeling-language-a-linguagem- unificada-de-modelagem/
  128. 128. alessandro.almeida@uol.com.brwww.slideshare.net/alessandroalmeida

×