SlideShare uma empresa Scribd logo
1 de 24
Baixar para ler offline
DIAGRAMAS DE
             CASOS DE USO
             Profs: Edgar Gemo
                    Zeferino Saugene




UML




                 Casos de uso
      • Os Uses Cases ou ”casos de utilização”
        constituem em UML uma técnica para
        representar o levantamento de requisitos do
        sistema (Nunes, 2001)

      • Desde sempre que o correcto levantamento
        de requisitos no desenvolvimento de sistemas
        de informação tenta garantir que o sistema
        será útil para o utilizador final, estando de
        acordo com as suas necessidades (Nunes,
        2001:13)
UML




                                                        1
Diagramas Classes

        • Profs:    Edgar Gemo
        •           Zeferino Saugene



UML




                 Introdução
      Aspectos tratados pelos Diagramas de
      Classe: Dados e Funções




UML




                                             2
Introdução

      • Um Diagrama de Classes:
        – Dá uma visão estática do sistema;
        – Exibe um conjunto de classes,
          interfaces e seus relacionamentos;
        – As classes especificam tanto a
          estrutura como o comportamento
          dos objectos (que são instâncias de
          classes);

UML




                 Introdução
      • Ao completar os diagramas de
        interação, podemos completar o
        diagrama de classes:
        – Normalmente criamos os diagramas
          de classe em paralelo aos de
          interação
          • No final, precisamos apenas incluir os
            detalhes que faltam (métodos, atributos
            ou associações)

UML




                                                      3
Introdução
                • Informações tipicamente
                  encontradas num Diagrama de
                  Classes:
                      – Classes, associações e atributos
                      – Interfaces, incluindo métodos e
                        constantes
                      – Métodos
                      – Informação de tipo de atributos
                      – Navegabilidade
                      – Dependências
UML




                  Exemplo de Diagrama de
                          Classes
Nome da Classe
                                             Atributo

              Estudante                                                                       Disciplina
      CodEstudante : string                                                         CodDisciplina : String
      Nome : String                                    Inscrição                    Nome : String
      Apelido : String                          CodEstudante : String               Descrição : String
      BI/DIR : String                           CodDisciplina : String              Nível(Ano) : Integer
      Endereço : String                         DataInscrição : date                Semestre : String
      Sexo : char                                                                   RegimeTemporal : Integer
      dataNascimento : date      1    1..*      efectuarInscricao()      1..*   1   CargaSemanal : integer
      Naturalidade : string                     alterarIncricao()                   Bibliografia : String
                                                removerInscricao()
      registarEstudante()                       listarInscritos()                   registarDisciplina()
      alterarDadosestudante()                                                       alterarDisciplina()
      removerEstudante()                                                            removerDisciplina()




       Operação               Associação                     Multiplicidade
UML




                                                                                                               4
Construindo um
             Diagrama de Classes
       • Identificar todas as classes que
         participam no sistema
       • Adicionar as classes ao diagrama
       • Identificar os atributos para cada
         classe
       • Adicionar os métodos respectivos
         a cada classe

UML




               Construindo um
             Diagrama de Classes
      • Escolher os tipos dos atributos e dos
        parâmetros dos métodos
      • Incluir as associações necessárias para
        dar visibilidade de atributos
      • Adicionar setas às associações para
        indicar a direção da visibilidade de
        atributos (opcional)
      • Introduzir linhas de relações de
        dependência para indicar a visibilidade
UML     que não seja de atributo




                                                  5
Atributos
       • Um atributo representa alguma
         propriedade que é compartilhada por
         todos os objectos de uma classe
       • Descrevem os dados contidos nas
         instâncias de uma classe
       • Servem para manter o estado dos
         objectos.
          – Cada objecto possui valores
            independentes para os mesmos
            atributos
UML




            Sintaxe de Atributos
      • Sintaxe
         – [visibilidade] nome [[multiplicidade]] [:tipo]
           [= valor inicial] [{propriedades}]
         – Atributos de classe são sublinhados
      • Exemplos
         – CPF: Integer
         – Nome: String = “Alberto”
         – Endereço [0..20] : String
         – gerenciadorDeJanelas: GerenciadorDeJanelas


UML




                                                            6
Operações
      • Uma operação é a implementação de um
        serviço que pode ser requisitado a
        qualquer objecto ou classe, possivelmente
        afectando o seu estado
        – A execução de uma operação pode resultar na
          alteração do valor de seus atributos
        – Operações de instância
           • Actuam sobre uma instância (objecto) de uma classe
        – Operações de classe
           • Actuam sobre a classe, criando e/ou modificando
             atributos de classe

UML




           Sintaxe para Operações
       • Sintaxe
          – [visibilidade] nome [(lista-de-
            parâmetros)]
            [:tipo-de-retorno] [{propriedades}]
          – Operações de classe são sublinhadas
       • Exemplos
          – LerTemperatura () : Number
          – Área (Lado : Integer) : Integer
          – ValorPadrão () : Integer {query}
UML




                                                                  7
