Engenharia de Requisitos. Aécio Costa



Documentos relacionados
Requisitos de Software. Teresa Maciel DEINFO/UFRPE

Elicitação e Análise de Requisitos. Slide 1

Engenharia de Requisitos

APOO Análise e Projeto Orientado a Objetos. Requisitos

REQUISITOS. Prof. Msc. Hélio Esperidião

Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

Projeto de Sistemas I

Tópicos da Aula. Que é são requisitos? Tipos de Requisitos. Requisitos Funcionais. Classificação de Requisitos. Requisitos de Software.

Requisitos. Sistemas de Informações

Engenharia de Software

Análise e Conc epç ão de Sist em as de Inform aç ão,qwurgxomrj(qj GH5HTXLVLWRV. Adaptado a partir de Gerald Kotonya and Ian Sommerville

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 10 PROFª BRUNO CALEGARO

Documento de Requisitos

CHECK - LIST - ISO 9001:2000

Engenharia de Software 2012/3 Aula 4 Engenharia de Requisitos

Requisitos de Software

Parte I Requirement Engineering. Gestão de Projectos Informáticos. Gestão do Âmbito (Scope Management) Requirement Engineering.

Engenharia de Software Questionário sobre Engenharia de Requisitos Resolvido Prof. MSc Wagner Siqueira Cavalcante

Extração de Requisitos

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite (81 )

LISTA DE VERIFICAÇAO DO SISTEMA DE GESTAO DA QUALIDADE

Objetivos. Requisitos de Software. Tipos de Requisitos. O que é um requisito? Requisitos Funcionais e Não- Funcionais. Requisitos Funcionais

Prova de Conhecimento para Consultores de Implementação MPS.BR INSTRUÇÕES

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

Desenvolvimento de Interfaces Prototipação

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

ENGENHARIA DE SOFTWARE I

Requisitos de Software

2 Diagrama de Caso de Uso

O Processo de Engenharia de Requisitos

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR

UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas

Engenharia de Software. Parte I. Introdução. Metodologias para o Desenvolvimento de Sistemas DAS

Objetivos. Processos de Software. Tópicos abordados. O processo de software. Modelos genéricos de modelos de processo de software.

ISO/IEC 12207: Gerência de Configuração

CONCURSO PÚBLICO ANALISTA DE SISTEMA ÊNFASE GOVERNANÇA DE TI ANALISTA DE GESTÃO RESPOSTAS ESPERADAS PRELIMINARES

LEVANTAMENTO DE REQUISITOS. Lílian Simão Oliveira

Engenharia de Requisitos Estudo de Caso

Professor: Curso: Disciplina: Aula 4-5-6

Engenharia de Requisitos

DESENVOLVIMENTO DE INTERFACE WEB MULTIUSUÁRIO PARA SISTEMA DE GERAÇÃO AUTOMÁTICA DE QUADROS DE HORÁRIOS ESCOLARES. Trabalho de Graduação

Engenharia de Software: conceitos e aplicações. Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com

Análise e Projeto Orientados a Objetos Aula IV Requisitos. Prof.: Bruno E. G. Gomes IFRN

Requisitos de Software

Levantamento, Análise e Gestão Requisitos. Aula 12

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como:

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart.

Introdução à Engenharia de Software

PLANEJAMENTO E PROJETOS. Lílian Simão Oliveira

Engenharia de Software

Módulo 4: Gerenciamento de Dados

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS)

Modelagem de Casos de Uso (Parte 1)

Sistemas de Gerenciamento de Banco de Dados

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

Engenharia de Software

Capítulo 2. Processos de Software Pearson Prentice Hall. Todos os direitos reservados. slide 1

Análise de Sistemas. Contextualização. O Sucesso. Aula 4. Instrumentalização. Aula 4. Prof. Emerson Klisiewicz. Clientes satisfeitos

O Impacto da Engenharia de Requisitos no Processo de Métricas. Fátima Cesarino CAIXA

Para cada fase consideramos. Tempo para um projeto típico Tempo para um projeto Complexo. Arquitetura do Processo Unificado. A meta a ser atingida

Resumo do BABok 2.0 O Guia de Referência de Análise de Negócio Curso de Analista de Negócio 3.0

Engenharia de Software

Feature-Driven Development

Requisitos. Professor Gabriel Baptista ( gabriel.baptista@uninove.br ) ( )

