O Fluxo de Requisitos © Alexandre Vasconcelos

Slides:



Advertisements
Apresentações semelhantes
IFTO ESTRUTURA DE DADOS AULA 05 Prof. Manoel Campos da Silva Filho
Advertisements

Análise e Projeto Orientado a Objetos
O Modelo de Jesus para Crescimento e Serviço
Engenharia de Software
APSOO Aula 03.
Rational Unified Process
(Unified Modeling Language)
João Carlos Porto Orientadora: Prof.ª Dr.ª Junia Coutinho Anacleto 26/03/2010 Projeto de interceo.
O padrão de gerenciamento de projetos de um projeto
Gerenciamento do escopo do projeto
Centrado na arquitetura
INTRODUÇÃO A INFORMÁTICA
Projeto de Sistemas de Software
RUP Rational Unified Process (Processo Unificado de Desenvolvimento da Rational) 1.
Análise de Requisitos Use Case Renata Araujo Ricardo Storino
PERSPECTIVA CONCEITUAL
Professora: Aline Vasconcelos
FUNÇÃO MODULAR.
O processo de coletar os requisitos (escopo do cliente)
Análise e Projeto de Sistemas
O que é 5(S)? ? 5(S) É a prática de hábitos que permitem mudanças nas relações... É a base de qualquer programa de qualidade. 1.
RUP: Fluxo de Análise e Projeto
Visão Geral do Desenvolvimento de Sistemas e Papéis no Desenvolvimento de Software Marcely Dias
Gerenciamento do Escopo
Classes e objetos Modelagem
AP 1.
Provas de Concursos Anteriores
Análise de Casos de Uso Alexandre Motnteiro.
Modelagem para Web Aula de 11/04/2011.
METODOLOGIA PARA DESENVOLVIMENTO DE SISTEMAS Prof. Dr. rer. nat. Daniel D. Abdala 1.
TRIBUNAL DE JUSTIÇA DE PERNAMBUCO DIRETORIA DE INFORMÁTICA Workshop de Testes PROSOFT Setembro/ 2010 Daniel Leitão Juliana Xavier.
Engenharia de Requisitos
José Roberto Blaschek Gerência do Escopo José Roberto Blaschek.
Visão Geral PRO.NET.
Visão Geral do RUP.
PMBOK 5ª Edição Capítulo 5
Universidade Castelo Branco Prof a Flávia Balbino da Costa.
DIAGRAMA DE CASO DE USO Prof. Fabíola Gonçalves C. Ribeiro.
Fase de Elaboração: Fluxo de Requisitos
Coordenação Geral de Ensino da Faculdade
Análise e Projeto de Sistemas
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
Disciplina de Requisitos
► METODOLOGIA PARA DESENVOLVIMENTO DE SISTEMAS Prof. Dr. rer. nat. Daniel D. Abdala 1.
Prof. Alexandre Vasconcelos
Planejamento e Gerenciamento
Caso de Uso - Definição Um caso de uso é uma descrição narrativa de uma seqüência de eventos que ocorre quando um ator (agente externo) usa um sistema.
 - PSF Grupo: abc, agsj, fcac.
Introdução e Fundamentos Engenharia de Requisitos
Projeto de Banco de Dados
Técnicas e Projeto de Sistemas
Abr-17 Atividades, Artefatos e Responsáveis da Disciplina de Análise e Projeto Fluxo de análise e projeto.
UML Diagrama de Caso de Uso Profª. Marcelo Siedler
Qualidade de Processo de Software CMM e CMMI Aldo Rocha.
Capturando Requisitos com Use Cases Disciplina: Estudo do RUP Autor: Tiago Lima Massoni Orientacao: Augusto Sampaio Paulo Borba.
Laboratório de Programação
RUP - Cap. 3 – Processo Dirigido por Caso de Uso
Revisão 2º Bimestre Engenharia de Software I
Fase de Concepção Levantamento de Requisitos, Organização de Requisitos, Planejamento dos Ciclos Iterativos.
Análise e Projeto de Sistemas
Fluxos secundários Só devem ser analisados e descritos após a descrição dos fluxos básicos. Fluxos alternativos situações especiais (desconto para um cliente)
Use Cases e Fluxo de Eventos
Requisitos Não funcionais
Engenharia de Software Fluxo de Requisitos
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
RUP – Rational Unified Process Márcia Seabra Cabral Prof. Augusto Sampaio Centro de Informática - UFPE.
©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso.
Engenharia de Software com o RUP - Workflow de Requisitos
©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso.
Transcrição da apresentação:

