Você está na página 1de 33

Requisitos

de So,ware
Centro de Inform-ca - Universidade Federal de Pernambuco Sistemas de Informao Vinicius Cardoso Garcia vcg@cin.ufpe.br Slides originais elaborados por Ian Sommerville
O autor permite o uso e a modicao dos slides para ns did-cos

Engenharia de Requisitos
Estabelece os servios que o cliente requer de um sistema e as restries sob as quais tal sistema operar e ser desenvolvido.
Tais servios e restries so chamados de requisitos

[if977] Engenharia de SoOware - SI - CIn - UFPE

O que um requisito?
Pode ser uma descrio abstrata de alto nvel de um servio, uma restrio de sistema ou at uma especicao matem-ca, entre outras coisas O problema cujo desenvolvimento do sistema deve resolver
O sistema tem que ser construdo de modo a sa-sfazer todos os seus requisitos

[if977] Engenharia de SoOware - SI - CIn - UFPE

Abstrao de requisitos (Davis)


Se uma empresa deseja estabelecer um contrato para um projeto de desenvolvimento de soOware de grande porte, deve denir suas necessidades de forma sucientemente abstrata, para que uma soluo no esteja pr-denida. Os requisitos devem ser escritos de tal forma que vrios fornecedores possam apresentar propostas para o contrato, oferecendo, talvez, diferentes formas de atender s necessidades organizacionais do cliente. Uma vez que o contrato for aprovado, o fornecedor deve escrever uma denio de sistema para o cliente, em mais detalhes, tal que o cliente compreenda e possa validar o que o soOware ir fazer. Ambos os documentos podem ser chamados de documento de requisitos do sistema.
[if977] Engenharia de SoOware - SI - CIn - UFPE 4

Tipos de requisitos
Requisitos de usurio
Declaraes de alto nvel escritas em linguagem natural Escritos para os clientes.

Requisitos de sistema
Um documento estruturado estabelecendo descries detalhadas das funes, servios e restries operacionais do sistema. Dene o que deve ser implementado e pode at ser parte de um contrato entre o cliente e o desenvolvedor.
[if977] Engenharia de SoOware - SI - CIn - UFPE 5

Denies e especicaes

Ian Sommerville, Engenharia de SoOware, 8. edio. Captulo 6 [if977] Engenharia de SoOware - SI - CIn - UFPE 6

Requisitos funcionais e no-funcionais


Requisitos funcionais
Servios que o sistema deve fornecer Como o sistema deve reagir a entradas especcas Como o sistema deve se comportar em determinadas situaes.

Requisitos no-funcionais ou de qualidade


Restries sobre servios ou funes oferecidos pelo sistema tais como restries de -ming, restries sobre o processo de desenvolvimento, padres, etc.
[if977] Engenharia de SoOware - SI - CIn - UFPE 7

O sistema LIBSYS
Um sistema de biblioteca que fornece uma interface nica para uma srie de banco de dados de ar-gos em bibliotecas diferentes. Os usurios podem pesquisar, baixar e imprimir estes ar-gos para estudo pessoal.

[if977] Engenharia de SoOware - SI - CIn - UFPE

Exemplos de requisitos funcionais


O usurio deve ser capaz de pesquisar em todo o conjunto inicial de banco de dados ou selecionar um subconjunto a par-r dele. Para todo pedido deve ser alocado um iden-cador nico (ORDER_ID) que o usurio possa copiar para a rea de armazenamento permanente da sua conta. O sistema deve fornecer telas apropriadas para o usurio ler os documentos no repositrio de documentos.
[if977] Engenharia de SoOware - SI - CIn - UFPE 9

Impreciso de requisitos
Problemas surgem quando os requisitos no so precisamente denidos. Requisitos ambguos podem ser interpretados de maneiras diferentes pelos desenvolvedores e usurios. Considere o termo telas apropriadas
Inteno do usurio tela de propsito especial para cada -po diferente de documento; Interpretao do desenvolvedor fornece uma tela de texto que mostra o contedo do documento.
[if977] Engenharia de SoOware - SI - CIn - UFPE 10

Requisitos completos e consistentes


Em princpio, requisitos devem ser completos e consistentes. Completude
Eles devem incluir descries de todos os recursos requeridos.

Consistncia
No deve haver conitos ou contradies nas descries dos recursos de sistema.

Na pr-ca, impossvel produzir um documento de requisitos completo e consistente.


[if977] Engenharia de SoOware - SI - CIn - UFPE 11

Requisitos no-funcionais
Denem propriedades e restries de sistema Exemplos incluem conabilidade, tempo de resposta e requisitos de armazenamento. Restries so capacidade de disposi-vos de E/S, representaes de sistema, etc. Requisitos de processo podem tambm ser especicados, impondo uma linguagem de programao, IDE ou mtodo de desenvolvimento par-cular Requisitos no-funcionais podem ser mais crBcos do que os requisitos funcionais.
[if977] Engenharia de SoOware - SI - CIn - UFPE 12

Tipos de requisitos nofuncionais

Ian Sommerville, Engenharia de SoOware, 8. edio. Captulo 6 [if977] Engenharia de SoOware - SI - CIn - UFPE 13

Exemplos de requisitos nofuncionais

Ian Sommerville, Engenharia de SoOware, 8. edio. Captulo 6 [if977] Engenharia de SoOware - SI - CIn - UFPE 14

Metas e requisitos
Requisitos no-funcionais podem ser diqceis de denir precisamente
Requisitos imprecisos podem ser diqceis de vericar.

Meta
Uma inteno geral do usurio, tal como facilidade de uso.

Requisito no-funcional vericvel


Uma declarao usando alguma medida que pode ser obje-vamente testada.

