A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Curso de Requisitos Módulo 02: UML e Orientação a Objetos Conceitos Básicos de UML e Orientação a Objetos.

Apresentações semelhantes


Apresentação em tema: "Curso de Requisitos Módulo 02: UML e Orientação a Objetos Conceitos Básicos de UML e Orientação a Objetos."— Transcrição da apresentação:

1 Curso de Requisitos Módulo 02: UML e Orientação a Objetos Conceitos Básicos de UML e Orientação a Objetos

2 O que é um Modelo? Um modelo é uma simplificação da realidade Pode ser um modelo detalhado Pode ser um modelo mais genérico Um bom modelo apresenta os itens mais importantes e abstrai os itens menos relevantes Um modelo pode enfatizar a representação estrutural (organização do sistema) ou comportamental (dinâmica do sistema)

3 Por que modelar? Nos ajuda a visualizar o sistema que queremos Nos permite especificar a estrutura e o comportamento do sistema Nos fornece um template que nos guia na construção do sistema Permite documentar as decisões técnicas

4 A importância da modelagem Os sistemas hoje são mais complexos do que podemos entender. Por isto, modelamos E quanto mais complexos e caros os sistemas, mais obrigatório se torna modelar, para assim diminuir complexidade e testar conceitos em modelos que se construídos antes seriam caros

5 Comunicação não Ambígua Você pode utilizar técnicas de diagramação fornecidas pela UML para comunicar decisões técnicas de forma clara, não ambígua Existem ferramentas automatizadas para criar estes diagramas UML Um exemplo é o JUDE, uma ferramenta Open-source para modelar com UML

6 UML – Unifield Modeling Language É uma linguagem padrão da indústria para visualizar, especificar, construir e documentar os artefatos de sistema A UML é independente de tecnologia e define uma linguagem gráfica para apresentar modelos, assim como a semântica para cada elemento gráfico A UML melhora a comunicação entre os membros da equipe

7 A linguagem dos diagramas Os vários tipos de diagrama são necessários para representar as diferentes visões do sistema Diagramas de Atividade Modelos Diagramas Estáticos Diagramas de Sequência Diagramas de Colaboração Diagramas de Estado Diagramas de Deployment Diagramas de Componente Diagramas de Objetos Diagramas de Classes Diagramas de Casos de Uso Diagramas Dinâmicos

8 Os quatro princípios da modelagem Princípio 01: A escolha do modelo é importante –Depende da visão que se quer modelar (comportamento ou estrutura?) Princípio 02: Os níveis de precisão podem variar –Depende de quem é o consumidor do modelo (para o cliente, um modelo de alto nível, para o desenvolvedor um mais detalhado) Princípio 03: Os melhores modelos estão conectados com a realidade Princípio 04: Um único modelo não é suficiente –Pelo menos dois modelos são necessários, um para comportamento (diagrama de sequência) e outro para estrutura (diagrama de classes)

9 Principais diagramas utilizados pelo Analista de Requisitos Diagrama de Casos de Uso –Estabelece o escopo do sistema e todos os seus possíveis usos pelos usuários (atores) Diagrama de Atividades –Representa o fluxo de atividades que ocorrem em um caso de uso em resposta às requisições do ator Diagrama de Classes –Modela quais classes participam da realização do caso de uso (estrutural) Diagrama de Sequência –Modela qual é o comportamento das classes para atender ao ator do caso de uso (comportamento)

10 Orientação a objetos Para entendermos melhor como modelar, precisamos entender os conceitos básicos de orientação a objetos A UML se baseia na Orientação a Objetos A Orientação a Objetos possibilita representar a realidade nos modelos UML A Orientação a Objetos permite abstrair itens e tornar relevantes outros itens

11 O que é um Objeto? Os objetos permitem representar coisas do mundo real, como: –Entidade Física: pessoas, carros, documentos –Conceitos: processo químico, algoritmos –Entidade de Software: Collections, Telas Todos objetos tem 2 componentes- chave: –Atributos, que definem o estado do objeto –Operações, que definem o comportamento do objeto Entidade física Entidade Conceitual Entidade de software

12 Um objeto tem estado O estado de um objeto é uma das condições possíveis em que um objeto pode estar O estado normalmente muda com o passar do tempo Representados por atributos e seus valores para cada objeto

