SlideShare uma empresa Scribd logo
1 de 38
Baixar para ler offline
MINISTÉRIO DA CIÊNCIA E TECNOLOGIA
       INSTITUTO NACIONAL DE PESQUISAS ESPACIAIS




                UML: Visão Geral
            Gilberto Ribeiro de Queiroz
                      gribeiro@dpi.inpe.br




Disponível em: http://www.dpi.inpe.br/~gribeiro/apresentacoes


                                                29 de Fevereiro de 2008.
Sumário

●   UML:
    –   Motivação
    –   Diagramas


●   Oficina:
    –   Criando diagramas UML com o JUDE Community 5
UML

●   Segundo a OMG, a Unified Modeling Language é
    uma linguagem visual para especificação,
    construção e documentação de artefatos de
    software


●   O propósito da modelagem (criação de
    esquemas UML) é, principalmente, para
    entender e não para documentar!


●   UML sozinha não resolve nada:
    –   Ela deve ser usada dentro de um processo de
        desenvolvimento!
Processo de Desenvolvimento de Sistemas

●   Estabelece uma abordagem para a construção,
    desenvolvimento e manutenção de software:
    –   Ex: UML + OpenUP (definição das fases de
        desenvolvimento e estabelecimento das regras do
        jogo!)
●   Atualmente metodologias            são    iterativas   e
    evolucionárias:
    –   Ciclo repetitivo, com fases de curta duração
    –   Fases contemplam todas as etapas do ciclo de
        desenvolvimento    (requisitos,   análise, projeto,
        implementação, teste e validação)
    –   As fases não tentam varrer todo o conhecimento do
        problema, isso é obtido ao longo do tempo
Por que / Para que usar UML?

●   Vamos usar os diagramas UML para:
    –   Ajudar a conceber nossas idéias, em relação ao
        sistema que estivermos projetando
         ●   Pensar antes de codificar!
    –   Apresentar nossas idéias ao grupo de forma que
        todos possam interagir e discutir um determinado
        ponto
         ●   Aumentar a participação e envolvimento do time!
    –   Documentar nossas idéias quando elas já estiverem
        bem consolidadas para que novos integrantes e
        novos   colaboradores   possam     acelerar    sua
        compreensão dos sistemas desenvolvidos pelo grupo
UML

●   Diagramas servem para capturar diferentes
    visões do sistema:
    –   Estrutural: estática
         ●   Diagrama de Classes
         ●   Diagrama de Objetos
         ●   Diagrama de Componentes
         ●   Diagrama de Implantação
    –   Comportamental: dinâmica
         ●   Diagrama de Casos de Uso
         ●   Diagrama de Seqüência
         ●   Diagrama de Atividades
         ●   Diagrama de Estados
         ●   Diagrama de Colaboração
Diagramas de Casos de Uso
UML: Diagrama de Casos de Uso

●   Composto por:
    –   Atores:
         ●   Pessoas que desempenham algum papel no sistema
         ●   Entidades externas, como outros sistemas, que interagem
             com o sistema sendo projetado
    –   Casos de Uso:
         ●   Processos ou funções que o sistema deve realizar de forma
             automática ou mesmo manual
         ●   Geralmente associadas a descrições textuais
    –   Relacionamentos:
         ●   Atores x Casos de Uso
         ●   Casos de Uso x Casos de Uso
UML: Diagrama de Casos de Uso
Descrição Casos Uso

       #05                                Gerenciar Contas Usuários
Quem incia         Ator Administrador
Pré-Condição       Nenhum outro administrador deve estar logado no sistema
                   1. O Administrador informa seu login/senha
                   2. O sistema verifica na ACL se o usuário possui privilégios especiais
                   3. Se o usuário não for um super-usuário interrompe processo
                   4. O sistema mostra a lista de usuários e grupos
Cenário 1:         5. O Administrador entra com a seguintes informações:
Criar Nova Conta      - nome do novo usuário, diretório home, senha inicial, privilégios,
                        data expiração da conta
                   6. O servidor valida os dados
                   7. As informações da nova conta são gravadas na ACL
Fluxo de Exceção
Diagrama de Atividades
Diagrama de Atividades

●   É usado para mostrar uma seqüência de
    atividades.


●   Mostra o fluxo de trabalho (workflow) a partir
    de um ponto inicial até um ponto final,
    detalhando as decisões do caminho tomado
    durante a execução das tarefas.


