Requisitos de Software



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

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

LEVANTAMENTO DE REQUISITOS. Lílian Simão Oliveira

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

Engenharia de Software

Elicitação de requisitos e análise

Engenharia de Software II

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

Requisitos de Software

Requisitos de Software

Gerenciamento de Requisitos Gerenciamento de Requisitos

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

Planejamento de Desenvolvimento de Software Everson Santos Araujo

Processos de gerenciamento de projetos em um projeto

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

Engenharia de Requisitos

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

3. Fase de Planejamento dos Ciclos de Construção do Software

Engenharia de Requisitos de Software

Atendimento de Demandas CTIC

A definição do escopo trata-se de um processo onde é realizada uma descrição detalhada do projeto e do produto a ser desenvolvido;

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

Introdução à. Engenharia de Software. Givanaldo Rocha de Souza

Engenharia de Software Tema da Aula Definição e Especificação de Requisitos I - Conceitos. Exercício

GERÊNCIA DE PROJETOS DE SOFTWARE. Introdução

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 1

3.1 Definições Uma classe é a descrição de um tipo de objeto.

Engenharia de Software II

4.1. UML Diagramas de casos de uso

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

Introdução. Escritório de projetos

LIVRO ENGENHARIA DE SOFTWARE FUNDAMENTOS, MÉTODOS E PADRÕES CAPÍTULO ATIVIDADES, PAG. 138 A 150

Qualidade de Software

Gestão dos Prazos e Custos do Projeto

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados

Gerenciamento de Requisitos

Modelo para Documento de. Especificação de Requisitos de Software

Engenharia de Software Unidade I Visão Geral

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

LISTA DE VERIFICAÇAO DO SISTEMA DE GESTAO DA QUALIDADE

Módulo 12 Gerenciamento Financeiro para Serviços de TI

ADMINISTRAÇÃO I. Família Pai, mãe, filhos. Criar condições para a perpetuação da espécie

Requisitos. Sistemas de Informações

QUALIDADE DE SOFTWARE

PLANO DE GERENCIAMENTO DE RISCO ESTUDO DE CASO: GASODUTO PILAR-IPOJUCA. IPOJUCA. Prof. Eduardo Lucena C. de Amorim

Resolução da lista de exercícios de casos de uso

Engenharia de Software

Diagrama de Estrutura Composta

Copyright Proibida Reprodução. Prof. Éder Clementino dos Santos

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

Engenharia de Software. Tema 1. Introdução à Engenharia de Software Profa. Susana M. Iglesias

ITIL v3 - Operação de Serviço - Parte 1

Engenharia de Software III

agility made possible

PROCEDIMENTOS DE AUDITORIA INTERNA

Catálogo de Padrões de Dados

Motivos para você ter um servidor

Conjunto de recursos (humanos e materiais), processos e metodologias estruturados de forma semelhante à indústria tradicional.

Etapas para a preparação de um plano de negócios

Modelo para Documento de. Especificação de Requisitos de Software

Gerenciamento de Projeto: Executando o Projeto III. Prof. Msc Ricardo Britto DIE-UFPI rbritto@ufpi.edu.br

PROCESSOS DE CRIAÇÃO DE APLICATIVOS

da Qualidade ISO 9001: 2000

Gestão de Pessoas - Ênfase em Recrutamento, Seleção e Integração de novos funcionários.

UNIVERSIDADE POSITIVO PROGRAMA DE MESTRADO E DOUTORADO EM ADMINISTRAÇÃO DOUTORADO EM ADMINISTRAÇÃO ÁREA DE CONCENTRAÇÃO: <ÁREA DE CONCENTRAÇÃO>

2 Engenharia de Software

Termo de Abertura de Projeto. Proposta Aceita pelo Cliente

UNEMAT SISTEMA DE INFORMAÇÃO (SI) Professora: Priscila Pelegrini

Capítulo 13 Pastas e Arquivos

Pós-Graduação em Gerenciamento de Projetos práticas do PMI

Gestão da Qualidade em Projetos