Relacionamentos
      • Poucas classes têm sentido sozinhas
      • Os relacionamentos ligam
        classes/objectos entre si criando relações
        lógicas entre eles
      • Os relacionamentos podem ser dos
        seguintes tipos:
         – Associação,
         – Agregação e Composição ,
         – Generalização e Herança.

UML




               Notação para
              Relacionamentos
        Associação               Herança


        Agregação              Dependência



        Realização              Composição



UML




                                                     8
Associação
      • Surge da necessidade de obter
        mais informação de uma
        associação.
      • Normalmente, as classes
        associativas surgem nas relações
        de “Muitos para Muitos”
                                                 rótulo da associação


                           emprega
       Companhia                             Funcionário
UML




           Classe Associativa
      • É introduzida quando uma
        associação tem propriedades
        associadas

                       *           1..*
           Companhia                      Empregado



                           Trabalho
                           descrição
                           salário

UML




                                                                        9
Associação Unária
      • Quando há um relacionamento de
        uma classe para ela mesma

         Funcionário 1..*

            1                      rótulo da associação

                gerencia



UML




            Associação Binária
      • Quando há duas classe envolvidas
        na forma direta de uma para a
        outra

      Cliente         faz             Pedido
                1           0..*




UML




                                                          10
Associação N-ária
       • As linhas das associações são
         conectadas por um losango




UML




        Agregação e Composição
      • A Agregação pretende demonstrar que
        um “Todo” é composto por “Partes”
      • A Composição é uma forma mais forte
        de Agregação
        – Há uma coincidência da vidas das partes
        – Uma vez criada a parte, ela irá viver e morrer
          com o todo
        – O “Todo” é responsável pelo gerenciamento
          da criação e destruição das partes


UML




                                                           11
Agregação e Composição

      • Exemplo de uma Agregação

                                 Mesa
        Restaurante
                                 Num_Mesa
       Nome           1   1..*
       Morada




UML




                Exemplo de uma
                  Composição

                                 Item Encomenda
        Encomenda
                                  numItem
        numE
                      1   1..*    quantidade
        data
        tipoE




UML




                                                  12
Generalização e Herança
      • Generalização (Herança)
          – Relacionamento entre um elemento
            mais geral e um mais específico

          – O Conceito Herança está presente,
            pois as subclasses (filhos) herdam
            da superclasse (pai) a estrutura em
            termos de atributos e operações.


UML




      Exemplo de Generalização
                                   Forma
                                 origem

                                 mover()
                                 exibir()




                  Retângulo        Círculo             Polígono
                 ponto : Ponto   raio : float   pontos : ListaDePontos

                                                exibir()
      Quadrado




UML




                                                                         13
Multiplicidade
      • É a cardinalidade de uma associação
                                  (também usa-se 0..*)




UML




              Navegabilidade
      • Em geral a navegação entre as
        classes de uma associação é bi-
        direcional.
      • Porém, podemos limitá-la a
        apenas uma direção

                      tem
          Usuário               Senha



UML




                                                         14
Exemplos de Diagramas de Classes
      Classes que se
      relacionam
      duplamente:




      Informação que
      surge a partir da
      associação de
      duas outras
      classes:

UML




      Exemplos de Diagramas de Classes
      Agregação:




UML




                                         15
Exemplos de Diagramas de Classes
      Composição:
      •    A remoção do todo
        implica na remoção das
        partes;
      • O acesso às partes é
        restrito ao todo.




UML




          Exemplos de Diagramas de Classes
      Generalização/Especificação – A Classe Abstracta
          •Não permite a criação de objectos;
          •Existe apenas para gerar novas sub-classes.




UML




                                                         16
Diagramas de Classes - Restrições

         • Descrevem situações que NÃO podem ocorrer no
           modelo
         • Pode ser usado para:
               Que o programador siga a orientação,
               Transformação formal de modelos (MDA).




UML




        Diagramas de Classes - Restrições
      Restrição {ou}
      implica na
      selecção exclusiva
      entre duas ou mais
      associações
      existentes em uma
      classe.




      Observação:
      possível
      mapeamento para
      uso de restrição
      {ou} com
      multiplicidade
UML   máxima 1.




                                                          17
Diagramas de Classes - Restrições
      Observar que para associações OU do tipo 1..* não
      possível mapear directamente para herança.




UML




      Diagramas de Classes - Restrições




UML




                                                          18
Diagramas de Classes - Discussão
      Dado o modelo de controle académico:
      • O aluno pode exercer o papel de monitor durante um período
      • Permitir que uma pessoa exerça simultaneamente o papel de
        Professor e Aluno da Universidade


      Qual é o Problema?




UML




       Diagramas de Classes - Discussão

      Qual é o Problema?

      • Acomodação inábil de objectos que mudam de classes,
      • Transmutação.




UML




                                                                     19
Diagramas de Classes - Discussão

      A Solução Óptima:

      • Combinar herança e associação.