Metas so teis para desenvolvedores quando exprimem as intenes dos usurios do sistema.
[if977] Engenharia de SoOware - SI - CIn - UFPE 15

Exemplo

Ian Sommerville, Engenharia de SoOware, 8. edio. Captulo 6 [if977] Engenharia de SoOware - SI - CIn - UFPE 16

Medidas de requisitos

Ian Sommerville, Engenharia de SoOware, 8. edio. Captulo 6 [if977] Engenharia de SoOware - SI - CIn - UFPE 17

Interao de requisitos
Conitos entre os diferentes requisitos no- funcionais so comuns em sistemas complexos. Sistema de aeronave
Para minimizar o peso, o nmero de chips separados no sistema deve ser minimizado. Para minimizar o consumo de energia, chips de baixa potncia devem ser usados.
E o desempenho pode ser impactado!

Contudo, o uso de chips de baixa potncia pode signicar que mais chips devem ser usados . Qual o requisito mais cr-co?
[if977] Engenharia de SoOware - SI - CIn - UFPE 18

Requisitos de usurio
Requisitos funcionais e no-funcionais descritos de modo a ser compreensveis por usurios que no tm conhecimento tcnico detalhado. So denidos usando uma linguagem simples, tabelas e diagramas quando estes podem ser compreendidos por todos os usurios. Histrias de usurios so similares a requisitos de usurios
[if977] Engenharia de SoOware - SI - CIn - UFPE 19

Requisito de grade de editor

Ian Sommerville, Engenharia de SoOware, 8. edio. Captulo 6 [if977] Engenharia de SoOware - SI - CIn - UFPE 20

Diretrizes para escrever requisitos


Usar um formato padro para todos os requisitos. Usar a linguagem de uma forma consistente.
deve para requisitos obrigatrios, e deveria para requisitos desejveis.

Realar o texto para iden-car as partes principais do requisito. Evitar o uso de jarges de computao.
[if977] Engenharia de SoOware - SI - CIn - UFPE 21

Requisitos de sistema
Especicaes mais detalhadas das funes do sistema, dos servios e das restries Visam forneer ser uma base para o desenvolvimento do sistema
Em XP: histrias de usurio + tarefas de desenv Nosso caso: casos de uso (es-lo casual) + especicao detalhada

Eles podem ser incorporados no contrato de sistema. Requisitos de sistema podem ser denidos ou ilustrados usando notaes grcas
[if977] Engenharia de SoOware - SI - CIn - UFPE 22

Requisitos e Projeto
Requisitos devem denir o que o sistema deve fazer e o projeto deve descrever como ele faz isto. Na pr-ca, requisitos e projeto so inseparveis
Uma arquitetura de sistema pode ser projetada para estruturar os requisitos; O sistema pode ter que interoperar com outros sistemas que geram novos requisitos; O uso de uma soluo de projeto especca pode ser um requisito de domnio.
[if977] Engenharia de SoOware - SI - CIn - UFPE

Requisitos => problema Projeto => soluo

23

Problemas com linguagem natural


Falta de clareza
diqcil a-ngir uma preciso sem tornar o documento diqcil de ler e ambguo

Confuso de requisitos
Requisitos funcionais e no-funcionais tendem a estar misturados.

Fuso de requisitos
Vrios requisitos diferentes podem ser expressos juntos

Diculdade de estruturar a especicao


[if977] Engenharia de SoOware - SI - CIn - UFPE 24

Alternativas especificao em linguagem natural

Ian Sommerville, Engenharia de SoOware, 8. edio. Captulo 6 [if977] Engenharia de SoOware - SI - CIn - UFPE 25

Especificaes em linguagem estruturada


A liberdade do elaborador de requisitos limitada por um template pr-denido para requisitos. Todos os requisitos so escritos de maneira padronizada. A terminologia usada na descrio pode ser limitada. A vantagem que a maior parte da expressividade da linguagem natural man-da
Mas o grau de uniformidade imposto na especicao.
[if977] Engenharia de SoOware - SI - CIn - UFPE 26

Apresentao estruturada

Ian Sommerville, Engenharia de SoOware, 8. edio. Captulo 6 [if977] Engenharia de SoOware - SI - CIn - UFPE 27

Especificao baseada em formulrio

Ian Sommerville, Engenharia de SoOware, 8. edio. Captulo 6 [if977] Engenharia de SoOware - SI - CIn - UFPE 28

Especificao tabular
Usada para suplementar a linguagem natural. Par-cularmente -l quando voc tem de denir uma srie de possveis cursos alterna-vos de ao.

[if977] Engenharia de SoOware - SI - CIn - UFPE

29

Especificao tabular

Ian Sommerville, Engenharia de SoOware, 8. edio. Captulo 6 [if977] Engenharia de SoOware - SI - CIn - UFPE 30

O documento de requisitos
O documento de requisitos a declarao ocial do que requisitado pelos desenvolvedores do sistema.
Em XP um pouco diferente

Deve incluir ambos, uma denio dos requisitos de usurio e uma especicao dos requisitos de sistema. NO um documento de projeto.
Logo que possvel, ser preciso denir como o sistema deve fazer, ao invs de o que deve ser feito.
[if977] Engenharia de SoOware - SI - CIn - UFPE 31

Usurios de um documento de requisitos

Ian Sommerville, Engenharia de SoOware, 8. edio. Captulo 6 [if977] Engenharia de SoOware - SI - CIn - UFPE 32

Leituras recomendadas
SOMMERVILLE, I. Engenharia de SoOware. 9. Ed. So Paulo: Pearson Educa-on, 2011
Captulo 6

[if977] Engenharia de SoOware - SI - CIn - UFPE

33

Você também pode gostar