Termo de Abertura Sistema de Vendas de Pizzas Online (PizzaWeb) - Versão 1.0

Roteiro de Diagnóstico Descritivo para o ESA I

EAD 615 Gerenciamento de Projetos

POLÍTICA DE GESTÃO DE RISCO - PGR

Qualidade de Software

Qualidade de Software

Análise e Projeto de Software

Gerenciamento de Projetos Modulo VIII Riscos

Diagrama de contexto

DESENVOLVENDO O SISTEMA

Sumário. Introdução ao Microsoft Project. 1 Microsoft Project, gerenciamento de projetos e você 3. 2 Visão geral do Project 11.


MODELAGEM DE SISTEMAS DE INFORMAÇÃO

Casos de uso Objetivo:

Transcrição:

Requisitos de Software (Cap 6 - Sommerville) UNIVERSIDADE FEDERAL DE ALAGOAS Curso de Ciência da Computação Engenharia de Software I Prof. Rômulo Nunes de Oliveira Requisitos funcionais e não funcionais No levantamento de requisitos, devemos estar atentos a dois tipos: Requisitos Funcionais: As declarações de serviços que o sistema deve fornecer; Como deve reagir a entradas específicas; Como o sistema deve se comportar em determinadas situações; Em alguns casos, os requisitos funcionais podem também estabelecer explicitamente o que o sistema não deve fazer. Descrição abstrata dos requisitos do usuário Descrição detalhada/precisa dos requisitos do sistema Inclui os requisitos de domínio Requisitos funcionais e não funcionais No levantamento de requisitos, devemos estar atentos a dois tipos: Requisitos Não Funcionais: São restrições sobre os serviços ou as funções oferecidas pelo sistema Incluem restrições de timing, restrições sobre o processo de desenvolvimento e padrões Aplicam-se normalmente a todo o sistema Normalmente não se aplicam às características ou serviços individuais de sistema Podem descrever propriedades emergentes do sistema, como a confiabilidade, tempo de resposta, espaço para armazenamento. Ainda, capacidade dos dispositivos de entrada/saída e as representações dos dados nas interfaces Requisitos funcionais e não funcionais Tipos de requisitos não funcionais: Requisitos Organizacionais Requisitos de produto Requisitos de Entrega Requisitos de facilidade de uso Requisitos de Implementação Requisitos de eficiência Requisitos de Padrões Requisitos de desempenho Requisitos Externos Requisitos de Espaço Requisitos de interoperabilidade Requisitos de confiabilidade Requisitos éticos Requisitos de portabilidade Requisitos legais Requisitos de privacidade Requisitos de segurança 1

Tamanho Robustez Métricas para especificar requisitos não funcionais Propriedade Velocidade Facilidade de uso Confiabilidade Portabilidade Transações processadas/segundo Tempo de resposta de usuário/evento Tempo de atualização da tela Kbytes Número de chips de RAM Medida Tempo de treinamento Número de frames de ajuda Tempo médio de falha Probabilidade de indisponibilidade Taxa de ocorrência de falhas Disponibilidade Tempo para reiniciar após falha Porcentagem de eventos que causam falhas Probabilidade de corrupção de dados por falhas Porcentagem de declarações dependentes do sistema-alvo alvo Número de sistemas-alvo alvo Devem fornecer os requisitos funcionais e não funcionais, de modo que eles sejam compreensíveis pelos usuários do sistema que não possuem conhecimento técnico detalhado. Descrevem e especificam apenas o comportamento externo do sistema Não usar jargões de software, notações estruturadas ou formais, nem descrever os requisitos por meio da implementação do sistema. Usar linguagem simples, tabelas, formulários simples, diagramas intuitivos. Problemas do uso da linguagem natural na especificação de requisitos: Falta de clareza: às vezes, é difícil usar a linguagem de maneira precisa e não ambígua. Confusão de requisitos: Requisitos funcionais, requisitos não funcionais, metas de sistema e informações de projeto podem não estar claramente diferenciados. Fusão de requisitos: Diversos requisitos diferentes podem ser expressos juntos como um único requisito. Para minimizar os mal-entendidos na elaboração dos requisitos, é recomendável adotar um padrão de escrita. Segue uma sugestão... Dicas para padrão de escrita de requisitos: 1. Invente um formato padrão e assegure-se que todas as definições de requisitos estejam nesse formato. O objetivo aqui é facilitar a identificação. Descreva o requisito de forma clara e objetiva Incluir uma justificativa lógica Referência (link) para a especificação de requisitos do sistema Fonte do requisito ou nome de quem propôs o requisito 2. Use a linguagem de forma consistente. Sempre faça distinção entre requisitos obrigatórios e desejáveis Use a palavra DEVE em requisitos obrigatórios; Use a palavra PODE em requisitos desejáveis. 2