13 Um objeto possui comportamento O comportamento de um objeto é representado pelas operações que o mesmo possui O comportamento é a forma com que a aplicação se comporta em sua interação com o usuário

14 Um objeto tem identidade Cada objeto tem uma identidade única, mesmo que seus estados tenham valores idênticos

15 Princípios da Orientação a Objetos Abstração Encapsulamento Modularidade Hierarquia

16 O que é abstração? Uma abstração é modelar o que é mais importante e suprimir ou ignorar detalhes pouco importantes, diminuindo a complexidade A abstração captura a essência de algo Um carro é um exemplo de abstração para um um veículo movido a motor que transporta pessoas de um local a outro local. Abstrações dependem do contexto da modelagem (se um sistema de locadora, de recursos humanos, etc)

17 O que encapsulamento? Propriedades e comportamentos são encapsulados em objetos e acessados através de uma interface Um exemplo de encapsulamento é um acelerador de carro. O motorista não precisa conhecer quais os cabos, componentes e tecnologia envolvidas, apenas apertar a interface pedal do acelerador. Uma tela não precisa conhecer como um objeto de cadastro de alunos funciona, apenas chama a operação inserirAluno(dados), passando os dados de cadastro do aluno

18 Benefícios do Encapsulamento O encapsulamento melhora a manutenção e a torna menos cara. Ao passar um valor para um método, o estado interno de um componente e seu comportamento interno é alterado, sem que os outros objetos tenham conhecimento A complexidade fica isolada dentro do objeto, e as demais classes somente utilizam seus serviços

19 O que é modularidade? Modularidade ajuda a gerenciar complexidade, dividindo algo que é complexo dentro de peças gerenciáveis

20 O que é Hierarquia? O uso de Hierarquia ajuda a organizar elementos, tornando fácil reconhecer similaridades e diferenças

21 O que é uma Classe? É uma abstração de características comuns a um conjunto de objetos Serve como template para criar objetos Uma classe possui propriedades e operações

22 Representando uma classe em UML

23 O que é polimorfismo? É a habilidade de esconder as diferentes formas de agir (implementações) através de uma única interface

24 Exemplo de Polimorfismo

25 Generalização e Herança Generalização é o relacionamento entre classes em que uma classe compartilha sua estrutura e comportamento com uma ou mais classes

26 O que é modelagem de casos de uso? Associe necessidades a requisitos de software. Defina claramente as fronteiras do sistema. Capture e comunique o comportamento que é desejado do sistema. Identifique quem ou o que interage com o sistema. Valide/Verifique requisitos. É um instrumento de Planejamento. Especificação Caso de Uso 2 Ator 2 Use case 1 Modelo Use case 2 Use case 3

27 Use case 1 Use case 2 Use case 3 Um Modelo de Caso de Uso é essencialmente Texto Volta pelo Modelo de CSU - Navegue pelos textos - Liste todos os atores - Liste todos os casos de uso Especif. CSU 2 - Descrição Breve - Fluxo de eventos Espec. CSU 3 - Descrição breve - Fluxo de eventos Ator 1 Ator 2Ator 3 Especificação CSU 1 - Descrição breve - Fluxo de eventos O Sistema

28 Elementos relevantes da Modelagem Ator Alguém ou alguma coisa externa, que tem o papel de interagir com o sistema Caso de Uso Representa alguma coisa de valor que o sistema fornece para os seus atores Ator Caso de Uso

29 O que é um Caso de Uso? Define a seqüência de ações Realizado pelo sistema Que produz um resultado de valor Para um ator. Um Caso de Uso Nome do Caso de Uso

30 O Caso de Uso contêm os Requisitos de Software Cada caso de uso –Descreve ações no sistema que entrega algo de valor para um ator. –Apresenta a funcionalidade do sistema usada pelo ator –Modela o diálogo entre sistema e ator. –É um fluxo de eventos completo e significativo dos eventos da perspectiva de um ator em particular

31 Benefícios dos Casos de Uso Dá um contexto para os requisitos. –Coloca os requisitos do sistema em seqüência lógica –Ilustra porque o sistema é necessário. –Ajuda a verificar se todos requisitos foram atendidos. São fáceis de entender. –Usa terminologia que clientes e usuários utilizam. –Fala de estórias concretas de uso do sistema –Verifique o entendimento dos stakeholders Facilita o acordo entre os clientes. Facilita reuso: teste, documentação, e projeto.

