Engenharia de Requisitos - PDF Download grátis
Download "Engenharia de Requisitos"
1 Engenharia de Requisitos Introdução a Engenharia de Requisitos Professor: Ricardo Argenton Ramos Aula 08 Slide 1
2 Objetivos Introduzir a noção de requisitos do sistema e o processo da engenharia de requisitos. Explicar como a engenharia de requisitos se encaixa no processo mais abrangente da engenharia de sistemas Explicar a importância do documento de requisitos Slide 2
3 Requisitos do Sistema Definem o que é solicitado ao sistema fazer e com quais limitações ele é requisitado a operar. Por exemplo: 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 implementada 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. Slide 3
4 Tipos de Requisitos Requisitos bem gerais que dizem em termos amplos o que os sistemas têm que fazer. Requisitos funcionais do sistema. que definem parte da funcionalidade Requisitos de implementação que dizem como o sistema deve ser implementado. Requisitos de performance que especificam a performance mínima aceitável do sistema. Requisitos de usabilidade que especificam o tempo máximo o aceitável para demonstrar o uso do sistema. Slide 4
5 Tipos de Requisitos De modo geral: Requisitos Funcionais que definem parte da funcionalidade do sistema. Requisitos Não Funcionais que dizem respeito a restrições, aspectos de desempenho, interfaces com o usuário, confiabilidade, segurança, mantenabilidade, portabilidade, padrões Requisitos Organizacionais que dizem respeito às metas da empresa, suas políticas estratégicas adotadas, os empregados da empresa com seus respectivos objetivos; enfim toda a estrutura da organização. Slide 5
6 Problemas dos Requisitos Os requisitos não refletirem as reais necessidades dos clientes do sistema. Os requisitos serem inconsistentes e/ou incompletos. O custo alto para se fazer mudanças de requisitos depois de terem sido concordados. Existirem mal entendidos entre clientes, aqueles que desenvolvem os requisitos do sistema e os engenheiros de software que desenvolvem ou mantêm o sistema. Slide 6
7 Questões mais freqüentemente perguntadas sobre requisitos (FAQS) O que são requisitos? Uma descrição de um serviço ou de uma limitação O que é a engenharia de requisitos? O processo envolvido no desenvolvimento de requisitos de um sistema Quanto custa a engenharia de requisitos? Cerca de 15% dos custos do desenvolvimento do sistema. Slide 7
8 Questões mais Freqüentemente Perguntadas sobre Requisitos (FAQS) 40% do percentual de erros detectados nos sistemas, deve-se a especificações mal feitas. 45% 40% 35% 30% 25% 20% 15% 10% 5% 0% 40% 30% 30% % total erros Especificação Projeto Codificação Slide 8
9 FAQs Continuação O que é o processo de engenharia de requisitos? Um conjunto estruturado de atividades envolvidas no desenvolvimento dos requisitos do sistema O que acontece quando os requisitos estão errados? Os sistema atrasam, ficam não confiáveis e não satisfazem as necessidades dos clientes. Existe um processo de engenharia de requisitos ideal? Não - os processos precisam ser adaptados as necessidades organizacionais. O que é um documento de requisitos? Um descrição formal dos requisitos do sistema. Slide 9
10 FAQs Continuação O que são stakeholders do sistema? Qualquer pessoa afetada de alguma forma pelo sistema. Qual é o relacionamento entre requisitos e projeto? Requisitos e projeto são interligados. Idealmente eles deveriam ser separados, mas na prática isto é impossível. O que é gerenciamento dos requisitos? O processo envolvido no gerenciamento das mudanças dos requisitos Slide 10
11 Engenharia de Sistemas Existe um relacionamento próximo entre software e os requisitos mais gerais do sistema Os sistemas baseados em computadores são de duas categorias: Sistemas configurados para o usuário, onde o comprador compõe um sistema a partir de produtos de software existentes - COTS Sistemas onde o cliente produz um conjunto de requisitos para sistemas de software/hardware e a um contratado desenvolve e entrega o sistema Slide 11
12 Classes de Sistemas Sistemas de Informação Relacionado principalmente com o processamento de informações que estão armazenadas em algum banco de dados. Sistemas Embutidos Sistemas onde o software é usado como controlador de um sistema de hardware. Sistemas de Comando e Controle Essencialmente, uma combinação de sistemas de informação e sistemas embutidos, onde computadores de propósito especial provêm informação que é coletada, armazenada e usada para tomar decisões. Slide 12
13 Propriedades Emergentes São propriedades do sistema como um todo que somente emergem quando todos os sub-sistemas estiverem integrados. Exemplos de propriedades emergentes Confiabilidade Manutenabilidade Desempenho (Performance) Usabilidade Segurança Slide 13
14 O Processo da Engenharia de Sistemas Engenharia de Requisitos do Sistema Projeto de Arquitetura Integração de Sistemas Validação do Sistemas Partição de Requisitos Desenvolvimento de Subsistemas Engenharia de Requisitos de Software Slide 14
15 Atividades da Engenharia de Sistemas Engenharia de Requisitos do Sistema Os requisitos do sistema como um todo são estabelecidos e escritos para serem entendidos por todas as partes interessadas (stakeholders) Projeto de arquitetura O sistema é decomposto em sub-sistemas Partição de requisitos Os requisitos são alocados a estes sub-sistemas Engenharia de Requisitos de Software Requisitos de software mais detalhados são derivados para o software do sistema Slide 15
16 Atividades da Engenharia de Sistemas Desenvolvimento de sub-sistemas Os sub-sistemas de hardware e software são projetados e implementados em paralelo. Integração de sistemas Os sub-sistemas de hardware e software são colocados juntos para compor o sistema. Validação do sistema O sistema é validado em relação aos requisitos. Slide 16
17 Documento 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; Definições de outros sistemas com o qual o sistema deve se integrar. Slide 17
18 Documento de Requisitos O documento de requisitos descreve (Cont.): Informações sobre o domínio da aplicação do sistema; Ex.: como calcular um certo tipo de computação 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. Slide 18
19 Usuários do 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. Slide 19
20 Usuários do Documento de Requisitos (Cont.) 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. Slide 20
21 A estrutura do Documento de Requisitos Padrão IEEE/ANSI uma estrutura para o documento de requisitos 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 Referencias 1.5 Resumo do resto do documento Slide 21
22 A estrutura do Documento de Requisitos 2. Descrição Geral 2.1 Perspectiva do produto 2.2 Funções do produto 2.3 Características do usuário 2.4 Limitações gerais 2.5 Suposições e dependências 3. Requisitos específicos Cobrem requisitos funcionais, não-funcionais e interface. 4. Apêndices Índice Slide 22
23 Adaptando um Padrão O padrão do IEEE é genérico e pretende ser aplicado em uma variada gama de documentos de requisitos. Em geral, nem todas as partes do documento são necessárias para todos os documentos de requisitos. Cada organização deverá adaptar o padrão de acordo com o tipo de sistema que desenvolve. Considere uma companhia (XYZ) que desenvolve equipamentos científicos. Slide 23
24 Padrão da empresa XYZ Prefácio Define os leitores do documento e descreve a história das versões, incluindo um explicação da criação de novas versões e um resumo das mudanças feitas em cada versão. Introdução Define o produto no qual o software está embutido, seu uso esperado e apresenta um resumo da funcionalidade do software de controle. Glossário Define todos os termos técnicos e abreviações usadas no documento. Slide 24
25 Padrão da empresa XYZ Requisitos gerais do usuário Define os requisitos do ponto de vista dos usuários do sistema. Isto inclui uma mistura de linguagem natural e diagramas. Arquitetura do sistema Apresenta uma visão de alto nível da arquitetura prevista do sistema, mostrando a distribuição das funções dos módulos do sistema. Indica os componentes da arquitetura que serão reusados. Slide 25
26 Padrão da empresa XYZ Especificação de Hardware Parte opcional que especifica o hardware que o software deverá controlar. Poderá ser omitido se uma plataforma padrão de instrumento for ser utilizada. Especificação detalhada de software Descrição detalhada da funcionalidade esperada do software. Poderá incluir detalhes de algoritmos específicos que devem ser usados na computação. Se for ser usada uma abordagem de prototipação para o desenvolvimento numa plataforma padrão de instrumento, esta seção poderá ser omitida. Slide 26
27 Padrão da empresa XYZ Requisitos de confiabilidade e performance Este capítulo deve descrever os requisitos de confiabilidade e performance esperados do novo sistema. Slide 27
28 Padrão da empresa XYZ Quando apropriado, os seguintes apêndices poderão ser adicionados: Especificação da interface de Hardware; Componentes de Software que deverão ser reusados na implementação do sistema; Especificação da estrutura de dados; Modelos de fluxo de dados do sistema de software; Modelos detalhados de objetos do sistema de software. Índice Slide 28
29 Escrevendo requisitos Requisitos são geralmente escritos como textos em linguagem natural complementados por diagramas e equações. Problemas com os requisitos Uso de cláusulas condicionais complexas que podem confundir; Terminologia inconsistente; Os escritores assumem que os leitores possuem conhecimento do domínio. Slide 29
30 O essencial da escrita Requisitos são lidos mais freqüentemente do que são escritos. Você deverá investir tempo lendo e entendendo os requisitos. Não assuma que todos os leitores dos requisitos tenham o mesmo background e usem a mesma terminologia sua. Permita tempo para revisão e refeita do documento de requisitos. Slide 30
31 Escrevendo diretrizes Defina templates (modelos) padrões para descrição de requisitos; Use a linguagem de forma simples, consistente e concisa; Use diagramas de forma apropriada; Complemente a linguagem natural com outras descrições de requisitos; Especifique requisitos de forma quantitativa. Slide 31
32 Pontos Principais Requisitos definem o que o sistema deve provê e define os limites do sistema; Problemas nos requisitos causam a entrega tardia dos sistemas e solicitações de mudanças depois que o sistema estiver em uso; Engenharia de requisitos diz respeito a elicitação, análise e documentação dos requisitos do sistema. Slide 32
33 Pontos Principais Engenharia de sistemas diz respeito ao sistema como um todo, incluindo hardware, software e processos operacionais; O documento de requisitos é a especificação definitiva para os clientes, engenheiros e gerentes; O documento de requisitos deve incluir um resumo, glossário, definição de requisitos funcionais e limitações operacionais. Slide 33
Engenharia de Requisitos Introdução a Engenharia de Requisitos Professor: Ricardo Argenton Ramos Engenharia de Software I 2013.2 Slide 1 Objetivos Introduzir a noção de requisitos do sistema e o processo
Engenharia de Requisitos Introdução a Engenharia de Requisitos Professor: Ricardo Argenton Ramos Engenharia de Software I 2017.2 Slide 1 Objetivos Introduzir a noção de requisitos do sistema e o processo