Você está na página 1de 30

Prof.

Ralf Moura

Desafio para os Engenheiros de Software Engenharia de Requisitos de Software a atividade de identificar todos os envolvidos, descobrir seus objetivos e necessidades e document-los de forma apropriada para anlise, comunicao e posterior implementao.

A parte mais difcil da construo de um sistema de software decidir o que construir. Nenhuma parte do trabalho danifica tanto o sistema resultante se for feita errado. Nenhuma outra parte mais difcil de consertar depois.
Fred Brooks

Prof. Ralf Luis de Moura

Fonte: Revista Engenharia de Software Edio especial Artigo Introduo

Inspeo de Software de
Prof. Ralf Luis de Moura

MARCOS KALINOWSKI

Prof. Ralf Luis de Moura

Prof. Ralf Luis de Moura

O que requisito?
Abbott (1986) e Christel & Kang (1992) definem um requisito como qualquer funo ou caracterstica necessria a um sistema - os comportamentos quantificveis e verificveis que um sistema deve ter, as restries que deve atender ou outras propriedades que devem ser fornecidas, de forma a satisfazer os objetivos das organizaes e resolver um conjunto de problemas.

Prof. Ralf Luis de Moura

Funcionais ou comportamentais: definem as funcionalidades ou comportamentos que devem ser atendidos pelo software, ou seja, definem o que o sistema faz. Descrevem as aes de transformao que os componentes de hardware ou software do sistema devem executar sobre as entradas para produzir as sadas (Thayer & Thayer, 1997);

Prof. Ralf Luis de Moura

Prof. Ralf Luis de Moura

No funcionais ou no comportamentais: so as restries e os atributos de qualidade de software ou de processos de software que devem ser atendidos (Sabt Neto & Leite, 2000). Classificao: Requisitos de processo (entrega, implementao e conformidade a padres) Requisitos de produto (usabilidade, confiabilidade, segurana, eficincia, desempenho e capacidade) Requisitos externos (interoperabilidade e restries legais e econmicas). Outras classificaes: Requisitos de interface externa Requisitos de desempenho Requisitos lgicos de banco de dados Restries de projeto Conformidade a padres Atributos de qualidade do software IEEE (1998) .

Prof. Ralf Luis de Moura

Prof. Ralf Luis de Moura

10

Requisitos de Sistema X Requisitos de Software. a atividade de identificar todos os envolvidos, descobrir seus objetivos e necessidades e document-los de forma apropriada para anlise, comunicao e posterior implementao Engloba todas as atividades envolvidas na elicitao, anlise, negociao, documentao e manuteno dos requisitos de software.
Prof. Ralf Luis de Moura 11

Objetivos: Estabelecer uma viso comum entre o cliente e a equipe de projeto em relao aos requisitos que sero atendidos pelo projeto de software;

Registrar e acompanhar requisitos ao longo de todo o processo de desenvolvimento; Documentar e controlar os requisitos alocados para estabelecer uma baseline para uso gerencial e da engenharia de software; Manter planos, artefatos e atividades de software consistentes com os requisitos alocados.

(Spnola, Rodrigo - Introduo Engenharia de Requisitos, Revista Engenharia de Software)

Prof. Ralf Luis de Moura

12

Macro-modelo de atividades do processo de engenharia de requisitos (Kotonya & Sommerville, 1998).


Prof. Ralf Luis de Moura 13

Processo de levantamento de requisitos - Sommerville, 1998

Prof. Ralf Luis de Moura

14

A Elicitao de Requisitos no uma simples tarefa de transferncia. Existem vrias tcnicas de elicitao descritas na literatura. A escolha de cada uma depende de alguns fatores:
Recursos disponveis Tempo Tipo de informao

Prof. Ralf Luis de Moura

15

Problemas encontrados durante o processo Elicitao de Requisitos (Martins, 1999):


Problemas acidentais
Pouco esforo do usurio Documentao pobre Pouca reviso dos requisitos Tendncia a iniciar logo o desenvolvimento

Problemas essenciais
Dificuldade de comunicao (Usurio saber o que quer?) Natureza mutante do software

Prof. Ralf Luis de Moura

16

Tcnicas de Elicitao de Requisitos: Tcnicas tradicionais: questionrios e pesquisas, investigao de documentos e entrevistas. Tcnicas de elicitao em grupo: exploram as dinmicas de grupo. Prototipao: incerteza sobre os requisitos. Tcnicas dirigidas a modelos: usam modelo para conduzir o processo de elicitao (Casos de uso). Tcnicas cognitivas: incluem tcnicas desenvolvidas originalmente para aquisio de conhecimento em sistemas baseados em conhecimento (anlise de tarefas). Tcnicas contextuais: incluem o uso de tcnicas de etnografia, tais como observao dos participantes e anlise de conversao.

Prof. Ralf Luis de Moura

17

Anlise e Negociao de Requisitos: a atividade que auxilia na descoberta de problemas levantados durante a fase de elicitao. Passos:

Leitura do rascunho do Documento de Requisitos. Agrupa-se os requisitos. Lista-se os problemas e os conflitos.

Prof. Ralf Luis de Moura

18