●   Este diagrama possui várias aplicações, desde a
    definição do fluxo básico de um programa até a
    definição de um processo com as suas tomadas
    de decisões e ações.
Diagrama de Atividades
                                   Ações



                                  Execução em Paralelo
  Estado Inicial



                                  Ponto de Tomada de Decisão


Ponto de Junção




                                                   Estado Final
Diagrama de Atividades

●   Podemos ainda ter partições:
    –   Elas ajudam a separar as ações em blocos
    –   Ex: ações realizadas pelo departamento A e ações
        realizadas pelo departamento B


●   Podemos ter o envio de objetos entre uma ação
    e outra:
    –   Ex: Pedido
Diagrama de Classes
Representação de uma Classe


                              Nome da classe

                             Compartimento dos Atributos


                             Compartimento dos Métodos




  Acessibilidade dos Atributos e Métodos:
  + atributo ou método público
  # atributo ou método protegido
  - atributo ou método privado
Representação de um Classe




          Atributos estáticos aparecem sublinhados
          Métodos Virtuais aparecem em itálico



          Atributos estáticos aparecem sublinhados
          Métodos estáticos aparecem sublinhados
Representação de uma Interface


           A classe TePolygon Implementa a Interface




               Interface Geometry:
               pode ter atributos e
               métodos como as classes
Associação




class Proprietario                   class Lote
{                                    {
   private:                             private:

        string nome;                         double area;
        vector<Lote*> lotes;                 Proprietario* proprietario_;

     public:                              public:

        string getNome();                    double getArea();

};                                   };
Generalização


                                 Superclasse




              Subclasses

A classe TeGeometry é abstrata: por isso o itálico
Agregação/Composição




                                    Agregação
Composição
Diagrama de Classes – Outras Considerações

●   UML dá o suporte para classes templates


●   Herança de classes templates               pode   ser
    expressa com “bind” de templates


●   Classes de associações:
    –   servem para qualificar os relacionamentos
Diagrama de Objetos
Diagrama de Objetos
Diagrama de Seqüência
Diagrama de Seqüência

●   Apresenta a ordem temporal das mensagens
    enviadas e recebidas pelos objetos


●   Mostram a troca de mensagens entre diversos
    objetos num cenário específico


●   Na minha visão (Gribeiro):
    –   Ajuda a descobrir onde colocar os métodos!
    –   Ajuda a verificar se a comunicação entre as classes
        está coerente!
Diagrama de Seqüência
Cenário: Editar Nova Feição Geográfica
Diagrama de Estados
Diagrama de Estado

●   Modela o      comportamento   de   um   objeto
    individual
●   Especifica as seqüências de estados pelos quais
    um objeto passa durante seu tempo de vida em
    resposta a eventos
Diagrama Estados
Diagrama de Estados

●   Choice:
    –   Usado quando temos um estado em que o objeto
        está escolhendo o próximo estado.
    –   Ex: Escolhendo Tipo de Mensagem:
         ●   HTTP => Entra no estado Criando Mensagem HTTP
         ●   Fax => Entra no estado Criando Mensagem FAX
         ●   SMS => Entra no estado Criando Mensagem SMS
●   Histórico de Estado:
    –   Ex: Máquina Lavar => quando religada precisa
        lembrar em qual estado estava.
Diagrama de Pacotes
UML: Packages

●   Organização Lógica dos Artefatos:
    –   Agrupar artefatos
    –   Organizar o modelo
Diagrama de Pacotes
 (Package Diagram)
Diagrama de Componentes
Diagrama de Componentes
Diagrama de Implantação
UML: Diagrama de Implantação

Mais conteúdo relacionado

Mais procurados

Uml Diagramas Estruturais
Uml   Diagramas EstruturaisUml   Diagramas Estruturais
Uml Diagramas Estruturaisthaisedd
 
Aula UML - Unified Modeling Language
Aula UML - Unified Modeling LanguageAula UML - Unified Modeling Language
Aula UML - Unified Modeling LanguageCloves da Rocha
 
Modelo entidade relacionamento
Modelo entidade relacionamentoModelo entidade relacionamento
Modelo entidade relacionamentoCarlos Melo
 
Protocolo http
Protocolo httpProtocolo http
Protocolo httpBiel2013a
 