O Fluxo de Requisitos © Alexandre Vasconcelos amlv@cin.ufpe.br alexandre@qualiti.com.br Centro de Informática da UFPE/ Qualiti Software Processes

Objetivos: Entender os conceitos básicos do fluxo de Requisitos e como eles afetam a Análise e Projeto Entender como ler e interpretar os artefatos gerados por este fluxo

Finalidade do fluxo de requisitos A finalidade deste fluxo é: Chegar a um acordo com o cliente e o usuário sobre o que o sistema deve fazer. Oferecer ao desenvolvedor um melhor entendimento dos requisitos do sistema. Delimitar o escopo sistema. Prover uma base para o planejamento do conteúdo das iterações. Definir uma interface do sistema com o usuário.

Principais Artefatos do fluxo de requisitos Glossário Documento de requisitos (funcionais e não-funcionais) Modelo de casos de uso (Diagrama de Casos de Uso + Especificação dos Casos de Uso) Matriz de rastreabilidade Termo de Homologação de Requisitos Protótipo da interface com o usuário (opcional)

Glossário Define termos importantes usados no projeto É importante para garantir que os conceitos envolvidos são interpretados da mesma forma por todos os membros da equipe Durante as atividade do fluxo de requisitos, surgem vários termos específicos, relevantes para a compreensão do domínio do problema. À medida que surgem, eles devem incluídos no Glossário do sistema. Assim, o Glossário está sempre sendo atualizado, principalmente durante as etapas iniciais do desenvolvimento.

Glossário: estrutura Introdução Definições Referências Objetivos do documento Público ao qual se destina Definições Termos, definições e sinônimos Referências Para as definições pode ser usada uma tabela, para facilitar a visualização.

Documento de requisitos Mostra a descrição geral do problema a ser resolvido com o sistema. Apresenta os requisitos funcionais e não-funcionais.

Documento de requisitos: estrutura Introdução Objetivos do documento Público ao qual se destina Problema Identificado Visão geral do sistema Abrangência e sistemas relacionados Descrição dos usuários Referências Requisitos Funcionais Atores Diagramas de caso de uso + especificação Requisitos Não-Funcionais Descrição do Protótipo de Interface com o Usuário

Modelo de casos de uso Diagrama de casos de uso Atores Casos de Uso Especificações de Casos de Uso

Modelo de casos de uso Use Cases direcionam o trabalho desde os requisitos até os testes Verificado por Realizado por Implementado por

Exemplo de Diagrama de casos de uso Transferir entre contas Cliente Realizar depósito Sacar dinheiro Consultar saldo Solicitar extrato Alterar senha

Especificação de caso de uso Modelo de caso de uso Breve descrição Ator Prioridade Interfaces Gráficas Associadas (opcional) Entradas e Pré-condições Saídas e Pós-condições Fluxo de eventos principal Fluxos secundários: alternativos e de exceção (opcional) Atores Casos de Uso ... Especificações de Use Case

Requisitos não-funcionais Descrevem requisitos de: Confiabilidade Desempenho (performance) Segurança Distribuição Adequação a Padrões Restrições de Hardware e Software etc.

Requisitos não-funcionais Devem ser testáveis, para isso devem ser mensuráveis! Precisam estar definidos em números e nomes O sistema precisa ser rápido. Quão rápido? O sistema deve ser implementado numa plataforma robusta. Que plataforma?

Requisitos não funcionais x casos de uso Associados a um caso de uso específico Associados a todo o sistema Para serem atendidos podem gerar novos casos de uso

Matriz de rastreabilidade Apresenta o relacionamento entre requisitos. É usada para a análise de impacto das mudanças nos requisitos.

