Diagrama de Classes, Atividades, Sequncia e Casos de uso Globalcode open4education 2 Importncia da UML Ferramentas Dificuldades na Utilizao Diagrama de Casos de Uso Diagrama de Classes Diagrama de Atividades Diagrama de Seqncia Estudo de Caso Agenda Globalcode open4education 3 Importncia da UML Ferramentas Dificuldades na Utilizao Diagrama de Casos de Uso Diagrama de Classes Diagrama de Atividades Diagrama de Seqncia Estudo de Caso Agenda Globalcode open4education 4 Padro de documentao de modelagem de software da OMG Unifica os mtodos de Ivar Jacobson, Grady Booch e James Rumbaugh Modelagem grfica atravs de diagramas Importncia da UML Globalcode open4education 5 Importncia da UML Ferramentas Dificuldades na Utilizao Diagrama de Casos de Uso Diagrama de Classes Diagrama de Atividades Diagrama de Seqncia Estudo de Caso Agenda Globalcode open4education 6 Na hora de escolher a ferramenta importante verificar: Suporte a UML 1.4 ou UML 2.0; Integrao com cdigo fonte; Grau de customizao do cdigo fonte gerado a partir dos diagramas permitido pela ferramenta; Capacidade de exportar e importar diagramas; Ferramentas Globalcode open4education 7 Importncia da UML Ferramentas Dificuldades na Utilizao Diagrama de Casos de Uso Diagrama de Classes Diagrama de Atividades Diagrama de Seqncia Estudo de Caso Agenda Globalcode open4education 8 Sincronismo entre cdigo e documentao UML; Dificuldade em representar conceitos importantes como por exemplos excees, generics e colees; Suporte das ferramentas; Dificuldades na utilizao Globalcode open4education 9 Dependncia da ferramenta devido a dificuldade de migrao; Dificuldade em determinar se os diagramas esto tecnicamente corretos ou em nvel de detalhe ideal; Dificuldade em determinar quais diagramas devem ser feitos e vo agregar valor ao projeto; Dificuldades na utilizao Globalcode open4education 10 Importncia da UML Ferramentas Dificuldades na Utilizao Diagrama de Casos de Uso Diagrama de Classes Diagrama de Atividades Diagrama de Seqncia Estudo de Caso Agenda Globalcode open4education 11 Representam uma unidade funcional fornecida pelo sistema. Conceito criado por Ivar Jacobson. Cada caso de uso captura um ou mais cenrios que descrevem como o sistema deve interagir com os usurios para atingir determinada meta ou funcionalidade. Casos de Uso Globalcode open4education 12 Importncia dos casos de uso: Modelagem de requisitos funcionais Estimativa de esforo Planejamento de testes Casos de Uso Globalcode open4education 13 Diagrama da UML utilizado para representao grfica dos casos de uso. Seus principais elementos so: Caso de uso Ator Associao Relacionamento de incluso Relacionamento de extenso Generalizao Diagrama de Casos de Uso Globalcode open4education 14 Caso de uso: representado graficamente por uma elipse com o nome do caso de uso. Diagrama de Casos de Uso Globalcode open4education 15 Ator: representa um papel representado por uma pessoa, sistema ou dispositivo que interage com o sistema. Diagrama de Casos de Uso Globalcode open4education 16 Associao: representa a interao entre um ator e um caso de uso. Diagrama de Casos de Uso Globalcode open4education 17 Relacionamento de incluso: relacionamento entre casos de uso no qual um caso de uso inclui incondicionalmente outro caso de uso. Diagrama de Casos de Uso Globalcode open4education 18 Relacionamento de extenso: relacionamento entre casos de uso no qual um caso de uso pode estender a funcionalidade de outro caso de uso. Diagrama de Casos de Uso Globalcode open4education 19 Generalizao: relacionamento no qual um ator ou caso de uso possui as mesmas caractersticas de um elemento base, mais suas caractersticas especficas. Diagrama de Casos de Uso Globalcode open4education 20 Os diagramas de casos de uso visam dois objetivos principais: Definio de escopo: permitem que sejam visualizadas as funcionalidades presentes no sistema. Identificao de papis: permitem identificar quem interage com o sistema e a que funcionalidades tem acesso. No permitem detalhar os passos necessrios para implementao da funcionalidade. Diagrama de Casos de Uso Globalcode open4education 21 Importncia da UML Ferramentas Dificuldades na Utilizao Diagrama de Casos de Uso Diagrama de Classes Diagrama de Atividades Diagrama de Seqncia Estudo de Caso Agenda Globalcode open4education 22 Diagrama da UML utilizado para representao da estrutura das classes do sistema. Representa os relacionamentos, atributos e mtodos de cada classe. Diagrama de Classes Globalcode open4education 23 Classe: representa os mtodos e atributos de uma classe. Elementos - Diagrama de Classes Globalcode open4education 24 Associao: representa um relacionamento entre classes onde uma das classes est presente como atributo na outra. Possui algumas propriedades bsicas: Cardinalidade/Multiplicidade Navegabilidade Papis Restries Elementos - Diagrama de Classes Globalcode open4education 25 Associao com cardinalidade 1-1 Associao com cardinalidade 1-n Elementos - Diagrama de Classes Globalcode open4education 26 Associao com cardinalidade n-n Papis Elementos - Diagrama de Classes Globalcode open4education 27 Navegabilidade Restries Elementos - Diagrama de Classes Globalcode open4education 28 Associao reflexiva Elementos - Diagrama de Classes Globalcode open4education 29 Agregao Composio Elementos - Diagrama de Classes Globalcode open4education 30 Dependncia Elementos - Diagrama de Classes Globalcode open4education 31 Classe Associativa Elementos - Diagrama de Classes Globalcode open4education 32 Herana Elementos - Diagrama de Classes Globalcode open4education 33 Representao de interfaces Elementos - Diagrama de Classes Globalcode open4education 34 Implementao de interfaces Elementos - Diagrama de Classes Globalcode open4education 35 Importncia da UML Ferramentas Dificuldades na Utilizao Diagrama de Casos de Uso Diagrama de Classes Diagrama de Atividades Diagrama de Seqncia Estudo de Caso Agenda Globalcode open4education 36 Diagrama da UML utilizado para representar o fluxo de atividades dentro de um processo. Semelhantes a fluxogramas Utilizados para: Detalhar os passos de um caso de uso; Detalhar algoritmos complexos; Representar atividades concorrentes; Diagrama de Atividades Globalcode open4education 37 Atividade: representa uma etapa em um processo. Elementos - Diagrama de Atividades Globalcode open4education 38 Transio: fluxo de uma atividade para outra. Elementos - Diagrama de Atividades Globalcode open4education 39 Condio de guarda: condio necessria para a realizao da transio. Elementos - Diagrama de Atividades Globalcode open4education 40 Deciso: dependendo de uma condio, mostra as diferentes transies. Elementos - Diagrama de Atividades Globalcode open4education 41 Ponto de juno: mostra a unio de atividades em um nico fluxo. Elementos - Diagrama de Atividades Globalcode open4education 42 Incio e fim: indicam o incio e o trmino do fluxo de atividades. Elementos - Diagrama de Atividades Globalcode open4education 43 Concorrncia: indica atividades executando em paralelo. Elementos - Diagrama de Atividades Globalcode open4education 44 Raia: separa as atividades de acordo com o ator que as executa. Elementos - Diagrama de Atividades Globalcode open4education 45 Importncia da UML Ferramentas Dificuldades na Utilizao Diagrama de Casos de Uso Diagrama de Classes Diagrama de Atividades Diagrama de Seqncia Estudo de Caso Agenda Globalcode open4education 46 Diagrama da UML utilizado para representar a interao entre objetos em ordem seqencial no tempo. Utilizados para: Ilustrar e validar a lgica implementada; Identificar a necessidade de novos mtodos e classes; Identificar quais classes sero mais complexas Identificar gargalos na modelagem de um aplicativo Diagrama de Seqncia Globalcode open4education 47 Objetos: representam as instncias de classes cuja interao ser representada no diagrama. Elementos - Diagrama de Seqncia Globalcode open4education 48 Mensagens: representam as interaes entre objetos. Elementos - Diagrama de Seqncia Globalcode open4education 49 Mensagens de criao de objetos
Elementos - Diagrama de Seqncia Globalcode open4education 50 Mensagens de retorno Elementos - Diagrama de Seqncia Globalcode open4education 51 Chamadas de um mtodo na prpria classe Elementos - Diagrama de Seqncia Globalcode open4education 52 Chamada condicional if com UML 1.4 Elementos - Diagrama de Seqncia Globalcode open4education 53 Fragmentos: Elementos criados com UML 2.0 para permitir o agrupamento de diversas mensagens em fluxos mais complexos. Elementos - Diagrama de Seqncia Globalcode open4education 54 Chamada condicional if com UML 2.0 Elementos - Diagrama de Seqncia Globalcode open4education 55 Chamada condicional if/else Elementos - Diagrama de Seqncia Globalcode open4education 56 Chamadas dentro de um lao Elementos - Diagrama de Seqncia Globalcode open4education 57 Importncia da UML Ferramentas Dificuldades na Utilizao Diagrama de Casos de Uso Diagrama de Classes Diagrama de Atividades Diagrama de Seqncia Estudo de Caso Agenda Globalcode open4education 58 Apresentamos a seguir um estudo de caso de modelagem de um sistema de vendas online. Nosso exemplo vai se concentrar na funcionalidade de comprar produtos. Sistema de Vendas Online Globalcode open4education 59 Diagrama de Casos de Uso Globalcode open4education 60 Diagrama de Classes Globalcode open4education 61 Diagrama de Atividades Globalcode open4education 62 Diagrama de Seqncia Globalcode open4education 63 Diagrama de Seqncia