SlideShare uma empresa Scribd logo
1 de 62
Baixar para ler offline
Prof. André Hora
Facom/UFMS
2018.1
Introdução a UML e Modelagem OO
Engenharia de Software
Adaptado de Eduardo Figueiredo (DCC/UFMG)
1
Processo
Requisitos Projeto Implementação
Qualidade (teste,
produto, processo)
Manutenção
Gerência de
Projeto
Gerência de
Configuração
Engenharia de Software
2
Processo
Requisitos Projeto Implementação
Qualidade (teste,
produto, processo)
Manutenção
Gerência de
Projeto
Gerência de
Configuração
Engenharia de Software
3
Agenda
1. Visão geral UML
2. Exemplos de diagramas UML
3. Modelagem OO
4
A Linguagem UML
• UML (Linguagem de Modelagem
Unificada)
• Notação gráfica (visual) para modelar
sistemas orientados a objetos
• Não é uma linguagem de programação
• Define diagramas padronizados
• Complexa (muitos diagramas)
5
O que é modelagem?
• Modelo é uma simplificação da realidade
• Modelagem de software é a atividade de
construir modelos do sistema
• Não é uma representação completa do sistema
• UML pode ser usada em qualquer processo
de software
• Usada principalmente nas atividades de especificação
de requisitos e projeto
6
Modelar é Fundamental
7
Por que modelar?
• Tão essencial quanto ter uma planta antes da
construção de uma casa
• Melhora a comunicação entre membros da equipe e cliente
• Equipe entende melhor o sistema
• Permite analisar o sistema sobre vários aspectos
• Facilita a programação e a manutenção
• Diminui a possibilidade de erros
8
Por que usar UML?
• Bons modelos são essenciais para a
comunicação entre os stakeholders
• Padronização
• Todo o time entende a modelagem, facilitando a
manutenção
• Facilita a programação
• Integração entre ferramentas para modelagem e
geração de código
9
Diagramas UML
• Tipos de Diagramas:
• Estrutural: modela organização do sistema ou
estrutura dos dados
• Comportamental: modela o comportamento dinâmico
do sistema e como ele responde a eventos
• Objetivos
• Visualizar o sistema
• Especificar estrutura e/ou comportamento
• Guiar e documentar as decisões
10
Exemplos de Diagramas
• Diagramas Estruturais (Estáticos)
• Diagrama de Classes
• Diagramas de Objetos
• Diagrama de Componentes
• Diagrama de Implantação, etc
• Diagramas Comportamentais
• Diagrama de Casos de Uso
• Diagrama de Sequência
• Diagrama de Estados
• Diagrama de Atividades, etc
11
Diagramas UML
12
Agenda
1. Visão geral UML
2. Exemplos de diagramas UML
3. Modelagem OO
13
9 Diagramas UML
Diagrama de Casos de Uso
Diagrama de Sequência
Diagrama de Comunicação
Diagrama de Classes
Diagrama de Objetos
Diagrama de Estados
Diagrama de Atividades
Diagrama de Componentes
Diagrama de Implantação
14
9 Diagramas UML
Diagrama de Casos de Uso
Diagrama de Sequência
Diagrama de Comunicação
Diagrama de Classes
Diagrama de Objetos
Diagrama de Estados
Diagrama de Atividades
Diagrama de Componentes
Diagrama de Implantação
15
Diagrama de Caso de Uso
• Diagrama mais geral da UML
• Utilizado geralmente na fase de Especificação
de Requisitos
• Apresenta:
• Quais usuários realizam certas funcionalidades
• Relacionamentos entre estas funcionalidades
16
Diagrama de Caso de Uso
17
9 Diagramas UML
Diagrama de Casos de Uso
Diagrama de Sequência
Diagrama de Comunicação
Diagrama de Classes
Diagrama de Objetos
Diagrama de Estados
Diagrama de Atividades
Diagrama de Componentes
Diagrama de Implantação
18
Diagrama de Sequência
• Preocupa-se com a ordem temporal em que
as mensagens são trocadas
• Pode se basear em um Caso de Uso
• Identifica:
• Eventos associados a funcionalidade modelada
• Ator responsável por este evento
19
Diagrama de Sequência
20
9 Diagramas UML
Diagrama de Casos de Uso
Diagrama de Sequência
Diagrama de Comunicação
Diagrama de Classes
Diagrama de Objetos
Diagrama de Estados
Diagrama de Atividades
Diagrama de Componentes
Diagrama de Implantação
21
Diagrama de Comunicação
• Complementar ao Diagrama de Sequência
• Não se preocupa com a temporalidade
• Foca na organização estrutural dos objetos
• Define:
• Como os objetos estão vinculados
• Quais mensagens são trocadas entre objetos
22
Diagrama de Comunicação
23
9 Diagramas UML
Diagrama de Casos de Uso
Diagrama de Sequência
Diagrama de Comunicação
Diagrama de Classes
Diagrama de Objetos
Diagrama de Estados
Diagrama de Atividades
Diagrama de Componentes
Diagrama de Implantação
24
Diagrama de Classes
• Diagrama mais utilizado da UML
• Serve de apoio para a maioria dos outros
diagramas
• Define a estrutura das classes do sistema
• Estabelece como as classes se relacionam
25
Diagrama de Classes
26
Diagrama de Classes
27
9 Diagramas UML
Diagrama de Casos de Uso
Diagrama de Sequência
Diagrama de Comunicação
Diagrama de Classes
Diagrama de Objetos
Diagrama de Estados
Diagrama de Atividades
Diagrama de Componentes
Diagrama de Implantação
28
Diagrama de Objetos
• Complementar ao Diagrama de Classes
• Exibe os valores armazenados pelos objetos
de um Diagrama de Classes
29
Diagrama de Objetos
30
9 Diagramas UML
Diagrama de Casos de Uso
Diagrama de Sequência
Diagrama de Comunicação
Diagrama de Classes
Diagrama de Objetos
Diagrama de Estados
Diagrama de Atividades
Diagrama de Componentes
Diagrama de Implantação
31
Diagrama de Estados
• Modela as mudanças sofridas por um objeto
dentro de um determinado processo
• Pode ser utilizado para acompanhar os
estados pelo qual passa uma instância de
uma classe
32
Diagrama de Estados
33
Diagrama de Estados
34
9 Diagramas UML
Diagrama de Casos de Uso
Diagrama de Sequência
Diagrama de Comunicação
Diagrama de Classes
Diagrama de Objetos
Diagrama de Estados
Diagrama de Atividades
Diagrama de Componentes
Diagrama de Implantação
35
Diagrama de Atividades
• Descreve as atividades a serem executadas
para a conclusão de um processo
• Concentra-se na representação do fluxo de
controle de um processo
36
Diagrama de Atividades
37
9 Diagramas UML
Diagrama de Casos de Uso
Diagrama de Sequência
Diagrama de Comunicação
Diagrama de Classes
Diagrama de Objetos
Diagrama de Estados
Diagrama de Atividades
Diagrama de Componentes
Diagrama de Implantação
38
Diagrama de Componentes
• Representa os componentes do sistema
• Componente: parte lógica e substituível do
sistema
• Componentes serão implementados como:
• Classes, pacotes, bibliotecas, …
39
Diagrama de Componentes
40
9 Diagramas UML
Diagrama de Casos de Uso
Diagrama de Sequência
Diagrama de Comunicação
Diagrama de Classes
Diagrama de Objetos
Diagrama de Estados
Diagrama de Atividades
Diagrama de Componentes
Diagrama de Implantação
41
Diagrama de Implantação
• Determina as necessidades de hardware,
quais software rodam em cada nó, etc
• Características físicas do sistema
• Servidores
• Estações de trabalho
• Impressora, scanner, etc
42
Diagrama de Implantação
43
Diagrama de Implantação
44
Agenda
1. Visão geral UML
2. Exemplos de diagramas UML
3. Modelagem OO
45
Atividades da
Modelagem OO
1. Definir o contexto do sistema
2. Projetar a arquitetura
3. Identificar os principais objetos
4. Desenvolver os modelos de objetos
5. Especificar interfaces entre objetos
46
Paralelo e Iterativo
• Atividades não são necessariamente
sequenciais
• Geralmente é feito de forma iterativa
1. Definir parte do contexto do sistema
2. Projetar parte da arquitetura
3. Identificar alguns objetos
4. Modelar objetos
5. Definir interfaces
47
(1) Definir o
Contexto do Sistema
• Objetivo: compreensão do software que está
sendo desenvolvido e de seu ambiente externo
• Técnicas adotadas
• Diagramas de Casos de Uso
• Descrição dos Cenários, etc.
• Ao definir o contexto, pode-se identificar
alguns objetos do domínio
48
(2) Projetar Arquitetura
• Primeiro passo do projeto de sistema
• Projeto arquitetural envolve
• Identificação dos componentes principais do sistema
• Definição das interfaces de comunicação entre os
componentes
49
Exemplo
50
Exemplo
51 https://felipelucioquirino.wordpress.com/2013/02/19/estrutura-de-um-documento-de-arquitetura/
(3) Identificar os
Principais Objetos
• Identificação de objetos também é um
processo iterativo
• Improvável fazer certo na primeira vez
• Não há fórmula mágica para a identificação
de objetos
52
Abordagem para
Identificação de Objetos
• Análise gramatical baseada na descrição dos
cenários de uso
• Como proceder:
• Substantivos: objetos ou atributos
• Verbos: métodos
• Refinar e definir novos objetos usando o conhecimento
do domínio do sistema
53
Diagrama de Casos de Uso
54
Exemplo de Cenário
Nome do Cenário: Sacar
Ator: Cliente
Pré-condição: Conta e senha validadas
Fluxo normal
1. Cliente entra com valor do saque
2. Sistema confirma dados e operação
3. Sistema debita valor da conta do cliente
Fluxos alternativo: Saldo insuficiente
3.1 Apresentar aviso ao cliente…
Pós-condição: Valor sacado é debitado do saldo do cliente
55
Exemplo de Cenário
Nome do Cenário: Sacar
Ator: Cliente
Pré-condição: Conta e senha validadas
Fluxo normal
1. Cliente entra com valor do saque
2. Sistema confirma dados e operação
3. Sistema debita valor da conta do cliente
Fluxos alternativo: Saldo insuficiente
3.1 Apresentar aviso ao cliente…
Pós-condição: Valor sacado é debitado do saldo do cliente
Potenciais objetos
do sistema
56
Exemplo de Cenário
Nome do Cenário: Sacar
Ator: Cliente
Pré-condição: Conta e senha validadas
Fluxo normal
1. Cliente entra com valor do saque
2. Sistema confirma dados e operação
3. Sistema debita valor da conta do cliente
Fluxos alternativo: Saldo insuficiente
3.1 Apresentar aviso ao cliente
Pós-condição: Valor sacado é debitado do saldo do cliente
Potenciais atributos
dos objetos
57
Exemplo de Cenário
Nome do Cenário: Sacar
Ator: Cliente
Pré-condição: Conta e senha validadas
Fluxo normal
1. Cliente entra com valor do saque
2. Sistema confirma dados e operação
3. Sistema debita valor da conta do cliente
Fluxos alternativo: Saldo insuficiente
3.1 Apresentar aviso ao cliente
Pós-condição: Valor sacado é debitado do saldo do cliente
Potenciais métodos
dos objetos
58
(4) Modelos de Objetos
• Fazem a ligação entre requisitos (problema)
e implementação (solução)
• Mostram objetos (ou classes de objetos) e os
relacionamentos entre essas entidades
• Devem incluir detalhes suficientes para
facilitar a programação
59
Várias Visões
• Para evitar modelos complexos, eles são
quebrados em diversas visões
• Modelos estáticos
• Modelos dinâmicos
• Modelo estático mais utilizado:
• Diagrama de Classes
60
(5) Especificar Interfaces
entre Objetos
• Interface: contrato entre objetos/componentes
• Desenvolvedores de outros objetos podem
assumir que a interface será implementada
• Objetos podem ter várias interfaces
61
Agenda
1. Visão geral UML
2. Exemplos de diagramas UML
3. Modelagem OO
62