Uma Matriz de rastreabilidade

Termo de Homologação de requisitos: estrutura Introdução Objetivos do documento Organização do documento Casos de uso homologados Para cada caso de uso Identificador Resultado da homologação Homologado, não homologado, homologado com restrições Comentários

Responsáveis e artefatos Analista de sistemas Diagrama de casos de uso Projetista de interface Glossário Termo de homologação de requisitos Usuário Matriz de rastreabilidade Protótipo da GUI Documento de requisitos Revisor

O Fluxo de Atividades Levantar Requisitos do Sistema Prototipar Interface Revisar Detalhar Especificação De Caso de Uso Projetista da Analista de Sistema Revisor de Estruturar Modelo de Casos de Uso Homologar Usuário Gerenciar Dependências

Atividade: Levantar Requisitos do Sistema Prototipar Interface Revisar Detalhar Especificação De Caso de Uso Projetista da Analista de Sistema Revisor de Estruturar Modelo de Casos de Uso Homologar Usuário Atores Casos de Uso Gerenciar Dependências

Atividade: Levantar Requisitos do Sistema Nesta atividade, o Analista de Sistemas deve entender o que os stakeholders esperam do sistema, através da coleta de informações e necessidades que o sistema deve cumprir. A execução da atividade tem como artefatos resultantes o documento de requisitos, o glossário de termos e o modelo de casos de uso (diagrama e especificação), brevemente esboçados.

Agrupamento de casos de uso Dividir os casos de uso em pacotes Ator Funcionalidades correlatas Processos

Prioridades de Casos de Uso Essencial para gerenciar os requisitos e para montar as iterações Deve-se definir as prioridades de todos os casos de uso, as quais podem ser: Essencial Importante Desejável

Atividade: Detalhar Especificação de Casos de Uso Levantar Requisitos do Sistema Prototipar Interface Revisar Detalhar Especificação De Caso de Uso Projetista da Analista de Sistema Revisor de Estruturar Modelo de Casos de Uso Homologar Usuário Atores Casos de Uso Desc: Pré: Pós: Fluxo: 1. 2. Fl. Sec: RNF Usab. Conf. Perfor. Seg. Gerenciar Dependências

Atividade: Detalhar Especificação de Casos de Uso Nesta atividade, o Analista de Sistemas descreve os fluxos de eventos dos casos de uso em detalhes de forma que o cliente e os usuários possam entender.

Quando e por que detalhar os casos de uso? após fazer levantamento dos principais casos de uso do sistema Por que? descrever detalhes do caso de uso descrever fluxo de eventos e outras propriedades uniformizar entendimento entre clientes, usuários e equipe de desenvolvimento

Fluxo de eventos básico Série de passos que compõem um caso de uso Sugestões: Concentre-se inicialmente na funcionalidade básica/central do caso de uso Pense nos fluxos secundários depois!

Fluxos secundários Só devem ser analisados e descritos após a descrição dos fluxos básicos. Fluxos alternativos situações especiais (saque além do limite para um cliente especial) Fluxos de erro situações de erro

Atividade: Estruturar o Modelo de Casos de Uso Levantar Requisitos do Sistema Prototipar Interface Revisar Detalhar Especificação De Caso de Uso Projetista da Analista de Sistema Revisor de Estruturar Modelo de Casos de Uso Homologar Usuário Atores Casos de Uso Desc: Pré: Pós: Fluxo: 1. 2. Fl. Sec: RNF Usab. Conf. Perfor. Seg. Gerenciar Dependências

Atividade: Estruturar o Modelo de Casos de Uso Nesta Atividade, o Analista de Sistemas extrai o comportamento dos casos de uso que necessitam ser considerados como abstratos e encontra novos atores abstratos que definem papéis que são compartilhados por vários outros atores. A execução desta atividade produz um refinamento do Modelo de Casos de Uso.

Por que estruturar o modelo? Extrair descrições de funcionalidades genéricas e compartilhadas que podem ser usadas por mais de um caso de uso. Extrair descrições de funcionalidades adicionais que possam estender descrições específicas Facilitar o entendimento do modelo