QUALIDADE DE SOFTWARE. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 27 Slide 1

Introdução Ciclo de vida tradicional de desenvolvimento Prototipagem Pacotes de software Desenvolvimento de 4ª geração Terceirização

Tecnologia e Sistemas de Informações

Análise de Requisitos

Modelos de processos de desenvolvimento de software

Requisitos do usuário, do sistema e do software [Sommerville, 2004]

Ciência da Computação ENGENHARIA DE SOFTWARE. Análise dos Requisitos de Software

Ciclo de Vida Clássico ou Convencional CICLOS DE VIDA DE DESENVOLVIMENTO DE SISTEMAS. Ciclo de Vida Clássico ou Convencional. Enfoque Incremental

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos

EVOLUÇÃO DE SOFTWARE

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

As principais características da abordagem de um banco de dados versus a abordagem de processamento de arquivos são as seguintes:

Elicitação de requisitos e análise

Processos de Desenvolvimento de Software

pacotes de software na forma em que são É importante salientar que não é objetivo do software, suas atividades e produtos

Gerenciamento de Incidentes

O Processo Unificado: Captura de requisitos

Planejamento - 7. Planejamento do Gerenciamento do Risco Identificação dos riscos. Mauricio Lyra, PMP

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto

Softwares Aplicativos Banco de Dados

Modelo Cascata ou Clássico

Gerência de Projetos

Análise e Projeto Orientados por Objetos

Engenharia de Software III

Sistemas de Gestão Ambiental O QUE MUDOU COM A NOVA ISO 14001:2004

Diagrama de Caso de Uso e Diagrama de Sequência

TI Aplicada. Aula 02 Áreas e Profissionais de TI. Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com

Teste de Software. Profa. Cátia dos Reis Machado

Sommerville, Ian. Software Engineering. Editora: Addison Wesley. (capítulos sobre Requisitos)

SIMULADO: Simulado 3 - ITIL Foundation v3-40 Perguntas em Português

Implantação. Prof. Eduardo H. S. Oliveira

Transcrição:

Aécio Costa

Um requisito é uma característica do sistema ou a descrição de algo que o sistema é capaz de realizar, para atingir os seus objetivos. (PFLEEGER, 2004) Um requisito é algo que o sistema é capaz de realizar ou uma propriedade que o sistema necessita apresentar. Os requisitos de um sistema são as descrições do que o sistema deve fazer, os serviços que oferece e as restrições a seu funcionamento. (SOMMERVILLE, 2012)

Porque requisitos são importantes?

Segundo o CHAOS Report: 1. Requisitos incompletos; 2. Falta de envolvimento; 3. Mudanças de objetivos; 4. Comunicação insuficiente.

40% do percentual de erros detectados nos sistemas, deve-se a especificações mal feitas.

Sommerville (2012) define dois tipos de requisitos e faz uma distinção entre requisitos de usuário e requisitos do sistema.

Requisitos do usuário: declarações em uma linguagem natural com diagramas, de quais serviços o sistema deverá fornecer a seus usuários e as restrições com as quais este deve operar. Requisitos do sistema: descrições mais detalhadas das funções, serviços e restrições operacionais do sistema de software.

Requisitos do Sistema Requisitos do Usuário

Requisitos do Usuário O software deve fornecer um meio de representar e acessar arquivos externos criados por outras ferramentas.

Requisitos do Sistema O usuário deve dispor de recursos para definir o tipo dos arquivos externos; Cada tipo de arquivo externo pode ter uma ferramenta associada que pode ser aplicada a ele; Cada tipo de arquivo externo pode ser representado por um ícone; Quando um usuário seleciona um ícone, o efeito desta seleção é aplicar a ferramenta associada com o tipo de arquivo.

Outros Exemplos de Requisitos O sistema deve manter registro de todos os materiais da biblioteca incluindo livros, séries, jornais e revistas, fitas de vídeo e áudio, relatórios, coleções de transparências, discos de computadores, e CD-ROMs; O sistema deve permitir os usuários pesquisarem um item através do título, autor ou ISBN; A interface de usuário do sistema deve ser implementa da usando um browser de WWW (World-Wide-Web); O sistema deve suportar pelo menos 20 transações por segundo; As facilidades do sistema que estão disponíveis para o público devem ser demonstradas em 10 minutes ou menos.