Descrição formal de Casos de Uso
Descrição formal de Casos de UsoDescrição formal de Casos de Uso
Descrição formal de Casos de UsoNatanael Simões
 
Exercitando modelagem em UML
Exercitando modelagem em UMLExercitando modelagem em UML
Exercitando modelagem em UMLinfo_cimol
 
Aula 4 - Sistemas Gerenciadores de Banco de Dados
Aula 4 - Sistemas Gerenciadores de Banco de DadosAula 4 - Sistemas Gerenciadores de Banco de Dados
Aula 4 - Sistemas Gerenciadores de Banco de DadosVitor Hugo Melo Araújo
 
Modelagem Arquitetural e Visão 4+1
Modelagem Arquitetural e Visão 4+1Modelagem Arquitetural e Visão 4+1
Modelagem Arquitetural e Visão 4+1Adriano Tavares
 
Aula 10 - Diagrama de Sequencia.pdf
Aula 10 - Diagrama de Sequencia.pdfAula 10 - Diagrama de Sequencia.pdf
Aula 10 - Diagrama de Sequencia.pdfIvanFontainha
 
Análise e Projeto de Sistemas
Análise e Projeto de SistemasAnálise e Projeto de Sistemas
Análise e Projeto de SistemasGuilherme
 
Introdução - Arquitetura e Organização de Computadores
Introdução - Arquitetura e Organização de ComputadoresIntrodução - Arquitetura e Organização de Computadores
Introdução - Arquitetura e Organização de ComputadoresWellington Oliveira
 

Mais procurados (20)

Introdução à UML com Casos de Uso
Introdução à UML com Casos de UsoIntrodução à UML com Casos de Uso
Introdução à UML com Casos de Uso
 
Uml Diagramas Estruturais
Uml   Diagramas EstruturaisUml   Diagramas Estruturais
Uml Diagramas Estruturais
 
Diagramas de casos de uso - aula 2
Diagramas de casos de uso - aula 2Diagramas de casos de uso - aula 2
Diagramas de casos de uso - aula 2
 
Introdução à linguagem UML
Introdução à linguagem UMLIntrodução à linguagem UML
Introdução à linguagem UML
 
A Linguagem UML
A Linguagem UMLA Linguagem UML
A Linguagem UML
 
UML
UMLUML
UML
 
Aula UML - Unified Modeling Language
Aula UML - Unified Modeling LanguageAula UML - Unified Modeling Language
Aula UML - Unified Modeling Language
 
Modelo entidade relacionamento
Modelo entidade relacionamentoModelo entidade relacionamento
Modelo entidade relacionamento
 
Apresentação da UML
Apresentação da UMLApresentação da UML
Apresentação da UML
 
Protocolo http
Protocolo httpProtocolo http
Protocolo http
 
Descrição formal de Casos de Uso
Descrição formal de Casos de UsoDescrição formal de Casos de Uso
Descrição formal de Casos de Uso
 
Exercitando modelagem em UML
Exercitando modelagem em UMLExercitando modelagem em UML
Exercitando modelagem em UML
 
Aula 4 - Sistemas Gerenciadores de Banco de Dados
Aula 4 - Sistemas Gerenciadores de Banco de DadosAula 4 - Sistemas Gerenciadores de Banco de Dados
Aula 4 - Sistemas Gerenciadores de Banco de Dados
 
Revisão UML
Revisão UMLRevisão UML
Revisão UML
 
Modelagem Arquitetural e Visão 4+1
Modelagem Arquitetural e Visão 4+1Modelagem Arquitetural e Visão 4+1
Modelagem Arquitetural e Visão 4+1
 
Aula 10 - Diagrama de Sequencia.pdf
Aula 10 - Diagrama de Sequencia.pdfAula 10 - Diagrama de Sequencia.pdf
Aula 10 - Diagrama de Sequencia.pdf
 
Aula 07 - Diagrama de sequencia
Aula 07 - Diagrama de sequenciaAula 07 - Diagrama de sequencia
Aula 07 - Diagrama de sequencia
 
Análise e Projeto de Sistemas
Análise e Projeto de SistemasAnálise e Projeto de Sistemas
Análise e Projeto de Sistemas
 
UML - Diagrama de Pacotes
UML - Diagrama de PacotesUML - Diagrama de Pacotes
UML - Diagrama de Pacotes
 