32 Ciclo de Vida de Casos de Uso Descoberto Rabiscado Descreva brevemente Fechar Matrículas Descrição Breve : Este caso de uso permite ao Digitador fechar o processo de matrículas. Ofertas de curso que não possuírem alunos serão canceladas. O sistema de Cobrança é notificado com todos os dados de matrícula para assim efetuar as devidas cobranças. Resumo do Fechar Matrículas -Fluxo de Eventos -Passo-a-Passo Fechar Matrículas Especificação de Caso de Uso - Fluxo de Eventos detalhado Requisitos Especiais -Condições Pré/Pós Totalmente Descrito

33 Definir Atores: Foco nos papéis Um ator representa um papel que um humano, hardware, ou outro sistema desempenha em relação ao sistema. Os nomes de ator devem representar claramente seu papel. ?

34 Charlie e Jodie agem como estudantes. Charlie também age como Professor. Estudante Professor Atores e Papéis Matricular em Curso Submeter grades Charlie: Está empregado como professor de matemática e é aluno de Economia. Jodie: É um aluno de Ciências.

35 Comunicação-Associação Um canal de comunicação entre um ator e um Caso de Uso. Uma linha é usada para representar uma associação de comunicação. –Uma flecha indica quem inicia cada interação. –Uma linha se flecha indica que o caso de uso ou o ator podem iniciar a interação. Ator 1 Ator 2 Ator 3 Caso de Uso

36 Convenções das setas e linhas Supervisor Sensor ativo Sensor passivo Sensor híbrido Supervisor Monitorar Alarmes Sensor passivo Sensor híbrido Sensor ativo Monitorar Alarmes

37 Cada Associação de Comunicação é o Diálogo completo Estudante Sistema de Cadastro de Cursos Matricular em Curso Sistema apresenta a lista de cursos. Estudante seleciona curso. Sistema apresenta a agenda do curso. O estudante acessa o sistema. O sistema autentica o usuário. Estudante requisita dados do curso. O sistema transmite a requisição. O sistema retorna os dados do curso.

38 Um cenário de uma instância de Caso de Uso Cenário 1 Autenticar no sistema. Aprova o login. Digitar o assunto. Obter lista de cursos. Apresentar lista de cursos. Selecionar Cursos. Confirmar Disponibilidade. Mostrar grade final. Cenário 2 Autenticar no sistema. Aprova o login. Digitar o assunto. Assunto inválido. Entra novamente assunto. Obter lista de cursos. Apresentar lista de cursos. Selecionar Cursos. Confirmar Disponibilidade. Mostrar grade final. Estudante Sistema de Cadastro de Cursos Matricular em Curso

39 Diagrama de Caso de Uso Consórcio de Bancos Cliente Banco Máquina de Auto Atendimento (ATM) Caixa Sacar Fundos Transferir Fundos Depositar Fundos Manter ATM Manutenção Coletar Depósitos

40 Exemplo: Sistema de Matrículas Sistema de Registro de Cursos Estudante Sistema de Matrículas Ator X Ator Y Matricular em Curso Outro caso de uso Caso de Uso 3

41 Indicar o significado ou objetivo do CSU. Usa a forma ativa; começar com verbo. Imagine uma lista de tarefas. Exemplos de variação: –Matricular em cursos –Matriculando em cursos –Confirmar Matrícula –Matrícula em Curso –Usar Sistema de Matrícula Como deve ser o nome do caso de uso? Que variações tem maior significado para o usuário? Quais não tem? Que nome de caso de uso você escolhe? Por que?

42 Passos para criar o Modelo de Casos de Uso 1.Procurar atores e casos de uso. –Identifique e descreva brevemente os atores. –Identifique e descreva brevemente casos de usos. 2.Escreva os casos de uso. –Desenhe todos os casos de uso. –Priorize os fluxos de casos de uso. –Detalhe os fluxos por ordem de prioridade.

43 EstudanteDigitadorSistema de Matrículas O sistema nunca digita no sistema; o digitador faz isto. Ou, você está construíndo uma aplicação web? Sistema de Matrícula Online (www.college.edu) Estudante Quem está operando (interagindo com o sistema)? Procure Atores