UML




      Diagramas de Classes - Erros Comuns
      1. Usar classes ou associações para representar
         consultas ou operações do sistema que não devem ser
         registradas.




      2. Identificar métodos nas classes sem ter feito a
         modelação temporal



                                  O que é sintonizar?
                                  -Quem usa?
UML                               -Quais os parâmetros?




                                                               20
Diagramas de Classes - Erros Comuns
      3. Inserir atributos quando o ideal é criar uma classe.




UML




      Diagramas de Classes - Erros Comuns
      4. Usar herança quando a quantidade de tipos é grande
         ou dinâmica.




UML




                                                                21
Diagramas de Classes - Erros Comuns
      5. Inserir chaves-estrangeiras no diagrama de classes:
               •     As associações são suficientes.




UML




                        Diagramas de Classes -
                                    Exercícios
      1. Em uma Universidade, o plano de carreira para
         professores é dividido em quatro etapas: Auxiliar,
         Assistente, Adjunto e Titular.
           •       Construa um modelo de classes que preserve o histórico de um
                   professor durante a sua vida profissional. Em particular, é
                   importante manter o registro do início e término do
                   desempenho em uma das etapas.
      2.       Considerando um sistema de gestão duma cadeia de Hoteis e os
               seus serviços, desenhar um diagrama de classes mostrando
               relacionamentos entre as seguintes classes de objectos (Incluir
               associações, agregações, generalizações e atributos):
           •       Hotel, quarto, hóspede, funcionário, sauna, boate, restaurante,
                   bar, piscina, reserva e outras classes relacionadas.


UML




                                                                                     22
Diagramas de Classes - Exercícios
      3.    Considere o diagrama de classes UML abaixo e marque a
            alternativa correcta:
           a)   Considerando um objecto e qualquer de Empresa, pode-se afirmar
                que a quantidade de objectos de Funcionário que participam da
                associação a com e é sempre inferior à quantidade de objectos que
                participam de b (também com e);
           b)   Não existem objectos de Funcionário que participam
                simultaneamente da associação a e b com um objecto de Empresa;
           c)   Pode existir um objecto de Empresa que não esteja associado a
                qualquer objecto de Funcionário, seja pela associação a ou b;
           d)   Um objecto de Funcionário pode estar associado com mais de um
                objecto de Empresa;
           e)   A associação de subordinação garante que um supervisor está
                associado com subordinados que estão na mesma Empresa.




UML




            Diagramas de Classes - Exercícios
      4.    Considere o diagrama de classes UML abaixo e marque a
            alternativa correcta:
           a)   Para cada objecto de Actividade existe somente um único valor de
                data-início;
           b)   Um objecto de Actor pode simultaneamente gerir vários projetos e
                actuar em várias actividades;
           c)   Um Objectivo pode ser atendido por vários objectos de Actividade;
           d)   Em um Projecto sua duração é determinada pela duração de suas
                actividades;
           e)   Os objectos de Actividade são ordenados pelo valor do atributo id.




UML




                                                                                     23
Bibliografia
      • Bennett, S. et all (2002) Object-Oriented
        Systems Analysis and Design using UML,
        U.S., Mc Graw-Hill Education
      • Bezerra, E. (2003), Princípios de Análise e
        Projecto de Sistemas com UML, Rio de
        Janeiro, Editora Campus Ltda
      • Neto, A.C. (2001), Análise e Projeto de
        Sistemas I, http://www.dcce.ufs.br/
      • Nunes, M. e O´Neill (2001), Fundamental
        de UML, Lisboa, FCA - Editora de
        Informática

UML




                                                      24

Mais conteúdo relacionado

Mais procurados

Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetosCleyton Ferrari
 
Aula UML - Unified Modeling Language
Aula UML - Unified Modeling LanguageAula UML - Unified Modeling Language
Aula UML - Unified Modeling LanguageCloves da Rocha
 
Aula 04 - Diagrama de casos de uso
Aula 04 - Diagrama de casos de usoAula 04 - Diagrama de casos de uso
Aula 04 - Diagrama de casos de usoLeinylson Fontinele
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Daniel Brandão
 
UML - Criando Diagramas Eficientes
UML - Criando Diagramas EficientesUML - Criando Diagramas Eficientes
UML - Criando Diagramas EficientesRodrigo Cascarrolho
 
Introdução à Programação Web com Angular
Introdução à Programação Web com AngularIntrodução à Programação Web com Angular
Introdução à Programação Web com AngularElmano Cavalcanti
 
Es capítulo 5 - modelagem de sistemas
Es   capítulo 5  - modelagem de sistemasEs   capítulo 5  - modelagem de sistemas
Es capítulo 5 - modelagem de sistemasFelipe Oliveira
 
Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho
Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. CarvalhoAula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho
Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. CarvalhoRudson Kiyoshi Souza Carvalho
 
Análise Orientada a Objetos com UML
Análise Orientada a Objetos com UMLAnálise Orientada a Objetos com UML
Análise Orientada a Objetos com UMLEliseu Castelo
 
