25
Faculdade FUCAPI Engenharia de Software Grupo de Pesquisa de Engenharia de Software Prof. Paulino Wagner Palheta Viana Manaus, 10/fev/2012

Aula 02 de Engenharia de Software

Embed Size (px)

DESCRIPTION

Faculdade FUCAPI Engenharia de Software Grupo de Pesquisa de Engenharia de Software Prof. Paulino Wagner Palheta Viana Manaus, 10/fev/2012 Requisitos de Software 2  Introduzir a noção de requisitos do sistema e o processo de engenharia de requisitos;  Explicar como a engenharia de requisitos se encaixa no processo mais abrangente da engenharia de sistema;  Explicar a importância do documento de requisitos; 3 Requisitos de software 4 Requisitos de software 5 Requisitos de Software 6

Citation preview

Page 1: Aula 02 de Engenharia de Software

Faculdade FUCAPIEngenharia de

Software

Grupo de Pesquisa de Engenharia de SoftwareProf. Paulino Wagner Palheta Viana

Manaus, 10/fev/2012

Page 2: Aula 02 de Engenharia de Software

Requisitos de Software

2

Page 3: Aula 02 de Engenharia de Software

Objetivos Introduzir a noção de requisitos do sistema e o

processo de engenharia de requisitos; Explicar como a engenharia de requisitos se

encaixa no processo mais abrangente da engenharia de sistema;

Explicar a importância do documento de requisitos;

3

Page 4: Aula 02 de Engenharia de Software

Requisitos de software

4

Page 5: Aula 02 de Engenharia de Software

5

Requisitos de software

Page 6: Aula 02 de Engenharia de Software

Requisitos de Software

6

Page 7: Aula 02 de Engenharia de Software

Requisitos de Software

7

Page 8: Aula 02 de Engenharia de Software

Requisitos do Sistema

Definem o que é solicitado ao sistema fazer e com quais limitações ele é requisitado a operar;

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;

O sistema deve permitir os usuários pesquisarem um item através do título, autor ou ISBN;

O sistema deve suportar pelo menos 20 transações por segundo

8

Page 9: Aula 02 de Engenharia de Software

Tipos de Requisitos Requisitos bem gerais que dizem em termos amplos o que

os sistemas devem fazer; Requisitos Funcionais que definem parte da funcionalidade

do sistema; 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 modo de usar

os sistemas.

9

Page 10: Aula 02 de Engenharia de Software

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 usuários, confiabilidade, segurança, manutenabilidade, portabilidade e 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;

10

Page 11: Aula 02 de Engenharia de Software

Problemas de 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.

11

Page 12: Aula 02 de Engenharia de Software

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 de desenvolvimento de requisitos de um sistema

Quanto custa a engenharia de requisitos? Cerca de 15% dos custos do desenvolvimento de sistema

O que é o processo de engenharia de requisitos? Um conjunto estruturado de atividades envolvidas no

desenvolvimento dos requisitos do sistema

12

Page 13: Aula 02 de Engenharia de Software

FAQS 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 são stakeholders do sistema?

Qualquer pessoa afetada de alguma forma pelo sistema ou envolvida no projeto.

O que é gerencia dos requisitos? O processo envolvido no gerenciamento das mudanças dos requisitos.

13

Page 14: Aula 02 de Engenharia de Software

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-Commercial off-the-shelf);

Sistemas onde o cliente produz um conjunto de requsitos para sistemas de software/hardware e a um contratado desenvolve e entrega o sistema;

14

Page 15: Aula 02 de Engenharia de Software

Processo da Engenharia de Sistemas

15

Page 16: Aula 02 de Engenharia de Software

Atividades de Engenharia de Sistemas Engenharia de Requisitos do Sistema

Os requisitos dos 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

16

Page 17: Aula 02 de Engenharia de Software

Atividades de Engenharia de Sistemas Desenvolvimento de Requisitos do Sistema

Os sub-sistemas de hardware e software são projetos 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 é validade em relação aos requisitos.

17

Page 18: Aula 02 de Engenharia de Software

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; Informações sobre o domínio da aplicação do sistema; Descrições sobre o hardware no qual o sistema irá executar.

18

Page 19: Aula 02 de Engenharia de Software

Usuários do Documento de Requisitos Clientes do Sistema; Gerentes de Projeto; Engenheiros

de Sistema; Engenheiros de teste do sistema e Engenheiros de manutenção do sistema.

19

Page 20: Aula 02 de Engenharia de Software

Diferença entre Requisitos funcionais e não-funcionais Requisitos funcionais descrevem o que o sistema deve

fazer; Requisitos não-funcionais fixam restrição sobre como os

requisitos funcionais serão implementados; Em muitos casos não existe uma clara distinção entre eles Requisitos funcionais tem um efeito localizado

Durante o desenvolvimento de sistemas as funcionalidades são incorporadas passo a passo;

Afetam apenas a parte do sistema onde as funcionalidades definidas pelo requisito foram implementadas

20

Page 21: Aula 02 de Engenharia de Software

Diferença entre Requisitos funcionais e não-funcionais Requisitos funcionais tem um efeito localizado

No final do processo , as funcionalidade são implementadas a partir dos requisitos funcionais definidos no documento de requisito

Requisitos não-funcionais tem um efeito global A satisfação desses requisitos afeta vários componentes do

sistema; Não são implementados do mesmo modo que os requisitos

funcionais Raramente são considerados durante o processo de

desenvolvimento

21

Page 22: Aula 02 de Engenharia de Software

Principais características dos requisitos e não-funcionais Definem qualidade gerais sobre o sistema; Relacionados com restrições sobre como os requisitos

dos usuários devem ser satisfeitos Ex. restrições de custo, tempo, recursos Geralmente são requisitados por gerentes de projeto

22

Page 23: Aula 02 de Engenharia de Software

Exemplos de Requisitos Não-funcionais Adaptabilidade Confiabilidade Eficiência Flexibilidade Performance Portabilidade Usabilidade

23

Page 24: Aula 02 de Engenharia de Software

Exemplos de Requisitos não-funcionais São críticos para o sucesso de sistemas de software

Diretamente relacionados com a satisfação dos usuários

24

Page 25: Aula 02 de Engenharia de Software

Faculdade FUCAPIEngenharia de

Software

Manaus, 10/fev/2012

ObrigadoGrupo de Pesquisa de Engenharia de Software

Prof. Paulino Wagner Palheta Viana