Introdução - Arquitetura e Organização de Computadores
Introdução - Arquitetura e Organização de ComputadoresIntrodução - Arquitetura e Organização de Computadores
Introdução - Arquitetura e Organização de Computadores
 

Destaque

Uml diagramas implementacao_2008
Uml diagramas implementacao_2008Uml diagramas implementacao_2008
Uml diagramas implementacao_2008BitUser Nguyễn
 
Diagramas de implantação
Diagramas de implantaçãoDiagramas de implantação
Diagramas de implantaçãoFitBlar Mit
 
GeoKettle: A powerful open source spatial ETL tool
GeoKettle: A powerful open source spatial ETL toolGeoKettle: A powerful open source spatial ETL tool
GeoKettle: A powerful open source spatial ETL toolThierry Badard
 
Apostila de sql server 2008
Apostila de sql server 2008Apostila de sql server 2008
Apostila de sql server 2008marcos0512
 
Visual Studio 2010 e C# 4
Visual Studio 2010 e C# 4Visual Studio 2010 e C# 4
Visual Studio 2010 e C# 4CDS
 
ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010Norton Guimarães
 
Desenvolvimento de Aplicações com Visual Studio
Desenvolvimento de Aplicações com Visual StudioDesenvolvimento de Aplicações com Visual Studio
Desenvolvimento de Aplicações com Visual StudioGeovani Ferreira Gonçalves
 
A Tributação do Comércio Electrónico
A Tributação do Comércio ElectrónicoA Tributação do Comércio Electrónico
A Tributação do Comércio ElectrónicoJL Saldanha Sanches
 
Uma Introdução a ASP.NET Web API
Uma Introdução a ASP.NET Web APIUma Introdução a ASP.NET Web API
Uma Introdução a ASP.NET Web APIComunidade NetPonto
 
API - Interface de Programação de Aplicativos
API - Interface de Programação de AplicativosAPI - Interface de Programação de Aplicativos
API - Interface de Programação de AplicativosFelipe J. R. Vieira
 
Engenharia de Software II - Atividade: Diagramas da UML
Engenharia de Software II - Atividade: Diagramas da UMLEngenharia de Software II - Atividade: Diagramas da UML
Engenharia de Software II - Atividade: Diagramas da UMLAlessandro Almeida
 
Visual Basic 2010 - Uma Aplicação com Banco de Dados (Controle de Despesas)
Visual Basic 2010 - Uma Aplicação com Banco de Dados (Controle de Despesas)Visual Basic 2010 - Uma Aplicação com Banco de Dados (Controle de Despesas)
Visual Basic 2010 - Uma Aplicação com Banco de Dados (Controle de Despesas)ETEC Monsenhor Antonio Magliano
 
Livro banco de_dados_volume_02
Livro banco de_dados_volume_02Livro banco de_dados_volume_02
Livro banco de_dados_volume_02CLEAN LOURENÇO
 

Destaque (20)

Uml diagramas implementacao_2008
Uml diagramas implementacao_2008Uml diagramas implementacao_2008
Uml diagramas implementacao_2008
 
Componentes
ComponentesComponentes
Componentes
 
Diagramas de implantação
Diagramas de implantaçãoDiagramas de implantação
Diagramas de implantação
 
GeoKettle: A powerful open source spatial ETL tool
GeoKettle: A powerful open source spatial ETL toolGeoKettle: A powerful open source spatial ETL tool
GeoKettle: A powerful open source spatial ETL tool
 
Apostila de sql server 2008
Apostila de sql server 2008Apostila de sql server 2008
Apostila de sql server 2008
 
Asp.net e c#
Asp.net e c#Asp.net e c#
Asp.net e c#
 
Visual Studio 2010 e C# 4
Visual Studio 2010 e C# 4Visual Studio 2010 e C# 4
Visual Studio 2010 e C# 4
 
ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010
 
Desenvolvimento de Aplicações com Visual Studio
Desenvolvimento de Aplicações com Visual StudioDesenvolvimento de Aplicações com Visual Studio
Desenvolvimento de Aplicações com Visual Studio
 
Fundamentos de JDBC
Fundamentos de JDBCFundamentos de JDBC
Fundamentos de JDBC
 
A Tributação do Comércio Electrónico
A Tributação do Comércio ElectrónicoA Tributação do Comércio Electrónico
A Tributação do Comércio Electrónico
 