Relacionamentos entre casos de uso Inclusão Extensão Generalização

Relacionamento entre atores: generalização Quando um ator A realiza todos os casos de uso que o ator B, dizemos que A estende B. Realizar venda Vendedor Estabelecer crédito Supervisor

Atividade: Gerenciar Dependências Levantar Requisitos do Sistema Prototipar Interface Revisar Detalhar Especificação De Caso de Uso Projetista da Analista de Sistema Revisor de Estruturar Modelo de Casos de Uso Homologar Usuário Atores Casos de Uso Desc: Pré: Pós: Fluxo: 1. 2. Fl. Sec: RNF Usab. Conf. Perfor. Seg. Gerenciar Dependências

Atividade: Gerenciar Dependências Nesta atividade, o Analista de Sistemas executa as seguintes tarefas: Gerencia mudanças nos requisitos que foram concordados Gerencia o relacionamento entre requisitos Gerencia as dependências entre os documentos de requisitos e outros documentos produzidos no processo de engenharia de sistemas Analisa impactos e custos relacionados aos requisitos que mudaram

Atividade: Prototipar Interface Levantar Requisitos do Sistema Prototipar Interface Revisar Detalhar Especificação De Caso de Uso Projetista da Analista de Sistema Revisor de Estruturar Modelo de Casos de Uso Homologar Usuário Atores Casos de Uso Desc: Pré: Pós: Fluxo: 1. 2. Fl. Sec: RNF Usab. Conf. Perfor. Seg. Gerenciar Dependências

Atividade: Prototipar Interface Nesta atividade, o Projetista da Interface projeta e constrói um modelo de interface com o usuário que suporta o melhoramento da usabilidade.

Protótipo de interface com o usuário Ferramenta para compreensão do caso de uso o nível de detalhes deve ser adequado ao usuário Facilidade para a descrição de críticas básicas tamanho e tipo dos campos máscaras de edição Na RF queremos “desobrigar” o definidor de ter que encarregar-se do projeto detalhado da GUI. Assim, a seção de Interface, no doc. De requisitos, não necessariamente conterá a descrição detalhada de todas as interfaces - fazer uma descrição detalhada ou não fica a critério do definidor. Se ele quiser, pode usar a seção de Interface apenas para dar uma ideia de como deve ser a interface e dizer que campos ela deve conter, deixando para os desenvolvedores o projeto propriamente dito. Claro que se ele (o definidor) quiser fazer uma descrição detalhada da interface, ele pode fazê-lo. Em sistemas já existentes ele pode, inclusive, capturar telas do sistema e incluí-las na seção de interface, para ilustrar algum ponto do fluxo dos casos de uso. Assim, a descrição de interfaces funciona como uma ferramenta para a compreesão dos casos de uso - este é o seu objetivo. O nível de detalhes depende do estilo de cada definidor. Porém, via de regra, a descrição não deveria ser um projeto completo da interface, até porque é provável que características técnicas, levantadas nas atividades de análise e projeto, influenciem o design da interface. Os definidores costumam descrever também as críticas que são feitas aos campos da interface (ex.: este campo é numérico da forma xx.xxx.xx, etc.). Essas críticas podem ser feitas na própria descrição das interfaces, evitando assim a descrição de uma série de fluxos de erro que iriam especificar essas entradas erradas. Mas, cuidado! As críticas descritas em conjunto com a descrição das interfaces devem ser críticas bem básicas,destas que Java e Delphi permitem que você trate apenas setando uma propriedade dos campos. Críticas que traduzem regras de negócio mais complexas DEVEM ser descritas nos fluxos de erro, para não induzir que sejam tratadas diretamente na interface do sistema e não em camadas mais “internas” da aplicação (como a camada de regras de negócio). Senão você acaba favorecendo uma dependência de interface nos sistemas.

Atividade: Revisar os Requisitos Levantar Requisitos do Sistema Prototipar Interface Revisar Detalhar Especificação De Caso de Uso Projetista da Analista de Sistema Revisor de Estruturar Modelo de Casos de Uso Homologar Usuário Atores Casos de Uso Desc: Pré: Pós: Fluxo: 1. 2. Fl. Sec: RNF Usab. Conf. Perfor. Seg. Gerenciar Dependências

