Baixe o app para aproveitar ainda mais
Prévia do material em texto
Profa. Fabrícia Damando Engenharia de SW Especificações de Requisitos e de Projeto Profa. Fabrícia Damando fabriciadamando@gmail.com Requisitos � Capacidades e condições que o sistema deve satisfazer � Tipos de requisitos � Funcionais � Características, capacidades e segurança � Não funcionais � Usabilidade: fatores humanos, documentação � Confiabilidade: recuperação da falhas, previsibilidade Requisitos � O importante do levantamento de requisitos é encontrar, comunicar e registrar o que é necessário. � De que forma esses requisitos possam ser transmitidos ao cliente e aos desenvolvedores � CASE USE – é uma técnica usada para entender e descrever os requisitos de um sistema UML “Linguagem padrão para especificar, visualizar, documentar e construir sistemas ... Pode ser utilizada ao longo de todo processo de desenvolvimento e com diferentes tecnologias de implementação ...”desenvolvimento e com diferentes tecnologias de implementação ...” “Linguagem padrão para especificar, visualizar, documentar e construir sistemas ... Pode ser utilizada ao longo de todo processo de 5 desenvolvimento e com diferentes tecnologias de implementação ...” Arquitetura Casos de Uso � Definição: “Um caso de uso é uma seqüência de ações, executadas por um ou mais atores (pessoas ou entidades não-humanas fora do sistema) e pelo próprio sistema, que produz um ou mais resultados de valor para um ou mais atores.” 7 � Contempla a etapa inicial do processo de desenvolvimento de software: Levantamento e Análise de Requisitos Casos de Uso � São narrativas em texto. � A UML fornece uma maneira alternativa de representar os casos de uso: o diagrama de casos de uso. 8 � Um caso de uso interage com atores, demonstrando o comportamento de parte ou de todo o sistema. � Não revela a estrutura e o comportamento internos deste sistema. Casos de Uso: influência 9 Casos de Uso → Modelo de Casos de Uso �O Modelo de Casos de Uso (MCU) é uma representação das funcionalidades do sistema externamente observáveis e dos elementos externos ao sistema que interagem com o mesmo. 1 0 ao sistema que interagem com o mesmo. �No Processo Unificado consiste de todos os casos de uso escritos para um sistema. MCU, por que fazer? � Para os clientes (validação) � É uma forma de aprovar o que o sistema deverá fazer � Para os desenvolvedores � Ponto de partida para refinar requisitos de software. � Podem seguir um desenvolvimento dirigido a casos 1 1 � Permite entender o que o sistema deverá fazer desenvolvimento dirigido a casos de uso. � Designer (projetista): encontrar classes � Testadores: usam como base para casos de teste Composição do MCU 1. Descrição Textual 1. Diagrama de Casos de Uso � Fornece uma visão global e de alto nível do sistema. 1 2 � Fornece uma visão global e de alto nível do sistema. � Pode ser visto como um diagrama de contexto. Elementos: casos de uso, atores, relacionamentos entre os elementos anteriores. MCU: Descrição Textual � Um caso de uso é a especificação de uma seqüência de interações entre um sistema e os agentes externos. 1 3 “... escrever casos de uso é fundamentalmente um exercício de escrever um texto em prosa, com todas as dificuldades de boa articulação que vêm junto com a escrita em prosa em geral ...” Alistair Cockburn em “Escrevendo Casos de Uso Eficazes” MCU: Descrição Textual � Há vários estilos de descrição de casos de uso. � Normalmente, uma descrição pode variar em 3 dimensões: 1 4 sucinto expandido MCU: Descrição Textual � Formato � Contínua � Tabular � Numerada Caso de Uso: Realizar Saque Este caso de uso inicia quando o Cliente chega ao caixa eletrônico e insere seu cartão. O Sistema requisita a senha do Cliente. Após o Cliente fornecer sua senha e esta ser validada, o Sistema 1 5 � Numerada fornecer sua senha e esta ser validada, o Sistema exibe as opções de operações possíveis. O Cliente opta por realizar um saque. Então o Sistema requisita o total a ser sacado. O Cliente fornece o valor da quantidade que deseja sacar. O Sistema fornece a quantia desejada e imprime o recibo para o Cliente. O Cliente retira a quantia e o recibo, e o caso de uso termina. MCU: Descrição Textual � Formato � Contínua � Tabular � Numerada Cliente Sistema Insere seu cartão no caixa eletrônico. Digita senha. Apresenta solicitação de senha. Valida senha e exibe menu de 1 6 � Numerada Digita senha. Solicita realização de saque. Fornece o valor da quantia que deseja sacar. Retira a quantia e o recibo. Valida senha e exibe menu de operações disponíveis. Requisita quantia a ser sacada. Fornece a quantia desejada e imprime o recibo para o Cliente MCU: Descrição Textual � Formato � Contínua � Tabular � Numerada 1) Cliente fornece sua identificação. 2) Sistema identifica o usuário. 3) Sistema fornece opções disponíveis para movimentação da conta. 4) Cliente solicita o saque de uma determinada quantia. 1 7 � Numerada quantia. 5) Sistema requisita o valor da quantia a ser sacada. 6) Cliente fornece o valor da quantia que deseja sacar. 7) Sistema fornece a quantia desejada. 8) Cliente retira dinheiro e recibo e o caso de uso termina. MCU: Descrição Textual � Grau de abstração (tecnologia?) � Essencial � Real 1) Cliente fornece sua identificação. 2) Sistema identifica o usuário. 3) Sistema fornece opções disponíveis para movimentação da conta. 1 8 4) Cliente solicita o saque de uma determinada quantia. 5) Sistema requisita o valor da quantia a ser sacada. 6) Cliente fornece o valor da quantia que deseja sacar. 7) Sistema fornece a quantia desejada. 8) Cliente retira dinheiro e recibo e o caso de uso termina. MCU: Atores �Elemento externo que interage com o sistema. � “externo”: atores não fazem parte do sistema. � “interage”: um ator troca informações com o sistema. 1 9 MCU: Atores x Casos de Uso � Um ator representa um conjunto coerente de papéis que os usuários de casos desempenham quando interagem com o sistema � Um caso de uso representa o que um ator quer que o sistema 2 0 � Um caso de uso representa o que um ator quer que o sistema faça. � Atores servem para definir o ambiente do sistema. � Quando definimos o que os atores fazem e o que os casos de uso fazem, delimitamos, de forma clara, o escopo do sistema. MCU: Diagrama de Casos de Uso (DCU) � Ferramenta: UML � Representa graficamente os atores, casos de uso e relacionamentos entre esses elementos. � Tem o objetivo de ilustrar em um nível alto de abstração quais elementos 2 1 � Tem o objetivo de ilustrar em um nível alto de abstração quais elementos externos interagem com que funcionalidades do sistema. MCU: Exemplo de DCU 2 2 MCU: Relacionamentos no DCU 2 3 Técnicas para identificar os elementos do MCU MCU: Identificação dos elementos � Atores e os casos de uso são identificados a partir de informações coletadas no levantamento de requisitos. � Fontes e os destinos das informações a serem processadas são atores em potencial. 2 5 potencial. � Caso de Uso Primário: representa os objetivos dos atores. � Caso de Uso Secundário: aquele que não traz benefício direto para os atores, mas que é necessário para que sistema funcione adequadamente. � Não há regra que indique quantos casos de uso e atores são necessários para descrever um sistema. MCU: Identificando Casos de Uso Primários � Perguntas úteis: � Quais são as necessidades e objetivos de cada ator em relação ao sistema? � Que informaçõeso sistema deve produzir? O sistema deve realizar alguma ação que ocorre regularmente no tempo? 2 6 � O sistema deve realizar alguma ação que ocorre regularmente no tempo? � Para cada requisito funcional, existe um (ou mais) caso(s) de uso para atendê-lo? MCU: Identificando Casos de Uso Secundários � Estes se encaixam nas seguintes categorias: � Manutenção de cadastros; � Manutenção de usuários; � Gerenciamento de acesso; � Manutenção de informações provenientes de outros sistemas. 2 7 � Obs.: casos de uso secundários, são menos importantes que os casos de uso primários. � O sistema de software não existe para cadastrar informações, nem tampouco para gerenciar os usuários. � O objetivo principal de um sistema é agregar valor ao ambiente no qual ele está implantado. Construindo um MCU DCU: Construção � Os diagramas de casos de uso devem servir para dar suporte à parte textual do modelo, fornecendo uma visão de alto nível. � Quanto mais fácil for a leitura do diagrama representando casos de uso, melhor. � Se o sistema sendo modelado não for tão complexo, pode ser criado um único DCU. 2 9 � É útil e recomendada a utilização do retângulo de fronteira para delimitar e separar visualmente casos de uso e atores. � Relacionamentos possíveis entre casos de uso: � <<include>> Um caso de uso existe dentro de outro � <<extend>> Em alguma situação um caso de uso será estendido por outro DCU: Construção � Em sistemas complexos, representar todos os casos de uso do sistema em um único DCU talvez o torne um tanto ilegível. � Alternativa: criar vários diagramas (de acordo com as necessidades de visualização) e agrupá-los em pacotes. 3 0 visualização) e agrupá-los em pacotes. � Todos os casos de uso para um ator; � Todos os casos de uso a serem implementados em um ciclo de desenvolvimento. � Todos os casos de uso de uma área (departamento, seção) específica da empresa. DCU: Construção 3 1 Documentação dos Atores � Uma breve descrição para cada ator deve ser adicionada ao MCU. � O nome de um ator deve lembrar o papel desempenhado pelo 3 2 � O nome de um ator deve lembrar o papel desempenhado pelo mesmo. � Exemplo “Aluno: representa pessoas que fazem um curso dentro da universidade.” Documentação dos Casos de Uso � Como não temos um padrão, é necessário que a equipe de desenvolvimento padronize o seu estilo de descrição. � Algumas seções normalmente encontradas: 3 3 � Sumário � Atores � Fluxo principal � Fluxos alternativos � Referências cruzadas (para requisitos não funcionais) Documentação dos casos de uso � Nome � Descrição � Identificador � Fluxo Principal � Fluxos Alternativos � Fluxos de Exceção 3 4 � Importância � Sumário � Ator Primário � Atores Secundários � Pré-condições Fluxos de Exceção � Pós-condições � Regras do Negócio � Histórico � Notas de Implementação Documentação dos Casos de Uso � Algumas boas práticas na documentação de casos de uso. � Comece o nome do caso de uso com um verbo no infinitivo (para indicar um processo ou ação). � Tente descrever os passos de caso de sempre na forma sujeito + predicado. Ou seja, deixe explícito quem é o agente da ação. 3 5 explícito quem é o agente da ação. � Não descreva como o sistema realiza internamente um passo de um caso de uso. � Tente dar nomes a casos de uso seguindo perspectiva do ator primário. Foque no objetivo desse ator. Exemplos: Registrar Pedido, Abrir Ordem de Produção, Manter Referência, Alugar Filme, etc. � Tente manter a descrição de cada caso de uso no nível mais simples possível... Os papéis do Caso de Uso Casos de Uso e outras atividades � Validação � Clientes e usuários devem entender o modelo (validação) e usá-lo para comunicar suas necessidades. 3 7 � Planejamento e gerenciamento do projeto � Para o gerente de um projeto ajuda no planejamento e controle de um processo de desenvolvimento incremental e iterativo � Testes do sistema � Os casos de uso e seus cenários oferecem casos de teste. Casos de Uso e outras atividades � Documentação do sistema para os usuários � Manuais e guias do usuário podem ser construídos com base nos casos de uso. � Realização de uma iteração Os casos de uso podem ser alocados entre os membros de equipe de 3 8 � Os casos de uso podem ser alocados entre os membros de equipe de desenvolvimento � Essa estratégia de utilizar o MCU como ponto de partida para outras atividades também é denominada Desenvolvimento Dirigido por Casos de Uso (Use Case Driven Development) MCU no processo de desenvolvimento � Casos de uso formam uma base através da qual podem-se realizar as iterações do desenvolvimento. � Um grupo de casos é alocado a cada iteração. � Em cada iteração, o grupo de casos de uso é detalhado e desenvolvido. 3 9 � Em cada iteração, o grupo de casos de uso é detalhado e desenvolvido. � O processo continua até que todos os casos de uso tenham sido desenvolvidos e o sistema esteja completamente construído. � A descrição expandida de um caso de uso pode ser deixada para a iteração na qual este deve ser implementado. � evita perda de tempo inicial no detalhamento. � estratégia mais adaptável aos requisitos voláteis. Cuidado!! � Um caso de uso deve ser executado em uma única interação. � Um caso de uso deve ser interativo, com entrada e saída de informações do sistema. 4 0 � Um caso de uso deve resultar em uma alteração consistente da informação armazenada. � Um caso de uso se aplica em que a interação ocorre em mais de um passo. Lembre-se “Casos de uso casuais e legíveis ainda são úteis, enquanto casos de uso ilegíveis não serão lidos.” 4 1 ilegíveis não serão lidos.” Atividade anterior 1. Faça para o estudo de caso em desenvolvimento: 1. Levantamento dos requisitos necessários 2. Diagrama de casos de uso Material de Apoio � Estudo de Caso do livro do Bezerra. � Revista Java Magazine n. 49: “Análise de Requisitos: Usando diagramas UML e documentos de casos de uso” 4 3 diagramas UML e documentos de casos de uso”
Compartilhar