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



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

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

DOCUMENTO DE REQUISITOS

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES

Requisitos de Software

Engenharia de Requisitos

APOO Análise e Projeto Orientado a Objetos. Requisitos

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

Engenharia de Software

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

Disciplina de Banco de Dados Introdução

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial

CHECK - LIST - ISO 9001:2000

Documento de Requisitos de Sistemas. SGC Sistema Gerenciador de Clínicas

SAV Sistema de Aluguel de Veículos I - DOCUMENTO DE REQUISITOS Versão 1.00

Conceitos de Banco de Dados

Requisitos de Software

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

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

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

1. CONCEITOS BÁSICOS DE BD, SBD E SGBD

Requisitos. Sistemas de Informações

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

PEN - Processo de Entendimento das Necessidades de Negócio Versão 1.4.0

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

Documento de Requisitos Projeto SisVendas Sistema de Controle de Vendas para Loja de Informática.

Persistência e Banco de Dados em Jogos Digitais

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

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA

Engenharia de Requisitos Estudo de Caso

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

LEVANTAMENTO DE REQUISITOS. Lílian Simão Oliveira

UNIP Ciência da Computação / Sistemas de Informação TED I - Orientações Gerais para Elaboração dos Documentos

Análise e Projeto de Sistemas de Informação. Andrêza Leite andreza.lba@gmail.com

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

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE]

SISTEMA GERENCIADOR DE BANCO DE DADOS

Universidade Paulista

Concepção e Elaboração

Nome da Empresa. <Nome do Projeto> Plano de Desenvolvimento de Software. Versão <1.0>

Módulo 4: Gerenciamento de Dados

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

Feature-Driven Development

Prof. Marcelo Machado Cunha

ADMINISTRAÇÃO DE ATIVOS DE TI GERENCIAMENTO DE CONFIGURAÇÃO

ENQUALAB 2013 QUALIDADE & CONFIABILIDADE NA METROLOGIA AUTOMOTIVA. Elaboração em planos de Calibração Interna na Indústria Automotiva

PLANEJAMENTO E PROJETOS. Lílian Simão Oliveira

Resumo: Perguntas a fazer ao elaborar um projeto arquitetural

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UML - Unified Modeling Language

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

Bancos de Dados. Conceitos F undamentais em S is temas de B ancos de Dados e s uas Aplicações

ANEXO X DIAGNÓSTICO GERAL

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

Conceitos básicos. Aplicações de banco de dados. Conceitos básicos (cont.) Dado: Um fato, alguma coisa sobre a qual uma inferência é baseada.

Introdução Fatores de Qualidade Garantia de Qualidade Rivisões de Software Conclusão. Qualidade. Plácido A. S. Neto 1

Fundamentos dos Sistemas de Informação Organização de Dados e Informações

FIREWALL. Prof. Fabio de Jesus Souza. Professor Fabio Souza

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. DCC-IME-USP

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

Sistema de Armazenamento de Dados Eleitorais - SisElege

Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados

Entendendo como funciona o NAT

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc.

Softwares Aplicativos Banco de Dados

Faculdade Lourenço Filho - ENADE

LINGUAGEM DE BANCO DE DADOS

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

Diagrama de Classes. Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes.

Engenharia de Software I

Capítulo X. Gerenciar Mudanças dos Requisitos. Aluizio Saiter, M. Sc.

Tipos de teste de software

Projeto de Sistemas I

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo

Documento de Arquitetura

ESTUDO DE CASO WINDOWS VISTA

Análise Estruturada de Sistemas

LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO. Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto

PPS - Processo de Proposta de Solução Versão 1.3.1

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

Banco de Dados I. 1. Conceitos de Banco de Dados

Gestão de Modificações. Fabrício de Sousa

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

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

Planejamento e Gerenciamento de Software. Tema 3. Gerência de Projetos Profa. Susana M. Iglesias

ORGANIZAÇÃO CURRICULAR