Aula 03 - UML e Padrões de Projeto
Aula 03 - UML e Padrões de ProjetoAula 03 - UML e Padrões de Projeto
Aula 03 - UML e Padrões de ProjetoVinícius de Paula
 
Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)
Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)
Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)Leinylson Fontinele
 

Mais procurados (20)

Uml
UmlUml
Uml
 
UML
UMLUML
UML
 
Aula 06 - Diagrama de classes
Aula 06 - Diagrama de classesAula 06 - Diagrama de classes
Aula 06 - Diagrama de classes
 
Apresentação da UML
Apresentação da UMLApresentação da UML
Apresentação da UML
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
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
 
Aula UML - Unified Modeling Language
Aula UML - Unified Modeling LanguageAula UML - Unified Modeling Language
Aula UML - Unified Modeling Language
 
Diagrama de Casos de Uso
Diagrama de Casos de UsoDiagrama de Casos de Uso
Diagrama de Casos de Uso
 
Caso De Uso
Caso De UsoCaso De Uso
Caso De Uso
 
Aula 04 - Diagrama de casos de uso
Aula 04 - Diagrama de casos de usoAula 04 - Diagrama de casos de uso
Aula 04 - Diagrama de casos de uso
 
Diagrama sequencia
Diagrama sequenciaDiagrama sequencia
Diagrama sequencia
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)
 
UML - Criando Diagramas Eficientes
UML - Criando Diagramas EficientesUML - Criando Diagramas Eficientes
UML - Criando Diagramas Eficientes
 
Introdução à Programação Web com Angular
Introdução à Programação Web com AngularIntrodução à Programação Web com Angular
Introdução à Programação Web com Angular
 
Es capítulo 5 - modelagem de sistemas
Es   capítulo 5  - modelagem de sistemasEs   capítulo 5  - modelagem de sistemas
Es capítulo 5 - modelagem de sistemas
 
Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho
Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. CarvalhoAula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho
Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho
 
Análise Orientada a Objetos com UML
Análise Orientada a Objetos com UMLAnálise Orientada a Objetos com UML
Análise Orientada a Objetos com UML
 
Aula 03 - UML e Padrões de Projeto
Aula 03 - UML e Padrões de ProjetoAula 03 - UML e Padrões de Projeto
Aula 03 - UML e Padrões de Projeto
 
Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)
Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)
Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)
 
UML - Diagrama de Pacotes
UML - Diagrama de PacotesUML - Diagrama de Pacotes
UML - Diagrama de Pacotes
 

Destaque

Exercicio de UML - Documentacao Restaurante
Exercicio de UML  - Documentacao RestauranteExercicio de UML  - Documentacao Restaurante
Exercicio de UML - Documentacao RestauranteJuliana Cindra
 
Projeto de sistemas com UML - Parte 2
Projeto de sistemas com UML - Parte 2Projeto de sistemas com UML - Parte 2
Projeto de sistemas com UML - Parte 2Natanael Simões
 
Aula 03 - Introdução aos Diagramas de Atividade
Aula 03 - Introdução aos Diagramas de AtividadeAula 03 - Introdução aos Diagramas de Atividade
Aula 03 - Introdução aos Diagramas de AtividadeAlberto Simões
 
Diagrama de classes
Diagrama de classesDiagrama de classes
Diagrama de classesErica Fabri
 
Diagramas de casos de uso
Diagramas de casos de usoDiagramas de casos de uso
Diagramas de casos de usoSergio Chaves
 
Diagrama de Atividades - UML
Diagrama de Atividades - UMLDiagrama de Atividades - UML
Diagrama de Atividades - UMLVinícius Barros
 
Aula diagrama de atividade 3º periodo uniao
Aula diagrama de atividade 3º periodo uniaoAula diagrama de atividade 3º periodo uniao
Aula diagrama de atividade 3º periodo uniaoMaria Alice Jovinski
 
Análise e Projeto de Sistemas
Análise e Projeto de SistemasAnálise e Projeto de Sistemas
Análise e Projeto de SistemasGuilherme
 

Destaque (15)

Exercicio de UML - Documentacao Restaurante
Exercicio de UML  - Documentacao RestauranteExercicio de UML  - Documentacao Restaurante
Exercicio de UML - Documentacao Restaurante
 
Modulo Algorítmica III - Julio Vasquez
Modulo Algorítmica III - Julio VasquezModulo Algorítmica III - Julio Vasquez
Modulo Algorítmica III - Julio Vasquez
 
Diagrama de Classe
Diagrama de ClasseDiagrama de Classe
Diagrama de Classe
 
8 02
8 028 02
8 02
 
Projeto de sistemas com UML - Parte 2
Projeto de sistemas com UML - Parte 2Projeto de sistemas com UML - Parte 2
Projeto de sistemas com UML - Parte 2
 
Aula 03 - Introdução aos Diagramas de Atividade
Aula 03 - Introdução aos Diagramas de AtividadeAula 03 - Introdução aos Diagramas de Atividade
Aula 03 - Introdução aos Diagramas de Atividade
 