Uma Introdução a ASP.NET Web API
Uma Introdução a ASP.NET Web APIUma Introdução a ASP.NET Web API
Uma Introdução a ASP.NET Web API
 
Apostila UML
Apostila UMLApostila UML
Apostila UML
 
API - Interface de Programação de Aplicativos
API - Interface de Programação de AplicativosAPI - Interface de Programação de Aplicativos
API - Interface de Programação de Aplicativos
 
Engenharia de Software II - Atividade: Diagramas da UML
Engenharia de Software II - Atividade: Diagramas da UMLEngenharia de Software II - Atividade: Diagramas da UML
Engenharia de Software II - Atividade: Diagramas da UML
 
Visual Basic 2010 - Uma Aplicação com Banco de Dados (Controle de Despesas)
Visual Basic 2010 - Uma Aplicação com Banco de Dados (Controle de Despesas)Visual Basic 2010 - Uma Aplicação com Banco de Dados (Controle de Despesas)
Visual Basic 2010 - Uma Aplicação com Banco de Dados (Controle de Despesas)
 
Tutorial proxy
Tutorial proxyTutorial proxy
Tutorial proxy
 
Livro banco de_dados_volume_02
Livro banco de_dados_volume_02Livro banco de_dados_volume_02
Livro banco de_dados_volume_02
 
Diagramas de pacotes
Diagramas de pacotesDiagramas de pacotes
Diagramas de pacotes
 
Diagramas de componentes
Diagramas de componentesDiagramas de componentes
Diagramas de componentes
 

Semelhante a Apostila de uml

Metodologia orientado a objetos
Metodologia orientado a objetosMetodologia orientado a objetos
Metodologia orientado a objetosGabriel Faustino
 
8-uml-e-modelagem-oo Introdução a UML.pdf
8-uml-e-modelagem-oo Introdução a UML.pdf8-uml-e-modelagem-oo Introdução a UML.pdf
8-uml-e-modelagem-oo Introdução a UML.pdfgabriel-colman
 
Aulas de análise
Aulas de análiseAulas de análise
Aulas de análiseFrank Lira
 
Aulas de análise
Aulas de análiseAulas de análise
Aulas de análiseFrank Lira
 
Integração de Tecnologias
Integração de TecnologiasIntegração de Tecnologias
Integração de Tecnologiaselliando dias
 
Palestra introdução a uml e casos de uso final_parte1
Palestra introdução a uml e casos de uso final_parte1Palestra introdução a uml e casos de uso final_parte1
Palestra introdução a uml e casos de uso final_parte1marcosdcmartinsss
 
Umlv4 090813182632-phpapp02
Umlv4 090813182632-phpapp02Umlv4 090813182632-phpapp02
Umlv4 090813182632-phpapp02Jhonefj
 
CursoUML - Unified Modeling Language
CursoUML - Unified Modeling LanguageCursoUML - Unified Modeling Language
CursoUML - Unified Modeling Languageelliando dias
 
Aula4-modelagem e uml
Aula4-modelagem e umlAula4-modelagem e uml
Aula4-modelagem e umlneilaxavier
 
Uml processo unificado
Uml   processo unificado Uml   processo unificado
Uml processo unificado Julia
 
Aula 01 - UML e Padrões de Projeto
Aula 01 - UML e Padrões de ProjetoAula 01 - UML e Padrões de Projeto
Aula 01 - UML e Padrões de ProjetoVinícius de Paula
 

Semelhante a Apostila de uml (20)

UML1.pdf
UML1.pdfUML1.pdf
UML1.pdf
 
Metodologia orientado a objetos
Metodologia orientado a objetosMetodologia orientado a objetos
Metodologia orientado a objetos
 
Aula-04-UML.pptx
Aula-04-UML.pptxAula-04-UML.pptx
Aula-04-UML.pptx
 
Diagramas uml
Diagramas umlDiagramas uml
Diagramas uml
 
8-uml-e-modelagem-oo Introdução a UML.pdf
8-uml-e-modelagem-oo Introdução a UML.pdf8-uml-e-modelagem-oo Introdução a UML.pdf
8-uml-e-modelagem-oo Introdução a UML.pdf
 
Aulas de análise
Aulas de análiseAulas de análise
Aulas de análise
 
Aulas de análise
Aulas de análiseAulas de análise
Aulas de análise
 
Trabalho de análise e projeto 2
Trabalho de análise e projeto 2Trabalho de análise e projeto 2
Trabalho de análise e projeto 2
 