Mais conteúdo relacionado

Semelhante a 8-uml-e-modelagem-oo Introdução a UML.pdf

Semelhante a 8-uml-e-modelagem-oo Introdução a UML.pdf (20)

Parte6 casos de uso
Parte6   casos de usoParte6   casos de uso
Parte6 casos de uso
 
Resumo diagrama de casos de utilização
Resumo diagrama de casos de utilizaçãoResumo diagrama de casos de utilização
Resumo diagrama de casos de utilização
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Análise e Projeto de Sistemas com UML e Java
Análise e Projeto de Sistemas com UML e JavaAnálise e Projeto de Sistemas com UML e Java
Análise e Projeto de Sistemas com UML e Java
 
Diagramas uml
Diagramas umlDiagramas uml
Diagramas uml
 
Gestão de Projectos de SW OO Métricas Estimações e Planificações
Gestão de Projectos de SW OO Métricas Estimações e PlanificaçõesGestão de Projectos de SW OO Métricas Estimações e Planificações
Gestão de Projectos de SW OO Métricas Estimações e Planificações
 
UML - Criando Diagramas Eficientes
UML - Criando Diagramas EficientesUML - Criando Diagramas Eficientes
UML - Criando Diagramas Eficientes
 
Solid works 2007
Solid works 2007Solid works 2007
Solid works 2007
 