Exercício: Levantar 2 requisitos para um sistema de controle acadêmico de uma faculdade. Tempo: 20 Minutos Dupla

Engenharia de Requisitos é... O processo de descobrir, analisar, documentar e verificar esses serviços e restrições. (SOMMERVILLE, 2012)

Segundo Sommerville (2012) os processos de engenharia de requisitos podem incluir quatro atividades: estudo de viabilidade, elicitação e análise, especificação e validação.

Classificação Os requisitos podem ser classificados de duas maneiras: funcionais e não funcionais.

Classificação Funcionais: Descreve uma interação entre o sistema e o seu ambiente. Não funcionais: Os requisitos não funcionais colocam restrições no sistema.

Os requisitos não funcionais podem ser classificados mais detalhadamente como:... Requisitos de performance Requisitos de manutenabilidade Requisitos de confiabilidade Requisitos de segurança Requisitos de facilidade de uso Requisitos de portabilidade

Exemplos: Requisitos funcionais Criação das agendas dos médicos: responsável por criar as agendas de disponibilidade para os atendimentos prestados pelos médicos em um determinado mês; Vender carro customizado: responsável por permitir que o consumidor navegue no site e monte o carro com as características que desejar.

Exemplos: Requisitos não-funcionais A operação de registro na agenda não deve demorar mais de 10 segundos; O banco de dados de pedido deve ser atualizado em tempo real.

Levantamento de Requisitos

Consiste no primeiro estágio de construção de conhecimento a respeito do problema que o software deverá resolver; Neste momento os engenheiros de software trabalham com clientes e usuários finais.

1. Descoberta dos requisitos 4. Especificação dos requisitos 2. Classificação e organização dos requisitos 3. Priorização e negociação dos requisitos Processo de elicitação e análise de requisitos (SOMMEVILLE, 2012)

Descoberta dos requisitos Nessa etapa ocorre a interação com os stakeholders para descobrir/identificar os requisitos.

Classificação e organização Visa agrupar os requisitos relacionados organizando-os em grupos coerentes.

Priorização e organização de requisitos Como há vários interesses e stakeholders envolvidos é comum ocorrer conflito nos requisitos levantados. Essa atividade visa a resolução desses conflitos.

Especificação dos requisitos Os requisitos são documentados por meio de documentos formais ou informais.

Porque é um processo difícil?

Segundo Sommerville (2012) há várias razões que tornam o processo difícil: 1. Os stakeholders costumam não saber o que querem de um sistema computacional. 2. Os stakeholders expressam requisitos em seus próprios termos e com conhecimento implícito de seu próprio trabalho. 3. Diferentes stakeholders têm requisitos diferentes e podem expressar essas diferenças de várias maneiras. 4. Fatores políticos podem influenciar os requisitos de um sistema. 5. É inevitável que ocorram mudanças durante o processo de análise.

Técnicas de Levantamento de Requisitos Entrevistas Questionários Brainstorm Cenários Protótipos Observação Reuso de Requisitos

Entrevistas Fechadas: o stakeholder responde a um conjunto predefinido de perguntas. Abertas: não existe uma agenda predefinida. A equipe de engenharia de requisitos explora uma série de questões com os stakeholders do sistema e, assim, desenvolve uma melhor compreensão de suas necessidades. (Sommerville, 2012)

Entrevistadores devem estar de cabeça aberta e não fazer a entrevista com noções pré-concebidas sobre o que é necessário; Informar aos stakeholders o ponto inicial da discussão. Isto pode ser uma questão, uma proposta de requisitos ou um sistema existente; Entrevistadores devem estar cientes da política organizacional - muitos requisitos reais podem não serem discutidos devido as implicações políticas.

Questionários Quando existe conhecimento sobre o problema e grande número de clientes; Dão idéia definida sobre como certos aspectos universo de informação/software são percebidos; Possibilitam análises estatísticas; Vantagens: padronização das perguntas e tratamento estatístico das respostas. Desvantagens: limitação do universo de respostas e pouca iteração.

Brainstorms Mais que uma técnica de dinâmica de grupo, é uma atividade desenvolvida para explorar a potencialidade criativa de um indivíduo ou de um grupo - criatividade em equipe - colocando-a a serviço de objetivos pré-determinados. Desenvolvimento de novos produtos - obter ideias para novos produtos e efetuar melhoramentos aos produtos existentes. Resolução de problemas - consequências, soluções alternativas, análise de impacto, avaliação. Gestão de projetos - identificar objetivos dos clientes, riscos, entregas, pacotes de trabalho, recursos, tarefas e responsabilidades.

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.

