prof. marcio gonçalves análise orientada a objetos uml - unified modeling language
TRANSCRIPT
Prof. Marcio Gonçalves
Análise Orientada a
ObjetosUML - Unified Modeling
Language
UML - Unified Modeling Language
• UML é uma linguagem para Visualização, Especificação, Construção e Documentação dos elementos de um sistema de software
2
Apresentação
UML - Unified Modeling Language
• Autores: Booch, Rumbaugh e Jacobson
– Reconhecendo a dificuldade em padronizar o processo de desenvolvimento, decidiram orientar o esforço numa linguagem de modelagem que pudesse suportar todo o ciclo de vida do desenvolvimento de software
3
Apresentação
UML - Unified Modeling Language
• É um Standard OMG desde 1997
– 1ª versão padronizada – v 1.1 - Janeiro de 1997
– Últimas versões - v 1.4 (Setembro de 2001) - v 1.5 (Março de 2003)
• Existem diversas ferramentas para esta linguagem de modelagem
4
Apresentação
Objetivos da UML
• Modelar sistemas usando conceitos orientados a objetos
• Estabelecer uma ligação explicita entre artefatos conceituais (figuras) e executáveis (programas)
5
Apresentação
Objetivos da UML• Criar uma linguagem de modelagem
adequada, à manipulação humana e ao mesmo tempo à manipulação por máquinas
– criação de ferramentas de desenho
– geração de código
– ....
6
Apresentação
Características gerais da UML
• É independente do domínio de aplicação
• É independente do processo ou metodologia de desenvolvimento
• É independente das linguagens de programação
7
Apresentação
Características gerais da UML
• É independente das ferramentas de modelagem
• Apresenta mecanismos potentes de extensão (estereótipos)
• Agrega um conjunto de diferentes diagramas (9 tipos diferentes)
8
Apresentação
• Um diagrama é uma visão de um modelo
– Fornece uma representação parcial do sistema e é semanticamente consistente com outras visões complementares
– Em UML existem 9 diagramas padronizados
• Um modelo é uma descrição completa de um sistema numa determinada perspectiva
9
Os diagramas da UML
Use CaseDiagramsUse Case
DiagramsDiagramas deCasos de Uso
ScenarioDiagramsScenario
DiagramsDiagramas deColaboração
StateDiagramsState
DiagramsDiagramas de Componentes
ComponentDiagramsComponent
DiagramsDiagramas deDistribuição
StateDiagramsState
DiagramsDiagramas deObjetos
ScenarioDiagramsScenario
DiagramsDiagramas deEstados
Use CaseDiagramsUse Case
DiagramsDiagramas deSequência
StateDiagramsState
DiagramsDiagramas deClasses
Diagramas deAtividades
Modelo
10
Os diagramas da UML
Diagrama de casos de uso– representa a visão do sistema na
perspectiva dos seu utilizadores
– mostra um conjunto de atores externos e a sua ligação aos casos de uso fornecidos pelo sistema
– um caso de uso é uma funcionalidade oferecida pelo sistema
11
Os diagramas da UML
Diagrama de classes
– especifica a estrutura estática do sistema segundo a abordagem orientada por objetos
– mostra a estrutura de classes e como estas se relacionam
12
Os diagramas da UML
Diagrama de objetos
– variante do diagrama de classes
– representa um exemplo do diagrama de classes num determinado instante da execução do sistema
13
Os diagramas da UML
Diagrama de estados
– complemento da descrição de uma classe - mostra todos os estados possíveis que os objetos dessa classe podem ter, assim como os eventos que causam a transição entre estados
14
Os diagramas da UML
Diagrama de sequência
– mostra a colaboração dinâmica entre objetos, através da representação da troca de mensagens entre estes (interação) ao longo do tempo
15
Os diagramas da UML
Diagrama de colaboração
– é uma alternativa ao anterior (sequência), porém com outra perspectiva – ênfase aos objetos e o seus relacionamentos
16
Os diagramas da UML
Diagrama de atividades
– mostra um fluxo sequencial de atividades executadas numa operação
– pode ser usado para mostrar a sequência de atividades num caso de uso
17
Os diagramas da UML
Diagrama de componentes
– mostra a estrutura física do código, representada através de componentes, que podem ser código fonte, binários ou executáveis
– indica quais as classes que são implementadas pelo componente e quais as suas dependências
18
Os diagramas da UML
Diagrama de implantação
– mostra a estrutura da arquitetura física (Hardware e Software)
– representa nós (computadores e outros dispositivos) e as suas ligações
– dentro de cada nó existem componentes executáveis e objetos, que constituem o software executável
19
Os diagramas da UML
• Visões representam as diferentes
perspectivas que descrevem um
sistema:– funcional (estrutura estática e
dinâmica)– não funcional (sincronismo,
arquitetura física, ...)– organizacional (organização do
trabalho, mapeamento com código)
20
As visões da UML
• Em UML um sistema é representado
por 5 “visões” diferentes as quais
descrevem o sistema de 5
perspectivas diferentes e
complementares
21
As visões da UML
Vista Lógica
Vista de
Processos
Vista de
implementação
Vista de
Distribuição
Vista do
utilizador
Vista Lógica
Vista de
Processos
Vista de
implementação
Vista de
Distribuição
Visão Lógica
Visão de
Processos
Visão de
Implementação
Visão de
Implantação
Visão do
Utilizador
22
As visões da UML
Visão do utilizador (Caso de Uso)
– representa o sistema na perspectiva dos utilizadores (atores)
– casos de uso descrevem cenários de utilização do sistema a partir da perspectiva do utilizador final
23
As visões da UML
Visão Lógica (ou estrutural)
– Modelo da estrutura estática do sistema (classes, objetos e relacionamentos)
– Os dados e a funcionalidade do sistema é vista a partir de dentro do sistema
24
As visões da UML
Visão de processos (comportamento)
– Representa os aspectos dinâmicos ou comportamentais do sistema
– Descreve também as interações ou
colaborações entre vários elementos
estruturais descritos nas visão do
utilizador e na visão estrutural
25
As visões da UML
Visão de implementação
– Os aspectos estruturais e
comportamentais do sistema são
representados como serão
construídosVisão de implantação (ambiental)
– Representa a arquitetura física com
computadores e outros dispositivos
26
As visões da UML
• Um diagrama de casos de uso (use-cases) descreve cenários de utilização do sistema na perspectiva dos seus utilizadores
• Diagrama que permite dar uma visão global e de alto nível do sistema
27
Diagrama de casos de uso
Elementos do diagrama
– casos de uso - descrevem funcionalidades do sistema
– atores - representam pessoas ou dispositivos que desempenham um papel no funcionamento do sistema
28
Diagrama de casos de uso
29
Diagrama de casos de uso
• Mostram a estrutura de classes e como estas se relacionam, isto é, descrevem a estrutura estática do sistema a ser modelado
• Capturam o vocabulário do sistema• Construídos e refinados ao longo do
desenvolvimento
30
Diagrama de classes
• Objetivos– Identificar e modelar conceitos no
sistema– Especificar colaborações– Especificar esquemas lógicos de
bases de dados
31
Diagrama de classes
32
Diagrama de classes
• Descreve um conjunto de instâncias compatíveis com um diagrama de classes
• Permite ilustrar os detalhes de um sistema em determinado momento, descrevendo para tal possíveis configurações
• Objetivos
– ilustrar estruturas de dados/objetos
– especificar snapshots
33
Diagrama de objetos
34
Diagrama de objetos
• Ilustra interações entre objetos num determinado período de tempo
• Captura comportamento dinâmico
• Objetivos
– modelar fluxo de controle
– ilustrar situações típicas
35
Diagrama de Seqüência
36
Diagrama de Seqüência
• Ilustra interações entre objetos com ênfase para a representação das ligações entre os objetos
• O tempo não é um elemento explícito• Captura comportamento dinâmico• Objetivos
– modelar fluxo de controle– ilustrar a coordenação da estrutura
de objetos e do controle
37
Diagrama de Colaboração
38
Diagrama de Colaboração
• Descreve a sequência de estados que um objeto ou uma interação pode passar ao longo da sua existência, em resposta a estímulos recebidos, conjuntamente com as suas respostas e ações
• captura comportamento dinâmico (orientado por eventos)
39
Diagrama de Estados
• Objetivos– modelar o ciclo de vida do objeto– modelar objetos reativos (user
interfaces, dispositivos, etc.)
40
Diagrama de Estados
41
Diagrama de Estados
• Caso particular de diagrama de transição de estados, no qual os estados são substituídos por ações e/ou atividades e as transições são desencadeadas devido à conclusão de ações nos estados originais
Diagrama de Atividades – representa os fluxos conduzidos por processamento interno
42
Diagrama de Atividades
• captura comportamento dinâmico(orientado por atividades)
• Objetivos: – modelar fluxos de trabalho de negócio (business workflows) – modelar operações
43
Diagrama de Atividades
44
Diagrama de Atividades
• Captura a estrutura física da implementação, descrevendo as dependências entre componentes de software
• Construído como parte da especificação da arquitetura
45
Diagrama de Componentes
• Objetivos
– organizar código fonte
– construir uma versão executável
– especificar uma base de dados física
46
Diagrama de Componentes
47
Diagrama de Componentes
• Descreve a topologia do Hardware e do Software do sistema
• Construído como parte da especificação da arquitetura
• Objetivos
– especificar a distribuição dos componentes
– identificar entraves de performance
48
Diagrama de Implantação
49
Diagrama de Implantação