342336684-GSI030-Aula08-projetoImplementacao.pdf
342336684-GSI030-Aula08-projetoImplementacao.pdf342336684-GSI030-Aula08-projetoImplementacao.pdf
342336684-GSI030-Aula08-projetoImplementacao.pdf
 
Uml caso de estudo
Uml   caso de estudoUml   caso de estudo
Uml caso de estudo
 
Use Case Diagram.pptx
Use Case Diagram.pptxUse Case Diagram.pptx
Use Case Diagram.pptx
 
Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
 
UML (1).ppt
UML (1).pptUML (1).ppt
UML (1).ppt
 
Objectory
ObjectoryObjectory
Objectory
 
Aula 7 - Modelagem de Software
Aula 7 - Modelagem de SoftwareAula 7 - Modelagem de Software
Aula 7 - Modelagem de Software
 
Aula 6 -_casos_de_uso
Aula 6 -_casos_de_usoAula 6 -_casos_de_uso
Aula 6 -_casos_de_uso
 
Integração de Tecnologias
Integração de TecnologiasIntegração de Tecnologias
Integração de Tecnologias
 
Caso De Uso E Use Case Point
Caso De Uso E Use Case PointCaso De Uso E Use Case Point
Caso De Uso E Use Case Point
 
Aula4-modelagem e uml
Aula4-modelagem e umlAula4-modelagem e uml
Aula4-modelagem e uml
 