44 Identifique atores Quem/o que usa o sistema? Quem/o que obtêm informação do sistema? Quem/o que fornece informação para o cliente? Onde na empresa o sistema é usado? Quem/o que suporta ou mantêm o sistema? Quais outros sistemas usam o sistema?

45 Descrição de um ator NomeEstudante Descrição BreveUma pessoa que se registra para um curso. Relacionamentos com os casos de uso Matricular em Curso Estudante Caminhar pelo Caso de Uso

46 Checkpoints para Atores Você encontrou todos atores? Você modelou todos os papéis do sistema em atores? O ator está envolvido com pelo menos um caso de uso? Você poderia identificar pelo menos duas pessoas que realizam o papel do ator? Alguns atores desempenham funções semelhantes em relação ao sistema? Se sim, colocá-los em um único ator.

47 Identificar Casos de Uso Ator Objetivo 1 Objetivo 2 Quais objetivos desejo alcançar utilizando o sistema?

48 Identifique os Casos de Uso Quais são os objetivos de cada ator? –Porque o ator quer utilizar o sistema? –O ator irá criar, guardar, mudar, remover, ou ler dados no sistema? Se sim, porque? –O ator precisa informar ao sistema sobre mudanças ou eventos externos? –O ator precisará ser informado sobre certas circunstâncias do sistema? O sistema atende ao négocio com o comportamento correto?

49 Descrição do Caso de Uso NomeMatricular em curso Descrição BreveO estudante seleciona os cursos que deseja para o próximo semeste. Uma grade dos cursos primários e alternativos são gerados. Relacionamento com atores Matricular em curso Estudante

50 Checkpoints para Casos de Uso O modelo de caso de uso apresenta o comportamento do sistema; com ele é fácil de entender o que o sistema ao revisar o modelo. Todos os casos de uso foram identificados; o caso de uso conta com todos os comportamentos esperados pelo ator com o qual interage. Todas as características estão mapeadas para pelo menos um caso de uso. O modelo de caso de uso não contêm comportamento supérfulo; todos os casos de uso podem ser justificados ao rastreá-los de volta para os requisitos funcionais. Todos os casos de uso CRUD são removidos. –Create, Retrieve, Update, Delete

51 Decomposição funcional É a quebra do problema em partes menores, isoladas. –As partes juntas fornecem a funcionalidade do sistema. Muitas vezes não fazem sentido se isoladas. Casos de uso: –Não há decomposição funcional. –Mantêm a funcionalidade junta para descrever o uso completo do sistema. –Fornecer o contexto.

52 Decomposição Funcional Entrar PIN Inserir Cartão Selecionar Conta Origem Entrar Quantidade Selecionar Saque Cliente Selecionar Saldo da Conta Selecionar Transferência de Fundos Selecionar Conta Destino Consórcio Bancário Processar Transação

53 Evite Decomposição Funcional Sintomas –Casos de uso pequenos –Muitos casos de uso –Casos de uso sem resultado real –Nomes com operações de baixo nível Operação + objeto Função + dados Exemplo: Inserir Cartão –Dificuldade de entender o contexto geral Ações Corretivas –Procure um contexto maior Porque está construíndo o sistema? –Coloque-se no papel do usuário O que o usuário quer obter? Qual objetivo o caso de uso deve satisfazer? Qual valor o caso de uso adiciona? Qual é a história do caso de uso?

54 Decomposição Funcional: Um exemplo corrigido Sacar Fundos Transferir Fundos Depositar Fundos Cliente Consórcio Bancário

55 Evoluir o Caso de Uso Especificação de Caso de Uso do Matricular para Curso + Fluxo de Eventos detalhado Passo a Passo + Requisitos Especiais + Condições Pré/Pós Matricular Online em Curso + Fluxo de eventos rabiscado Passos de alto nível Estudante Sistema de Matrícula em Curso + Descrição Breve Matricular em Curso

56 Casos de Uso e o RUP ? Analisar o Problema Refinar o Sistema Gerenciar Mudanças de Requisito Especificação de Caso de Uso (detalhada) Definir o Sistema Gerenciar o Escopo Use-Case Spec. (outline) Entender Necessidades do Stakeholder


Carregar ppt "Curso de Requisitos Módulo 02: UML e Orientação a Objetos Conceitos Básicos de UML e Orientação a Objetos."

Apresentações semelhantes


Anúncios Google