Escolar Documentos
Profissional Documentos
Cultura Documentos
Unidade 2 - Engenharia de Requisitos de Software
Unidade 2 - Engenharia de Requisitos de Software
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
Inspeo de Software de
Prof. Ralf Luis de Moura
MARCOS KALINOWSKI
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.
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);
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) .
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.
12
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
15
Problemas essenciais
Dificuldade de comunicao (Usurio saber o que quer?) Natureza mutante do software
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.
17
Anlise e Negociao de Requisitos: a atividade que auxilia na descoberta de problemas levantados durante a fase de elicitao. Passos:
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.
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.
21
22
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).
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
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.
25
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
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.
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.
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.
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