Dicas para padrão de escrita de requisitos: (cont) 3. Use destaque no texto (negrito, itálico, cor, sublinhado) para ressaltar as partes principais do requisito. 4. Evite o uso de jargões da informática. Quando usar, descreva-os entre parêntesis. O mesmo vale para os termos técnicos. 5. Exemplo: 3.Exemplo: 2.6 Recursos de grade O editor deve fornecer um recurso de grade no qual uma matriz de linhas horizontais e verticais fornecem um fundo para a janela do editor. Essa grade deve ser passiva e o alinhamento das entidades é de responsabilidade do usuário. Justificativa lógica: Uma grade ajuda o usuário a criar um diagrama bem organizado com entidades bem espaçadas. Embora uma grade ativa, na qual as entidades saltam as linhas de grade, possa ser útil, o posicionamento é impreciso. O usuário é a melhor pessoa para decidir onde as entidades devem ser posicionadas. Especificação: Eclipse/WS/Tools/DE/FS Seção 5.6 Fonte: Ray Wilson, escritório de Glasgow Requisitos de sistema São versões expandidas dos requisitos de usuário usados pelos engenheiros de software como ponto de partida para o projeto do sistema. Adicionam detalhem e explicam como os requisitos de usuário devem ser fornecidos pelo sistema Podem ser usados como parte do contrato para a implementação do sistema e devem, portanto, ser uma especificação completa e consistente de todo o sistema. De forma geral, descreve o comportamento externo do sistema e suas restrições operacionais Usar a linguagem natural, porém com mais detalhes na descrição dos requisitos Requisitos de sistema Contudo, cuidado com ambigüidades do português: Sapados devem ser usados Cachorros devem ser carregados Por esse e outros motivos, você pode usar uma linguagem mais especializada na especificação desses requisitos. Linguagem natural estruturada Modelos gráficos dos requisitos (casos de uso, especificações matemáticas formais) Fazer diagramas de ações/ de seqüência 3

Documento de requisitos de software O documento de especificação de requisitos de software inclui: Requisitos do usuário Especificação detalhada dos requisitos de sistema Dependendo do volume, separar ou não os requisitos do usuário com os requisitos de sistema Pensar nos usuários de um documento de requisitos: Clientes de sistema (usuários) Gerentes Engenheiros de Sistema Engenheiros de Teste de Sistema Engenheiros de Manutenção de sistema Requisitos de sistema Considere na escrita de requisitos de sistema os itens: Função do requisito Descrição objetiva em português A entrada e origem da função A saída e destinos Ação descrita em detalhes (pode-se ilustrar e usar português estruturado) Precondição Pós-condição Efeitos colaterais Requisitos de interface tipos de interfaces que podem ser definidas: Interfaces de procedimentos nas quais programas ou subsistemas existentes oferecem uma série de serviços acessados pela chamada de procedimentos de interface (APIs) Estruturas de dados que são passadas de um subsistema para outro. Modelos gráficos de dados(veremos em outras aulas) É a declaração oficial do que os desenvolvedores de sistema devem implementar. Inclui: os requisitos de usuário Especificação detalhada dos requisitos de sistema Atenção para diversidade de usuários do documento Existe algum padrão para esse documento? Existe o padrão IEEE/ANSI 830-1998, mas pode ser melhorado conforme a necessidade. 4