Aula7 diagrama classes
Aula7 diagrama classesAula7 diagrama classes
Aula7 diagrama classes
 
Diagrama de classes
Diagrama de classesDiagrama de classes
Diagrama de classes
 
Erros comuns em java
Erros comuns em javaErros comuns em java
Erros comuns em java
 
Banco de Dados
Banco de DadosBanco de Dados
Banco de Dados
 
Diagramas de casos de uso
Diagramas de casos de usoDiagramas de casos de uso
Diagramas de casos de uso
 
Diagrama de Atividades - UML
Diagrama de Atividades - UMLDiagrama de Atividades - UML
Diagrama de Atividades - UML
 
Aula diagrama de atividade 3º periodo uniao
Aula diagrama de atividade 3º periodo uniaoAula diagrama de atividade 3º periodo uniao
Aula diagrama de atividade 3º periodo uniao
 
Aula diagrama de classes
Aula diagrama de classesAula diagrama de classes
Aula diagrama de classes
 
Análise e Projeto de Sistemas
Análise e Projeto de SistemasAnálise e Projeto de Sistemas
Análise e Projeto de Sistemas
 

Semelhante a Diagramas de Casos de Uso e Classes para Análise de Requisitos

Aula classes abstratas 3º periodo uniao
Aula classes abstratas  3º periodo uniaoAula classes abstratas  3º periodo uniao
Aula classes abstratas 3º periodo uniaoMaria Alice Jovinski
 
Apostila de uml
Apostila de umlApostila de uml
Apostila de umlaudiclerio
 
Apresentação sobre Diagrama de Classes com exemplos
Apresentação sobre Diagrama de Classes com exemplosApresentação sobre Diagrama de Classes com exemplos
Apresentação sobre Diagrama de Classes com exemplosmauroladeiafilho
 
Revisão 1º bimestre - Casos de Usos e Classes
Revisão 1º bimestre - Casos de Usos e ClassesRevisão 1º bimestre - Casos de Usos e Classes
Revisão 1º bimestre - Casos de Usos e ClassesMaria Alice Jovinski
 
Diagrama de classe aula 02 PDF para UML.
Diagrama de classe aula 02 PDF para UML.Diagrama de classe aula 02 PDF para UML.
Diagrama de classe aula 02 PDF para UML.NunoVieira83
 
Workflows, diagramas e classes de Analise. Sistemas de Informação
Workflows, diagramas e classes de Analise. Sistemas de InformaçãoWorkflows, diagramas e classes de Analise. Sistemas de Informação
Workflows, diagramas e classes de Analise. Sistemas de InformaçãoPedro De Almeida
 
Metodologia orientado a objetos
Metodologia orientado a objetosMetodologia orientado a objetos
Metodologia orientado a objetosGabriel Faustino
 
Integração de Tecnologias
Integração de TecnologiasIntegração de Tecnologias
Integração de Tecnologiaselliando dias
 
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e HerançaJava - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e HerançaMoises Omena
 
Apresentação versão 1.5
Apresentação   versão 1.5Apresentação   versão 1.5
Apresentação versão 1.5oliveiraprog
 

Semelhante a Diagramas de Casos de Uso e Classes para Análise de Requisitos (20)

Aula 5 uml1 (1)
Aula 5   uml1 (1)Aula 5   uml1 (1)
Aula 5 uml1 (1)
 
Diagrama classes
Diagrama classesDiagrama classes
Diagrama classes
 
Aula classes abstratas 3º periodo uniao
Aula classes abstratas  3º periodo uniaoAula classes abstratas  3º periodo uniao
Aula classes abstratas 3º periodo uniao
 
Aula5 linguagem uml-introducao
Aula5 linguagem uml-introducaoAula5 linguagem uml-introducao
Aula5 linguagem uml-introducao
 
Aula uml 3
Aula uml 3Aula uml 3
Aula uml 3
 
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
 
Apostila de uml
Apostila de umlApostila de uml
Apostila de uml
 
Apresentação sobre Diagrama de Classes com exemplos
Apresentação sobre Diagrama de Classes com exemplosApresentação sobre Diagrama de Classes com exemplos
Apresentação sobre Diagrama de Classes com exemplos
 
Aula 6 -_casos_de_uso
Aula 6 -_casos_de_usoAula 6 -_casos_de_uso
Aula 6 -_casos_de_uso
 
Revisão 1º bimestre - Casos de Usos e Classes
Revisão 1º bimestre - Casos de Usos e ClassesRevisão 1º bimestre - Casos de Usos e Classes
Revisão 1º bimestre - Casos de Usos e Classes
 
Modelagem de Sistemas de Informação 08 - Diagrama de Classes
Modelagem de Sistemas de Informação 08 - Diagrama de ClassesModelagem de Sistemas de Informação 08 - Diagrama de Classes
Modelagem de Sistemas de Informação 08 - Diagrama de Classes
 