Atividade: Revisar os Requisitos Nesta atividade, o Revisor de Requisitos formalmente verifica os resultados do fluxo de requisitos conforme a visão do cliente do sistema. A execução da atividade deve apresentar como resultado uma versão aprovada ou rejeitada com as respectivas alterações dos artefatos de requisitos.

Checklists: Modelo de Casos de Uso O modelo de caso de usos está fácil de se entender? Estudando o modelo de caso de usos, você pode ter uma idéia clara das funções do sistema e como elas estão relacionadas? Todos os requisitos foram levantados? O modelo de caso de usos contém algum comportamento supérfluo? A divisão em pacotes do modelo de caso de usos está apropriada?

Checklists: Atores Todos os atores foram identificados? Cada ator está envolvido com pelo menos um caso de uso? Cada ator desempenha um papél? Algum deveria ser fundido com outro ou ser dividido em dois? Existem dois ou mais atores desempenhando o mesmo papél em relação a um caso de uso? Os atores têm nomes intuitivos e descritivos? Tanto os usuários como os patrocinadores do software têm um entendimento comum?

Checklists: Casos de Uso Cada caso de uso está envolvido com pelo menos um ator? Os caso de usos são independentes uns dos outros? Algum dos caso de usos tem comportamento ou fluxo de eventos muito similares? Os caso de usos têm nomes únicos, intuitivos e explicativos de modo que não podem ser confundidos em um estágio posterior? Os patrocinadores e usuários entendem os nomes e descrições dos caso de uso?

Checklists: Especificação de Caso de Uso Está claro quem deseja executar um caso de uso? A finalidade de cada caso de uso está clara? A descrição breve dá uma idéia clara do significado do caso de uso? Está claro como e quando os fluxos de eventos de cada caso de uso começam e terminam? A seqüência de comunicação entre um ator e um caso de uso está de acordo com as expectativas do usuário? As interações e trocas de informação entre os atores e o sistema estão claras? Existe algum caso de uso demasiadamente complexo? Os fluxos de eventos (básicos e alternativos) estão modelados de forma clara?

Checklists: Glossário Os termos têm uma definição clara e concisa? Cada termo do glossário foi incluído em algum lugar nas descrições dos caso de usos? Os termos são usados consistentemente nas descrições dos atores e dos caso de usos?

Atividade: Homologar Requisitos Levantar Requisitos do Sistema Prototipar Interface Revisar Detalhar Especificação De Caso de Uso Projetista da Analista de Sistema Revisor de Estruturar Modelo de Casos de Uso Homologar Usuário Atores Casos de Uso Desc: Pré: Pós: Fluxo: 1. 2. Fl. Sec: RNF Usab. Conf. Perfor. Seg. Gerenciar Dependências

Atividade: Homologar Requisitos Nesta atividade, o usuário faz a homologação dos requisitos a serem tratados na iteração. O termo de homologação é preenchido nesta atividade.

Projeto em Equipe Dados os seguintes artefatos do QIB: Descrição Geral Glossário Levantar os atores e casos de uso Construir o diagrama de casos de uso Levantar os requisitos não-funcionais Leia os artefatos fornecidos e, em seguida: 1. Identifique os atores do sistema 2. Identifique os casos de uso do sistema 3. Construa o Diagrama de casos de uso

Referências Applying Use Cases: A Practical Guide, Geri Schneider e Jason P. Winters, Addison-Wesley, 1998. UML Distilled, Martin Fowler, Addison-Wesley, 1997. The Unified Software Development Process, Ivar Jacobson, Grady Booch e James Rumbaugh, Addison-Wesley, 1998. The Unified Modeling Language: The User Guide, Ivar Jacobson, Grady Booch e James Rumbaugh, Addison-Wesley, 1999.

O Fluxo de Requisitos © Alexandre Vasconcelos amlv@cin.ufpe.br alexandre@qualiti.com.br Centro de Informática da UFPE/ Qualiti Software Processes