Baixe o app para aproveitar ainda mais
Prévia do material em texto
Programação Orientada a Objeto Programa Programas são operações sobre dados Quanto maior a capacidade computacional maior a complexidade Por que OO? Grande complexidade dos sistemas Ciclo de vida; Pouco provável que um único indivíduo entenda toda a complexidade do sistema; A complexidade pode ser gerenciada não eliminada. Ter o domínio do problema é difícil, tornando necessário pensar na evolução do sistema Por que OO? Modelagem OO Conhecemos e gerenciamos as complexidades do mundo através de objetos Desenvolvemos o conceito de OBJETO desde criança, Faz parte da nossa cognição Exemplo Bola, carro, camisa, casa, boneca, música,... Desenvolvimento Análise, defina o que vai ser feito Projete, definindo com será feito Implemente, escreva o código em uma linguagem de programação da sua escolha Diferentes pontos de vista para a criação de software, com isso a grande importância da documentação Com isso !!! Engenharia de Software Lucilvan Freitas O que é? Engenharia de Software é uma estratégia sistemática, disciplinada e quantificável para a Programação Envolve o desenvolvimento, operação e manutenção do software. Existe durante toda a vida do software, mas focada durante seu desenvolvimento Engenharia de Software Abrange Planejamento Especificação Desenho Implementação Validação Teste Medição Manutenção Aprimoramento Engenharia de Software Visa Otimizar sempre o desempenho Desenvolvimento de software De alta qualidade De forma prática, ordenada e medida. Satisfatórios dentro dos prazos e orçamentos Robustez do Sistema Facilitar a manutenção Permitir o crescimento do sistema Engenharia de Software “Conjunto total de atividades necessárias para transformar os requisitos de um usuário em software” ES James página 1, 5º parágrafo Requisitos Eng. de Software Software Engenheiro de Software É um programador ? Contato com o futuro usuário e cliente Escreve formalmente as necessidades do usuário (requisitos) Escreve formalmente o que deve ser feito para construir o futuro software Produção do Software Descreve estratégias de teste, durante o desenvolvimento e após a implantação no ambiente do cliente Engenharia de Software As técnicas são baseadas, com isso muito se assemelham, as utilizadas por engenheiros no desenvolvimento de automóveis, prédios etc Alguns conceitos mais diretamente dizem respeito à Administração empresarial do que à Ciência da Computação Engenharia de Software Em áreas tradicionais de engenharia, 2 % de tolerância pode ser considerado aceitável Num sistema contábil, por exemplo, que apresente uma precisão de 2% não é aceitável Engenharia de Software Ferramentas de Desenvolvimento DFD (Diagrama de Fluxo de Dados) Diagrama Entidade/Relacionamento Dicionário de Dados Astah (Judi) Documentação Diagramas de Caso de Uso Diagrama de Sequência Diagrama de Classe Diagrama de Classe Diagrama de Caso de Uso Diagrama de Sequência Engenharia de Software “É a aplicação dos princípios científicos, métodos, modelos, padrões e teorias que possibilitem gerenciar, planejar, modelar, projetar, implementar, medir, analisar, manter e aprimorar um sistema de software”. Resulta numa produção econômica de software de qualidade. Processos Diferentes formas de orientar o desenvolvimento do sistema Seminário Processos Scrum RUP XP ICONIX Crystal Modelagem de Processos de Software Teste de Software e suas ferramentas Início Analise de Requisitos Requisitos São capacidades e condições às quais o sistema – e em termos mais amplos, o projeto – deve atender [Larmam]; Funções do sistema; Classificados como funcionais e não-funcionais; Analise de Requisitos Requisitos Funcional Descreve a funcionalidade ou o serviço do sistema Descreve “O que?” será feito Requisitos Não-Funcional Definem a arquitetura do sistema Descreve “Como?” será feito Visam aspectos como: usabilidade, desempenho, confiabilidade, segurança, implementação, entre outros. Requisitos Não-Funcionais Exemplos Integração: Integra-se com outro o sistema Legais: Deverá atender normas legais, tais como padrões e leis Eficiência: Deverá processar um número indeterminado de requisitos por um determinado tempo Confiabilidade: Deverá ter politica de segurança de dados Padrões: Uso de POO na plataforma J2SE Interoperabilidade: O sistema deverá se comunicar com o SQL Server Entrega: Deverá ser entregue um relatório de acompanhamento semanalmente Levantamento de Requisitos Atividade fundamental no entendimento e desenvolvimento de Software; Captura os requisitos sobre a visão do usuário; Erros na fase de Levantamento de Requisitos, acarretam problemas em todas as outras fases Requisitos Globais Requisitos gerais de criação do sistema Definidos em reunião interna Definição da tecnologia, plataformas, servidores, etc Dificuldades no Levantamento de Requisitos Cliente não saber de fato o que o sistema deverá fazer; Cliente ter dificuldade de explicar o problema em questão; Cliente e Analista ter pontos de vistas diferentes sobre o problema; Resistencia dos usuários a novidades; Falta de conhecimento por parte dos usuários; Problema a ser Solucionado Contexto do negócio Necessidades e Restrições do Cliente Domínio da Aplicação Atividades para o levantamento dos Requisitos Entendimento do domínio da aplicação É o conhecimento geral onde o sistema será aplicado Entendimento do problema Os detalhes problema do cliente onde o sistema será aplicado devem ser entendidos Entendimento do negócio Deve-se entender como os sistemas interagem e contribuem de forma geral com os objetivos de negócio. Entendimento das necessidades e limitações dos stakeholders do sistema Deve-se entender, em detalhe, as necessidades específicas das pessoas que requerem suporte do sistema no seu trabalho. É necessário entender a língua do usuário 89 Técnicas para o levantamento dos Requisitos Entrevistas e questionários; Workshop de requisitos; Cenários; Prototipagem; Estudo etnográfico. Entrevistas A entrevista é o momento inicial para conversar com os “stakeholders”, ou seja, as pessoas que vão te ajudar no desenvolvimento do sistema. Stakeholders: patrocinadores, proprietários, usuários de muitas ou poucas permissões, estoquistas, funcionários etc. Entrevistas Em um momento inicial, não é necessário sugerir muito, mas sim ouvir o cliente e extrair as informações Inicialmente fazer as perguntas de contexto-livre e após, as perguntas centradas na solução Entrevistas Prepare uma entrevista de contexto livre apropriada Antes da entrevista faça uma pesquisa ao background do stakeholder e da empresa a serem entrevistados. Anote as respostas no seu bloco de notas durante a entrevista. (Não tente capturar a informação de forma electrónica nesta fase!) Consulte as notas da estrutura da entrevista no decorrer da mesma. Discuta os problemas com o utilizador. Esclareça situações que possa observar no ambiente. Faça sugestões e observações baseadas em conhecimento teórico e familiarização com outros sistemas. Entrevistas Perguntas de Contexto-livre Quem são os utilizadores? Quem é o cliente? Têm necessidades diferentes? Onde podem ser encontradas outras soluções para este problema? Qual o problema em foco? Entrevistas Perguntas Centradas na solução (Apresentar as capacidade gerais de uma solução) E se pudesse fazer … e …? Como classificaria a importância de cada uma das funcionalidades apresentadas? Saiba como o cliente deseja o sistema! Entrevistas Fatores condicionantes: Influência do entrevistador sobre o entrevistado Relação pessoal entre os intervenientes Predisposição do entrevistado Capacidade de seguir um plano na entrevista Entrevistas Mais Informações http://pontogp.wordpress.com/2007/04/05/como-entrevistar-o-patrocinador-do-projeto/ http://pt.wikipedia.org/wiki/Entrevistas_a_stakeholders Atividade Reúnam-se em duplas Um será o cliente e o outro o desenvolvedor Entrevista: 3 minutos prévios para preparação 5minutos de entrevista 10 min para processar as informações obtidas O desenvolvedor criará uma lista de requisitos e soluções propostas O cliente fará um relatório do que achou do entrevistador Enviar imediatamente para lucilvan@hotmail.com Atividade Crie uma lista com os requisitos funcionais e não funcionais do seu projeto final 89 Entrevistas Reunião estruturada com o objetivo de obter um conjunto de requisitos bem definidos; Integrantes: analistas e representantes do cliente Interação entre todos os presentes; Momentos de descontração; Conduzido por um facilitador que promove a discussão entre os integrantes; Decisões são tomadas de acordo com processos bem definidos; Produz documentação que reflete os requisitos e decisões tomadas. Cenários Cenários são estórias que explicam como um sistema poderá ser usado. Eles devem incluir: uma descrição do estado do sistema antes de começar o cenário o fluxo normal de eventos do cenário exceções ao fluxo normal de eventos informações sobre atividades concorrentes uma descrição do estado do sistema ao final do cenário Cenários são exemplos de sessões de interação que descrevem como o usuário interage com o sistema A descoberta de cenários expõe interações possíveis do sistema e revela as facilidades que o sistema pode precisar Prototipagem Um protótipo é uma versão inicial de um sistema que poderá ser usado para experimentação; Protótipos são úteis para elicitação de requisitos porque os usuários poderão experimentar o “sistema” e mostrar os pontes fortes e fracos. Eles terão algo concreto para criticar; O desenvolvimento rápido dos protótipos é essencial para que eles fiquem disponíveis logo para o processo de elicitação ; Deve-se observar a relação custo-benefício de construção dos protótipos. Estudo etnográfico Análise social das tarefas desempenhadas numa organização; Capaz de obter requisitos que não seriam observáveis através de outras técnicas; Capaz de obter processos reais de trabalho; Baseada em observação direta do desempenho das atividades das pessoas. Documento de Software Serve para: Melhor entendimento dos requisitos do Sistema Divisão de tarefas dentro da equipe Quando Será feito Prazos a serem seguidos O que será feito? Documentação Documento de Visão Documento de Risco Plano de Projeto Documento de Visão Visão geral que os desenvolvedores tem do sistema É um dos documento mais completos que tem todas as informações para os membros da equipe sobre o cliente e sobre o que será feito. Clientes Stakeholders Escopo do Sistema Casos de Uso Diagramas Modelo Documento de Risco Enumeração dos Riscos que o software tem de não dar certo Devemos prever desde a doença dos membros, até mesmo a tecnologia imprópria Apresentação de solução para minimizar os impactos desde risco Contornar o risco Desistir, e não correr o risco Assumir o risco Modelo??????????????? Plano de Projeto Documento que pode ser entregue ao cliente Lista as fases de desenvolvimento, prazos e o que será feito em cada uma delas Modelo???????????? Atividade Com base nos requisitos levantados na atividade anterior e com os modelos mostrados anteriormente inicie a criação dos documentos mencionados para o possível sistema Atividade Inicia a criação da documentação do seu projeto final UML Unified Modeling Language Lucilvan Freitas UML O que é? É um modelo de linguagem adotado pela indústria de Engenharia de Software É um modelo visual utilizado para modelar software O.O. Surgiu a partir da necessidade de possibilitando a fácil compreensão completa do projeto. Método x Modelo de Linguagem Método: Modelo de Linguagem e um processo. Processo: Orientação para a construção de um projeto (Passos). Modelo de Linguagem: Notação que o método usa para descrever o projeto. <número> UML Define uma notação e um meta-modelo Notação: Representação gráfica da sintaxe da linguagem Meta-modelo: Diagrama de classe Por que modelar o Software? UML – Diagramas Representação gráfica de um conjunto de elementos UML – Diagramas Diagramas Comportamentais Possuem aspectos dinâmicos do sistema Mostram como as entidades interagem para executar uma funcionalidade Diagramas estruturais Modelam a estrutura do sistema Mostra como as entidades são compostas e seus relacionamentos Por que tantos diagramas? UML Ferramenta para modelagem Astah: < http://astah.change-vision.com/en/product/astah-community.html > Documentação UML www.uml.org Conceitos essenciais para o entendimento Conceitos Paradigma Abstração Objeto Classe Paradigma Forma de pensar e perceber o mundo real; Forma de desenvolver e analisar o projeto a ser desenvolvido. Abstração Permite ignorar aspectos não relevantes com o propósito de diminuir a complexidade. Objeto Qualquer coisa real ou abstrata, existente no mundo real, ao qual armazenamos dados e métodos que os manipulam. Algo capaz de armazenar um estado (informação), operações (comportamentos) e identidade. Objeto “Um objeto representa um item identificável, uma unidade, ou entidade, individual, seja real ou abstrata, com regra bem definida” OBJETO = DADOS + OPERAÇÕES Objeto Objeto é qualquer entidade que possua características e comportamento Características Representada pelos dados Chamados de ATRIBUTOS Variáveis de instância Comportamento Definido pelas operações Métodos de um objeto Funções executados em um objeto Objeto Possuem Estado Representado pelos valores dos atributos de um objeto Comportamento Definido pelo conjunto de operações (métodos) do objeto Estado representa o resultado cumulativo de seu comportamento Identidade Forma que conhecemos os objetos, é a referência ao objeto Classe Constrói objetos do mesmo tipo. Descreve o tipo de objeto É onde conceituamos o objeto É a essência do objeto É onde podemos definir os atributos e os métodos Atributos: define características do objeto Métodos: Operações que o objeto pode realizar Classe x Objetos Objeto é a instância de uma classe Objetos semelhantes pertencem a uma mesma classe Classe x Objetos Classe Lâmpada Classe Lâmpada Classe Lâmpada Atributos Ligada (boolean) Potência (double) Operadores Ligar Desligar Esta Ligada Classe Lâmpada Classe Lâmpada em Java Continuação Objeto Classe Continuação dos diagramas UML Diagramas Estáticos Uteis na estruturação do sistema Diagrama de Casso de Uso Descreve as tarefas realizadas pelo sistema Diagrama de Classe Classes necessárias para o desenvolvimento do sistema Iterativos Demonstra a interação entre os objetos em um CDU Uteis na modelagem de aspectos dinâmicos do sistema Diagrama de Sequencia Prevê a sequencia de ações do objeto Caso de Uso Identifica e registra os requisitos Utilizando como base para outras atividades no processo de desenvolvimento Descrição do Caso de Uso Narrativa de utilização do sistema Permite a compreensão e descrição dos requisitos Caso de Uso - Descrição Exemplo de Descrição do Caso de Uso Caso de Uso Processar Venda: um cliente vai até ao caixa com os produtos que deseja adquirir. O caixa usa o sistema para registrar cada item comprado. O sistema vai apresentando um total parcial e uma linha de detalhes à medida que registra cada item. O cliente entra os dados sobre o pagamento, que são validados e, em seguida, registrados pelo sistema. O sistema atualiza o estoque. O cliente recebe um recibo do sistema e sai com os itens comprados. Caso de Uso - Descrição Exemplo de Descrição do Caso de Uso Caso de Uso Processar Venda: O cliente vai até ao caixa com os produtos que deseja adquirir. O caixa usa o sistema para registrar cada item comprado. O sistema vai apresentando um total parcial e uma linha de detalhes à medida que registra cada item. O cliente entra os dados sobre o pagamento, que são validados e, em seguida, registrados pelo sistema. O sistema atualiza o estoque. O cliente recebe um recibo do sistema e sai com os itens comprados. Atividade Com base nas atividades anterior e no conteúdo explanado acima descreva oscasos de uso para o sistema proposto Atividade Continue a documentação do seu projeto final descrevendo o caso de uso do mesmo. Atualize o documento de visão Diagrama de Caso de Uso Objetivo Representação visual externa das funcionalidades do sistema Mostra os atores e suas respectivas ações no sistema Caso de Uso - Conceitos Ator – é algo com comportamento, como uma pessoa (identificada por seu papel) ou um sistema de computador, que interage com o sistema (ex. um caixa) Cenário – sequência específica de ações e interações entre atores e o sistema (instância de caso de uso) Caso de Uso - Cenário Exemplos Efetuar com sucesso a compra de itens com dinheiro Efetuar com sucesso a compra de itens com cartão de crédito Não efetuar a compra por causa da recusa de autorização de crédito Caso de Uso Serviços, tarefas ou funções que podem ser utilizadas pelos usuários do sistema Coleção de cenários relacionados Sucesso e Fracasso Descrevem atores usando o sistema afim de atingir um objetivo Associação Representam as interações ou relacionamentos entre: Os casos de uso Inclusão, Extensão e Generalização/Especialização Os atores e os casos de uso Indica que este ator pode usar a função do sistema representada pelo caso de uso Os atores que fazem parte do diagrama Generalização/Especialização Associações Pode conter setas indicando o sentido da navegação das informações Pode possuir descrição própria Esclarecer informações transmitidas Pode possuir um nome próprio Relacionamento de Generalização/Especialização Relaciona Casos de Uso com características semelhantes Define-se um caso de uso geral e outros casos de uso com suas especializações Evita redundância: No caso de uso geral descreve tudo que for comum No caso de uso especifico concentra-se na descrição das diferenças Relacionamento de Generalização/Especialização Pode ocorrer entre atores Serve para facilitar a leitura do diagrama Associações feitas pelo ator genérico são herdadas pelos atores específicos Relacionamento de Inclusão Serviços utilizados por mais de um caso de uso Evita redundância Indicam uma obrigatoriedade Caso de Uso A possui relação com B, indica que na execução A implica na execução de B Relacionamento de Inclusão Relacionamento de Extensão Descreve senários opcionais em um caso de uso Os casos de uso nessa situação descrevem cenários que ocorrerão apenas em uma situação especifica, se uma condição for satisfatória Relacionamento de Extensão Restrição a Associação de Extensão É indicado através de uma nota explicita a condição para que um caso de uso estendido seja executado Ponto de Extensão Ponto no comportamento de um CDU ao qual esse comportamento poderá ser estendido pelo comportamento de um outro caso de uso, se a condição para que isto ocorra for satisfeita Multiplicidade Determina o número de vezes que um ator pode utilizar um determinado CDU. Fronteiras do Sistema Permite identificar um subsistema, ou mesmo o sistema completo, além de destacar o que está contido no sistema e o que não está. Documento de Caso de Uso Modelo de Documento de Especificação de Caso de Uso Atividade Com base nas atividades anterior e no conteúdo explanado acima crie o diagrama de caso de uso para o sistema proposto Atividade Continue a documentação do seu projeto final criando o Diagrama de caso de uso do mesmo. Atualize o documento de visão Caso de Uso – Sistema de Controle Bancário O sistema deve permitir que os clientes abram e encerrem contas, bem como depositem ou saquem valores e emitam saldos ou extratos. Essas últimas quatro o cliente utilizará diretamente por meio de um caixa eletrônico, porém, para abrir e encerrar uma conta ele necessitará interagir com um funcionário do banco, que poderá ainda realizar alguma manutenção em seu cadastro. Diagrama de Caso de Uso Atores Cliente – Representa as pessoas físicas ou jurídicas que mantém ou mantiveram contas na instituição bancária, com direito a saque, depósito, saldo ou extrato enquanto mantinham contas abertas. Funcionário – Representa os funcionários com função de atender presencialmente os clientes da Instituição. Caso de Uso – Abrir Conta Especial CDU: Abrir Conta Ator: Funcionário Resumo: Descreve as etapas necessárias para a abertura da Conta Especial para um cliente Pré-Condição: Aprovação do pedido de abertura Pós-Condição: Necessário a realização de um depósito inicial Caso de Uso – Abrir Conta Especial Fluxo: O funcionário solicita a abertura de Conta Especial. O funcionário consulta o cliente por seu CPF ou CNPJ. É definido o valor limite do cheque especial. É inserida uma senha de acesso. A conta é criada. É fornecido o valor a ser depositado. É realizado o registro do depósito. É emitido o cartão da conta. Restrições: Para abrir uma conta especial é preciso ser maior de idade. É necessário estar empregado e o salário ser superior a 500,00. O valor mínimo de depósito inicial é R$ 50,00. Caso de Uso – Emitir Saldo CDU: Emitir Saldo Ator: Cliente Resumo: Descreve as etapas necessárias para a emissão do saldo referente a uma determinada conta Pré-Condição: Está com a conta ativa Pós-Condição: Caso de Uso – Emitir Saldo Fluxo: O cliente informa o número da conta. O sistema verifica a existência da conta. O sistema solicita a senha da conta. O cliente informa a senha. O sistema verifica se a senha está correta. O sistema emite o saldo. Restrições: A Conta deve existir e estar ativa. A senha deve estar correta Fluxo de Exceção Conta não encontrada: Comunicar ao cliente que o número da conta não foi encontrado Senha Inválida: Comunica ao cliente que a senha é inválida. Diagramas de Classe Dá a visualização das Classes que compõe o sistema e seus respectivos atributos e métodos Demonstra o relacionamento entre as classes Identifica tipos de retorno e parâmetros dos métodos Dá uma visão estática de como as classes estão organizadas entre si Responde “O que?” será feito na classe, não “Como?” será feito Mostra um conjunto de Classes e Interfaces e sues relacionamentos Diagramas de Classe ContaBancaria numConta: int dataAbertura: int senha: int saldo: double + toString(): String Nome da Classe Atributos Métodos Diagramas de Classe Visibilidades Atributos e Métodos private (-): Acessível somente na própria classe public(+): Acessível para qualquer classe protected (#): Acessível para própria classe e suas subclasses default: Acessível para classes que pertencem ao mesmo pacote Diagramas de Classe Visibilidades - Atributos e Métodos private: public: protected: default: Diagramas de Classe Deve conter apenas os métodos principais do sistema Apresenta a assinatura dos métodos Parâmetros e retorno Pode presentar atribuição de valores O código de programação será criado com base no diagrama Associação Associação Unária ou Reflexiva Ocorre na relação de um objeto da classe com objetos da mesma classe Associação Associação Binária Relacionamento entre duas classes distintas Associação Associação Ternária Relacionam objetos de mais de duas classes Associação Agregação Informações de um objeto complementadas pelas informações contidas em um ou mais objetos de outra classe Associação Composição Variação da agregação Apresenta um vinculo mais forte entre os objetos associados Objeto parte está associado a um único objeto todo. Associação Generalização/Especialização Representa a herança entre classes Identificam as super e sub classes Associação Generalização/Especialização Métodos podem ser redeclarados nas subclasses com comportamentos diferentes Associação Classes Associativas Criadas em ocorrências de relacionamentos múltiplos São necessárias caso exista atributos que não possam ser armazenados por nenhum das classes que compõe a associação Associação Associação Dependência Identifica dependência de uma classe em relação autra Ex: A classe cliente depende de serviços da classe fornecedora A mudança de elementos na classe fornecedora poderá acarretarmudanças em elementos da classe cliente Associação Realização Possui características de generalização e dependência Identificam classes responsáveis por executar funções para outras classes Associação Realização Possui características de generalização e dependência Identificam classes responsáveis por executar funções para outras classes Associação Restrição Informações extras Definem condições avaliadas durante a implementação Relacionamentos Atividade Com base nas atividades anterior e no conteúdo explanado acima crie o diagrama de classe para o sistema proposto Atividade Continue a documentação do seu projeto final criando o Diagrama de classe do mesmo. Atualize o documento de visão Exemplo Sistema de Controle bancário Modelo Conceitual Diagrama de Classe Diagramas de Sequência Usado para visualizar o comportamento de um ou vários objetos dentro de um único Caso de Uso, a partir das mensagens que são passadas entre eles. Diagramas de Sequência Usado para visualizar o comportamento de um ou vários objetos dentro de um único Caso de Uso, a partir das mensagens que são passadas entre eles. Determina a sequencia de eventos que ocorre em um determinado processo. Identifica quais mensagens devem ser disparadas e em qual ordem. Baseado no Diagrama de Caso de Uso Um diagrama de Sequencia para cada caso de uso descrito Diagramas de Sequência Utilização Na fase de Analise Identificar eventos e operações do sistema Importância de demonstrar como os atores interagem com o sistema Na fase de projeto Descreve como os objetos interagem entre si na realização de algumas funcionalidade do sistema Diagramas de Sequência - Analise Representa eventos partindo dos atores Mostra a interação dos atores no sistema Dependentes do Caso de Uso Criado apenas para os CDUs mais importantes Diagramas de Sequência - Analise Diagramas de Sequência - Projeto Representa eventos partindo dos objetos Mostra a utilização dos objetos e suas trocas de mensagens Qual objeto é responsável por cada parte do documento? Qual ações entre objetos são realizadas para gerar toda a funcionalidade do sistema? Objeto Pode existir desde o inicio do processo ou ser cria durante a execução do mesmo Novos objetos não são representados no topo do diagrama LINHA DE VIDA Representada por uma linha tracejada Representa o ciclo de vida de um objeto durante uma iteração O “X” representa que o objeto foi destruído Atores Mesmos usados no diagrama de caso de uso Contem umas linha de vida Mensagem Representado por linhas com setas Linhas horizontais entre as linhas de vida de dois objetos As linhas vem acompanhadas com o nome da mensagem, e opcionalmente, os parâmetros da mesma Pode haver envio de mensagem para o mesmo objeto, isso representa uma interação Mensagem Ativação Mensagem de Retorno Identifica a resposta a uma mensagem para o objeto e/ou ator que chamou Pode retornar informações especificas ou apenas informar se o método foi executado com êxito ou não Foco de Controle ou Ativação Identifica o período de tempo em que um determinado objeto participa ativamente do processo Determina o tempo ao qual um objeto está executando diretamente uma ação ou através de um procedimento subordinado Autodelegação/Autochamada/ Chamada Reflexiva Mensagens que um objeto envia para si mesmo. Diretrizes Transforme o CDU em uma descrição algorítmica Avalie as classes que podem fazer parte deste CDU Monte o Diagrama de Sequência Para cada passo descrito no caso de uso, verifique qual classe será classe responsável pela tarefa indicada. Se a tarefa for muito complexa divida-a entre mais de uma classe Estudo de Caso Consultório médico 1º Passo: Caso de Uso Marcar Consulta Paciente deseja marcar consulta Atendente verifica se o paciente está cadastrado na clínica Se não tiver, o cadastro é solicitado Atendente verifica se há disponibilidade no horário e data Se houver, a consulta é marcada Estudo de Caso Consultório médico 2º Passo: Avaliar as classes participantes Estudo de Caso Consultório médico 3º Passo: Montar o diagrama Atividade Com base nas atividades anterior e no conteúdo explanado acima crie o diagrama de sequencia para os requisitos globais do sistema proposto Atividade Continue a documentação do seu projeto final criando o Diagrama de sequencia para os requisitos globais do mesmo. Atualize o documento de visão Diagrama de Atividades Diagrama de Pacotes Introdução a Planning Poker Jogo de cartas com uma plataforma digital Objetivo de ajudar as equipes ágeis, de forma colaborativa, estimar o tempo necessário para concluir um conjunto de histórias do usuário Prevê com precisão o trabalho a ser elaborado https://www.planningpoker.com/ Planning Poker Introdução a Planning Poker Com alista dos requisitos em mãos, estórias a serem analisadas, deverá ser escolhido o requisito mais simples do sistema para iniciar as rodadas do Planning Poker, esse servirá de base para as demais rodadas. Cada requisito acarretará em uma rodada no jogo É necessário uma ampulheta para limitar o tempo de cada rodada A carta 100 especifica que o requisito deverá ser repensado e provavelmente dividido em requisitos menores Introdução a Planning Poker A carta 0 indica que a estória já foi resolvida em situações anteriores A carta ? Indica que não ficou claro a funcionalidade do requisito A carta “Café” pede uma pousa para descanso Os números mostrados nas cartas são representações de tempo para o desenvolvimento em questão Referencias http://diatinf.ifrn.edu.br/doku.php?id=corpodocente:rosemary:analise_e_projeto_orientado_a_objetos
Compartilhar