Integração de Tecnologias
Integração de TecnologiasIntegração de Tecnologias
Integração de Tecnologias
 
Aula 6 -_casos_de_uso
Aula 6 -_casos_de_usoAula 6 -_casos_de_uso
Aula 6 -_casos_de_uso
 
Aula 5 -_fundamentos_de_uml
Aula 5 -_fundamentos_de_umlAula 5 -_fundamentos_de_uml
Aula 5 -_fundamentos_de_uml
 
Palestra introdução a uml e casos de uso final_parte1
Palestra introdução a uml e casos de uso final_parte1Palestra introdução a uml e casos de uso final_parte1
Palestra introdução a uml e casos de uso final_parte1
 
Umlv4 090813182632-phpapp02
Umlv4 090813182632-phpapp02Umlv4 090813182632-phpapp02
Umlv4 090813182632-phpapp02
 
FC-Logic
FC-LogicFC-Logic
FC-Logic
 
CursoUML - Unified Modeling Language
CursoUML - Unified Modeling LanguageCursoUML - Unified Modeling Language
CursoUML - Unified Modeling Language
 
Aula4-modelagem e uml
Aula4-modelagem e umlAula4-modelagem e uml
Aula4-modelagem e uml
 
Diagrama classes
Diagrama classesDiagrama classes
Diagrama classes
 
Aula1 astah
Aula1 astahAula1 astah
Aula1 astah
 
Uml processo unificado
Uml   processo unificado Uml   processo unificado
Uml processo unificado
 
Aula 01 - UML e Padrões de Projeto
Aula 01 - UML e Padrões de ProjetoAula 01 - UML e Padrões de Projeto
Aula 01 - UML e Padrões de Projeto
 

