Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Engenharia de Requisitos
Profa. Maria Cludia F. P. Emer
Tpicos da Aula
Engenharia de Requisitos
O que ? Atividades/Tarefas
Engenharia de Requisitos
o processo que permite estabelecer os servios que o cliente requer de um sistema e as restries sob as quais o sistema deve ser desenvolvido e operar Estabelece uma base slida para o projeto e a construo
Estudo de Viabilidade
Perguntas a serem respondidas:
O sistema contribui para os objetivos gerais da organizao? O sistema pode ser implementado respeitando-se restries de custo e prazo? O sistema pode ser integrado com outros j em operao?
Estudo de Viabilidade
Algumas atividades de anlise de viabilidade:
Estabelecer cenrios com e sem o novo sistema; Identificar os problemas atuais que poderiam ser eliminados com o novo sistema; Estabelecer custos e prazos de desenvolvimento realistas; Estabelecer custos operacionais realistas (treinamentos, contrataes, aquisies); Avaliar se os sistemas existentes esto preparados para interoperar com o novo sistema.
Stakeholder
Stakeholder - pessoa que ter alguma influncia direta ou indireta sobre os requisitos do sistema Dificuldades de interao com os stakeholders:
stakeholders em geral no tem uma idia clara do sistema a ser desenvolvido; stakeholders empregam termos prprios para expressar os requisitos; diferentes stakeholders tm em mente diferentes requisitos; stakeholders podem impor requisitos movidos por interesses prprios; stakeholders no consultados podem impor requisitos em fases avanadas do desenvolvimento.
Validao de Requisitos
Mostrar que os requisitos realmente definem o sistema que o cliente deseja Tcnicas de validao:
Revises por uma equipe de reviso Prototipao Gerao de casos de teste (se um requisito difcil de testar, provavelmente ser difcil de implementar) Anlise automatizada da consistncia (notao estruturada ou formal)
Documento de Requisitos
uma declarao oficial do que exigido dos desenvolvedores do sistema Importante para contratar o desenvolvimento de um sistema de software O contratante pode exigir que este documento siga determinada norma, por exemplo IEEE 8301993
Documento de Requisitos
Um documento de requisitos deve:
Especificar o comportamento externo do sistema Especificar as restries implementao Ser fcil de ser modificado Servir como ferramenta de referncia para a manuteno Registrar a estratgia sobre o ciclo de vida do sistema Caracterizar respostas aceitveis para eventos indesejveis
Documento de Requisitos
utilizado por pessoas diferentes com propsitos diferentes:
Clientes ( isso que eu quero?) Gerentes de projeto (atividades?, pessoas?, riscos?) Engenheiros de sistema (o que vamos desenvolver?) Engenheiros de teste (como validar estes requisitos?) Engenheiros de manuteno (como manter o sistema sem alterar os requisitos?)
Documento de Requisitos
Estrutura segundo padro IEEE 830-1993 (1993)
1. Introduo
1.1. Propsito do documento de requisitos 1.2. Escopo do produto 1.3. Definies, acrnimos e abreviaes 1.4. Referncias 1.5. Viso geral do restante do documento
2. Descrio Geral
2.1. Perspectiva do produto 2.2. Funes do produto 2.3. Caractersticas do usurio 2.4. Restries gerais 2.5. Suposies e dependncias
Gerenciamento de Requisitos
o processo de compreender e controlar as mudanas nos requisitos do sistema. realizado em conjunto com outros processos de engenharia de requisitos O planejamento se inicia com o levantamento inicial de requisitos (identificao de requisitos, processo de gerenciamento de mudanas, polticas de facilidade de rastreamento, suporte de ferramentas) O gerenciamento deve iniciar assim que existir um esboo da verso do documento de requisitos Sob a perspectiva da evoluo - requisitos podem ser permanentes (relativamente estveis) ou volteis (provavelmente vo ser modificados durante o desenvolvimento ou a operao).
Concepo
Identificao dos interessados pessoas que tenham interesse direto no sistema ou se beneficiem com ele
Gerentes de operaes do negcio, gerentes de produto, pessoal de marketing, clientes externos e internos, usurios finais, engenheiros de software, engenheiros de suporte e manuteno e outros.
Concepo
Reconhecimento de diversos pontos de vista
Explorar os requisitos a partir de pontos de vista diferentes Reconhecer a contribuio de cada participante Categorizar requisitos, inclusive inconsistentes e conflitantes, para escolha de um conjunto de requisitos consistentes
Concepo
Formulao das primeiras questes focaliza os clientes e outros interessados, os objetivos globais e os benefcios
Quem solicitou este trabalho? Quem vai usar a soluo? Qual ser o benefcio econmico de uma soluo bem-sucedida? Existe outra fonte para a soluo necessria?
Concepo
Outras questes obter melhor entendimento do problema, o cliente expressa a sua percepo de soluo
Como voc caracterizaria uma soluo bemsucedida? Que problemas essa soluo enfrentaria? Voc pode descrever o ambiente de negcio no qual a soluo ser usada? Existem restries que afetaro o modo que a soluo ser abordada?
Concepo
Outras questes focaliza a efetividade da comunicao
Voc a pessoa certa para responder essas questes? Suas respostas so oficiais? Minhas questes so relevantes ao problema? Algum mais pode fornecer informaes adicionais? Devo perguntar mais alguma coisa?
Concepo
As perguntas e respostas bsicas estabelecem o escopo do problema e a percepo geral de uma soluo Resultado:
Solicitao de produto (uma ou duas pginas) escolhido um local, horrio e data de reunio e um facilitador A solicitao de produto entregue para os interessados convidados a comparecer na reunio solicitado aos convidados que faam uma lista de objetos, servios, restries e critrios de desempenho
Levantamento de Requisitos
Perguntas e respostas deve ser usada apenas para o primeiro encontro (concepo) Coleta colaborativa de requisitos
Abordagem colaborativa e orientada a equipes Interessados e desenvolvedores trabalham em conjunto
Identificar o problema, propor soluo, negociar abordagens, especificar um conjunto preliminar de requisitos
Levantamento de Requisitos
Coleta colaborativa de requisitos Diretrizes
Reunies conduzidas e assistidas por engenheiros de software, clientes, outros interessados, So estabelecidas regras de preparao e participao, sugerida uma agenda Um facilitador controla a reunio Estabelecido um mecanismo de definio (folhas de rascunho, papel auto-adesivo, ...) A meta identificar o problema, propor soluo, negociar abordagens, especificar um conjunto preliminar de requisitos
Levantamento de Requisitos
Reunio de coleta de requisitos
Discusso: necessidade e justificativa do produto Cada participante apresenta a sua lista
Cada entrada da lista pode ser manipulada separadamente (combinada, apagada e adicionada) Objetivo: desenvolver uma lista de consenso
Equipe subdividida para desenvolver miniespecificaes para as entradas da lista As miniespecificaes so apresentadas e discutidas Cada participante faz uma lista de critrios de validao para o produto, que apresentada, gerando uma lista de consenso Um ou mais participantes redigem o rascunho completo da especificao
Levantamento de Requisitos
Produtos de trabalho
uma lista de pessoas interessadas ou envolvidas com o sistema a ser desenvolvido; uma lista de requisitos e das restries que se aplicam a cada um deles; um conjunto de cenrios de uso com informaes sobre o uso do sistema sob diferentes condies de operao; um prottipo desenvolvido para melhorar o entendimento dos requisitos do software.
Engenharia de Requisitos
Prxima aula
Elaborao Negociao Especificao Validao Gesto
Referncias
Pressman, R.B. Engenharia de Software. 6. Ed., McGraw-Hill, 2006 Sommerville, I., Engenharia de Software. Addison-Wesley, 2003