Cenários Ex: Pedido de Documentos Entre no sistema SysDoc Escolha o comando pedido de documentos Entre um número de referência do documento pedido Selecione um ponto de entrega Saia do sistema SysDoc Esta sequência de eventos pode ser ilustrada num diagrama

Cenários Ex: Pedido de Documentos User id Passwd Exceptions Operational terminal Login to EDDIS Invalid id or password Login retry Login OK Select order document Exceptions Permission denied Enter help system Order accepted Input document reference Exceptions Incorrect reference Input doc. reference Document reference OK Confirm delivery details Exceptions Delivery confirmed Logout from EDDIS Timeout Enter help system Auto-logout

Cenários Cenários são partes inerentes de alguns métodos de desenvolvimento orientados a objeto; O termo caso de uso ou use-case (um caso específico do uso do sistema) é usado as vezes para se referir a um cenário; Existem diferentes visões sobre o relacionamento entre caso de uso e cenários : Um caso de uso é um cenário; Um cenário é uma coleção de casos de uso. Portanto, cada interação excepcional é representada como um caso de uso separado.

Protótipos 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 com o sistema e mostrar os pontes fortes e fracos do sistema. 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.

Protótipos O protótipo permite que os usuários experimentem e descubram o que eles realmente necessitam para suportar o trabalho deles Estabelece a viabilidade e utilidade antes que altos custos de desenvolvimento tenha sido realizado Essencial para desenvolvimento do aspecto look and feel da interface do usuário Pode ser usado para teste do sistema e desenvolvimento da documentação Força um estudo detalhado dos requisitos que revela inconsistências e omissões

Tipos de Prototipagem Prototipagem descartável Útil para ajudar a elicitação e desenvolvimento dos requisitos. Os requisitos que devem ser prototipados devem ser aqueles que causam mais dificuldades para os clientes e que são mais difíceis de entender. Requisitos que são bem entendidos não precisam ser implementados pelo protótipo. Prototipagem evolucionária Tem como objetivo a entrega rápida de um sistema que funciona para o cliente. Assim, os requisitos que devem ser suportados pela versão inicial do protótipo, são aqueles que estão bem entendidos e que podem prover funcionalidade ao usuário final. Somente após largo uso do sistema é que requisitos que foram pouco entendidos deverão ser implementados

Custos e problemas da Prototipagem Custos de treinamento - o desenvolvimento de protótipos pode requerer o uso de ferramentas de propósito especial Custos de desenvolvimento - depende do tipo de protótipo sendo desenvolvido Extensão dos prazos de desenvolvimento - desenvolver um protótipo pode estender o prazo, embora o tempo de prototipagem possa ser recuperado pois o trabalho de correção de erros possa ser evitado Incompletudo - pode não ser possível prototipar os requisitos críticos do sistema

Abordagem para prototipagem Prototipagem no papel uma simulação do sistema é desenvolvida em papel usada para experimentação do sistema. Prototipagem executável uma linguagem de quarta geração ou um ambiente de prototipagem rápida é usada para o desenvolvimento de um protótipo executável. e

Observação As pessoas geralmente acham difícil descrever o que elas fazem pois isto é muito natural para elas. As vezes, a melhor forma de entende será observá-las no trabalho; Etnografia é uma técnica das ciências sociais que se mostrou útil no entendimento das processos reais realizados nos trabalhos; Os processo reais de trabalho geralmente diferem daqueles processos formais descritos Um etnógrafo passa algum tempo observando as pessoas no trabalho e constrói uma imagem de como o trabalho é realizado.

Reuso Reuso envolve considerar requisitos que foram desenvolvidos para um sistema e usá-los em sistemas diferentes; O reuso de requisitos economiza tempo e esforço, pois requisitos reutilizados já foram analisados e validados em outros sistemas; Atualmente o reuso de requisitos é um processo informal. Contudo, um reuso mais sistemático economizaria muito esforço.

Reuso Capacidade de se aproveitar análises anteriores que diferencia um analista experiente de um inexperiente; Vantagens: produtividade e qualidade (componentes já validados). Desvantagens: dificuldade de se promover reutilização sem modificação.

