O Processo da Engenharia de
Requisitos
©Jaelson Castro 1998
Slide 1
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 1998
Slide 2
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
•
•
•
•
©Jaelson Castro 1998
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
Slide 3
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
•
•
•
•
©Jaelson Castro 1998
Escrita de um livro
Organizar uma conferência
Projeto de um chip processador
Engenharia de Requisitos
Slide 4
Processo de ER - entradas e
saídas
Existing
systems
information
Agreed
requirements
Stakeholder
needs
Organisational
standards
Regulations
Requirements
engineering process
System
specification
System
models
Domain
information
©Jaelson Castro 1998
Slide 5
Descrição da entrada/saída
Input o r o utput
Existing system
information
Stakeholder needs
Ty pe
Input
Organisational
standards
Regulations
Input
Input
Input
Domain information Input
Agreed requirements Output
System
specification
System models
©Jaelson Castro 1998
Output
Output
Des cri pti o n
Information about the functionality of systems to be replaced or
other systems which interact with the system being specified
Descriptions of what system stakeholders need from the system to
support their work
Standards used in an organisation regarding system development
practice, quality management, etc.
External regulations such as health and safety regulations which
apply to the system.
General information about the application domain of the system
A description of the system requirements which is understandable
by stakeholders and which has been agreed by them
This is a more detailed specification of the system functionality
which may be produced in some cases
A set of models such as a data-flow model. an object model, a
process model, etc. which describes the system from different
perspectives
Slide 6
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 1998
Slide 7
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:
•
•
•
•
©Jaelson Castro 1998
Modelos de atividades de alto-nível
Modelos detalhados de atividades
Modelos de ações-papéis
Modelos de entidade-relacionamento
Slide 8
Modelo de ER de alto nível
Requirements
elicitation
User needs
domain
information,
existing system
information,
regulations,
standards, etc.
©Jaelson Castro 1998
Requirements
analysis and
negotiation
Requirements
documentation
Requirements
validation
Requirements
document
System
specification
Slide 9
Agreed
requirements
Atividades do processo de ER

Elicitação de Requisitos
•

Análise e negociação de requisitos
•

Requisitos são analisados e os conflitos resolvidos através de
negociação
Documentação de requisitos
•

Os requisitos são descobertos através da consulta com as partes
interessadas
Um documento de requisitos é produzido
Validação de requisitos
•
©Jaelson Castro 1998
É checada a consistência e completude do documento de
requisitos
Slide 10
O modelo cascata de processo de
software
System
requirements
engineering
System requirements specification
Software
requirements
engineering
Software requirements specification
Software design specification
Software
design
Executable software system
Programming
and unit testing
Completed system
System testing
System
operation
©Jaelson Castro 1998
Slide 11
Contexto do Processo de ER
System acquisition
Requirements engineering
System design
©Jaelson Castro 1998
Slide 12
Modelo espiral do processo de
ER
Decision point:
Accept document
or re-enter spiral
Informal statement of
requirements
Requirements elicitation
Requirements
document and
validation
report
Requirements analysis and
negotiation
START
Agreed
requirements
Requirements validation
Requirements documentation
Draft requirements
document
©Jaelson Castro 1998
Slide 13
Atores do processo de ER




Os atores do processo são as pessoal envolvidas
na execução do processo
Os atores são normalmente identificados pelos
seus papéis e não individualmente
Engenharia de requisitos envolve atores 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 1998
Slide 14
RAD para prototipagem de
software
ACTIONS
Understand
problem
Establish
outline
requirements
Select
prototyping
system
Develop
prototype
Req. engineer
Domain expert
End-user
Req. engineer
End-user
Software
engineer
Project manager
Req. engineer
Software
engineer
Evaluate
prototype
End-user
Domain expert
Req. engineer
Software engineer
RO LES
©Jaelson Castro 1998
Slide 15
Descrição dos papéis
Ro l e
Domain expert
System end-user
Requirements engineer
Software engineer
Project manager
©Jaelson Castro 1998
Des cri pti on
Responsible for providing information about the
application domain and the specific problem in that
domain which is to be solved.
Responsible for using the system after delivery
Responsible for eliciting and specifying the system
requirements
Responsible for developing the prototype software
system
Responsible for planning and estimating the
prototyping project
Slide 16
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 1998
Slide 17
Tipos de partes interessadas
(stakeholder)





Engenheiros de software responsáveis pelo
desenvolvimento do sistema
Usuários finais do sistema que irão usar o sistem 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 1998
Slide 18
Factores 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 1998
Slide 19
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 1998
Slide 20
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 1998
Slide 21
Um sistema de gerenciamento de
requisitos
Req. browser
NL
requirements
document
Req. convertor
Requirements
database
WP linker
Report generator
Change control
system
©Jaelson Castro 1998
Req. query
system
Traceability
support system
Traceability
report
Requirements
report
Slide 22
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 1998
Slide 23
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
•
•
•
©Jaelson Castro 1998
Melhoria de qualidade
Redução de prazo
Redução de recursos
Slide 24
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 1998
Slide 25
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 1998
Slide 26
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 1998
Slide 27
O modelo de maturidade
Level 5
Optimizing
Le vel 4
Managed
Level 3
Defined
Le vel 2
Repeatable
Level 1
Initial
©Jaelson Castro 1998
Slide 28
Níveis de maturidade

Nível inicial
•

Nível repetível
•

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.
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 1998
Slide 29
Maturity levels

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
•
©Jaelson Castro 1998
A empresar possuem uma estratégia de melhoria contínua do
processo, baseada nos objetivos adotados para medição
Slide 30
Um modelo de maturidade de
processo para ER
Level 3 - Defined
Defined process based
on best practice; process
improvement in place
Level 2 - Repeatable
Standardised requirements
engineering; fewer
requirements problems
Level 1 - Initial
Ad-hoc requirements
engineering; requirements
problems are common
©Jaelson Castro 1998
Slide 31
RE process maturity levels

Nível inicial
•

Nível repetível
•

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.
Padrões definidos para os documentos de requisitos e políticas
e procedimentos para o gerenciamento de requisitos.
Nível definido
•
©Jaelson Castro 1998
Um processo definido de ER, baseado em boas práticas e
técnicas. Em funcionamento um processo ativo de melhoria.
Slide 32
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 1998
Slide 33
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 1998
Slide 34
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 1998
Slide 35
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.
©Jaelson Castro 1998
Slide 36
Download

O Processo da Engenharia de Requisitos