15/03/2010. Análise por pontos de função. Análise por Pontos de Função. Componentes dos Pontos de Função. Componentes dos Pontos de Função

Eduardo Bezerra. Editora Campus/Elsevier

Documento de Requisitos Sistema WEB GEDAI

Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Programa de Pós-Graduação em Informática

Histórico da Revisão. Data Versão Descrição Autor

2 Diagrama de Caso de Uso

{Indicar o tema e objetivo estratégico aos quais o projeto contribuirá diretamente para o alcance.}

ENGENHARIA DE REQUISITOS

Modelagem de Dados Usando o Modelo Entidade-Relacionamento

ADMINISTRAÇÃO DE SISTEMAS DE INFORMAÇÃO (AULA 03)

Transcrição:

Modelo para Documento de Especificação de Requisitos de Software Prof. Dr. Juliano Lopes de Oliveira (Baseado na norma IEEE Std 830-1993 - Recommended Practice for Software Requirements Specifications) A boa organização lógica do documento e a sua redação correta são condições essenciais para que ele se torne útil na prática. Algumas recomendações neste sentido, antes de examinarmos o conteúdo da especificação de requisitos: Os pontos básicos que devem ser definidos no documento são: funcionalidade, interfaces externas, restrições, critérios de qualidade e de desempenho. O documento deve definir quais funções são executadas sobre que dados para produzir quais resultados em qual local e para quem. Toda a equipe de desenvolvimento (usuários, técnicos e gerentes) deve participar da elaboração do documento, que deve definir corretamente todos os requisitos do software, mas sem descrever detalhes de projeto ou de implementação (a menos que seja realmente uma restrição a ser considerada). O documento descreve as necessidades do produto de software, e não o processo de produção. Gráficos e diagramas podem ajudar bastante na especificação. Porém, não se trata de um documento de projeto: não se faz particionamento de módulos internos, escolha de estruturas de dados, e outras atividades de projeto. Tampouco se faz atividades de planejamento de software, tais como cálculo de custos, cronograma de entrega, critérios de validação, etc. É preciso garantir que o documento define estes pontos de maneira correta, não ambígua, completa, consistente, classificada de acordo com a importância dos requisitos, verificável, modificável e rastreável. Um requisito correto é um requisito que o software deve atender. Um requisito não ambíguo permite somente uma interpretação. Uma especificação de requisitos é completa se contém todos os requisitos importantes, definindo todas as definições de respostas do software para todas as classes imagináveis de entrada de dados em todas as situações imagináveis. Os termos e unidades de medidas usadas na especificação também devem ser bem definidos. Todas as figuras, tabelas e diagramas devem ter uma legenda completa.

Uma especificação de requisitos deve ser consistente com documentos "maiores" (leis, por exemplo), e também internamente consistente (sem conflitos internos). O documento deve especificar todas as necessidades que poderiam ser atendidas pelo software, classificando-as de acordo com a importância em: Essenciais (atendimento obrigatório), Desejáveis (atendimento fortemente recomendado), e Opcionais (seria bom atender). Um requisito deve ser verificável, ou seja, deve haver uma maneira de garantir que o requisito é atendido pelo software (exemplo: a função deve usar no máximo 2Mbytes de memória; contra-exemplo: a interface deve ser amigável). O documento deve ser modificável: referências cruzadas entre seções são absolutamente essenciais para evitar redundância, melhorar a legibilidade do documento e facilitar sua modificação. Utilizar uma notação e uma linguagem consistente ao longo de todo o documento é fundamental. Utilizar índice de conteúdo, lista de tabelas e lista de figuras contribui para facilitar a leitura e a modificação do documento. Cada requisito deve ser rastreável: um requisito deve identificar sua origem (backward traceability - documento ou ata de reunião, por exemplo) e deve ser univocamente identificado, de forma que documentos posteriores possam referenciá-lo (forward traceability). É preciso levar em conta que o documento pode evoluir ao longo do tempo. Um processo formal deve ser estabelecido para identificar, controlar e rastrear as modificações efetuadas. Conteúdo do Documento 1. Introdução 1.1. Propósito (do documento) Estabelecer o objetivo do documento e o público alvo. 1.2. Escopo (do software) Definir o(s) produto(s) especificado(s) no documento: nome, objetivos, limites de atuação, benefícios esperados,...