Visao Geral Rup
Visao Geral RupVisao Geral Rup
Visao Geral Rup
 

Mais de gabriel-colman

Slide 4 CORREÇÃO DAS ATIVIDADES, Banco de dados.pdf
Slide 4 CORREÇÃO DAS ATIVIDADES, Banco de dados.pdfSlide 4 CORREÇÃO DAS ATIVIDADES, Banco de dados.pdf
Slide 4 CORREÇÃO DAS ATIVIDADES, Banco de dados.pdfgabriel-colman
 
Álgebra Linear e SQL Banco de Dados.pdf
Álgebra Linear e  SQL Banco de Dados.pdfÁlgebra Linear e  SQL Banco de Dados.pdf
Álgebra Linear e SQL Banco de Dados.pdfgabriel-colman
 
Definição Formal do MER(Conceitos do Modelo Relacional).pdf
Definição Formal do MER(Conceitos do Modelo Relacional).pdfDefinição Formal do MER(Conceitos do Modelo Relacional).pdf
Definição Formal do MER(Conceitos do Modelo Relacional).pdfgabriel-colman
 
14-programacao-bd-Object Relational Mapper.pdf
14-programacao-bd-Object Relational Mapper.pdf14-programacao-bd-Object Relational Mapper.pdf
14-programacao-bd-Object Relational Mapper.pdfgabriel-colman
 
Engenharia de Software: Processos de Software
Engenharia de Software: Processos de SoftwareEngenharia de Software: Processos de Software
Engenharia de Software: Processos de Softwaregabriel-colman
 

Mais de gabriel-colman (8)

Slide 4 CORREÇÃO DAS ATIVIDADES, Banco de dados.pdf
Slide 4 CORREÇÃO DAS ATIVIDADES, Banco de dados.pdfSlide 4 CORREÇÃO DAS ATIVIDADES, Banco de dados.pdf
Slide 4 CORREÇÃO DAS ATIVIDADES, Banco de dados.pdf
 