Classifica-se os requisitos com problemas; Negocia-se para chegar a um acordo; O acordo deve ser governado pelas restries de projeto, necessidades da organizao, oramento e cronograma, etc... Objetivo: Obteno da concordncia de todos os envolvidos (stakeholders) sobre os requisitos. Se o acordo for possvel, os requisitos so documentados, caso contrrio pode ser necessria a execuo do ciclo novamente.
Prof. Ralf Luis de Moura 19

Documentao de Requisitos: a atividade de representar os resultados da Engenharia de Requisitos em um documento oficial e formal, contendo os requisitos do software que descrevem o que o mesmo ir fazer, em um nvel apropriado de detalhes, sem descrever como faz-lo.

Prof. Ralf Luis de Moura

20

Benefcios da Documentao de Requisitos: Facilita a comunicao dos requisitos; Reduz o esforo de desenvolvimento, pois sua preparao fora os usurios e clientes a considerar (aprovar), de forma rigorosa, todos os requisitos, evitando retrabalho nas fases posteriores; Fornece uma base realstica para estimativa de custos e cronogramas; Fornece uma base para verificao e validao (rastreamento); Facilita a transferncia do software para novos usurios e/ou mquinas; Serve como base para futuras manutenes ou incremento de novas funcionalidades.

Prof. Ralf Luis de Moura

21

Quem utiliza o Documento de Requisitos:


Cliente e patrocinadores; Usurios e especialistas do domnio; Gerentes de Projeto; Engenheiros de Software; Engenheiros de Teste; Equipe de Garantia da Qualidade; Equipe de Manuteno.

Prof. Ralf Luis de Moura

22

O que contm em um documento de requisitos:


Escopo e objetivos do software; Servios e funes que um software deve ter; As informaes sobre o domnio da aplicao; Atributos de qualidade, desempenho; Interao com outros softwares; Restries ao processo de desenvolvimento; Design Rationale (Fontes, problemas, decises, alternativas, razes e justificativas).

Prof. Ralf Luis de Moura

23

Um documento de requisitos: Utiliza linguagem natural; Notao Semi-formal (UML). Diretrizes: Definir uma estrutura padro para o documento Explicar como cada classe de leitores deve usar o documento; Incluir um sumrio de requisitos; Incluir uma seo explicando por que o software necessrio e como ir contribuir para os objetivos gerais de negcio da organizao; Definir termos especializados em um glossrio; Organizar o lay-out do documento para facilitar a leitura; Incluir recursos tais como listas de contedo e ndices e organizando os requisitos em captulos, sees e subsees identificadas; Tornar o documento fcil de alterar.
Prof. Ralf Luis de Moura 24

Validao e Verificao de Requisitos:

Avaliar se a ERS est correta, ou seja, se os requisitos e modelos documentados atendem s reais necessidades e requisitos dos usurios; A meta garantir que a ERS seja aprovada antes de ser usada como base para o desenvolvimento do software. A verificao avalia se a ERS est sendo construda de forma correta, de acordo com padres previamente definidos, sem conter requisitos ambguos, incoerentes ou impossveis de serem testados.

Prof. Ralf Luis de Moura

25

Tcnicas complementares de validao e verificao de requisitos:


Reviso tcnica formal; Anlise de rastreabilidade; Prototipao; Validao de modelos automtica ou no; Inspeo; Testes de requisito. Anlise formal:

Envolve o uso de tcnicas matemticas rigorosas para analisar os algoritmos de uma soluo, tais como a descrio de requisitos utilizando linguagens de especificao formal

Prof. Ralf Luis de Moura

26

Dentre as diversas tcnicas de Validao de Requisitos, a tcnica mais usada a Reviso Tcnica Formal.
Planejamento da reviso; Distribuio dos documentos; Preparao para a reviso; Reunio de reviso; Seguimento s aes; Reviso do documento.

Prof. Ralf Luis de Moura

27

Gerncia de Requisitos: gerenciar as mudanas nos requisitos j acordados, manter uma trilha dessas mudanas, gerenciar os relacionamentos entre os requisitos e as dependncias entre o documento de requisitos e demais artefatos produzidos no processo de software, de forma a garantir que tais mudanas sejam feitas de maneira controlada e documentada.

Prof. Ralf Luis de Moura

28

Gerncia de requisitos:
Procedimentos, processos e padres a serem usados para gerenciar as mudanas; Avaliar impacto das mudanas, os riscos, os custos e benefcios, os recursos e alteraes no cronograma; Avaliao do impacto de uma mudana no resto do software.

Prof. Ralf Luis de Moura

29

Exemplos polticas de gerncia de mudana de requisitos: Os objetivos a serem atingidos no processo de gerncia de mudana; O processo de solicitao da mudana; O processo para analise do impacto,custos e rastreabilidade; A definio de um grupo independente na organizao que analise, formalmente, as solicitaes de mudana; Os relatrios que devem ser produzidas para tornar o processo visvel; Os padres para o documento de requisitos; As polticas de validao e reviso de requisitos; As polticas de rastreabilidade a serem adotadas; O apoio de software para o processo de controle de mudanas; Critrios para definir quando essas polticas podem ser ignoradas.
Prof. Ralf Luis de Moura 30

Você também pode gostar