Introdução Propósito do documento de requisitos Escopo do produto Definições, acrônimos e abreviaturas Referências Visão geral do restante do documento Descrição geral Perspectiva do produto Funções do produto Características dos usuários Restrições gerais Suposições e dependências (padrão IEEE/ANSI 830-1998) Requisitos específicos (mais importante) (padrão IEEE/ANSI 830-1998) Abrangem requisitos funcionais, não funcionais e de interface. Inclua também interfaces externas, funcionalidades e desempenho do sistema, requisitos lógicos para o banco de dados, restrições de projeto, características de qualidade. Apêndices Índice Embora o padrão IEEE seja interessante, Sommerville e Pressman recomendam as seguintes estruturas: Prefácio Deve definir o público-alvo do documento e descrever seu histórico de versões, incluindo uma justificativa lógica para a criação da nova versão e um resumo das mudanças feitas em cada versão. Introdução Deve descrever a necessidade do sistema. Deve descrever brevemente suas funções e explicar como o sistema irá funcionar com outros sistemas. Deve descrever como o sistema atende aos objetivos gerais de negócios e estratégicos da organização que encomendou o software. Glossário Deve definir os termos técnicos usados no documento. Você não deve fazer suposições sobre a experiência ou as habilidades do leitor. Não complique. Definição de requisitos de usuário Os serviços fornecidos ao usuário e os requisitos não funcionais do sistema devem ser descritos nesta seção. Essa descrição pode usar a linguagem natural, diagramas e outras notações compreensíveis pelos clientes. Padrões de produto e de processo a serem seguidos devem ser especificados. 5

Arquitetura de Sistema Este capítulo deve apresentar uma visão geral de alto nível da arquitetura prevista do sistema, mostrando a distribuição das funções nos módulos do sistema. Os componentes de arquitetura reusados devem ser destacados. Especificação de requisitos de sistema Deve descrever os requisitos funcionais e não funcionais mais detalhadamente. Caso necessário, mais detalhes podem também ser adicionados aos requisitos não funcionais; por exemplo, interfaces com outros sistemas devem ser definidas. Modelos de sistema Deve estabelecer um ou mais modelos de sistema, mostrando os relacionamentos entre os componentes e o sistema e seu ambiente. Podem ser modelos de objetos, modelos de fluxos de dados e modelos semânticos de dados. Evolução de sistema Deve descrever das hipóteses fundamentais sobre as quais o sistema está baseado, além de mudanças previstas devido à evolução do hardware, mudança das necessidades do usuário etc. Apêndices Deve fornecer informações detalhadas e específicas relacionadas à aplicação que está sendo desenvolvida. Exemplos de apêndices que podem ser incluidos são descrições de hardware e de banco de dados. Os requisitos de hardware definem as configurações mínima e ideal para o sistema. Os requisitos de banco de dados definem a organização lógica dos dados usados pelo sistema e os relacionamentos entre os dados. Índice Podem ser incluídos diversos índices para o documento. Assim como um índice alfabético normal, pode haver um índice dos diagramas, índices de funções etc. 1. Introdução Escopo e propósito do documento Objetivos do projeto Objetivos Funções principais Questões de desempenho Restrições técnicas e administrativas 2. Estimativas de projeto Dados históricos usados nas estimativas Técnicas de estimativa Estimativas (Pressman) 6

(Pressman) (Pressman) 3. Riscos do projeto Análise dos riscos Identificação Estimativa dos riscos Avaliação Administração dos riscos Opções para evitar os riscos Procedimentos de monitoração dos riscos 4. Cronograma Work breakdown divisão do trabalho no projeto Rede de tarefas Gráficos de timeline Tabela de recursos 5. Recursos do projeto Pessoal Hardware e Software Recursos especiais 6. Organização do pessoal Estrutura de equipe (se for o caso) Relatórios administrativos 7. Mecanismos de tracking (rastreamento) e controle. 8. Apêndices 7