Problemas no Levantamento Não existir muito tempo para a elicitação; Preparação inadequada dos engenheiros; Stakeholders não estarem convencidos da necessidade de um novo sistema.

Validação de Requisitos

A validação de requisitos é o processo pelo qual se verifica se os requisitos definem o sistema que o cliente realmente quer. (Sommeville, 2012)

1. Verificação de validade; 2. Verificações de consistência; 3. Verificações de completude; 4. Verificações de realismo; 5. Verificabilidade.

1. Verificação de validade: Diferentes stakeholders, diferentes necessidades. É necessário um compromisso com os requisitos. 2. Verificações de consistência: Não deve existir conflito entre os requisitos. 3. Verificações de completude: Todas as funções e restrições devem ser contempladas. 4. Verificação de realismo: Os requisitos podem ser implementados? Orçamento e cronograma reais. 5. Verificabilidade: Deve ser possível escrever um conjunto de testes que comprovem que o sistema atende a cada requisito especificado

Documentação de Requisitos

É um documento formal usado para comunicar os requisitos aos clientes, engenheiros e gerentes. O documento de requisitos descreve: Os serviços e funções que o sistema deve prover; As limitações sobre as quais o sistema deve operar; Propriedades gerais do sistema, isto é limitações nas propriedades emergentes: Confiabilidade Manutenabilidade Desempenho (Performance) Usabilidade Segurança Definições de outros sistemas com o qual o sistema deve se integrar.

O documento de requisitos ainda descreve: Limitações nos processos usados para desenvolver o sistema; Descrições sobre o hardware no qual o sistema irá executar. Adicionalmente, deverá sempre conter uma capítulo introdutório que provê um resumo do sistema, necessidades de negócio suportadas pelo sistema e um glossário que explica a terminologia usada.

Quem usa o Documento de Requisitos? Clientes do Sistema Especificam os requisitos e os lêem para checar se eles satisfazem suas necessidades. Gerentes de Projeto Usam os documentos de requisitos para planejarem uma proposta para o sistema e o processo de desenvolvimento do sistema. Engenheiros de Sistema Usam os requisitos para entenderem o sistema em construção.

Quem usa o Documento de Requisitos? Engenheiros de teste do sistema Usam os requisitos para desenvolverem testes de validação do sistema. Engenheiros de manutenção do sistema Usam os requisitos para entenderem o sistema.

Uma vez que requisitos de usuário e de sistema têm propósitos e público alvo diferentes, é útil descrevê-los em documentos diferentes. Pfleeger (2004) sugere que dois tipos de documentos de requisitos sejam elaborados: Documento de definição dos requisitos Documento de especificação dos requisitos

Documento de definição dos requisitos Segundo Pfleeger (2004): 1. Em primeiro lugar, esboçamos o propósito geral do sistema. As referências a outros sistemas relacionados são incluídas, e incorporamos quaisquer termos e abreviações que possam ser úteis.

2. Em seguida, descrevemos o fundamento e os objetivos de desenvolvimento do sistema; 3. Se o cliente propôs uma nova abordagem para a solução do problema, esboçamos uma descrição da abordagem; 4. Uma vez que registramos a visão geral do problema, descrevemos as características detalhadas do sistema proposto; 5. Finalmente, discutimos o ambiente em que o sistema irá operar. Incluímos os requisitos de suporte técnico, segurança e privacidade, e também quaisquer restrições especiais de hardware ou software que deverão ser contempladas.

Documento de especificação dos requisitos O documento de especificação dos requisitos é escrito a partir da perspectiva do desenvolvedor. Redefine os requisitos de usuário em termos mais técnicos, apropriados para o desenvolvimento de software, sendo produzido por analistas de requisitos.

Matriz de Rastreabilidade

Projeto FACULDADE DOS GUARARAPES CURSO GESTÃO DE TECNOLOGIA Especificação de Requisitos Documento de Requisitos Dupla NOME DO PROJETO Aluno(s) Atenção! Este documento é um modelo e deve ser alterado de acordo com o contexto escolhido no Projeto de Engenharia de Software. Toda parte que estiver entre <> deve ser alterado para o contexto do Projeto. Este é somente um modelo! Documento: Projeto - ES Unidade I FG.doc Disciplina: Engenharia de Software Professor: Aécio Costa Jaboatão dos Guararapes/2013