©jaelson castro 2005 slide 1 o processo da engenharia de requisitos
TRANSCRIPT
©Jaelson Castro 2005 Slide 1
O Processo da Engenharia de Requisitos
©Jaelson Castro 2005 Slide 2
Objetivos Introduzir as noções de processos e modelos de
processo para a engenharia de requisitos. Explicar o papel crítico das pessoas no processo
de engenharia de requisitos. Explicar porque a melhoria do processo é
importante e sugerir um modelo de melhoria de processo para a engenharia de requisitos.
©Jaelson Castro 2005 Slide 3
E.R. Motivações
Aspectos Técnicos
Aspectos JurídicosAspectos Sociais/Ambientais
Aspectos Econômicos
©Jaelson Castro 2005 Slide 4
S.I. comerciais: 40% S.I. de tempo-real: 75%
E.R. Motivações
Sistemas de Informação centrados em Usuários
Deve ser possível estabelecer se um S.I. está apropriado as necessidades dos usuários
Nível de aceite dos Sistemas de Informação [ M.I. T. report]
©Jaelson Castro 2005 Slide 5
o documento de requisitos é um acordo contratual entre clientes e fornecedores
os desenvolvedores de software tem obrigação de inquirir os requisitos dos seus clientes
os desenvolvedores de software têm a obrigação de informar seus usuários acerca da solução proposta (um manual de usuários não é suficiente!)
E.R. Motivações
Alguns aspectos jurídicos:
©Jaelson Castro 2005 Slide 6
Desenvolvimento e Manutenção
0%5%
10%15%20%25%30%35%40%45%50%
análise projeto e codificação teste e correções
Custo de Software %
Atividades
E.R. Motivações
©Jaelson Castro 2005 Slide 7
E.R. Motivações
% total erros % total do custode correção erros
0%
10%
20%
30%
40%
50%
60%
70%
40%
66%
30%25%
30%
9%
EspecificaçãoProjetoCodificação
©Jaelson Castro 2005 Slide 8
E.R. Motivações
Especificação Projeto Codificação0,000,50
1,00
1,50
2,00
2,50
3,00
3,50
4,004,50
5,00
Custo de Correção de 1 erro
©Jaelson Castro 2005 Slide 9
Processos Processo é um conjunto organizado de
atividades que transforma entradas em saídas; Descrições de processos encapsulam
conhecimento e permitem que sejam reusados; Exemplos de descrições de processo:
• Manual de instrução de uma máquina de lavar;• Livro de receitas;• Procedimentos manuais para um banco;• Manual de qualidade para o desenvolvimento de software.
©Jaelson Castro 2005 Slide 10
O processo de projeto Processo que envolve criatividade, interação
entre um grande número de diferentes pessoas, julgamento de engenharia e experiência e conhecimento prévio;
Exemplos do processo de projeto:• Escrita de um livro;• Organizar uma conferência;• Projeto de um chip processador;• Engenharia de Requisitos.
©Jaelson Castro 2005 Slide 11
Processo de ER - entradas e saídas
Informações de Sistemas existentes
Necessidades das Partes envolvidas
Padrões Organizacionais
Regulamentações
Informações do Domínio
Processo daEngenharia deRequisitos
RequisitosAcordados
Especificação do Sistema
Modelos do Sistema
©Jaelson Castro 2005 Slide 12
Descrição da entrada/saída
Informação do Domínio Informações gerais sobre o domínio de aplicação do sistema
Entrada ou Saída Tipo Descrição
Informação sobre SistemasExistentes
Entrada Informação sobre a funcionalidade dos sistemas a serem substituídos ou de outros sistemas que interagem com o sistema que está sendo especificado.
Necessidades dos Participantes
Padrões da Organização
Regulamentações
Entrada Descrições do que os participantes necessitam do sistema para suportar seus trabalhos
Entrada Padrões usados na organização relativos às práticas de desenvolvimento de sistemas, gerenciamento da qualidade, etc.
Entrada Regulamentações externas tais como regulamentações de saúde e segurança que se aplicam ao sistema
Entrada
©Jaelson Castro 2005 Slide 13
Descrição da entrada/saída
Esta é uma especificação mais detalhada da funcionalidade do sistema que pode ser produzida em alguns casos.
Entrada ou Saída Tipo Descrição
Acordo sobre os Requisitos
Saída Uma descrição dos requisitos do sistema que seja entendida pelos participantes e que tenha sido acorda por estes.
Especificação do Sistema Saída
Saída Um conjunto de modelos, tais como, modelo de fluxo de dados, modelo de objeto, modelo de processo, etc., que descreve o sistema sob diferentes perspectivas.
Modelos do Sistema
©Jaelson Castro 2005 Slide 14
Variação do Processo de Requisitos
Os processos de requisitos variam radicalmente de uma organização para outra;
Fatores que contribuem para esta variação:• Maturidade Técnica;• Envolvimento disciplinas;• Cultura Organizacional;• Domínio de aplicação.
Portanto não existe um processo ‘ideal’ de engenharia de requisitos.
©Jaelson Castro 2005 Slide 15
Modelos de Processos Um modelo de processo é uma descrição
simplificada do processo descrito de um determinado ponto de vista;
Tipos de modelo de processo:• Modelos de atividades de alto-nível;• Modelos detalhados de atividades;• Modelos de ações-papéis;• Modelos de entidade-relacionamento.
©Jaelson Castro 2005 Slide 16
Modelo de ER de alto nível
Elicitação deRequisitos
Análise e Negociação de Requisitos
Documentação dos Requisitos
Validação de Requisitos
Informação do domínio das necessidades do usuário, Informação de sistema existente, Regulamentações,Padrões, etc
Documento de RequisitosEspecificação do Sistema
Requisitos Acordados
©Jaelson Castro 2005 Slide 17
Atividades do processo de ER Elicitação de Requisitos
• Os requisitos são descobertos através da consulta com as partes interessadas
Análise e negociação de requisitos• Requisitos são analisados e os conflitos resolvidos através de
negociação
Documentação de requisitos• Um documento de requisitos é produzido
Validação de requisitos • É checada a consistência e completude do documento de requisitos
©Jaelson Castro 2005 Slide 18
O modelo cascata de processo de software
Engenharia de Requisitosdo Sistema
Engenharia de Requisitosdo Software Projeto do
Software
Programação e teste da unidade
Teste do Sistema
Operação do Sistema
Especificação de Requisitos do Sistema
Especificação de Requisitos do Software
Especificação de Projeto do Software
Software Executável do Sistema
Sistema Completo
©Jaelson Castro 2005 Slide 19
Contexto do Processo de ER
Sistema de Aquisição
Engenharia de Requisitos
Projeto do Sistema
©Jaelson Castro 2005 Slide 20
Modelo espiral do processo de ER
INÍCIO Requisitos
Acordados
Documento de Requisitos eRelatório de Validação
Declaração Informaldos Requisitos
Ponto de Decisão:Aceita Documento ou Entra de novo na Espiral.
Esboço do Documento de Requisitos
Elicitação dos Requisitos
Análise e Negociação dos Requisitos
Validação dos Requisitos
Documentação dos Requisitos
©Jaelson Castro 2005 Slide 21
Atores do processo de ER Os atores do processo são as pessoas envolvidas na
execução do processo; Os atores são normalmente identificados pelos seus
papéis e não individualmente; Engenharia de requisitos envolve tanto atores que
estão interessados no problema a ser resolvido (usuários finais) como também atores interessados na solução (projetistas, etc.);
Diagramas de papel-ação documentam quais atores estão envolvidos em que atividades.
©Jaelson Castro 2005 Slide 22
RAD para prototipagem de software
AÇÕES
Compreendero problema
Estabelecer o Resumo dos Requisitos
Selecionar o Sistema dePrototipagem
Desenvolver o Protótipo
Avaliar o Protótipo
PAPEIS
Eng. deRequisitosExpert do DomínioUsuário final
. Eng. deRequisitosUsuário final
Eng. de SoftwareGerente do Projeto
Eng. deRequisitosEng. de Software
Usuário final Expert do Domínio Eng. deRequisitosEng. de Software
©Jaelson Castro 2005 Slide 23
Descrição dos papéisPapel DescriçãoExpert do Domínio Responsável por fornecer informação sobre o domínio
da aplicação e o problema específico a ser resolvido dentro daquele domínio.
Usuário Final do Sistema Responsável por usar o sistema após a entrega
Responsável pela elicitação e especificação dos requisitos do sistema.
Responsável pelo desenvolvimento do protótipo do software do sistema
Responsável pelo planejamento e estimativa do projeto de prototipagem
Engenheiro de Requisitos
Engenheiro de Software
Gerente do Projeto
©Jaelson Castro 2005 Slide 24
Fatores Humanos e sociais Os processos de engenharia de requisitos são
dominados por fatores humanos, sociais e organizacionais porque eles sempre envolvem um conjunto de partes interessadas com backgrounds diferentes e com objetivos organizacionais e individuais diferentes
As partes interessadas (stakeholders) pelo sistema podem ter uma variedade de background técnico e não técnico e de diferentes disciplinas
©Jaelson Castro 2005 Slide 25
Tipos de partes interessadas (stakeholder)
Engenheiros de software responsáveis pelo desenvolvimento do sistema;
Usuários finais do sistema que irão usar o sistema depois dele ser entregue;
Os gerentes dos usuários finais do sistema, que será responsável pelo trabalho deles;
Fiscais externos que verificaram se o sistema satisfaz os requisitos legais;
Especialistas de domínio que possuem informações essenciais sobre o domínio da aplicação.
©Jaelson Castro 2005 Slide 26
Fatores influenciando requisitos Personalidade e status dos stakeholders; Os objetivos pessoais dos indivíduos dentro da
empresa; O grau de influência política dentro de uma
organização.
©Jaelson Castro 2005 Slide 27
Suporte para o processo Ferramentas CASE proporcionam suporte
automático para o processo de software; As ferramenta de CASE mais maduras suportam
atividades bem entendidas tais como programação, teste e uso de métodos estruturados;
O suporte para a engenharia de requisitos ainda é limitado devido a informalidade e a variação dos processos.
©Jaelson Castro 2005 Slide 28
Ferramentas CASE para ER Ferramentas para modelagem e validação de
requisitos que suportam o desenvolvimento de modelos do sistema, que podem ser usadas para checar a completude e consistência entre os modelos;
Ferramentas de gerenciamento que ajudam o gerenciamento de um banco de dados de requisitos e apoiam o gerenciamento das modificações dos requisitos.
©Jaelson Castro 2005 Slide 29
Um sistema de gerenciamento de requisitos
Requirementsdatabase
NLrequirements
documentReq. convertor
WP linker
Traceabilitysupport system
Report generator
Traceabilityreport
Requirementsreport
Req. browser Req. querysystem
Change controlsystem
©Jaelson Castro 2005 Slide 30
Ferramentas de gerenciamento de requisitos
Folheador (browser) de requisitos Sistema de perguntas (query) de requisitos Sistema de suporte de rastreamento Gerador de relatórios Conversor de requisitos e linker para processador
de texto Sistema de controle de mudanças
©Jaelson Castro 2005 Slide 31
Melhoria de Processo A melhoria de processo está relacionado com a
modificação do processo de forma a alcançar algum objetivo de melhora;
Objetivos de melhora:• Melhoria de qualidade;• Redução de prazo;• Redução de recursos.
©Jaelson Castro 2005 Slide 32
Planejando a melhoria do processo
Quais são os problemas com os processos atuais? Quais são os objetivos de melhora? Como o processo de melhora poderá ser
introduzido para alcançar estes objetivos? Como o processo de melhora poderá ser
controlado e gerenciado?
©Jaelson Castro 2005 Slide 33
Problemas do processo de ER Falta de envolvimento dos stakeholders; As necessidades do negócio não são
consideradas; Falta de gerenciamento dos requisitos; Falta de definição de responsabilidades; Problemas de comunicação dos stakeholders; Planejamento longo demais e baixa qualidade dos
documentos de requisitos.
©Jaelson Castro 2005 Slide 34
Maturidade do Processo A maturidade do processo de uma empresa pode
ser considerada como sendo o grau de definição dos seus processos, como eles são controlados e a existência de suporte sistemático tanto humano como baseado em computador.
O modelo de maturidade da SEI (Capability Maturity Model- CMM) é uma proposta para avaliação da maturidade do processo de software de empresas de desenvolvimento.
©Jaelson Castro 2005 Slide 35
O modelo de maturidade
Nível 3 Definido
Nível 2Repetível
Nível 1Inicial
Nível 4 Gerenciado
Nível 5Otimizado
©Jaelson Castro 2005 Slide 36
Níveis de maturidade Nível inicial
• As empresas têm um processo não disciplinado e fica a cargo dos indivíduos tanto a escolha das técnicas de desenvolvimento a serem usadas como o gerenciamento do processo.
Nível repetível • As empresas tem funcionando os procedimentos básicos de gerenciamento
de custo e prazo. Provavelmente serão capazes de fazerem previsões consistentes de custo e escalonamento para projetos na mesma área de aplicação.
Nível definido • O processo de software, tanto das atividades de gerenciamento como
engenharia, está documentado, padronizado, e integrado aos padrões de processo de software para toda a organização.
©Jaelson Castro 2005 Slide 37
Níveis de maturidade Nível gerenciado
• Medições detalhadas tanto do processo como da qualidade do produto são coletadas e usadas para controlar o processo.
Nível otimizado • A empresa possuì uma estratégia de melhoria contínua do
processo, baseada nos objetivos adotados para medição
©Jaelson Castro 2005 Slide 38
Um modelo de maturidade de processo para ER
- Inicial
Engenharia de requisitos Ad-hoc; Problemas de requisitos são comuns.
Nível 1
Nível 2 -Repetível
Nível 3 - Definido
Engenharia de requisitos Padronizada; Poucos problemas de requisitos.
Processo definido, baseado na melhor prática; Melhoria do processo em funcionamento.
©Jaelson Castro 2005 Slide 39
Níveis de maturidade da Eng. Req.
Nível inicial • Não há processo definido de ER. Sofre de problemas tais como
volatilidade dos requisitos, stakeholders não satisfeitos e alto custo de refeita dos sistemas. Depende de habilidades e experiências individuais.
Nível repetível• Padrões definidos para os documentos de requisitos e políticas e
procedimentos para o gerenciamento de requisitos.
Nível definido• Um processo definido de ER, baseado em boas práticas e
técnicas. Em funcionamento um processo ativo de melhoria.
©Jaelson Castro 2005 Slide 40
Boas práticas para a melhoria do processo de ER
Os processo de ER podem ser melhorados pela sistemática introdução de boas práticas de engenharia de requisitos;
Cada ciclo de melhoria identificará diretrizes práticas e trabalhará em direção para a sua introdução na organização.
©Jaelson Castro 2005 Slide 41
Exemplos de diretrizes de boas práticas
Defina uma estrutura de documento padronizada; Identifique de forma única cada requisito; Defina políticas para o gerenciamento de requisitos; Use checklists durante a análise de requisitos; Use cenários para elicitar requisitos; Especifique requisitos de forma quantitativa; Use prototipagem para animar requisitos; Re-use requisitos.
©Jaelson Castro 2005 Slide 42
Pontos principais O processo de engenharia de requisitos é estruturado como
um conjunto de atividades que leva a produção do documento de requisitos.
As entradas do processo de engenharia de requisitos são as informações existentes dos sistemas, necessidade dos stakeholders, padrões organizacionais, regulamentações e informações do domínio.
Os processos de engenharia de requisitos variam radicalmente entre empresas. A maioria dos processos incluem a elicitação de requisitos, análise e negociação dos requisitos e validação dos requisitos.
©Jaelson Castro 2005 Slide 43
Pontos chaves Os modelos do processo de engenharia de requisitos são
descrições simplificadas que são apresentadas de uma perspectiva particular.
Fatores humanos, sociais e organizacionais são influências importantes no processo de engenharia de requisitos.
A melhoria do processo de engenharia de requisitos é difícil, sendo tratada melhor de forma incremental.
Os processos de engenharia de requisitos podem ser classificados de acordo com seus graus de maturidade.