Diagrama de classe aula 02 PDF para UML.
Diagrama de classe aula 02 PDF para UML.Diagrama de classe aula 02 PDF para UML.
Diagrama de classe aula 02 PDF para UML.
 
Análise de Sistemas Orientado a Objetos - 06 - Diagrama de Classes
Análise de Sistemas Orientado a Objetos - 06 - Diagrama de ClassesAnálise de Sistemas Orientado a Objetos - 06 - Diagrama de Classes
Análise de Sistemas Orientado a Objetos - 06 - Diagrama de Classes
 
Workflows, diagramas e classes de Analise. Sistemas de Informação
Workflows, diagramas e classes de Analise. Sistemas de InformaçãoWorkflows, diagramas e classes de Analise. Sistemas de Informação
Workflows, diagramas e classes de Analise. Sistemas de Informação
 
Metodologia orientado a objetos
Metodologia orientado a objetosMetodologia orientado a objetos
Metodologia orientado a objetos
 
Integração de Tecnologias
Integração de TecnologiasIntegração de Tecnologias
Integração de Tecnologias
 
UMLIntro.pptx
UMLIntro.pptxUMLIntro.pptx
UMLIntro.pptx
 
Relatório da uml
Relatório da umlRelatório da uml
Relatório da uml
 
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e HerançaJava - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
 
Apresentação versão 1.5
Apresentação   versão 1.5Apresentação   versão 1.5
Apresentação versão 1.5
 

Mais de Portal_do_estudante_ADS (15)

Diagrama de classes
Diagrama de classesDiagrama de classes
Diagrama de classes
 
Diagramas de pacotes
Diagramas de pacotesDiagramas de pacotes
Diagramas de pacotes
 
Diagramas de distribuicao
Diagramas de distribuicaoDiagramas de distribuicao
Diagramas de distribuicao
 
Diagramas de componentes
Diagramas de componentesDiagramas de componentes
Diagramas de componentes
 
Aula10 diagrama colaboracao
Aula10 diagrama colaboracaoAula10 diagrama colaboracao
Aula10 diagrama colaboracao
 
Aula9 diagrama de_sequencia
Aula9 diagrama de_sequenciaAula9 diagrama de_sequencia
Aula9 diagrama de_sequencia
 
Aula8 diagrama de_objectos
Aula8 diagrama de_objectosAula8 diagrama de_objectos
Aula8 diagrama de_objectos
 
Aula2 paradigmas
Aula2 paradigmasAula2 paradigmas
Aula2 paradigmas
 
Aula1 eng software
Aula1 eng softwareAula1 eng software
Aula1 eng software
 
Aula capitulo9 diagrama_estados
Aula capitulo9 diagrama_estadosAula capitulo9 diagrama_estados
Aula capitulo9 diagrama_estados
 
Aula 5 -_fundamentos_de_uml
Aula 5 -_fundamentos_de_umlAula 5 -_fundamentos_de_uml
Aula 5 -_fundamentos_de_uml
 
Aula 4 -_metodologia_e_tecnicas_de_analise_oo
Aula 4 -_metodologia_e_tecnicas_de_analise_ooAula 4 -_metodologia_e_tecnicas_de_analise_oo
Aula 4 -_metodologia_e_tecnicas_de_analise_oo
 
Aula -diagrama_de_actividade
Aula  -diagrama_de_actividadeAula  -diagrama_de_actividade
Aula -diagrama_de_actividade
 
Aula 3 -_fundamentos_sobre_aoo
Aula 3 -_fundamentos_sobre_aooAula 3 -_fundamentos_sobre_aoo
Aula 3 -_fundamentos_sobre_aoo
 
Rup vs. xp
Rup vs. xpRup vs. xp
Rup vs. xp
 

