Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 Disciplina Engenharia de Software 1 Profa. Silvia Helena Oliveira Santos Requisitos de Software: Princípios, a Engenharia, a Análise e o Documento 2 O problema da Engenharia de Software Engenharia de Software – Princípios da Análise de Requisitos 3 O problema da Engenharia de Software Engenharia de Software – Princípios da Análise de Requisitos 4 O problema da Engenharia de Software Engenharia de Software – Princípios da Análise de Requisitos 5 O problema da Engenharia de Software Engenharia de Software – Princípios da Análise de Requisitos 6 O problema da Engenharia de Software Engenharia de Software – Princípios da Análise de Requisitos 7 O problema da Engenharia de Software Engenharia de Software – Princípios da Análise de Requisitos 8 Engenharia de Requisitos Engenharia de Software –Princípios da Análise de Requisitos O problema da Engenharia de Software 9 Engenharia de Requisitos Engenharia de Software –Princípios da Análise de Requisitos Conteúdo 1. Engenharia de Requisitos 1.1 Elicitação 1.2 Análise 1.3 Modelagem 2. Documento de Requisitos 3. Requisitos de Qualidade 4. Tipos de Requisitos. 10 Engenharia de Requisitos Engenharia de Software –Princípios da Análise de Requisitos REQUISITO: Condição necessária para a obtenção de um certo objetivo ou para o preenchimento de certo fim ESPECIFICAÇÃO: Descrição minuciosa das características que um material, uma obra, ou um serviço deverão apresentar Portanto, Especificação é diferente de Requisitos Às vezes, usa-se: Especificação de Requisitos Especificação de Projeto. 11 Engenharia de Requisitos Engenharia de Software –Princípios da Análise de Requisitos DEFINIÇÃO A E.R. estabelece o processo de definição de Requisitos como um processo no qual o que deve ser feito é elicitado, modelado e analisado Este processo deve lidar com diferentes pontos de vista e usar uma combinação de métodos, ferramentas e pessoal O produto desse processo é um modelo, do qual um documento de requisitos é produzido. Este processo acontece num contexto previamente definido a que chamamos de Universo de Informação. (Júlio Leite, 1994) 12 Engenharia de Requisitos Engenharia de Software –Princípios da Análise de Requisitos Universo de Informação (UdeI) É o conjunto geral no qual o software será desenvolvido. Inclui todas as fontes de informação e todas as pessoas relacionadas ao software, às quais denominamos de agentes desse universo O UdeI é a realidade circunstanciada pelo conjunto de objetivos definidos por quem solicitou o software. 13 Engenharia de Requisitos Engenharia de Software –Princípios da Análise de Requisitos Principais Atividades da Eng.Requisitos 14 Engenharia de Requisitos Engenharia de Software –Princípios da Análise de Requisitos ELICITAÇÃO ELICITAR = Eliciar + Clarear + Extrair + Descobrir, tornar explícito, obter o máximo de informação para o conhecimento do objeto em questão. Eliciar = Fazer sair, extrair, trazer à tona (a verdade) HÁ TRÊS ATIVIDADES PRINCIPAIS: • Identificação de fontes de informação • Coleta de Fatos • Comunicação. 15 Engenharia de Requisitos - ELICITAÇÃO Engenharia de Software –Princípios da Análise de Requisitos NECESSIDADES DA ELICITAÇÃO •Não há como ser preciso sobre alguma coisa quando você não conhece a respeito. •RESOLUÇÃO DE PROBLEMAS: - Verificar o que é desconhecido? - Você conhece algum problema relacionado? - Poderia retomar o problema? •Resolver problemas para evitar custos crescentes para a correção de erros. 16 Engenharia de Requisitos - ELICITAÇÃO Engenharia de Software –Princípios da Análise de Requisitos IDENTIFICAÇÃO DAS FONTES DE INFORMAÇÃO • Universo de Inf.: onde contém toda informação necessária • Agentes (Atores, Usuários) • Outras fontes de Informação: - Documentação do macrosistema - Políticas da empresa - Manuais - Memorandos, atas, contratos... - Livros sobre tema relacionado - Outros sistemas da empresa - Outros sistemas externos. 17 Engenharia de Requisitos - ELICITAÇÃO Engenharia de Software –Princípios da Análise de Requisitos IDENTIFICAÇÃO DAS FONTES DE INFORMAÇÃO Importante: - Priorizar as Fontes de Informação - Identificar: - Atores mais importantes - Documentos mais mencionados. 18 Engenharia de Requisitos - ELICITAÇÃO Engenharia de Software –Princípios da Análise de Requisitos COLETA DE FATOS • Leitura de documentos • Observação (de processos e situações) • Entrevistas • Aplicação de Questionários • Análise de Protocolos • Participação ativa dos agentes do Univ. de Informações • Reuniões • Reutilização • Recuperação do projeto do software (eng. reversa) . 19 Engenharia de Requisitos - ELICITAÇÃO Engenharia de Software –Princípios da Análise de Requisitos COMUNICAÇÃO •Atividade fundamental para que a fase de elicitação tenha sucesso. •Trata-se da comunicação entre clientes/agentes e os engenheiros de software. •Atentar-se para: - Entendimento: estabelecimento de um contexto comum - Linguagem utilizada - Nível de Abstração - Retro-alimentação. 20 Engenharia de Requisitos - ANALISAR Engenharia de Software –Princípios da Análise de Requisitos Analisar: Fundamental para o sucesso do processo de desenvolvimento do software. • Envolve três atividades principais : - Identificação de Partes - Verificação - Validação 21 Engenharia de Requisitos - MODELAR Engenharia de Software –Princípios da Análise de Requisitos MODELAGEM -Há três atividades: - Representação - Organização - Armazenamento. 22 Engenharia de Requisitos - MODELAR Engenharia de Software –Princípios da Análise de Requisitos Métodos/Técnicas utilizados na modelagem: - Análise Estruturada - Análise Orientada a Objetos 23 Engenharia de Requisitos Engenharia de Software –Princípios da Análise de Requisitos Usuários de um Documento de Requisitos 24 Engenharia de Requisitos Engenharia de Software –Princípios da Análise de Requisitos Usuários de um Documento de Requisitos (cont.) 25 Engenharia de Requisitos - Técnicas Engenharia de Software –Princípios da Análise de Requisitos Separar requisitos em 3 categorias: 1. Requisitos que devem ser totalmente satisfeitos 2. Requisitos que são altamente desejáveis, mas não necessários 3. Requisitos que são possíveis, mas podem ser eliminados Ex: Em um sistema de cobrança de cartão de crédito deve ser capaz de relacionar as despesas atuais, somá-la e solicitar o pagamento para uma certa data. Esses são os requisitos da cat.1. Ele pode tbem separar as despesas por tipo de compra, para auxiliar o comprador a entender os padroes. Req. De cat. 2 Pode imprimir os creditos em preto e debitos em vermelho. Req. Da cat. 3. 26 Documento de Requisitos • Como resultado do processo de elicitação é desenvolvido o documento de requisitos do sistema. • Este documento contém a especificação de todos os requisitos funcionais e de qualidade do software, incluindo as capacidades do produto, os recursos disponíveis, os benefícios e os critérios de aceitação. Engenharia de Software – Análise de Requisitos 27 Documento de Requisitos • Erros mais comuns cometidos no desenvolvimento do documento de requisitos: • ignorar um grupo de clientes; • ignorar um único cliente; • omitir um grupo de requisitos; • permitir inconsistências entre grupos de requisitos; • aceitar requisito inadequado; • aceitar requisito incorreto, indefinido, ou impreciso; • aceitar um requisito ambíguo e inconsistente; Engenharia de Software – Análise de Requisitos28 TIPOS de Requisitos Ambiente Físico • Onde o equipamento funcionará? • É um local ou vários? • Existem restrições ambientais, tais como temperatura, umidade ou interferência magnética. Engenharia de Software – Análise de Requisitos 29 TIPOS de Requisitos Interfaces • Existe entrada vindo de um ou mais outros sistemas? • A entrada irá para um ou mais outros sistemas? • Os dados devem ser formatados de maneira pré- estabelecida? • Os dados devem utilizar uma mídia específica? Engenharia de Software – Análise de Requisitos 30 TIPOS de Requisitos Usuários e Fatores Humanos • Quem utilizará o sistema? • Haverão diversos tipos de usuários? • Qual o nível de habilidade de cada tipo de usuário? • Que tipo de treinamento será exigido para cada tipo de usuário • Quão fácil será para o usuário entender e usar o sistema? • Quão difícil será para o usuário usar mal o sistema? Engenharia de Software – Análise de Requisitos 31 TIPOS de Requisitos Funcionalidade • O que o sistema fará? • Quando o sistema o fará? • Existem vários modos de operação? • Como e quando o sistema poderá ser modificado ou melhorado? • Existem restrições de velocidade de execução, tempo de resposta ou taxa de vazão? Engenharia de Software – Análise de Requisitos 32 TIPOS de Requisitos Documentação • Quanta documentação é exigida? • Ela deve ser on-line, na forma de um livro ou ambos? • Para que audiência será cada tipo de documentação produzida? Engenharia de Software – Análise de Requisitos 33 TIPOS de Requisitos Dados • Tanto para entrada quanto para saída, qual o formato dos dados? • Qual a freqüência com que são recebidos ou enviados? • Quão precisos devem ser? • Qual o fluxo de dados pelo sistema? • Algum dado deve ser retido por algum período de tempo? Engenharia de Software – Análise de Requisitos 34 TIPOS de Requisitos Recursos • Que material, pessoal ou outros recursos são necessários para construir, usar e manter o sistema? • Quais as habilidades necessárias para os desenvolvedores? • Quanto espaço físico será ocupado pelo sistema? • Quais os requisitos de força, aquecimento e ar condicionado? • Existe um calendário prescrito para desenvolvimento? • Existe um limite de verba a ser gasta no desenvolvimento ou em hardware e software? Engenharia de Software – Análise de Requisitos 35 TIPOS de Requisitos Segurança • O acesso ao sistema ou à informação deve ser controlado? • Como os dados de um usuário serão isolados de outros? • Como os usuários de programas serão isolados de outros programas e do sistema operacional? • Com que freqüência serão feitos os backups? • Os backups deverão ser armazenados em um local diferente? • Devem ser tomadas precauções contra incêndio, inundação ou roubo? Engenharia de Software – Análise de Requisitos 36 Documento de Requisitos • O Documento de Requisitos de um software contém todos os requisitos funcionais e de qualidade do software, incluindo as capacidades do produto, os recursos disponíveis, os benefícios e os critérios de aceitação. • Esse documento serve como um meio de comunicação entre o engenheiro de software e o usuário, a fim de estabelecer um “acordo” acerca do software pretendido. • Deve-se evitar que durante o desenvolvimento do Documento de Requisitos decisões de projeto sejam tomadas. Engenharia de Software – Análise de Requisitos 37 Documento de Requisitos Requisitos de Qualidade A Norma ISO/IEC 9126 [ISO9126] define seis características de qualidade de software: • Funcionalidade, • Usabilidade, • Confiabilidade, • Eficiência, • Manutenibilidade • Portabilidade. Engenharia de Software – Análise de Requisitos 38 Documento de Requisitos Requisitos de Qualidade - Definições [ISO9126] Funcionalidade: “Conjunto de atributos que evidenciam a existência de um conjunto de funções e suas propriedades especificadas. As funções são as que satisfazem as necessidades explícitas e implícitas”. Usabilidade: “Conjunto de atributos que evidenciam o esforço necessário para se poder utilizar o software, bem como o julgamento individual desse uso, por um conjunto explícito ou implícito de usuários”. Engenharia de Software – Análise de Requisitos 39 Documento de Requisitos Requisitos de Qualidade - Definições [ISO9126] Confiabilidade: “Conjunto de atributos que evidenciam a capacidade do software de manter seu nível de desempenho sob condições estabelecidas durante um período de tempo estabelecido” Eficiência: “Conjunto de atributos que evidenciam o relacionamento entre o nível de desempenho do software e a quantidade de recursos usados, sob condições estabelecidas” Engenharia de Software – Análise de Requisitos 40 Documento de Requisitos Requisitos de Qualidade - Definições [ISO9126] Manutenibilidade: “Conjunto de atributos que evidenciam o esforço necessário para fazer modificações especificadas no software” Portabilidade: “Conjunto de atributos que evidenciam a capacidade do software de ser transferido de um ambiente para outro” Engenharia de Software – Análise de Requisitos 41 Documento de Requisitos Padrão proposto por Turine e Masiero para o DOCUMENTO DE REQUISITOS 1) O documento de requisitos do sistema deve ser composto por sentenças em linguagem natural, seguindo determinados padrões: a) Iniciar com “ O sistema deve ...”. b) Usar frases curtas. Exemplo:“ O sistema deve rodar em microcomputadores da linha IBM PC que possuam microprocessador Pentium III ou superior.” Engenharia de Software – Análise de Requisitos 42 Documento de Requisitos Padrão proposto por Turine e Masiero para o DOCUMENTO DE REQUISITOS 2) Os requisitos devem estar organizados logicamente e podem estar organizados de diversas formas: a) Requisitos funcionais e de qualidade. b) Seqüência de execução: Entrada, Processamento, Saída. c) Todas as entradas, todas as saídas, etc. Engenharia de Software – Análise de Requisitos 43 Documento de Requisitos Padrão proposto por Turine e Masiero para o DOCUMENTO DE REQUISITOS 3) Cada requisito deve ter um identificador único, por exemplo, um identificador numérico, para posterior referência. 4) Os requisitos do software devem estar divididos em requisitos funcionais e não funcionais (de qualidade). 5) Os requisitos não devem conter detalhes de implementação, o que não é conveniente nesta fase de desenvolvimento. É importante não utilizar termos relacionados à implementação, tais como “arquivo” e “menu”. Engenharia de Software – Análise de Requisitos 44 Documento de Requisitos Padrão proposto por Turine e Masiero para o DOCUMENTO DE REQUISITOS 6) Explicação dos termos do domínio da aplicação não devem estar presentes nos requisitos, devendo aparecer em um vocabulário do domínio da aplicação. 7) Manter consistente uso dos termos do domínio de aplicação. Engenharia de Software – Análise de Requisitos 45 Documento de Requisitos Exemplo A. Visão Geral do Sistema O Sistema de Apoio à Escrita (SAPES) tem como objetivo principal auxiliar a pesquisa bibliográfica. Os usuários deste sistema são, principalmente, pesquisadores que durante a sua pesquisa bibliográfica podem ler publicações (por exemplo: artigos, livros e periódicos) e armazená-las no sistema através de itens bibliográficos, construindo, assim, a sua bibliografia pessoal. Esta bibliografia pode ser alterada e consultada conforme a necessidade do pesquisador, além da possibilidade de fornecer diferentes tipos de relatório. O pesquisador pode também utilizar o sistemadurante a redação de textos científicos. Através do documento produzido pelo pesquisador, o sistema reconhece as citações e gera automaticamente a referência bibliográfica. Engenharia de Software – Análise de Requisitos 46 Documento de Requisitos Exemplo B. Requisitos Funcionais B.1. Preparação e Manutenção dos Itens Bibliográficos 1) O sistema deve permitir a inserção, alteração e exclusão de itens bibliográficos, mantendo uma bibliografia. 2) O sistema deve solicitar ao pesquisador os itens de informação necessários para inserir um item bibliográfico na bibliografia. Os itens de informação são: título, autor(es), data(mês/ano), local, resumo da publicação, assunto, numeração física, editora, periódico (volume, número, páginas), congresso e forma de citação. 3) O sistema deve fornecer mensagens de erro quando itens bibliográficos incompletos forem inseridos. Tais mensagens interrogam o pesquisador se deseja cancelar a operação de inserção, completar as informações incompletas ou concluir a inserção assim mesmo. Engenharia de Software – Análise de Requisitos 47 Documento de Requisitos Exemplo B2. Consultas Gerais e Emissão de Relatórios 4) O sistema deve permitir consulta a itens bibliográficos existentes na bibliografia. A busca destes itens bibliográficos pode ser realizada a partir dos seguintes itens de informação ou combinação destes: autor, assunto, editora, periódico, local e ano de publicação. Assim, o sistema apresenta para o pesquisador todos o(s) item(s) bibliográficos que satisfazem o critério de busca. . .. 3. Uso dos Itens Bibliográficos durante a redação de um texto científico 16) O sistema deve percorrer o documento produzido pelo pesquisador a fim de identificar todas as citações encontradas. A partir destas citações o sistema deve gerar automaticamente a referência bibliográfica seguindo o padrão ABNT, e que posteriormente será anexada ao documento. As citações no documento devem estar na forma ABNT. Engenharia de Software – Análise de Requisitos 48 Documento de Requisitos Exemplo C. Requisitos de Qualidade Confiabilidade 20. O sistema deve ter capacidade para recuperar os dados perdidos da última operação que realizou em caso de falha. 21. O sistema deve fornecer facilidades para a realização de backups dos arquivos do sistema. Eficiência 22. O tempo de processamento de uma operação de consulta não deve exceder três segundos para uma quantidade inferior a 10 itens bibliográficos. Engenharia de Software – Análise de Requisitos 49 Documento de Requisitos Exemplo C. Requisitos de Qualidade Portabilidade 24. O sistema deve rodar em microcomputadores da linha IBM PC que possuam microprocessador 486 DX ou superior, memória RAM mínima de 8Mbytes e rodam sob Windows95. 25. O sistema deve ser facilmente portável para o UNIX. Engenharia de Software – Análise de Requisitos 50 Documento de Requisitos Exemplo - Apêndice do Domínio Engenharia de Software – Análise de Requisitos 51 Documento de Requisitos Padrão IEEE para o documento de requisitos 1. Introdução 1.1 Propósito do documento de requisitos 1.2 Escopo do produto 1.3 Definições, acrônimos e abreviações 1.4 Referências 1.5 Visão Geral do restante do documento 2. Descrição Geral 2.1 Perspectiva do Produto 2.2 Funções do Produto 2.3 Características do Usuário 2.4 Restrições Gerais 2.5 Suposições e Dependências Engenharia de Software – Análise de Requisitos 52 Documento de Requisitos Padrão IEEE para o documento de requisitos 3. Requisitos específicos: • Abrangem os requisitos funcionais, não funcionais e de interface. • Os requisitos podem documentar: • interfaces externas, • descrever funcionalidade e desempenho do sistema, • especificar requisitos lógicos de banco de dados, • restrições de projeto, • propriedades emergentes do sistema • e características de qualidade 4. Apêndices 5. Índice Engenharia de Software – Análise de Requisitos 53 Documento de Requisitos Revisão da Especificação do Sistema • Cuidado: Existe uma tendência natural para se fazer um “curto circuito” da revisão e passar-se rapidamente para o desenvolvimento • A Revisão da Especificação do Sistema avalia a exatidão da definição contida na Especificação do Sistema • A Revisão é conduzida tanto pelo desenvolvedor quanto pelo cliente. • A Revisão garante que: 1) o escopo do projeto foi corretamente delineado 2) as funções, o desempenho e as interfaces foram adequadamente definidas 3) a análise do ambiente e dos riscos de desenvolvimento justificam o sistema 4) o desenvolvedor do sistema e o cliente têm a mesma percepção dos objetivos do sistema Engenharia de Software – Análise de Requisitos 54 Documento de Requisitos Exercício Proposto • Descubra ambigüidades ou omissões no seguinte documento de requisitos de uma parte de um sistema de emissão de passagens: • Um sistema automático de emissão de passagens vende passagens de trem. Os usuários escolhem seu destino e apresentam um cartão de crédito e um número de identificação pessoal. A passagem é emitida e o custo dessa passagem é incluído em sua conta do cartão de crédito. • Quando o usuário pressiona o botão para iniciar, uma tela de menu com os possíveis destinos é ativada, juntamente com uma mensagem para que o usuário selecione um destino. Uma vez selecionado um destino, pede-se que os usuários insiram seu cartão de crédito. A validade do cartão é checada e o usuário, então, deve fornecer um número de identificação pessoal. Quando a transação de crédito é validada, a passagem é emitida. • Reescreva a descrição mostrada anteriormente usando o formato Turine e Masiero. Resolva as ambigüidades identificadas de maneira apropriada. Engenharia de Software – Análise de Requisitos 55 LEITURA PROPOSTA • Livro: Engenharia de Software Autor: Pressman, Roger S. Livro: Engenharia de Software Autor: Summerville, Ian Artigo: Especificação de Requisitos: Uma Introdução. Autor: Turine, M. A. S.; Masiero, P. C.; Relatório Técnico do ICMC/USP, N. 39, 1996. Eng. Software II – Qualidade
Compartilhar