1.3. Visão Geral (do documento) Descrever a organização e o conteúdo de cada seção do documento 2. Informações de Suporte 2.1. Definições Descrever todas as siglas e abreviações usadas no documento, bem como os termos necessários ao seu entendimento. 2.2. Referências Listar todos os documentos citados no documento (normas, livros, manuais de outros produtos,...). 3. Descrição Geral do Software Lembre-se que todos os itens desta seção serão detalhados na próxima seção (a idéia aqui é apresentar uma visão geral, sem detalhes). 3.1. Perspectiva de Produto Descrever o contexto em que o software deverá ser executado: interconexões, interfaces externas, operações, sistemas de comunicação, restrições de memória (primária e secundária) e requisitos da plataforma. Um diagrama de arquitetura de software pode ajudar esta definição. 3.2. Funções do Produto Especificar as principais funções do software, dando uma idéia de como elas cooperam para realizar os objetivos do sistema. 3.3. Características de Usuários Descrever o perfil de usuário esperado, e as razões para eventuais requisitos de formação educacional, conhecimento técnico ou experiência.

3.4. Restrições Definir obrigações ou limitações às opções de desenvolvimento, justificando-as (preferencialmente com o apoio de documentos). 3.5. Suposições e Dependências Definir as hipóteses que são consideradas e que têm influência sobre os requisitos do software. Ex: supõe-se que o SGBD Oracle estará disponível; caso contrário os requisitos de portabilidade de bases de dados deverão ser revistos. 3.6. Requisitos Futuros Citar os requisitos identificados mas que não serão contemplados nesta versão do software. 4. Requisitos Específicos 4.1. Interfaces Externas Definir detalhes de intercâmbio de dados com entidades externas: Usuário: todos os aspectos de IHC; Hardware: descrever o relacionamento do software com a plataforma alvo (dispositivos suportados, família de processador,...); Software: ligações com sistemas (SO, SGBD, outros sistemas aplicativos,...); Sistemas de Comunicação: APIs, protocolos de rede, software de suporte a distribuição (ex: CORBA), considerações sobre inter/intranet,... 4.2. Funções Para cada função descrever: entradas válidas e inválidas; operações realizadas; resultados ou saídas aceitáveis; tratamento de exceções.

Considerar não apenas as funções específicas do software, mas também as de suporte (por exemplo, administração do sistema, backups, auditoria, etc). É importante organizar a descrição das funções, definindo esta organização no início da seção: por modo, por classe de usuário, por objeto, por hierarquia funcional,... 4.3. Requisitos de Desempenho Estáticos: quantidade de terminais na rede, conexões simultâneas, volumes de dados armazenados, número de threads,... Dinâmicos: transações por segundo, tempo de resposta em condições normais e de pico, memória usada por um processo,... 4.4. Requisitos de Bases de Dados Lógicas Descrição dos dados: facilidades de acesso aos dados, freqüência de uso, restrições de integridade, persistência,... 4.5. Restrições de Projeto Pontos que não podem ser modificados devido a: padrões, regras, normas, leis, limitações de hardware,... 4.6. Atributos do Sistema de Software Fatores de Qualidade: portabilidade, segurança, manutenibilidade,... 5. Apêndices 5.1. Comentários Adicionais Descrever ou comentar o processo que levou a cada requisito importante especificado no documento, mostrando as alternativas examinadas e o motivo da escolha. 5.2. Documentos Importantes Anexar ao Documento de Especificação de Requisitos todos os documentos que serviram de base para sua elaboração, tais como: normas de desenvolvimento de software, leis que justificam decisões de projeto,...