Diagramas de Casos de Uso e Classes para Análise de Requisitos

  • 1. DIAGRAMAS DE CASOS DE USO Profs: Edgar Gemo Zeferino Saugene UML Casos de uso • Os Uses Cases ou ”casos de utilização” constituem em UML uma técnica para representar o levantamento de requisitos do sistema (Nunes, 2001) • Desde sempre que o correcto levantamento de requisitos no desenvolvimento de sistemas de informação tenta garantir que o sistema será útil para o utilizador final, estando de acordo com as suas necessidades (Nunes, 2001:13) UML 1
  • 2. Diagramas Classes • Profs: Edgar Gemo • Zeferino Saugene UML Introdução Aspectos tratados pelos Diagramas de Classe: Dados e Funções UML 2
  • 3. Introdução • Um Diagrama de Classes: – Dá uma visão estática do sistema; – Exibe um conjunto de classes, interfaces e seus relacionamentos; – As classes especificam tanto a estrutura como o comportamento dos objectos (que são instâncias de classes); UML Introdução • Ao completar os diagramas de interação, podemos completar o diagrama de classes: – Normalmente criamos os diagramas de classe em paralelo aos de interação • No final, precisamos apenas incluir os detalhes que faltam (métodos, atributos ou associações) UML 3
  • 4. Introdução • Informações tipicamente encontradas num Diagrama de Classes: – Classes, associações e atributos – Interfaces, incluindo métodos e constantes – Métodos – Informação de tipo de atributos – Navegabilidade – Dependências UML Exemplo de Diagrama de Classes Nome da Classe Atributo Estudante Disciplina CodEstudante : string CodDisciplina : String Nome : String Inscrição Nome : String Apelido : String CodEstudante : String Descrição : String BI/DIR : String CodDisciplina : String Nível(Ano) : Integer Endereço : String DataInscrição : date Semestre : String Sexo : char RegimeTemporal : Integer dataNascimento : date 1 1..* efectuarInscricao() 1..* 1 CargaSemanal : integer Naturalidade : string alterarIncricao() Bibliografia : String removerInscricao() registarEstudante() listarInscritos() registarDisciplina() alterarDadosestudante() alterarDisciplina() removerEstudante() removerDisciplina() Operação Associação Multiplicidade UML 4
  • 5. Construindo um Diagrama de Classes • Identificar todas as classes que participam no sistema • Adicionar as classes ao diagrama • Identificar os atributos para cada classe • Adicionar os métodos respectivos a cada classe UML Construindo um Diagrama de Classes • Escolher os tipos dos atributos e dos parâmetros dos métodos • Incluir as associações necessárias para dar visibilidade de atributos • Adicionar setas às associações para indicar a direção da visibilidade de atributos (opcional) • Introduzir linhas de relações de dependência para indicar a visibilidade UML que não seja de atributo 5
  • 6. Atributos • Um atributo representa alguma propriedade que é compartilhada por todos os objectos de uma classe • Descrevem os dados contidos nas instâncias de uma classe • Servem para manter o estado dos objectos. – Cada objecto possui valores independentes para os mesmos atributos UML Sintaxe de Atributos • Sintaxe – [visibilidade] nome [[multiplicidade]] [:tipo] [= valor inicial] [{propriedades}] – Atributos de classe são sublinhados • Exemplos – CPF: Integer – Nome: String = “Alberto” – Endereço [0..20] : String – gerenciadorDeJanelas: GerenciadorDeJanelas UML 6
  • 7. Operações • Uma operação é a implementação de um serviço que pode ser requisitado a qualquer objecto ou classe, possivelmente afectando o seu estado – A execução de uma operação pode resultar na alteração do valor de seus atributos – Operações de instância • Actuam sobre uma instância (objecto) de uma classe – Operações de classe • Actuam sobre a classe, criando e/ou modificando atributos de classe UML Sintaxe para Operações • Sintaxe – [visibilidade] nome [(lista-de- parâmetros)] [:tipo-de-retorno] [{propriedades}] – Operações de classe são sublinhadas • Exemplos – LerTemperatura () : Number – Área (Lado : Integer) : Integer – ValorPadrão () : Integer {query} UML 7
  • 8. Relacionamentos • Poucas classes têm sentido sozinhas • Os relacionamentos ligam classes/objectos entre si criando relações lógicas entre eles • Os relacionamentos podem ser dos seguintes tipos: – Associação, – Agregação e Composição , – Generalização e Herança. UML Notação para Relacionamentos Associação Herança Agregação Dependência Realização Composição UML 8
  • 9. Associação • Surge da necessidade de obter mais informação de uma associação. • Normalmente, as classes associativas surgem nas relações de “Muitos para Muitos” rótulo da associação emprega Companhia Funcionário UML Classe Associativa • É introduzida quando uma associação tem propriedades associadas * 1..* Companhia Empregado Trabalho descrição salário UML 9
  • 10. Associação Unária • Quando há um relacionamento de uma classe para ela mesma Funcionário 1..* 1 rótulo da associação gerencia UML Associação Binária • Quando há duas classe envolvidas na forma direta de uma para a outra Cliente faz Pedido 1 0..* UML 10
  • 11. Associação N-ária • As linhas das associações são conectadas por um losango UML Agregação e Composição • A Agregação pretende demonstrar que um “Todo” é composto por “Partes” • A Composição é uma forma mais forte de Agregação – Há uma coincidência da vidas das partes – Uma vez criada a parte, ela irá viver e morrer com o todo – O “Todo” é responsável pelo gerenciamento da criação e destruição das partes UML 11
  • 12. Agregação e Composição • Exemplo de uma Agregação Mesa Restaurante Num_Mesa Nome 1 1..* Morada UML Exemplo de uma Composição Item Encomenda Encomenda numItem numE 1 1..* quantidade data tipoE UML 12
  • 13. Generalização e Herança • Generalização (Herança) – Relacionamento entre um elemento mais geral e um mais específico – O Conceito Herança está presente, pois as subclasses (filhos) herdam da superclasse (pai) a estrutura em termos de atributos e operações. UML Exemplo de Generalização Forma origem mover() exibir() Retângulo Círculo Polígono ponto : Ponto raio : float pontos : ListaDePontos exibir() Quadrado UML 13
  • 14. Multiplicidade • É a cardinalidade de uma associação (também usa-se 0..*) UML Navegabilidade • Em geral a navegação entre as classes de uma associação é bi- direcional. • Porém, podemos limitá-la a apenas uma direção tem Usuário Senha UML 14
  • 15. Exemplos de Diagramas de Classes Classes que se relacionam duplamente: Informação que surge a partir da associação de duas outras classes: UML Exemplos de Diagramas de Classes Agregação: UML 15
  • 16. Exemplos de Diagramas de Classes Composição: • A remoção do todo implica na remoção das partes; • O acesso às partes é restrito ao todo. UML Exemplos de Diagramas de Classes Generalização/Especificação – A Classe Abstracta •Não permite a criação de objectos; •Existe apenas para gerar novas sub-classes. UML 16
  • 17. Diagramas de Classes - Restrições • Descrevem situações que NÃO podem ocorrer no modelo • Pode ser usado para: Que o programador siga a orientação, Transformação formal de modelos (MDA). UML Diagramas de Classes - Restrições Restrição {ou} implica na selecção exclusiva entre duas ou mais associações existentes em uma classe. Observação: possível mapeamento para uso de restrição {ou} com multiplicidade UML máxima 1. 17
  • 18. Diagramas de Classes - Restrições Observar que para associações OU do tipo 1..* não possível mapear directamente para herança. UML Diagramas de Classes - Restrições UML 18
  • 19. Diagramas de Classes - Discussão Dado o modelo de controle académico: • O aluno pode exercer o papel de monitor durante um período • Permitir que uma pessoa exerça simultaneamente o papel de Professor e Aluno da Universidade Qual é o Problema? UML Diagramas de Classes - Discussão Qual é o Problema? • Acomodação inábil de objectos que mudam de classes, • Transmutação. UML 19
  • 20. Diagramas de Classes - Discussão A Solução Óptima: • Combinar herança e associação. UML Diagramas de Classes - Erros Comuns 1. Usar classes ou associações para representar consultas ou operações do sistema que não devem ser registradas. 2. Identificar métodos nas classes sem ter feito a modelação temporal O que é sintonizar? -Quem usa? UML -Quais os parâmetros? 20
  • 21. Diagramas de Classes - Erros Comuns 3. Inserir atributos quando o ideal é criar uma classe. UML Diagramas de Classes - Erros Comuns 4. Usar herança quando a quantidade de tipos é grande ou dinâmica. UML 21
  • 22. Diagramas de Classes - Erros Comuns 5. Inserir chaves-estrangeiras no diagrama de classes: • As associações são suficientes. UML Diagramas de Classes - Exercícios 1. Em uma Universidade, o plano de carreira para professores é dividido em quatro etapas: Auxiliar, Assistente, Adjunto e Titular. • Construa um modelo de classes que preserve o histórico de um professor durante a sua vida profissional. Em particular, é importante manter o registro do início e término do desempenho em uma das etapas. 2. Considerando um sistema de gestão duma cadeia de Hoteis e os seus serviços, desenhar um diagrama de classes mostrando relacionamentos entre as seguintes classes de objectos (Incluir associações, agregações, generalizações e atributos): • Hotel, quarto, hóspede, funcionário, sauna, boate, restaurante, bar, piscina, reserva e outras classes relacionadas. UML 22
  • 23. Diagramas de Classes - Exercícios 3. Considere o diagrama de classes UML abaixo e marque a alternativa correcta: a) Considerando um objecto e qualquer de Empresa, pode-se afirmar que a quantidade de objectos de Funcionário que participam da associação a com e é sempre inferior à quantidade de objectos que participam de b (também com e); b) Não existem objectos de Funcionário que participam simultaneamente da associação a e b com um objecto de Empresa; c) Pode existir um objecto de Empresa que não esteja associado a qualquer objecto de Funcionário, seja pela associação a ou b; d) Um objecto de Funcionário pode estar associado com mais de um objecto de Empresa; e) A associação de subordinação garante que um supervisor está associado com subordinados que estão na mesma Empresa. UML Diagramas de Classes - Exercícios 4. Considere o diagrama de classes UML abaixo e marque a alternativa correcta: a) Para cada objecto de Actividade existe somente um único valor de data-início; b) Um objecto de Actor pode simultaneamente gerir vários projetos e actuar em várias actividades; c) Um Objectivo pode ser atendido por vários objectos de Actividade; d) Em um Projecto sua duração é determinada pela duração de suas actividades; e) Os objectos de Actividade são ordenados pelo valor do atributo id. UML 23
  • 24. Bibliografia • Bennett, S. et all (2002) Object-Oriented Systems Analysis and Design using UML, U.S., Mc Graw-Hill Education • Bezerra, E. (2003), Princípios de Análise e Projecto de Sistemas com UML, Rio de Janeiro, Editora Campus Ltda • Neto, A.C. (2001), Análise e Projeto de Sistemas I, http://www.dcce.ufs.br/ • Nunes, M. e O´Neill (2001), Fundamental de UML, Lisboa, FCA - Editora de Informática UML 24