Álgebra Linear e SQL Banco de Dados.pdf
Álgebra Linear e  SQL Banco de Dados.pdfÁlgebra Linear e  SQL Banco de Dados.pdf
Álgebra Linear e SQL Banco de Dados.pdf
 
Definição Formal do MER(Conceitos do Modelo Relacional).pdf
Definição Formal do MER(Conceitos do Modelo Relacional).pdfDefinição Formal do MER(Conceitos do Modelo Relacional).pdf
Definição Formal do MER(Conceitos do Modelo Relacional).pdf
 
14-programacao-bd-Object Relational Mapper.pdf
14-programacao-bd-Object Relational Mapper.pdf14-programacao-bd-Object Relational Mapper.pdf
14-programacao-bd-Object Relational Mapper.pdf
 
Engenharia de Software: Processos de Software
Engenharia de Software: Processos de SoftwareEngenharia de Software: Processos de Software
Engenharia de Software: Processos de Software
 
Introdução.pdf
Introdução.pdfIntrodução.pdf
Introdução.pdf
 
10 - JS OOP.pptx
10 - JS OOP.pptx10 - JS OOP.pptx
10 - JS OOP.pptx
 
shellsort.pdf
shellsort.pdfshellsort.pdf
shellsort.pdf
 

8-uml-e-modelagem-oo Introdução a UML.pdf

  • 1. Prof. André Hora Facom/UFMS 2018.1 Introdução a UML e Modelagem OO Engenharia de Software Adaptado de Eduardo Figueiredo (DCC/UFMG) 1
  • 2. Processo Requisitos Projeto Implementação Qualidade (teste, produto, processo) Manutenção Gerência de Projeto Gerência de Configuração Engenharia de Software 2
  • 3. Processo Requisitos Projeto Implementação Qualidade (teste, produto, processo) Manutenção Gerência de Projeto Gerência de Configuração Engenharia de Software 3
  • 4. Agenda 1. Visão geral UML 2. Exemplos de diagramas UML 3. Modelagem OO 4
  • 5. A Linguagem UML • UML (Linguagem de Modelagem Unificada) • Notação gráfica (visual) para modelar sistemas orientados a objetos • Não é uma linguagem de programação • Define diagramas padronizados • Complexa (muitos diagramas) 5
  • 6. O que é modelagem? • Modelo é uma simplificação da realidade • Modelagem de software é a atividade de construir modelos do sistema • Não é uma representação completa do sistema • UML pode ser usada em qualquer processo de software • Usada principalmente nas atividades de especificação de requisitos e projeto 6
  • 8. Por que modelar? • Tão essencial quanto ter uma planta antes da construção de uma casa • Melhora a comunicação entre membros da equipe e cliente • Equipe entende melhor o sistema • Permite analisar o sistema sobre vários aspectos • Facilita a programação e a manutenção • Diminui a possibilidade de erros 8
  • 9. Por que usar UML? • Bons modelos são essenciais para a comunicação entre os stakeholders • Padronização • Todo o time entende a modelagem, facilitando a manutenção • Facilita a programação • Integração entre ferramentas para modelagem e geração de código 9
  • 10. Diagramas UML • Tipos de Diagramas: • Estrutural: modela organização do sistema ou estrutura dos dados • Comportamental: modela o comportamento dinâmico do sistema e como ele responde a eventos • Objetivos • Visualizar o sistema • Especificar estrutura e/ou comportamento • Guiar e documentar as decisões 10
  • 11. Exemplos de Diagramas • Diagramas Estruturais (Estáticos) • Diagrama de Classes • Diagramas de Objetos • Diagrama de Componentes • Diagrama de Implantação, etc • Diagramas Comportamentais • Diagrama de Casos de Uso • Diagrama de Sequência • Diagrama de Estados • Diagrama de Atividades, etc 11
  • 13. Agenda 1. Visão geral UML 2. Exemplos de diagramas UML 3. Modelagem OO 13
  • 14. 9 Diagramas UML Diagrama de Casos de Uso Diagrama de Sequência Diagrama de Comunicação Diagrama de Classes Diagrama de Objetos Diagrama de Estados Diagrama de Atividades Diagrama de Componentes Diagrama de Implantação 14
  • 15. 9 Diagramas UML Diagrama de Casos de Uso Diagrama de Sequência Diagrama de Comunicação Diagrama de Classes Diagrama de Objetos Diagrama de Estados Diagrama de Atividades Diagrama de Componentes Diagrama de Implantação 15
  • 16. Diagrama de Caso de Uso • Diagrama mais geral da UML • Utilizado geralmente na fase de Especificação de Requisitos • Apresenta: • Quais usuários realizam certas funcionalidades • Relacionamentos entre estas funcionalidades 16
  • 17. Diagrama de Caso de Uso 17
  • 18. 9 Diagramas UML Diagrama de Casos de Uso Diagrama de Sequência Diagrama de Comunicação Diagrama de Classes Diagrama de Objetos Diagrama de Estados Diagrama de Atividades Diagrama de Componentes Diagrama de Implantação 18
  • 19. Diagrama de Sequência • Preocupa-se com a ordem temporal em que as mensagens são trocadas • Pode se basear em um Caso de Uso • Identifica: • Eventos associados a funcionalidade modelada • Ator responsável por este evento 19
  • 21. 9 Diagramas UML Diagrama de Casos de Uso Diagrama de Sequência Diagrama de Comunicação Diagrama de Classes Diagrama de Objetos Diagrama de Estados Diagrama de Atividades Diagrama de Componentes Diagrama de Implantação 21
  • 22. Diagrama de Comunicação • Complementar ao Diagrama de Sequência • Não se preocupa com a temporalidade • Foca na organização estrutural dos objetos • Define: • Como os objetos estão vinculados • Quais mensagens são trocadas entre objetos 22
  • 24. 9 Diagramas UML Diagrama de Casos de Uso Diagrama de Sequência Diagrama de Comunicação Diagrama de Classes Diagrama de Objetos Diagrama de Estados Diagrama de Atividades Diagrama de Componentes Diagrama de Implantação 24
  • 25. Diagrama de Classes • Diagrama mais utilizado da UML • Serve de apoio para a maioria dos outros diagramas • Define a estrutura das classes do sistema • Estabelece como as classes se relacionam 25
  • 28. 9 Diagramas UML Diagrama de Casos de Uso Diagrama de Sequência Diagrama de Comunicação Diagrama de Classes Diagrama de Objetos Diagrama de Estados Diagrama de Atividades Diagrama de Componentes Diagrama de Implantação 28
  • 29. Diagrama de Objetos • Complementar ao Diagrama de Classes • Exibe os valores armazenados pelos objetos de um Diagrama de Classes 29
  • 31. 9 Diagramas UML Diagrama de Casos de Uso Diagrama de Sequência Diagrama de Comunicação Diagrama de Classes Diagrama de Objetos Diagrama de Estados Diagrama de Atividades Diagrama de Componentes Diagrama de Implantação 31
  • 32. Diagrama de Estados • Modela as mudanças sofridas por um objeto dentro de um determinado processo • Pode ser utilizado para acompanhar os estados pelo qual passa uma instância de uma classe 32
  • 35. 9 Diagramas UML Diagrama de Casos de Uso Diagrama de Sequência Diagrama de Comunicação Diagrama de Classes Diagrama de Objetos Diagrama de Estados Diagrama de Atividades Diagrama de Componentes Diagrama de Implantação 35
  • 36. Diagrama de Atividades • Descreve as atividades a serem executadas para a conclusão de um processo • Concentra-se na representação do fluxo de controle de um processo 36
  • 38. 9 Diagramas UML Diagrama de Casos de Uso Diagrama de Sequência Diagrama de Comunicação Diagrama de Classes Diagrama de Objetos Diagrama de Estados Diagrama de Atividades Diagrama de Componentes Diagrama de Implantação 38
  • 39. Diagrama de Componentes • Representa os componentes do sistema • Componente: parte lógica e substituível do sistema • Componentes serão implementados como: • Classes, pacotes, bibliotecas, … 39
  • 41. 9 Diagramas UML Diagrama de Casos de Uso Diagrama de Sequência Diagrama de Comunicação Diagrama de Classes Diagrama de Objetos Diagrama de Estados Diagrama de Atividades Diagrama de Componentes Diagrama de Implantação 41
  • 42. Diagrama de Implantação • Determina as necessidades de hardware, quais software rodam em cada nó, etc • Características físicas do sistema • Servidores • Estações de trabalho • Impressora, scanner, etc 42
  • 45. Agenda 1. Visão geral UML 2. Exemplos de diagramas UML 3. Modelagem OO 45
  • 46. Atividades da Modelagem OO 1. Definir o contexto do sistema 2. Projetar a arquitetura 3. Identificar os principais objetos 4. Desenvolver os modelos de objetos 5. Especificar interfaces entre objetos 46
  • 47. Paralelo e Iterativo • Atividades não são necessariamente sequenciais • Geralmente é feito de forma iterativa 1. Definir parte do contexto do sistema 2. Projetar parte da arquitetura 3. Identificar alguns objetos 4. Modelar objetos 5. Definir interfaces 47
  • 48. (1) Definir o Contexto do Sistema • Objetivo: compreensão do software que está sendo desenvolvido e de seu ambiente externo • Técnicas adotadas • Diagramas de Casos de Uso • Descrição dos Cenários, etc. • Ao definir o contexto, pode-se identificar alguns objetos do domínio 48
  • 49. (2) Projetar Arquitetura • Primeiro passo do projeto de sistema • Projeto arquitetural envolve • Identificação dos componentes principais do sistema • Definição das interfaces de comunicação entre os componentes 49
  • 52. (3) Identificar os Principais Objetos • Identificação de objetos também é um processo iterativo • Improvável fazer certo na primeira vez • Não há fórmula mágica para a identificação de objetos 52
  • 53. Abordagem para Identificação de Objetos • Análise gramatical baseada na descrição dos cenários de uso • Como proceder: • Substantivos: objetos ou atributos • Verbos: métodos • Refinar e definir novos objetos usando o conhecimento do domínio do sistema 53
  • 54. Diagrama de Casos de Uso 54
  • 55. Exemplo de Cenário Nome do Cenário: Sacar Ator: Cliente Pré-condição: Conta e senha validadas Fluxo normal 1. Cliente entra com valor do saque 2. Sistema confirma dados e operação 3. Sistema debita valor da conta do cliente Fluxos alternativo: Saldo insuficiente 3.1 Apresentar aviso ao cliente… Pós-condição: Valor sacado é debitado do saldo do cliente 55
  • 56. Exemplo de Cenário Nome do Cenário: Sacar Ator: Cliente Pré-condição: Conta e senha validadas Fluxo normal 1. Cliente entra com valor do saque 2. Sistema confirma dados e operação 3. Sistema debita valor da conta do cliente Fluxos alternativo: Saldo insuficiente 3.1 Apresentar aviso ao cliente… Pós-condição: Valor sacado é debitado do saldo do cliente Potenciais objetos do sistema 56
  • 57. Exemplo de Cenário Nome do Cenário: Sacar Ator: Cliente Pré-condição: Conta e senha validadas Fluxo normal 1. Cliente entra com valor do saque 2. Sistema confirma dados e operação 3. Sistema debita valor da conta do cliente Fluxos alternativo: Saldo insuficiente 3.1 Apresentar aviso ao cliente Pós-condição: Valor sacado é debitado do saldo do cliente Potenciais atributos dos objetos 57
  • 58. Exemplo de Cenário Nome do Cenário: Sacar Ator: Cliente Pré-condição: Conta e senha validadas Fluxo normal 1. Cliente entra com valor do saque 2. Sistema confirma dados e operação 3. Sistema debita valor da conta do cliente Fluxos alternativo: Saldo insuficiente 3.1 Apresentar aviso ao cliente Pós-condição: Valor sacado é debitado do saldo do cliente Potenciais métodos dos objetos 58
  • 59. (4) Modelos de Objetos • Fazem a ligação entre requisitos (problema) e implementação (solução) • Mostram objetos (ou classes de objetos) e os relacionamentos entre essas entidades • Devem incluir detalhes suficientes para facilitar a programação 59
  • 60. Várias Visões • Para evitar modelos complexos, eles são quebrados em diversas visões • Modelos estáticos • Modelos dinâmicos • Modelo estático mais utilizado: • Diagrama de Classes 60
  • 61. (5) Especificar Interfaces entre Objetos • Interface: contrato entre objetos/componentes • Desenvolvedores de outros objetos podem assumir que a interface será implementada • Objetos podem ter várias interfaces 61
  • 62. Agenda 1. Visão geral UML 2. Exemplos de diagramas UML 3. Modelagem OO 62