Apostila de uml

  • 1. MINISTÉRIO DA CIÊNCIA E TECNOLOGIA INSTITUTO NACIONAL DE PESQUISAS ESPACIAIS UML: Visão Geral Gilberto Ribeiro de Queiroz gribeiro@dpi.inpe.br Disponível em: http://www.dpi.inpe.br/~gribeiro/apresentacoes 29 de Fevereiro de 2008.
  • 2. Sumário ● UML: – Motivação – Diagramas ● Oficina: – Criando diagramas UML com o JUDE Community 5
  • 3. UML ● Segundo a OMG, a Unified Modeling Language é uma linguagem visual para especificação, construção e documentação de artefatos de software ● O propósito da modelagem (criação de esquemas UML) é, principalmente, para entender e não para documentar! ● UML sozinha não resolve nada: – Ela deve ser usada dentro de um processo de desenvolvimento!
  • 4. Processo de Desenvolvimento de Sistemas ● Estabelece uma abordagem para a construção, desenvolvimento e manutenção de software: – Ex: UML + OpenUP (definição das fases de desenvolvimento e estabelecimento das regras do jogo!) ● Atualmente metodologias são iterativas e evolucionárias: – Ciclo repetitivo, com fases de curta duração – Fases contemplam todas as etapas do ciclo de desenvolvimento (requisitos, análise, projeto, implementação, teste e validação) – As fases não tentam varrer todo o conhecimento do problema, isso é obtido ao longo do tempo
  • 5. Por que / Para que usar UML? ● Vamos usar os diagramas UML para: – Ajudar a conceber nossas idéias, em relação ao sistema que estivermos projetando ● Pensar antes de codificar! – Apresentar nossas idéias ao grupo de forma que todos possam interagir e discutir um determinado ponto ● Aumentar a participação e envolvimento do time! – Documentar nossas idéias quando elas já estiverem bem consolidadas para que novos integrantes e novos colaboradores possam acelerar sua compreensão dos sistemas desenvolvidos pelo grupo
  • 6. UML ● Diagramas servem para capturar diferentes visões do sistema: – Estrutural: estática ● Diagrama de Classes ● Diagrama de Objetos ● Diagrama de Componentes ● Diagrama de Implantação – Comportamental: dinâmica ● Diagrama de Casos de Uso ● Diagrama de Seqüência ● Diagrama de Atividades ● Diagrama de Estados ● Diagrama de Colaboração
  • 8. UML: Diagrama de Casos de Uso ● Composto por: – Atores: ● Pessoas que desempenham algum papel no sistema ● Entidades externas, como outros sistemas, que interagem com o sistema sendo projetado – Casos de Uso: ● Processos ou funções que o sistema deve realizar de forma automática ou mesmo manual ● Geralmente associadas a descrições textuais – Relacionamentos: ● Atores x Casos de Uso ● Casos de Uso x Casos de Uso
  • 9. UML: Diagrama de Casos de Uso
  • 10. Descrição Casos Uso #05 Gerenciar Contas Usuários Quem incia Ator Administrador Pré-Condição Nenhum outro administrador deve estar logado no sistema 1. O Administrador informa seu login/senha 2. O sistema verifica na ACL se o usuário possui privilégios especiais 3. Se o usuário não for um super-usuário interrompe processo 4. O sistema mostra a lista de usuários e grupos Cenário 1: 5. O Administrador entra com a seguintes informações: Criar Nova Conta - nome do novo usuário, diretório home, senha inicial, privilégios, data expiração da conta 6. O servidor valida os dados 7. As informações da nova conta são gravadas na ACL Fluxo de Exceção
  • 12. Diagrama de Atividades ● É usado para mostrar uma seqüência de atividades. ● Mostra o fluxo de trabalho (workflow) a partir de um ponto inicial até um ponto final, detalhando as decisões do caminho tomado durante a execução das tarefas. ● Este diagrama possui várias aplicações, desde a definição do fluxo básico de um programa até a definição de um processo com as suas tomadas de decisões e ações.
  • 13. Diagrama de Atividades Ações Execução em Paralelo Estado Inicial Ponto de Tomada de Decisão Ponto de Junção Estado Final
  • 14. Diagrama de Atividades ● Podemos ainda ter partições: – Elas ajudam a separar as ações em blocos – Ex: ações realizadas pelo departamento A e ações realizadas pelo departamento B ● Podemos ter o envio de objetos entre uma ação e outra: – Ex: Pedido
  • 16. Representação de uma Classe Nome da classe Compartimento dos Atributos Compartimento dos Métodos Acessibilidade dos Atributos e Métodos: + atributo ou método público # atributo ou método protegido - atributo ou método privado
  • 17. Representação de um Classe Atributos estáticos aparecem sublinhados Métodos Virtuais aparecem em itálico Atributos estáticos aparecem sublinhados Métodos estáticos aparecem sublinhados
  • 18. Representação de uma Interface A classe TePolygon Implementa a Interface Interface Geometry: pode ter atributos e métodos como as classes
  • 19. Associação class Proprietario class Lote { { private: private: string nome; double area; vector<Lote*> lotes; Proprietario* proprietario_; public: public: string getNome(); double getArea(); }; };
  • 20. Generalização Superclasse Subclasses A classe TeGeometry é abstrata: por isso o itálico
  • 21. Agregação/Composição Agregação Composição
  • 22. Diagrama de Classes – Outras Considerações ● UML dá o suporte para classes templates ● Herança de classes templates pode ser expressa com “bind” de templates ● Classes de associações: – servem para qualificar os relacionamentos
  • 26. Diagrama de Seqüência ● Apresenta a ordem temporal das mensagens enviadas e recebidas pelos objetos ● Mostram a troca de mensagens entre diversos objetos num cenário específico ● Na minha visão (Gribeiro): – Ajuda a descobrir onde colocar os métodos! – Ajuda a verificar se a comunicação entre as classes está coerente!
  • 27. Diagrama de Seqüência Cenário: Editar Nova Feição Geográfica
  • 29. Diagrama de Estado ● Modela o comportamento de um objeto individual ● Especifica as seqüências de estados pelos quais um objeto passa durante seu tempo de vida em resposta a eventos
  • 31. Diagrama de Estados ● Choice: – Usado quando temos um estado em que o objeto está escolhendo o próximo estado. – Ex: Escolhendo Tipo de Mensagem: ● HTTP => Entra no estado Criando Mensagem HTTP ● Fax => Entra no estado Criando Mensagem FAX ● SMS => Entra no estado Criando Mensagem SMS ● Histórico de Estado: – Ex: Máquina Lavar => quando religada precisa lembrar em qual estado estava.
  • 33. UML: Packages ● Organização Lógica dos Artefatos: – Agrupar artefatos – Organizar o modelo
  • 34. Diagrama de Pacotes (Package Diagram)
  • 38. UML: Diagrama de Implantação