FACULDADE FARIAS BRITO
CIÊNCIA DA COMPUTAÇÃO
JOÃO BATISTA DE SOUSA FILHO
SISREQUI – Sistema Especialista para Auxílio no Processo
da Engenharia de Requisitos.
Fortaleza, 2011
JOÃO BATISTA DE SOUSA FILHO
SISREQUI – Sistema Especialista para Auxílio no Processo
da Engenharia de Requisitos.
Monografia apresentada para obtenção dos
créditos da disciplina Trabalho de Conclusão do
Curso da Faculdade Farias Brito, como parte das
exigências para graduação no Curso de Ciência
da Computação.
Orientador: José Helano Matos Nogueira, Msc.
Fortaleza, 2011
SISREQUI – SISTEMA ESPECILISTA PARA AUXÍLIO
NO PROCESSO DA ENGENHARIA DE REQUISITOS.
João Batista de Sousa Filho
PARECER __________________
NOTA:
Data: /
/
BANCA EXAMINADORA:
MSc. José Helano Matos Nogueira
Orientador
Dr. Paulo Benicio Melo de Sousa
Examinador
MSc. Ricardo Wagner Cavalcante Brito
Examinador
FINAL (0 – 10): _______
Dedico este trabalho à minha família, pois representa a
motivação central para a conclusão do mesmo.
AGRADECIMENTOS
Ao Orientador Msc. Helano Matos, por ter aceitado a ideia inicial deste trabalho e pela
paciência, coordenação, disponibilidade e ajuda.
A todos os colegas de trabalho (Alexsandro Dórea, Cassiano Mourão, Fernando Pinto,
Renan Sousa e Santana Magalhães) que me ajudaram na criação da base de conhecimento do
SISREQUI.
Aos professores e colegas da faculdade que ajudaram de maneira direta ou indireta para
a minha formação.
A minha mãe que sempre acreditou em mim e me apoio nos momentos que mais
precisei.
A Santana Magalhães que me indicou a fazer um curso com o Paulo Vieira, onde este
me ajudou a me conhecer melhor e assim tive a força e garra para terminar este trabalho e
assim realizar um de meus sonhos.
A Deus, meu grande e amado pai que ao meu lado vem me ajudando e me orientado nos
caminhos da vida.
E a todos que puderam contribuir de alguma forma.
RESUMO
As empresas desenvolvedoras de software estão cada vez mais tentando melhorar
os seus processos de desenvolvimento de software. Ao Adotar processos definidos por
instituições nacionais e/ou internacionais. Mas mesmo com a adoção de tais processos, os
projetos de software tendem a falhar. Pesquisas realizadas por instituições de avaliação de
risco e referenciadas por alguns autores apontam que os problemas que ocorrem nos projetos
estão relacionados à não utilização correta dos princípios da disciplina de engenharia de
requisitos. A disciplina tem uma série de conceitos desde a explicação do que são os
requisitos do software, requisitos de usuário e requisitos de sistema, como descrevê-los
corretamente nos documentos de requisitos, as formas de descobertas, validação, verificação e
analise de mudanças dos requisitos. Uma série de conceitos, que somados à complexidade dos
sistemas e à falta de experiência na área, acabam se tornando uma tarefa muito complexa.
Mas por outro lado, tem crescido nos últimos anos a criação e/ou utilização de softwares que
simulam o comportamento de especialistas humanos de uma determinada área, que resolvem
problemas complexos na resolução de problemas complexos, denominados Sistemas
Especialistas. Neste contexto inseriu-se esta monografia que apresenta uma proposta de
criação de um sistema especialista, com o auxílio de uma ferramenta de criação de sistemas
especialistas, para auxiliar a Analistas de Requisitos, Analistas de Sistemas e Analistas de
Negócio, na aplicabilidade dos conceitos da Engenharia de Requisitos. Este trabalho tem sua
contribuição no fornecimento de meio de aprendizado dos conceitos da disciplina, ressaltando
quais são as melhores alternativas a se tomar em determinadas situações.
SUMÁRIO
INTRODUÇÃO ..................................................................................................................................................... 1
1.
A DISCIPLINA DE ENGENHARIA DE REQUISITOS .......................................................................... 5
1.1 Requisitos de Software........................................................................................................................ 5
1.1.1 Requisitos de Usuário ............................................................................................................................. 6
1.1.1.1
Requisitos Funcionais .................................................................................................................... 6
1.1.1.2
Requisitos Não Funcionais ............................................................................................................. 7
1.1.2 Requisitos de Sistema ............................................................................................................................ 7
1.2 Documentos de requisitos de software ............................................................................................... 8
1.2.1 RUP e seus artefatos ............................................................................................................................ 10
1.2.1.1
Visão ............................................................................................................................................ 11
1.2.1.2
Especificação Suplementar .......................................................................................................... 12
1.2.1.3
Glossário ...................................................................................................................................... 12
1.2.1.4
Regras de negócios ...................................................................................................................... 13
1.2.1.5
Caso de Uso ................................................................................................................................. 13
1.2.1.6
Especificação de Requisitos de Software ..................................................................................... 13
1.2.2 Extreme Programming (XP) e as estórias de usuários ......................................................................... 14
1.2.3 Scrum e o Backlog do produto ............................................................................................................. 14
1.2.4 Pontos Positivos e Negativos Sobre os Modelos .................................................................................. 16
2.
PROCESSO DE ENGENHARIA DE REQUISITOS .............................................................................. 18
2.1 Elicitação de requisitos .......................................................................................................................18
2.1.1 Entrevistas............................................................................................................................................ 19
2.1.2 Tempestade de idéias (Brainstorm) ..................................................................................................... 20
2.1.3 Cenários ............................................................................................................................................... 21
2.1.4 Etnografia ............................................................................................................................................ 22
2.2
Verificação e validação de requisitos..................................................................................................22
2.3 Gerenciamento de requisitos .............................................................................................................23
2.3.1 Rastreabilidade de requisitos ............................................................................................................... 24
3.
SISTEMAS ESPECIALISTAS .................................................................................................................. 25
3.1
Introdução aos Sistemas Especialistas ................................................................................................25
3.2 Expert SINTA ......................................................................................................................................26
3.2.1 Arquitetura de um sistema especialista no Expert SINTA .................................................................... 27
3.2.2 Representação do Conhecimento ........................................................................................................ 28
3.2.2.1
Regras de Produção..................................................................................................................... 29
3.2.2.2
Cálculo Probabilístico dos Sistemas Especialistas ....................................................................... 31
4. SISTEMA ESPECIALISTA PARA AUXÍLIO NO PROCESSO DA ENGENHARIA DE
REQUISITOS ...................................................................................................................................................... 37
4.1 Projeto SISREQUI ................................................................................................................................37
4.1.1 Estudo de viabilidades.......................................................................................................................... 38
4.1.2 Formalização do Especialista em Engenharia de Requisitos ................................................................ 39
4.1.3 Aquisição de conhecimento ................................................................................................................. 40
4.2 Implementação do SISREQUI ..............................................................................................................41
4.2.1 Implementando o sistema.................................................................................................................... 42
4.2.1.1
Base de conhecimento................................................................................................................. 43
4.2.1.1.1
Variáveis ................................................................................................................................. 43
4.2.1.1.2
Objetivos ................................................................................................................................. 45
4.2.1.1.3
Interface com o usuário .......................................................................................................... 46
4.2.1.1.4
Regras ..................................................................................................................................... 47
4.2.1.2
Informações adicionais................................................................................................................ 49
4.3 Consultando o SISREQUI .....................................................................................................................49
4.3.1 Consultas .............................................................................................................................................. 50
4.3.2 Acompanhamento................................................................................................................................ 52
4.3.3 Janela de Resultados Atingidos ............................................................................................................ 53
4.3.4 Garantindo a relevância do SISREQUI .................................................................................................. 56
5.
CONCLUSÕES ........................................................................................................................................... 59
REFERÊNCIAS BIBLIOGRÁFICAS............................................................................................................... 61
ANEXOS I – QUESTIONÁRIO UTILIZADO NA CRIAÇÃO BASE DE CONHECIMENTO DO
SISREQUI ............................................................................................................................................................ 67
ANEXOS II – RESPOSTAS DO QUESTIONÁRIO UTILIZADO NA CRIAÇÃO BASE DE
CONHECIMENTO DO SISREQUI .................................................................................................................. 70
ANEXOS III – BASE DE CONHECIMENTO SISREQUI ............................................................................. 75
LISTA DE FIGURAS
Figura 1– Fatores na conclusão de projetos. Fonte: The Standish Group. .............................................. 2
Figura 2 – Fatores críticos para o sucesso dos projetos. Fonte: The Standish Group. ............................ 2
Quadro 1 – Especificação de requisito de sistema. Fonte: Sommerville, 2008, Modificado. ................. 8
Figura 3 - Interessados presentes na ERS. Fonte: Sommerville, 2008, pag. 91. ..................................... 9
Figura 4 – Rastreabilidade de requisitos. Fonte: Sayão e Leite, 2005. ................................................. 24
Figura 5 – Arquitetura Simplificada do Expert SINTA. Fonte: Lia, 1999. ........................................... 27
Figura 6 – Exemplo de tratamento probabilístico do caso 1. ................................................................ 32
Figura 7 - Exemplo de tratamento probabilístico do caso 2. ................................................................. 33
Figura 8 - Exemplo de tratamento probabilístico do caso 3. ................................................................. 34
Figura 9 - Exemplo de tratamento probabilístico do caso 4. ................................................................. 34
Figura 10 - Exemplo de regra com mais de um objetivo. ..................................................................... 35
Figura 11 – Ambiente do Expert SINTA. Fonte: Lia, 1999. ................................................................. 38
Figura 12 – Criando uma nova Base de Conhecimento no Expert SINTA. .......................................... 42
Figura 13 – Janela KIB. Fonte: Lia, 1999, Modificado. ....................................................................... 43
Figura 14 – Janela de criação de variáveis. Fonte: Lia, 1999, Modificado. .......................................... 44
Figura 15 – Janela de seleção de variáveis objetivos do SISREQUI. Fonte: Lia, 1999, Modificado. .. 45
Figura 16 – Janela de seleção de variáveis perguntas do SISREQUI. Fonte: Lia, 1999, Modificado. . 46
Figura 17 – Caixa de seleção de Ordem e modelo de regra. Fonte: Lia, 1999...................................... 47
Figura 18 – Tela de criação de regra de produção. Fonte: Lia, 1999. ................................................... 47
Figura 19 – Tela de inserção de premissas. Fonte: Lia, 1999. .............................................................. 48
Figura 20 – Tela de inserção de objetivos. Fonte: Lia, 1999. ............................................................... 48
Figura 21 – Janela de informações adicionais do SISREQUI. Fonte: Lia, 1999, Modificado. ............. 49
Figura 22 – Menu de controle de consultas. Fonte: Lia, 1999. ............................................................. 50
Figura 23 – Tela de abertura do SISREQUI.......................................................................................... 50
Figura 24 – Interface SISREQUI. ......................................................................................................... 51
Figura 25 – Resposta do SISREQUI com respectivo grau de confiança. ............................................. 51
Figura 26 – Tela de ajuda do SISREQUI. ............................................................................................. 52
Figura 27 – Execução do SISREQUI pelo modo depurador. ................................................................ 53
Figura 28 – Tela de Resultados. ............................................................................................................ 54
Figura 29 – Arvore de pesquisa............................................................................................................. 54
Figura 30 – Todos os resultados............................................................................................................ 55
Figura 31 – Regras do SISREQUI. ....................................................................................................... 55
Figura 32 – Gráfico de teste do SISREQUI em projetos concluídos. ................................................... 57
Figura 33 – Gráfico de teste do SISREQUI em projetos não concluídos. ............................................ 57
Figura 34 – Média de resultados. .......................................................................................................... 58
LISTA DE QUADROS
Quadro 1 – Especificação de requisito de sistema. Fonte: Sommerville, 2008, Modificado. ................. 8
Quadro 2 – Estória de Usuário .............................................................................................................. 14
Quadro 3 – Exemplo de um Backlog do produto .................................................................................. 15
LISTA DE SIGLAS
AR – Analista de Requisitos.
ASE – Arcabouços de Sistema Especialista.
CMMI - Modelo Integrado de Maturidade e de Capacidade.
IA – Inteligência Artificial.
IBM – International Business Machine.
MPS.Br - Melhoria de Processo do Software Brasileiro.
SE – Sistema Especialista.
XP – Extreme Programming.
GLOSSÁRIO
Analista de Requisitos (AR): Responsável pela coleta, análise, validação e documentação dos
requisitos junto ao cliente e passar esses requisitos coletados para os desenvolvedores (RUP, 2006).
Artefato: Artefatos são produtos de trabalhos, finais ou intermediários, produzidos e usados para
capturar e transmitir informações do projeto (RUP, 2006). Um artefato pode ser um dos seguintes
elementos:

Um documento, como Caso de Negócio ou Documento de Arquitetura de Software;

Um modelo, como o Modelo de Casos de Uso ou o Modelo de Projeto;

Um elemento do modelo, ou seja, um elemento existente em um modelo, como uma classe ou
um subsistema.
Ator: É uma entidade de fora do sistema que interage com o mesmo. Os atores podem ser os usuários
do sistema, outros sistemas de computador ou eventos externos (RUP, 2006).
Backlog do produto: É documento contendo todos os requisitos detalhadamente, com o tempo
estimado para desenvolvimento dos requisitos assim como os responsáveis pelo desenvolvimento dos
mesmos, agrupados de acordo com as suas prioridades.
CMMI: Modelo Integrado de Maturidade e de Capacidade, voltado à melhoria de processo, composto
pelas melhores práticas de desenvolvimento de projetos, abordando o ciclo de vida do produto desde a
concepção até a entrega e manutenção.
Documento de visão: Artefato RUP, que define as necessidades e características dos envolvidos e
usuários-alvo do projeto (RUP, 2006).
Documento Especificação de caso de uso: Consiste na descrição detalhada, mostrando passo a passo
uma funcionalidade do sistema e a comunicação com os atores (RUP, 2006).
Especificação de Requisitos de Software (ERS): Documento que descreve todos os requisitos de
software que o sistema terá ou parte deles. Quando a modelagem de casos de uso é utilizada, os casos
de uso aplicáveis estarão descritos no ERS (RUP, 2006).
Especificação suplementar: Artefato RUP, que conterá todos os requisitos não funcionais necessários
ao desenvolvimento do projeto (RUP, 2006).
Estórias de Usuário (User Stories): são descrições textuais sucintas a respeito das funcionalidades do
sistema.
Extreme Programming (XP): Processo ágil de desenvolvimento de software, que visa o trabalho em
equipe com foco a agilidade para se atingir a total satisfação do cliente.
Interessados (Stakeholders): Termo utilizado para designar todos aqueles que, de alguma maneira,
estão envolvidas no projeto (pessoas ou organizações).
Organização Internacional para a Padronização (ISO 9001 (2008)): Norma voltada em promover a
adoção de uma abordagem de processo para aumentar a qualidade no desenvolvimento,
implementação e melhoria no atendimento aos requisitos do cliente.
Melhoria de Processo do Software Brasileiro (MPS.Br): Em desenvolvimento desde dezembro de
2003, pela Associação para Promoção da Excelência do Software Brasileiro (SOFTEX). O programa
tem como base melhorar o processo de requisitos com base nos princípios da Engenharia de Software.
Metodologias Ágeis: Abordagens de desenvolvimento que buscam descobrir as melhores, mais
rápidas e eficientes maneiras de desenvolver softwares. As metodologias ágeis têm as seguintes
características:

Maior comunicação e participação do cliente, ao invés de negociações de contratos;

Maior interação entre pessoas do projeto, que processos e ferramentas;

Responder a mudanças mais que seguir um plano;

Software em funcionando ao invés de extensas documentações.
Processo Unificado (UP): Plataforma de processo de desenvolvimento de software desenvolvida
inicialmente pela Rational Software, Inc.; Hoje controlada pela IBM.
Rational Unified Process (RUP): O RUP é um processo de engenharia de software que tem uma
abordagem baseada em disciplinas para atribuir tarefas e responsabilidades dentro de uma organização
de desenvolvimento de software com foco em garantir a produção de software de alta qualidade que
atenda às necessidades dos usuários dentro de um cronograma e com orçamento previsível (RUP,
2006).
SCRUM: Metodologia ágil de projetos de software. No Scrum, os projetos são divididos em sprints,
que são ciclos mensais ou semanais.
SHELL: Shell é o nome dado a uma família de ferramentas e não à linguagens de programação, que
tem o objetivo de apoiar e simplificar o processo de construção de Sistemas Especialistas.
Standish group: Grupo de profissionais altamente dedicados com anos de experiência prática na
avaliação do risco, custo de retorno e valor de Tecnologia da Informação (TI) que tem como visão:
coletar informações sobre o caso na vida real, falhas em ambientes de TI e ajudar a mostrar o caminho
para melhorar as taxas de sucesso e aumentar o valor dos investimentos na TI das empresas.
Story Points: Unidade de estimativa utilizada no Scrum, para calcular a quantidade de dias que um
desenvolvedor trabalhou em uma determinada estória de usuário. Onde o cálculo da story points é
feito em cima da quantidade de dias levados para a conclusão de uma estória, multiplicado pela
quantidade de pessoas que trabalharam no desenvolvimento da estória.
Sistemas Especialistas: Conceito utilizado na IA para definir programas que auxiliam na resolução de
problemas de uma determinada área de conhecimento com a mesma qualidade e rapidez que um
especialista humano.
1
INTRODUÇÃO
Atualmente, as organizações estão buscando formas de melhorarem seus
processos, seja através de modelos nacionais ou internacionais, tais como CMMI, ISO 9001
(2008) ou MPS.BR (ZANETTI, MONTONI e ROCHA, 2009). O objetivo é ter um melhor
aperfeiçoamento dos seus serviços e produtos com maior qualidade (REINALDO, 2006).
Contudo, mesmo com a utilização de tais modelos, podem existir problemas decorrentes de
falhas na execução do processo ou manutenção de software, em grande parte devido à não
utilização correta dos princípios da análise de requisitos (MEDEIROS, BELCHIOR e
FARIAS, 2005). O processo de desenvolvimento de software se inicia a partir da fase de
Análise de requisitos (MEDEIROS, BELCHIOR e FARIAS, 2005). Nessa fase de
descobertas (PRESSMAN, 2005; CAMPELO, 2009), ocorre a elicitação de requisitos, onde
são identificadas as necessidades que o software tem que atender e a complexidade de um
problema do mundo real (SOMMERVILE, 2008; SWEBOK, 2004; CAMPELO, 2009).
Apesar de hoje os softwares desenvolvidos estarem cada vez mais sofisticados,
diminuindo a complexidade dos problemas do mundo real, os problemas que ocorrem no
processo de desenvolvimento ainda trazem enormes dificuldades aos envolvidos
(MEDEIROS, BELCHIOR e FARIAS, 2005). Oliveira (2008) comenta que, para minimizar
os problemas que ocorrem no ciclo de desenvolvimento de software, basta a utilização da
análise de requisitos, pois, segundo o mesmo, 37% dos problemas que ameaçam os projetos
estão relacionados a requisitos. Uma pesquisa anterior do Standish Group reforça as palavras
ditas por Oliveira (2008), pois segundo pesquisa realizada em 1995 por esta instituição,
apenas 16% dos projetos são finalizados com sucesso, 31% dos projetos fracassam por algum
motivo, enquanto mais de 53% dos projetos extrapolam o tempo, custos e/ou não satisfazem
os clientes conforme figura 1.
2
Projetos
Bem sucedidos
31%
Problemáticos
Fracassados
16%
53%
Figura 1– Fatores na conclusão de projetos. Fonte: The Standish Group.
Essa pesquisa teve o intuito de identificar as falhas dos projetos de softwares, os
fatores causadores das falhas e os meios de se evitar as falhas dos projetos. O envolvimento
dos usuários no projeto, suporte da gerência executiva e estabelecimento claro dos requisitos,
foram apontados pela pesquisa como os fatores responsáveis pelo sucesso dos projetos,
conforme mostrados na figura 2.
Fatores de Sucesso
Envolvimento dos Usuários
16%
14%
Suporte da gerência
executiva
57%
13%
Estabelecimento claro dos
requisitos
Outros (planejamento
apropriado, equipe
competente
comprometimento, outros)
Figura 2 – Fatores críticos para o sucesso dos projetos. Fonte: The Standish Group.
3
Nos projetos problemáticos e/ou fracassados os maiores problemas estão na falta
de um levantamento completo dos requisitos e/ou no não tratamento correto na mudança de
requisitos. Portanto, com o intuito de se chegar ao desenvolvimento correto de um software,
evitando ou reduzindo casos de falhas no processo de criação e gerando mais tarde gastos
com manutenção e correção de erros, é fundamental o correto entendimento e aplicação da
disciplina de Engenharia de Requisitos. Mas, entender e aplicar corretamente os princípios da
análise de requisitos para analistas que não sejam especialistas na área acaba se tornando uma
tarefa muito complexa.
Por outro lado, recentemente, tem crescido bastante a quantidade de softwares que
capturam e simulam o comportamento de especialistas humanos, estes denominados Sistemas
Especialistas (NOGUEIRA e SILVA, 1997; DIEHL, 2000). A utilização de sistema
especialista voltado para a área de engenharia de requisitos iria auxiliar os analistas a tratarem
de problemas complexos, onde a solução só seria alcançada com a ajuda de um especialista na
área de requisitos. Segundo os autores citados anteriormente, a utilização de um sistema
especialista se torna necessária devido a diversos fatores tecnológicos e econômico-sociais
tais como:

Dificuldade de acesso a especialistas humanos em determinadas regiões;

Armazenamento e formalização do conhecimento de vários especialistas
humanos;

Ferramenta de apoio à tomada de decisões por parte do especialista;

Treinamento de profissionais e imparcialidade na tomada de decisões.
Por essas razões este trabalho tem com objetivo principal a criação de um sistema
especialista com o auxílio do Expert SINTA para a área de engenharia de requisitos
denominado SISREQUI. O SISREQUI não tem o intuito de retirar do homem o trabalho
abordado na fase de requisitos, o objetivo do SISREQUI e o de auxiliar e/ou treinar analistas
de sistemas, analistas de requisitos e analistas de negócios no correto desenvolvimento e
aplicabilidade da engenharia de requisitos no processo de desenvolvimento de sistemas
computacionais, diminuindo assim a complexidade e facilitando a utilização eficiente e eficaz
dos conceitos de engenharia de requisitos.
4
Este trabalho está estruturado em quatro capítulos, onde o primeiro capítulo
aborda os conceitos da disciplina de engenharia de requisitos, explicando o que são requisitos
de softwares e quais os seus documentos. Já o segundo capítulo descreve o processo da
engenharia de requisitos abordando desde o levantamento dos requisitos junto ao cliente até a
validação dos requisitos e o gerenciamento dos mesmos. O terceiro capítulo comenta sobre o
uso de ferramentas automatizadas geradoras de sistema especialistas, onde é exemplificado o
uso do Expert SINTA1. Também é apresentada a arquitetura básica de um sistema especialista
com suas regras de produção. O quarto capítulo descreve o Sistema de Requisitos proposto,
SISREQUI. Neste capítulo é detalhado como será a base de conhecimento do sistema, quais
as variáveis, objetivos, regras e interfaces com o usuário o mesmo terá. Ao final do capítulo
são apresentados os resultados que foram atingidos com o sistema.
1
Ferramenta criada pelo Laboratório de Inteligência Artificial da Universidade Federal do Ceará – LIA/UFC
(www.lia.ufc.br)
5
1. A DISCIPLINA DE ENGENHARIA DE REQUISITOS
O objetivo deste capítulo é apresentar a disciplina de Engenharia de Requisitos,
mostrando o que são requisitos de software, abordados na seção 1.1 e mostrando os
documentos de requisitos, seção 1.2, com seus modelos definidos em processos de
desenvolvimento de software, tais como RUP, XP e SCRUM.
1.1 Requisitos de Software
Com a globalização do mercado e a alta competividade existente entre as
organizações desenvolvedoras de software tem crescido, nessas organizações, a necessidade
de se criar softwares em menos tempo e com poucos recursos, com maior qualidade que atinja
a satisfação dos clientes (ZANETTI; MONTONI e ROCHA, 2009). Meira (2008) comenta
que as organizações consideram as áreas de especificação de requisitos e a gerência de
requisitos do cliente como os principais focos de problemas no desenvolvimento do software.
Melhorar os processos de descobertas, documentação e controle de requisitos do cliente são
fatores críticos para o sucesso do negócio (PRESSMAN, 2005).
O sucesso no processo de engenharia de requisitos se torna possível quando se
consegue entender as diferenças entre os requisitos de usuário e dos requisitos de sistema
(SOMMERVILLE, 2008). Os requisitos de usuário e de sistema podem ser definidos da
seguinte maneira:

Requisitos de usuário são declarações, em uma linguagem natural,
contendo os serviços que são esperados pelo sistema e suas restrições.

Requisitos de sistema são descrições detalhadas de como serão exatamente
implementados as funções, serviços e as restrições do sistema.
6
A seguir tais modelos são mostrados e exemplificados com maiores detalhes.
1.1.1
Requisitos de Usuário
Os requisitos de usuário devem descrever os requisitos funcionais e não
funcionais do sistema. Estes requisitos devem ser descritos o mais próximo da linguagem
natural, evitando-se o máximo a utilização de termos técnicos, de modo que sejam
compreensíveis para a leitura de usuários que irão utilizar o sistema. Eles devem especificar
apenas detalhes externos do sistema, evitando-se características de projeto (SOMMERVILLE,
2008).
1.1.1.1 Requisitos Funcionais
Os requisitos funcionais detalham ações que o sistema deve ter, sem levar em
consideração as restrições físicas (SEWBOOK, 2004). Os requisitos funcionais dependem do
tipo de software que está sendo desenvolvido e dos usuários aos quais o software se destina.
Quando expressos como requisitos de usuários, eles são descritos de forma abstrata, mas,
como requisitos funcionais, eles devem ser descritos com maior nível de detalhamento,
descrevendo suas entradas, saídas e exceções. (SOMMERVILLE, 2008). Por exemplo, um
requisito funcional de funcionamento de um sistema de locadora de filmes, na rotina de
pesquisa de um filme pelo título poderia ser descrito como:
1. Quando o usuário solicitar a pesquisa de algum filme ele informa alguma
palavra como chave;
2. O sistema deve buscar no banco de dados todos os filmes que tenham no
título ou sinopse a palavra informada pelo usuário em seguida deve exibir
os 20 primeiros resultados em ordem alfabética.
Este requisito funcional foi um exemplo de como é feita a interação entre usuário
e sistema. Os requisitos podem ser descritos em diferentes níveis, como no exemplo acima,
contanto que seu entendimento fique claro a quem o ler. Geralmente, os requisitos funcionais
são descritos em um documento de casos de uso.
7
1.1.1.2 Requisitos Não Funcionais
Os requisitos não funcionais são relacionados às características restritivas dos
sistemas, tais como: confiabilidade, tempo de resposta, desempenho, interface, espaço de
armazenamento (RUP, 2006). Tais restrições podem afetar tanto na implementação dos
requisitos funcionais quanto nos componentes do sistema (SWEBOOK, 2004; OLIVEIRA,
2008).
Por exemplo, no mesmo sistema de locadora de filmes, um requisito não
funcional seria:
1. A interface do sistema deve ser leve, para que o acesso seja possível por
uma conexão de internet de no mínimo 60 kbps.
2. O tempo de resposta no sistema em uma pesquisa não poderá ser superior
a 60 milissegundos.
1.1.2
Requisitos de Sistema
O comportamento externo do sistema, bem como suas restrições operacionais, são
formas de descrição de requisitos de sistema (SWEBOOK, 2004). Sommerville (2008)
comenta que especificar completamente um sistema de software complexo no nível de detalhe
necessário é uma prática inviável, pois, em alguns casos, os sistemas terão de interagir com
outros sistemas existentes, restringindo o projeto e impondo requisitos ao novo sistema.
Para a descrição de requisitos de sistemas, como também de usuários, deve-se
utilizar a linguagem natural. Contudo, como os requisitos de sistemas são mais detalhados que
os requisitos de usuários, as especificações em linguagem natural podem acabar ficando mais
confusas e difíceis de serem compreendidas. Logo, pode-se escrever os requisitos de sistema
usando notações mais especializadas como casos de uso, diagramas de classes, sequencia ou
até formulários padrões (SOMMERVILLE, 2008).
8
Um exemplo de especificação de requisito de sistema utilizando um formulário
padrão para o sistema de locadora de filmes seria:
Função: Calcular o valor de filmes.
Descrição: Calcular o valor dos filmes solicitados para empréstimo.
Entradas: Código do Filme e Nome ou CPF do cliente.
Saídas: Valor calculado.
Destino: Controle financeiro.
Ação: O valor será calculado [ se o cliente não possuir nenhum débito negativo com a
empresa. Se o mesmo possuir algum débito, será impresso uma nota promissora informando
o valor que está em atraso.] Caso contrário o valor dos filmes e calculado e impresso.
Requer: Fornecimento do código do filme e o nome ou CPF do cliente.
Pré-Condição: O cliente possuir cadastro e não ter nenhum débito negativo com a locadora.
Pós-Condição: Valor calculado e nota promissória impressa.
Quadro 1 – Especificação de requisito de sistema. Fonte: Sommerville, 2008, Modificado.
1.2 Documentos de requisitos de software
A Especificação de Requisitos tem por finalidade estabelecer e manter um
entendimento comum sobre o sistema entre de todos os envolvidos (SOMMERVILLE, 2008).
Ela deve abranger todos os requisitos do sistema, definir a interface de usuário para o sistema,
determinar as fronteiras, custos e o tempo de desenvolvimento do sistema (RUP, 2006). Para
se conseguir atingir essas metas, é importante compreender o problema para saber se é
possível resolvê-lo com o sistema a ser construído. As solicitações dos usuários são
recolhidas, reunidas e analisadas, que posteriormente se tornarão os requisitos de software que
o sistema terá. Os requisitos de software são descritos em um documento chamado de
especificação de requisitos de software.
A Especificação de Requisitos de Software (ERS), também conhecida como
documento de especificação de software, é o documento que contém todos os requisitos de
software que envolvem o projeto, ou seja, é a declaração do que os desenvolvedores do
sistema devem implementar (SEWBOOK, 2004), podendo incluir também os casos de uso,
9
requisitos funcionais e não funcionais (RUP, 2006; CAMPELO, 2009). O documento de ERS
abrange vários tipos de usuários, desde os patrocinadores até os responsáveis pelo
desenvolvimento de software (SEWBOOK, 2004). A ERS controla a evolução do sistema em
toda a fase de desenvolvimento do projeto. Mesmo quando novos recursos são adicionados ou
modificados, eles são elaborados dentro da ERS (RUP, 2006).
A figura 3 ilustra alguns dos grupos de interessados que contribuem com a ERS e
seus respectivos focos de atenção.
Figura 3 - Interessados presentes na ERS. Fonte: Sommerville, 2008, pag. 91.
A quantidade de possíveis interessados presentes na ERS significa que a escrita da
mesma deve estar compreensível para todos. O nível de detalhamento do documento
dependerá das características do sistema que será desenvolvido e do processo de
desenvolvimento que está sendo utilizado. Sommerville (2008) explica que grandes
organizações como o IEEE definiram padrões para as ERS. Um dos mais conhecidos é
IEEE/ANSI 830-1998 o qual de acordo com Sommerville (2008), possui a seguinte estrutura:
1. Introdução
1.1. Propósito do documento de requisitos
1.2. Escopo do produto
1.3. Definições, acrônimos de abreviaturas
10
1.4. Referências
2. Descrição geral
2.1. Perspectiva do produto
2.2. Funções do produto
2.3. Características dos usuários
2.4. Restrições gerais
2.5. Suposições gerais
2.6. Suposições e dependências
3. Requisitos específicos abrangem requisitos funcionais, não funcionais e de interface.
4. Apêndices
5. Índice
Embora o padrão não seja o ideal, ele contém boas recomendações de como
descrever requisitos, evitando-se problemas futuros. O padrão é muito geral e acaba não
sendo pouco adotado pelas instituições. Todavia, pode ser adaptado e modificado para a
realidade de cada instituição (SOMMERVILLE, 2008).
A ERS é indispensável quando o sistema está sendo desenvolvido por uma equipe
externa. Os métodos ágeis de desenvolvimento apontam que os requisitos mudam tão
frequentemente que a ERS ficaria desatualizada rapidamente e mantê-la atualizada resultaria
em esforço inútil. Sommerville (2008) comenta que em situações como a descrita
anteriormente, a descrição de requisitos de usuário e mais aconselhável utilizar a abordagem
dos métodos ágeis, como a Extreme Programming (XP) e SCRUM onde se priorizam apenas
os requisitos que serão implementados.
1.2.1
RUP e seus artefatos
O RUP tem vários documentos a serem utilizados em processos de
desenvolvimento de softwares. Smith (2003) explica que para utilizar o RUP, as empresas não
necessitam utilizar todos os artefatos, pois a seleção e adaptação de artefatos é uma parte
11
necessária no processo. O próprio RUP oferece orientações sobre como adaptá-lo à realidade
da empresa desenvolvedora de software (SMITH, 2003).
Para o RUP, os objetivos da disciplina de requisitos são:

Estabelecer a concordância com todos os envolvidos sobre o que o sistema
a ser desenvolvido;

Oferecer aos desenvolvedores do sistema um entendimento sobre
requisitos do sistema;

Definir as fronteiras do sistema;

Fornecer uma base para planejar o conteúdo técnico das repetições;

Fornecer uma base para estimar o custo e o tempo de desenvolvimento do
sistema;

Definir uma interface de usuário para o sistema, com base nas
necessidades e metas dos usuários;
Artefatos necessários para se chegar esses objetivos são:

Documento de Visão;

Especificação suplementar;

Glossário;

Regras de negócios;

Casos de uso;

Especificação de requisitos de software.
Esses documentos são utilizados como formas de se descrever o sistema, em projetos
nos quais os interessados são vistos como fontes de informações (RUP, 2006).
1.2.1.1 Visão
O documento de visão tanto fornece uma visão completa do negócio a ser
atendido pelo desenvolvimento do sistema, como também serve de auxílio para o contrato
entre cliente e a organização de desenvolvimento. O documento de visão é uma referência que
12
contem as expectativas capturadas entre os envolvidos (RUP, 2006). A visão é escrita com
base nas perspectivas dos clientes, focalizando as características cruciais do sistema, os níveis
desejáveis de qualidade e descrição das características dos sistemas, tanto as que serão
incluídas, bem como aquelas que foram consideradas, mas não incluídas (RUP, 2006).
Ela também deve especificar as capacidades operacionais, como tempo de
resposta e os usuários que utilizarão o sistema. O documento de visão fornece uma base
contratual com os envolvidos para os requisitos visíveis que terá o sistema, podendo ser
modificada conforme os requisitos sejam entendidos com maiores detalhes. O documento de
visão pode também ser expresso em casos de uso (RUP, 2006).
1.2.1.2 Especificação Suplementar
A especificação suplementar é um modelo que contém todos os requisitos
funcionais e não funcionais essenciais para o sistema que não são descritos imediatamente nos
documentos de casos de uso (RUP, 2006). Entre os requisitos estão incluídos requisitos de
regulamentação e padrões de aplicativo, atributos de qualidade do sistema, requisitos de
usabilidade, confiabilidade, desempenho, suportabilidade, segurança, portabilidade, restrições
computacionais dentre outras, sistemas operacionais e ambientes (RUP, 2006).
1.2.1.3 Glossário
Nas fases de elicitação e/ou descrição dos requisitos, termos técnicos podem
surgir e para que esses requisitos possam ser entendidos, modelados e desenvolvidos, se torna
necessário que o significado dos mesmos sejam descritos em um glossário. Nele são descritos
todos os termos necessários para entender a modelagem do negócio e termos específicos do
projeto.
Com o glossário se cria um vocabulário que contem os termos e as expressões
mais comuns com todas as descrições textuais do negócio, evitando-se mal-entendidos entre
os envolvidos no projeto sobre o uso e o significado dos termos (RUP, 2006).
13
1.2.1.4 Regras de negócios
No documento de regras de negócios são descritas as regras de negócios impostas
com base em leis e regulamentos ou padrões da empresa utilizados para o correto
desenvolvimento dos requisitos que o software precisa atender. As regras de negócios são
descritas em uma linguagem rigorosa e formal (RUP, 2006). A descrição das regras de
negócios deve conter informações de como se obter alguma informação especifica para
alguma ação do sistema, regras de como deve ser feito algum cálculo específico,
comportamento e exibição de campos, dentre outras.
No documento de regras de negócios é descrito o comportamento dos requisitos
de negócios e das ferramentas de negócios, podendo estes requisitos e ferramentas serem leis
e regulamentos impostos ao negócio, como também arquitetura e o estilo de negócio
escolhidos para o sistema (RUP, 2006).
1.2.1.5 Caso de Uso
O documento de caso de uso é um modelo das funções pretendidas do sistema e
seu ambiente, uma descrição de como será a funcionalidade do sistema (RUP, 2006). Casos
de uso definem principalmente os requisitos funcionais do sistema refinados por fluxos de
eventos mais detalhados durante a fase de construção (RUP, 2006). Por ser um instrumento de
planejamento bastante importante, o documento de casos de uso é usado em todas as fases do
ciclo de desenvolvimento (RUP, 2006).
1.2.1.6 Especificação de Requisitos de Software
A Especificação de Requisitos de Software no RUP contem todos os requisitos de
software para o sistema ou para uma parte dele. O esquema de ERS é parecido com um
projeto que utiliza modelagem de casos de uso. A ERS consiste em um pacote contendo casos
de uso e Especificações Suplementares aplicáveis, além de outras informações de suporte
(RUP, 2006).
14
1.2.2
Extreme Programming (XP) e as estórias de usuários
Na Extreme Programming (XP), os requisitos são feitos a partir das estórias de
usuário, criadas pelos clientes. As estórias de usuário têm o mesmo propósito dos casos de
uso, mas possuem diferenças. Beck (2002) comenta que as estórias de usuário são utilizadas
em vez de um documento de requisitos, já que as mesmas são escritas pelos clientes com as
funcionalidades que o sistema precisa fazer por eles (BECK, 2002). Elas são semelhantes aos
casos de usos, exceto que elas não se limitam a descrever termos técnicos.
Estórias de usuário só fornecem detalhes suficientes para fazer uma estimativa de
quanto tempo ela levará para ser desenvolvida. No momento da implementação, o
desenvolvedor responsável pela estória de usuário, conversa com o cliente para receber uma
descrição mais detalhada dos requisitos (WELLS, 1999), conforme quadro 1.

Estória 01
Implementar a funcionalidade da pesquisa de filmes.
Estimativa Inicial: 4 horas
Quadro 2 – Estória de Usuário
Wells (1999), afirma que um dos maiores mal-entendidos com as estórias de
usuário é como elas diferem das especificações tradicionais. A maior diferença está no nível
de detalhe (WELLS, 1999). Outra diferença, segundo Wells (1999), entre as estórias de
usuário e um documento de requisitos está no foco nas necessidades do usuário evitando-se
detalhes de uma tecnologia específica, leiaute base de dados e algoritmos mantendo as
estórias focadas nas necessidades do usuário (WELLS, 1999).
1.2.3
Scrum e o Backlog do produto
O Scrum também utiliza estórias de usuário como forma de armazenar os
requisitos (MARTINS, SZALVAY, 2007), mas, diferente do XP, no Scrum as estórias de
usuário são descritas com maiores detalhes no Backlog do produto. O Backlog do produto é
uma lista de alto nível, definida pelo analista e/ou cliente, que contém todos os requisitos
15
funcionais, não funcionais e requisitos técnicos desejados pelo cliente para o sistema
(KNIBERG, 2007). No início do projeto, o Backlog do produto deve descrever apenas os
requisitos mais importantes. Com o tempo, o Backlog do produto cresce e muda à medida que
o cliente descreve melhor os requisitos (MARTINS, SZALVAY, 2007).
O documento é compartilhado com todos os membros da equipe, normalmente em
algum local da rede da empresa ou em planilhas na rede. No Backlog do produto, os requisitos
são numerados, batizados, priorizados e descritos. A lista do produto do backlog é estruturada
da seguinte maneira, conforme quadro 3:
ID
01
Nome
Cadastro de Filmes
02
Cadastro de Cliente
Estimativa Inicial
9 (Story Points)
Importância
120
Descrição
O sistema deve pesquisar antes se
o filme que está sendo cadastrado
já possui cadastro. Caso possua, o
sistema deve exibir uma
mensagem avisando ao usuário.
Caso contrário, o sistema deve
efetuar o cadastro.
9 (Story Points)
120
O sistema deve verificar se o
cliente já está cadastrado,
avisando ao usuário caso esteja.
Caso contrário, o sistema deve
efetuar o cadastro.
Quadro 3 – Exemplo de um Backlog do produto
Os tópicos do backlog do produto, segundo KNIBERG (2007), são os seguintes:

ID: Numeração da estória de usuário. Identificador utilizado para evitar
que se perca o controle sobre as estórias, caso o nome delas seja
modificado;

Nome: Frase que descreve o que é a estória de usuário;

Estimativa Inicial: Estimativa inicial em story points da quantidade de
tempo necessário para a implementação da estória de usuário. Exemplo:
Digamos que 3 dias é o tempo que 3 desenvolvedores trabalhando junto
levariam para desenvolver uma determinada estória. Então temos 3 dias
trabalhados X 3 pessoas = 9 story points. Os valores dependem muito do
processo adotado pela empresa;
16

Importância: Importância da estória de usuário para o Analista, quanto
maior o número, maior a importância;

Descrição: É a descrição em alto nível, linguagem natural, de como o
requisito deve se comportar.
O Backlog do produto geralmente é feito em uma planilha e é de responsabilidade do
AR, mas pode ser visualizado pelos demais membros e até editado, como por exemplo, um
desenvolvedor que deseje alterar a estimativa (KNIBERG, 2007).
1.2.4
Pontos Positivos e Negativos Sobre os Modelos
A utilização de todos os artefatos da disciplina de requisitos pelo RUP implica em
softwares de qualidade que atendem aos princípios da engenharia de software (RUP, 2006),
tendo como principais vantagens:

Rápida correção de problemas;

Rápido desenvolvimento de melhorias;

Melhor entendimento sobre o negócio;

Melhor visão sobre as funcionalidades do sistema;

Requisitos mais definidos e explicados.
Contudo, a utilização dos artefatos também possui suas desvantagens:

Necessidade de um conhecimento formal sobre como preencher e manter
os documentos;

Documentos muito extensos;

Os artefatos necessitam estar sempre atualizados.
Documentar requisitos através de estórias conforme utilizado no XP e SCRUM
resolve as principais desvantagens na utilização dos artefatos do RUP. Contudo, as estórias
não descrevem com maiores detalhes os requisitos e muitos detalhes acabam passando
despercebidos (RUP, 2006), o que acaba requerendo que o desenvolvedor tenha um vasto
conhecimento sobre o negócio a ser desenvolvido. Segundo Smith (2003), métodos ágeis não
17
proíbem a utilização de documentos ou outros artefatos com as estórias. Os métodos ágeis
apenas produzem os artefatos que realmente irão ser utilizados.
18
2. PROCESSO DE ENGENHARIA DE REQUISITOS
O objetivo deste capítulo e explicar as atividades presentes no processo de engenharia
de requisitos. São abordados pontos sobre a elicitação de requisitos e quais as principais
técnicas utilizadas para se coletar os requisitos. Será explicada a validação dos requisitos e
como se gerenciar os requisitos. O capítulo está organizado da seguinte maneira: A seção 2.1
aborda a elicitação de requisitos e as principais técnicas utilizadas para o correto
levantamento dos requisitos. Na seção 2.2 aborda o processo de verificação e validação de
requisitos. Finalmente o gerenciamento de requisitos é abordado na seção 2.3.
2.1 Elicitação de requisitos
A elicitação de requisitos é a atividade em que todos os (interessados) envolvidos
no projeto trabalham juntos com o intuito de aprender mais sobre como deve ser o sistema
(SOMMERVILLE, 2008). Na elicitação são identificados os requisitos do sistema, chegandose a um entendimento mais completo do software (OLIVEIRA, 2008). Oliveira (2008)
ressalta que a fase de elicitação de requisitos não consiste apenas em perguntar aos clientes o
que eles querem, e sim fazer um levantamento cuidadoso do domínio e do processo de
negócio que o sistema deverá ter. Todavia, a elicitação, segundo Sommerville (2008), acaba
se tornando difícil pelas seguintes razões:

Os interessados não sabem o que querem;

Os interessados utilizam seus próprios termos com conhecimento implícito
sobre os requisitos cabendo ao Analista de Requisitos o conhecimento e o
domínio para entender esses requisitos;
19

Diferentes interessados possuem diferentes formas de expressar os
requisitos. O AR deve saber entender os pontos em comum nos requisitos
expressados;

Fatores políticos podem influenciar nos requisitos do sistema. Por
exemplo, um secretário de saúde pode solicitar um requisito que
aumentará sua influência no estado;

Os requisitos mudam constantemente durante o processo, mudando
também a importância de determinados requisitos. Novos requisitos de
novos interessados podem surgir.
A elicitação de requisitos não se resume à simples transferência de conhecimento
das pessoas para documentos de requisitos. Na realidade, acaba se tornando um processo
muito mais complexo devido aos fatores descritos anteriormente. Portanto, a elicitação de
requisitos não é simplesmente “pescar” os requisitos, mas um complexo processo de
negociação envolvendo todos os interessados envolvidos no projeto (OLIVEIRA, 2008).
Para conseguir chegar ao entendimento completo do software são utilizadas
algumas técnicas, dentre as quais se destacam: entrevistas, tempestade de ideias, cenários e
etnografia.
2.1.1
Entrevistas
Entrevistas formais ou informais com todos os interessados, segundo Sommerville
(2008), ocorrem na maioria dos processos de engenharia de requisitos. Nessas entrevistas os
ARs formulam questões para os interessados sobre o sistema que eles usam e/ou o sistema
que será desenvolvido. Os requisitos vão sendo formulados conforme os interessados forem
respondendo as questões. As entrevistas, segundo Oliveira (2008), podem ser de dois tipos:

Entrevistas fechadas, onde os ARs perguntam aos interessados uma lista
de perguntas já elaboradas.

Entrevistas abertas, nas quais não existem perguntas predefinidas. Os ARs
exploram vários assuntos com os interessados, de forma a adquirir uma
compreensão maior sobre a necessidade dos mesmos.
20
Na prática, as entrevistas são uma mistura dos dois tipos. As entrevistas são úteis para
conhecer melhor as atividades dos interessados, como eles podem interagir com o sistema e as
dificuldades que eles têm com os sistemas atuais (OLIVEIRA, 2008). No entanto, as
entrevistas não são úteis para entender o domínio da aplicação (SOMMERVILLE, 2008).
Elicitar o domínio da aplicação com entrevistas e muito complicado, pois, os interessados
especialistas do domínio não conseguem explicar os requisitos sem termos específicos, ou
então acham que os domínios são tão fundamentais que não vale a pena mencioná-los o que
acaba provocando um mau entendimento ou não é levado em consideração por parte dos ARs
(SOMMERVILLE, 2008).
As informações obtidas através das entrevistas, que muitas vezes são a única forma de
conhecimento do sistema, complementam outras informações sobre o sistema, como
documentos. Para uma correta elicitação, Sommerville (2008) comenta que as entrevistas
devem ser aplicadas junto com outras técnicas para a elicitação de requisitos, pois apenas as
entrevistas, pode levar a perda de informações essenciais para o sistema.
2.1.2
Tempestade de idéias (Brainstorm)
A tempestade de idéias é uma das mais antigas técnicas para geração de idéias em
reuniões em grupo. O princípio básico consiste em reunir um conjunto de interessados
especialistas em sistemas e negócios (APARECIDO e CARVALHO, 2002). Na reunião,
todos os interessados dão ideias para contribuir para a resolução do problema, cabendo ao AR
filtrar as ideias sugeridas e exploradas nestes encontros. No início da fase de
desenvolvimento, quando se tem pouco conhecimento do negócio, a aplicação da técnica se
torna necessária para o surgimento de novas idéias (OLIVEIRA, 2008). Esta técnica é usada
para gerar novas ideias, deixando a mente livre para aceitar todas as ideias criativas que forem
sugeridas. O resultado de uma sessão bem-sucedida é a solução do problema com um
conjunto de ideias, propostas por todos que participaram da sessão (APARECIDO e
CARVALHO, 2002).
Em termos de tempo, a tempestade de idéias pode ter um custo baixo, já que uma
sessão não leva mais que uma hora, principalmente se os envolvidos já tiverem experiência
21
com a técnica e forem criativos. Já em termos de esforços, a tempestade de idéias pode ter um
custo relativamente alto, pois requer um número significativo de pessoas, o que não é
indicado. O aconselhável é incluir pessoas chaves com diferentes perfis (APARECIDA e
CARVALHO, 2002; OLIVEIRA, 2008). Entretanto, segundo Aparecido e Carvalho (2002),
levando-se em conta a quantidade de informação coletada com o custo para obtê-la, o uso da
técnica tempestade de idéias acaba sendo uma ótima escolha.
2.1.3
Cenários
Os usuários e demais interessados acham mais simples relatar os exemplos do trabalho
assim descrever as funcionalidades que deverão existir no sistema. No cenário, eles podem
interagir, compreendendo e/ou criticando como seriam as funcionalidades do sistema
(OLIVEIRA, 2008). A utilização de cenários para descrever os requisitos do sistema e como o
sistema poderá ser utilizada é bastante usado em metodologias ágeis com as estórias ou no
RUP com os casos de uso.
Um sistema muito grande terá também um número muito grande e complexo de
cenários. Os cenários devem incluir pelo menos uma das seguintes informações, segundo
Oliveira (2008) e Sommerville (2008):

Uma descrição do estado do sistema antes de entrar no cenário;

O fluxo normal de eventos no cenário;

Uma descrição dos possíveis fluxos de exceções;

Informações sobre outras atividades que podem ocorrer no mesmo
momento;

Uma descrição do estado do sistema após concluir o cenário.
Os cenários podem ser descritos na forma de textos, diagramas e imagens.
22
2.1.4
Etnografia
A etnografia é uma técnica de observação utilizada para obter os requisitos
organizacionais e os requisitos de sistema que podem ficar omitidos. A técnica consiste
basicamente em o Analista de Requisitos se inserir no ambiente de trabalho para o qual o
sistema será desenvolvido (OLIVEIRA, 2008).
O AR observa o dia a dia de trabalho das pessoas envolvidas, anotando e construindo
imagens de como é o trabalho delas. A etnologia ajuda o AR a descobrir e entender os
requisitos reais e implícitos que o sistema deverá ter (SOMMERVILE, 2008). Portanto, o
etnógrafo deve ser uma pessoa com boa habilidade de observação e transformação dessa
observação em cenários como casos de uso (OLIVEIRA, 2008). Oliveira (2008) comenta que
dentre as diretrizes para a etnografia, deve-se preocupar sempre em procurar formas não
padronizadas de trabalho, tomar nota de forma detalhada de todas as práticas de trabalho,
analisando-as e chegando a uma conclusão e, sempre que possível, combinar a etnografia com
entrevistas abertas e outras técnicas de elicitação.
2.2 Verificação e validação de requisitos
A validação de requisitos tem o intuito de mostrar que os requisitos atendem realmente
ao que o sistema precisa. A validação de requisitos está relacionada à descoberta de
problemas que os requisitos possam ter, evitando-se custos excessivos com retrabalho
(OLIVEIRA, 2008). O custo de correção de requisitos é o maior dentre as outras partes do
processo como projeto ou desenvolvimento, pois um erro de requisito implica que o projeto e
o desenvolvimento á que ser mudados e o sistema deverá ser novamente testado
(SOMMERVILLE, 2008).
Sommeville (2008) comenta que para se ter sucesso no processo de validação de
requisitos, se torna necessária a realização de verificações nos requisitos. Essas verificações
incluem alguns pontos como:
23

Verificar se o sistema está atendendo a todas as necessidades dos
interessados, pois o sistema terá diferentes usuários e cada usuário terá
necessidades diferentes;

Verificar se os documentos (de requisitos) descrevem todos os requisitos e
restrições dos usuários, não gerando conflito entre estes os requisitos;

Verificar se os requisitos podem realmente ser desenvolvidos com a
tecnologia escolhida no prazo e orçamento estipulados, e;

Verificar se a descrição dos requisitos está entendível.
Os problemas encontrados na validação de requisitos não podem ser subestimados.
Conflitos, contradições, erros e omissões nos requisitos devem ser apontados e negociados
entre os interessados para se chegar a uma solução para os problemas identificados
(SOMMERVILLE, 2008).
2.3 Gerenciamento de requisitos
Os requisitos de sistemas de software estão sempre mudando, conforme os
interessados têm novos entendimentos sobre os problemas existentes. Cabe aos ARs adaptar
os requisitos a esses novos entendimentos. Conforme os usuários utilizem os sistemas, novos
requisitos irão surgir (LUIZA e OLIVEIRA, 2008). Luiza e Oliveira (2008) comentam que o
gerenciamento de requisitos consiste em compreender e controlar as mudanças dos requisitos.
O controle deve ser iniciado a partir do momento que se tiver um documento de requisitos
pronto. Os requisitos devem ser acompanhados individualmente, mantendo as ligações dos
requisitos que dependem dos requisitos.
Sommerville (2008) comenta que a mudança de requisitos quando o sistema já está em
operação com o cliente é inevitável. Mudanças no ambiente de trabalho ocorrem e os
requisitos evoluem para atender a essas modificações. Para se gerenciar corretamente essas
mudanças, o planejamento deve ser feito. O AR deve verificar a validade da solicitação de
modificação, as dependências entre os requisitos que podem sofrer modificações, estimar os
custos das mudanças, acordar com os usuários os custos de tal mudança e utilizar ferramentas
para auxiliar na rastreabilidade destes requisitos (LUIZA e OLIVEIRA, 2008).
24
2.3.1
Rastreabilidade de requisitos
A rastreabilidade de requisitos é dita como o centro da atividade de gerenciamento de
requisitos. A técnica consiste em acompanhar o ciclo de vida do requisito. A dificuldade da
técnica, segundo Luiza e Oliveira (2008), está no grande volume de informações que
precisam ser levantadas, associadas e referenciadas, atividade muito complexa que sem o
auxílio de ferramentas não conseguirá ser concluída.
As informações da rastreabilidade são freqüentemente representadas por meio de
matrizes de rastreabilidade (LUIZA e OLIVEIRA, 2008). Nessas matrizes, requisitos são
registrados em uma linha e uma coluna da matriz. As dependências dos requisitos são
registradas na interseção da linha com a coluna (SOMMERVILLE, 2008). A matriz de
rastreabilidade auxilia na manutenção e acompanhamento de requisitos que são criados a
partir de planos de negócios e reuniões com os clientes, pré-rastreabilidade, e dos requisitos
que são criados a partir de artefatos já definidos e códigos, pós-rastreabilidade, (SAYAO e
LEITE, 2005), conforme mostrado na figura 4.
Figura 4 – Rastreabilidade de requisitos. Fonte: Sayão e Leite, 2005.
25
3. SISTEMAS ESPECIALISTAS
O objetivo deste capítulo é explicar o que são sistemas especialistas e sua utilização. É
abordada uma introdução sobre os sistemas especialistas, mostrando a utilização dos mesmos
e comentando o desafio de se criar um sistema especialista. O capítulo está organizado da
seguinte maneira: A seção 3.1 aborda os sistemas especialistas e suas áreas de aplicação do
conhecimento. A seção 3.2 aborda um software gerador de sistemas especialistas, chamado de
Expert Sinta, mostrando como é a sua arquitetura e como é dividido a sua base de
conhecimento.
3.1 Introdução aos Sistemas Especialistas
Sistemas Especialistas (SE’s) são programas capazes de resolver tarefas específicas de
uma área de conhecimento supostamente com a mesma qualidade que um especialista
humano. Os SE’s começaram a ser estudados por volta da década de 60 quando as pesquisas
na área da IA, segundo Reategui (1993), eram bastante audaciosas, pois visavam criar
“resolvedores de problemas” com interfaces em uma linguagem natural. Contudo os
resultados não eram muito satisfatórios. As pesquisas com a IA começaram a ter melhores
resultados a partir do momento em que o foco passou a ser tratar problemas mais restritos de
uma área de conhecimento (REATEGUI, 1993). Assim. começou a ser desenvolvido
programas que reproduzissem o comportamento humano na resolução de problemas do
mundo real (BITTENCOURT, 2006), armazenando, sequenciando informações e autoaprendendo com base nos experimentos práticos impostos pelas situações em estudo
(FIGUEIREDO, 2011).
Figueiredo (2011) comenta que para um SE entrar em funcionamento, o mesmo deve
ser “alimentado” com informações especificas e orientado a executar determinadas tarefas
para a qual se requer o seu uso como também devem ser construídas bases com o
26
conhecimento de um especialista da área ao qual o problema se relaciona, programando as
variáveis usadas e posteriormente simuladas com base no conhecimento do especialista, de tal
forma que ao final o SE seja capaz de oferecer sugestões e conselhos aos usuários e, também,
adquirir novos conhecimentos e heurísticas com essa interação (PY, 2006). Portanto, o estudo
dos problemas que o SE terá de tratar torna-se essencial. Um SE pode ser aplicado nas mais
diversas áreas do conhecimento, como: agricultura, química, sistemas de computadores,
eletrônica, engenharia, gerenciamento de informações, etc. (FIGUEIREDO, 2011).
Contudo, para se criar um SE, é necessário um software que auxilie no processo,
segundo Nogueira e Silva (1997), a construção de um software para a geração de sistemas
especialistas não é fácil, pois o software deve ser capaz de tratar e resolver os problemas da
mesma maneira que um especialista humano quando se depara com algum problema
equivalente. O software também deverá permitir que a captura do conhecimento através de
sua interface seja de fácil utilização, que para manusear o mesmo não seja necessário ter um
conhecimento aprofundado em informática. O Expert SINTA possui todas estas
características e muitas outras, conforme descrito na seção seguinte.
3.2 Expert SINTA
O Expert SINTA é, segundo LIA (1999), uma ferramenta utilizada para geração
automática de sistemas especialistas com o auxílio de técnicas de Inteligência Artificial. Esta
ferramenta possibilita a criação de modelos de representação do conhecimento baseados em
regras de produção e probabilidades, possibilitando uma economia de tempo e simplificação
do trabalho aos desenvolvedores de sistemas especialistas, construção automática de telas e
menus, tratamento das regras de produção e criação de menus de ajuda com explicações sobre
a base de conhecimento modelada (LIA, 1999). Um sistema especialista com este tipo de
modelo é bastante útil em problemas de classificação, pois o usuário responde a uma
sequência de menus e o sistema se encarrega de fornecer respostas que se encaixem no quadro
apontado pelo usuário.
Mendes (1997), afirma que a grande diferença entre um sistema especialista e um
simples programa de banco de dados está no uso de raciocínio lógico para resolução de
problemas. Os sistemas especialistas utilizam regras de produção SE e ENTÃO, seguido por
27
conectivos relacionados dentro do âmbito do assunto em questão e o uso da probabilidade. A
estrutura básica de um sistema especialista é a interface com o usuário, o motor de inferência,
e a base de conhecimento.
3.2.1
Arquitetura de um sistema especialista no Expert SINTA
O Expert SINTA tem como objetivo simplificar as etapas de criação de um SE
completo, oferecendo uma máquina de inferência básica, fundamentada no encadeamento
para trás. O encadeamento para trás é utilizado em problemas que possuem um número muito
grande de soluções, mas os meios pelos quais as respostas são alcançadas são restritos (LIA,
1999).
Os SE’s gerados no Expert SINTA tem sua arquitetura composta basicamente pelos
seguintes componentes:

Bases de conhecimentos;

Editor de bases;

Máquina de inferência;

Banco de dados global.
Tais componentes estão interligados, conforme exemplificado na figura 5.
Figura 5 – Arquitetura Simplificada do Expert SINTA. Fonte: Lia, 1999.
28
Flores (2003) e LIA (1999) definem cada um dos componentes da seguinte maneira:

Base de conhecimento: encontra-se o conhecimento do especialista,
dividido entre fatos e regras, modelado de acordo com o domínio de
representação computacional;

Editor de bases: é o meio em que ocorre a implementação das bases
desejadas. É responsável pela atualização da base de conhecimentos;

Máquina de inferência: é a parte do SE responsável pelas deduções sobre a
base de conhecimentos, examinando o conteúdo da base de conhecimentos
e decidindo a ordem das inferências;

Banco de dados global: Possui as evidências apontadas pelo usuário do
sistema especialista durante uma consulta.
3.2.2
Representação do Conhecimento
Parte mais sensível e crítica no desenvolvimento de um SE (NOGUEIRA e SILVA,
1997; BITTENCOURT, 2006), a representação do conhecimento não se limita apenas a
adicionar novos elementos à base de conhecimentos, mesclando os novos conhecimentos,
com os conhecimentos já armazenados na base (BITTENCOURT, 2008). A representação do
conhecimento, segundo Diehl (2000), constitui de um conjunto de mecanismos utilizados no
armazenamento e manipulação do conhecimento, modelando de forma eficiente ao ponto de
serem utilizados em um sistema inteligente.
Existem várias formas de se modelar o conhecimento de um especialista, tais como,
lógica matemática, regras de produção, raciocínio baseado em casos, redes probabilísticas,
entre outros (FLORES, 2003; DIEHL, 2000). As mais utilizadas, segundo Nogueira e Silva
(1997), são as regras de produção (ou regras de realização), que utilizam a teoria das
probabilidades, garantindo assim uma maior legibilidade da base de conhecimentos.
29
3.2.2.1 Regras de Produção
Uma regra em si é um conjunto de premissas, normalmente escritas com sintaxe
próxima à linguagem natural, que realizam as conclusões indicadas na mesma. Estas regras
têm o formato SE - ENTÃO, permitindo-se o uso dos conectivos lógicos (E, OU, NÃO, e
outros desejados).
Como por exemplo:
1. SE cliente tem cadastro em outras locadoras = sim
2. OU reside no mesmo endereço a mais de 5 anos = sim
3. E situação = adimplente
4. ENTÃO crédito = liberado sem perdas [90%]
O “SE” é o corpo da regra, também conhecido como parte antecedente ou lado
esquerdo, avaliado em relação à base de conhecimento como um todo. Existindo o ajuste, é
feito uma busca no mecanismo de avaliação pela ação correspondente especificada no lado
direito, ou a parte consequente, é executada. As condições na parte antecedente da regra
devem ser satisfeitas para que a ação, na parte consequente, seja considerada. Se qualquer
premissa falhar, o lado direito também falha (DIEHL, 2000; NOGUEIRA e SILVA, 1997).
As regras de produção possuem algumas vantagens, segundo LIA (1999), como:

Modularidade: cada regra pode ser considerada como uma peça de
conhecimento independente;

Facilidade de edição: novas regras podem ser incluídas e regras antigas
podem modificadas com relativa independência;

Transparência do sistema: garante maior legibilidade das bases de
conhecimentos.
Resumindo, uma regra é um par ordenado de símbolos que representa algum
conhecimento sobre um determinado assunto (DIEHL, 2000). Uma das grandes vantagens da
30
utilização de regras é a facilidade na demonstração de como se chega à solução através do
rastreamento das regras pela máquina de inferência (NOGUEIRA e SILVA, 1997).
Quando se estiver criando bases de conhecimento com o Expert SINTA devem ser
levados em consideração alguns critérios na estrutura das premissas e conclusão das regras,
conforme descrito por Diehl (2000):

<CONECTIVO>
O modelo para cada premissa deve seguir a seguinte estrutura:
<ATRIBUTO>
<OPERADOR>
<VALOR>
 Conectivo: São os elementos (E, NÃO, OU) utilizados para unir a
sentença ao conjunto de premissas que formam a seção de
antecedentes de uma regra;
 Atributo: É uma variável capaz de assumir um ou uma lista de
valores no decorrer da consulta à base de conhecimento;
 Operador: São as ligações entre o atributo e o valor da premissa,
definindo o tipo de comparação a ser realizada. Os operadores
podem ser: =, >, <=, >=, <>, entre outros;
 Valor: é um item de uma lista, a qual foi previamente criada e
relacionada a um atributo.

Já a estrutura da conclusão deve seguir o seguinte modelo, conforme
Nogueira e Silva (1997):
<ATRIBUTO>
=
<VALOR>
<GRAU DE CONFIANÇA>
 Atributo: Mesmo atributo utilizado nas premissas;
 “=”: é um operador de atribuição. O atributo receberá o valor que
lhe está sendo atribuído;
 Valor: Mesmo valor utilizado nas premissas;
 Grau de confiança: Percentual indicando a confiabilidade da
conclusão da regra com base nas premissas. Varia de 0% à 100%.
31
3.2.2.2 Cálculo Probabilístico dos Sistemas Especialistas
Para se efetuar o tratamento do raciocínio, evidência e aquisição automática de
conhecimento, um sistema especialista necessita de um mecanismo para se tratar destes
problemas. Nogueira e Silva (1997) exaltam o Expert SINTA como a ferramenta ideal para
este tipo de situação, pois segundo os mesmos, o Expert Sinta utiliza a teoria das
probabilidades em conjunto com a teoria das possibilidades na resolução dos problemas de
forma automática e transparente ao usuário.
Examinando uma das cabeças da regra mostrada como exemplo na seção anterior,
verifica-se a presença de um grau de confiança na decisão de que a liberação do crédito pode
ser efetuada. Contudo um ponto critico está no grau de confiabilidade da regra imposto pela
da base de conhecimento estar apenas em 90%, sem levar em consideração a confiabilidade
das demais premissas, levantando assim a dificuldade de se representar a confiabilidade das
seguintes informações, segundo Lia (1999):

Os
especialistas
humanos
não
utilizam
estimativas
definidas
matematicamente;

Os resultados gerados através de cálculos matemáticos de probabilidade
nem sempre são a melhor resposta para aquela aplicação prática.
O Expert SINTA modela os tratamentos probabilísticos utilizando quatro casos como
base onde o cálculo varia de acordo com o objetivo que se deseja podendo ser para se
descobrir o valor final atribuído a uma regra, calcular o grau de confiança quando se tem o
operador E embutido na regra ou calcular o grau de confiança quando se tem o operador OU
na regra. Para melhor exemplificar os casos disponíveis no Expert SINTA, será mostrado o
cálculo utilizando as regras retiradas da base do Sistema Especialista de Requisitos,
SISREQUI.
32
Caso 1: Quando queremos saber o valor final atribuído às variáveis na conclusão de
um regra (LIA, 1999).
O grau de confiança de uma regra R, será o número atribuído a C1 ao final da
premissa de R, onde na conclusão de R, temos expressões como “Var = value CNF C2”.
Onde:

Var é uma variável;

value é um termo qualquer que pode ser substituído pela variável;

C2 é um número real no intervalo de 0 a 100, que representa o grau de
confiança da atribuição;
O resultado final e dependente da premissa, pois “C2” é apenas uma referência. Assim
a operação a ser realizada é “Var = value CNF C1*C2”.
Como por exemplo:
Figura 6 – Exemplo de tratamento probabilístico do caso 1.
Então, na execução da regra mostrada na figura 6, o usuário digitando o grau de
confiança da premissa “Problemas no desenvolvimento do sistema” = sim com 80%, tem-se
que o atributo “Para esta situação o mais indicado é” receberá o valore “Verificar se o
documento de Requisitos está claro”, com o respectivo grau de confiança da regra de 60%. O
valor final da regra atribuída pelos valores fornecidos e obtido pelo cálculo = 0.80 * 0.60 =
0.48 = 48%.
33

Caso 2: Cálculo do grau de confiança com o conectivo E (LIA, 1999).
A regra possuindo duas igualdades var1 = value1 e var2 = value2, com os respectivos
graus de confiança c1 e c2, temos a sentença var1 = value1 E var2 = value2, ficando como
valor de confiança o resultado a multiplicação de C1 por C2.
Como por exemplo:
Figura 7 - Exemplo de tratamento probabilístico do caso 2.
Ao executar a regra da figura 7, digamos que o grau de confiança para “Projeto
Complexo” = Sim é 60% e o grau de confiança pra “Problemas no desenvolvimento do
sistema” = sim é 90%. Chega-se ao valor de 56%, obtido pelo seguinte cálculo 0.60*0.90 =
0.54. Com o valor do cálculo entre as premissas, agora se multiplica pelo grau de confiança
da regra de 80%, ficando o valor final da regra em 43,2%.

Caso 3: Cálculo do grau de confiança com o conectivo OU (LIA, 1999).
Possuindo duas igualdades var1 = value1 e var2 = value2, com seus respectivos graus
de confiança c1 e c2, obtêm-se a sentença var1 = value1 OU var2 = value2. O valor de
confiança é obtido com o seguinte cálculo c1 + c2 – (c1* c2).
Como por exemplo:
34
Figura 8 - Exemplo de tratamento probabilístico do caso 3.
Na execução da regra exemplificada na figura 8, digamos que o valor para o grau de
confiança da igualdade “Projeto Complexo” = sim é 80% e o grau de confiança da igualdade
“Requisitos Claros” = sim é 90%, então obtêm-se um valor de 98%, através do seguinte
cálculo ((0.80 + 0.90) – (0.80 * 0.90)) = (1.7 - 0.72) = 0.98. Como valor das premissas, o
passo seguinte e multiplica-lo com o grau de confiança da regra de 70%, obtendo o valor final
da regra de 68,6%.

Caso 4: Cálculo do grau de confiança com o conectivo NÃO (MATOS, 2011).
Negando uma ou mais igualdades var = value, com seus respectivos graus de
confiança c, obtêm-se a sentença “NÃO var = value”. O valor de confiança é obtido com o
seguinte cálculo: (1 – c).
Como por exemplo:
Figura 9 - Exemplo de tratamento probabilístico do caso 4.
35
A regra mostrada na figura 9 possui o grau de confiança de 90% fornecido pelo
usuário para o atributo “Cliente tem certeza sobre os Requisitos” = Sim, mas como a premissa
foi negada inicialmente com o operador NÃO, o valor real da premissa será 10%, de acordo
com o cálculo 1 – 0.90. Com o resultado da premissa, aplicasse a regra do caso 2, pois na
premissa seguinte possui o conectivo E. O valor do atributo “Envolvidos no projeto com total
entendimento” e de 60%. Ao final do calculo entre as premissas, 0.10 * 0.60, chegasse ao
valor de 6%. Já o valor final da regra será o valor o grau de confiança das premissas 6%
multiplicado pelo grau de confiança da regra de 40%. Chegando ao valor final de 24%.
A partir dos casos base de modelagem de tratamento probabilístico, mostrados,
podem-se criar vários outros casos simplesmente acrescentando conectivos diferentes em uma
mesma regra, lembrando que a ordem de prioridade dos conectivos é: NÃO primeiro, seguido
do E, e após o OU. Vale lembrar também que toda regra possui um objetivo final, mas com o
Expert SINTA é possível ter mais de um objetivo na mesma regra. A ferramenta efetua o
cálculo do grau de confiança das premissas e, ao final, multiplica o valor encontrado por cada
um dos objetivos da regra. Como por exemplo, na regra abaixo retirada da base de
conhecimento do SISREQUI.
Figura 10 - Exemplo de regra com mais de um objetivo.
Conforme mostrado na figura 10, a regra 50 possui três objetivos onde cada um possui
seu respectivo grau de confiança. Para exemplificar melhor daremos para cada atributo os
36
seguintes valores na mesma ordem dos atributos: 80 %, 90%, 50 % e 70%. Para o cálculo das
premissas, como em todas possui apenas o conectivo E, se aplica apenas a regra do caso 2,
obtendo em seguida o valor de 25,2 %. Em seguida, o Expert SINTA irá multiplicar o valor
de 25,2 % por cada um dos objetivos da regra, chegando ao seguintes valores:

Para esta situação o mais adequado
 Negociar mais tempo com o cliente. 17,64%, referente ao cálculo
de 25,2% * 70%;
 Validar com o cliente o requisito coletado. 17, 64 %, referente ao
cálculo de 25,2% * 70%;

Técnica de Elicitação de Requisitos mais adequada
 Etnografia. 22,68%, referente ao cálculo de 25,2% * 90%.
37
4. SISTEMA ESPECIALISTA PARA AUXÍLIO NO PROCESSO DA ENGENHARIA
DE REQUISITOS
O objetivo deste capítulo e mostrar o processo de criação do sistema especialista para
a disciplina de requisitos, discutindo as etapas básicas na elaboração do sistema especialista, a
implementação do sistema e as consultas do mesmo. O capítulo está organizado da seguinte
maneira: A seção 4.1 aborda sobre o projeto do SISREQUI, com o estudo de viabilidade e a
formalização do conhecimento. A seção 4.2 aborda sobre a implementação do SISREQUI e a
seção 4.3 aborda os resultados alcançados com o SISREQUI.
4.1 Projeto SISREQUI
Os Sistemas que são da área científica não possuem uma usabilidade e interface
amigável com o usuário. Nos dias atuais as ferramentas que possibilitam uma fácil interação
entre homem e máquina, ajudam no aumento da produtividade e no rápido desenvolvimento
no processo de criação de um software. Boa parte das ferramentas hoje disponíveis para a
criação de sistemas especialistas, não possibilitam que ocorra uma maior comunicação entre o
responsável pela criação do sistema especialista.
A ferramenta que irá auxiliar na criação de um sistema especialista deve ter uma fácil
utilização, possuindo uma interface autoexplicativa, permitindo que qualquer pessoa
familiarizada com um computador possa criar o conhecimento especializado de acordo com a
linguagem de representação do conhecimento disponível (BITTENCOURT, 2006).
Com o Expert SINTA é possível criar rapidamente todas as variáveis e seus possíveis
valores, como também os objetivos do sistema para, em seguida, iniciar a criação das regras
de produção, conforme verificado na figura 11.
38
Figura 11 – Ambiente do Expert SINTA. Fonte: Lia, 1999.
Assim como o Expert SINTA, existem outras ferramentas que ajudaram segundo
Bittencourt (2006), na disseminação dos sistemas especialistas, denominadas Arcabouços de
Sistemas Especialistas, ASE. Os ASE’s dividem os SE’s entre a ferramenta de criação do
conhecimento que define as regras e aspectos operacionais, do conhecimento de domínio.
4.1.1
Estudo de viabilidades
Criar um sistema especialista para auxiliar em processos complexos como o da
disciplina de Engenharia de Requisitos não pode ser resolvido facilmente. Por isso serão
utilizados como base na criação do sistema as metodologias utilizadas por autores que tem um
embasamento muito mais profundo sobre sistemas especialistas, tais como Nogueira e Silva
(1997), LIA (1999) e Bittencourt (2006).
As metodologias utilizadas pelos autores consistem em saber se “o sistema especialista
é a resposta na resolução de um problema”. Nogueira e Silva (1997) afirmam que se torna
necessário na definição da resposta, os seguintes parâmetros:
39

A tarefa não necessita de senso comum? Já que computadores têm uma
enorme dificuldade em lidar com senso comum. Mas sistemas
especialistas são quase que totalmente desprovidos de bom senso, então
não sofrem grandes prejuízos ao tratarem do assunto (NOGUEIRA E
SILVA, 1997);

Existem modos de formalização para o conhecimento desejado? O sistema
deve ser validado por diversos especialistas no assunto (NOGUEIRA E
SILVA, 1997);

Existem especialistas disponíveis que possam colaborar com o
desenvolvimento do sistema? Presença ativa de profissionais com alto
grau de conhecimento do problema em estudo é vital para obtenção de
resultados funcionais (NOGUEIRA E SILVA, 1997);

A aplicação é relevante? O sistema só valerá a pena se o mesmo não for
para resolução de tarefas triviais ou de pouca importância (NOGUEIRA E
SILVA, 1997).
Também deve ser levado em consideração o público alvo, afinal de contas o sistema
tem como missão validar uma informação da mesma forma que um especialista humano,
treinar novos analistas com as melhores respostas dos principais problemas já vivenciados por
outros especialistas.
Para se chegar a estes objetivos se torna necessária uma boa
formalização do conhecimento, conforme descrito a seguir.
4.1.2
Formalização do Especialista em Engenharia de Requisitos
O grande problema na criação de um sistema especialista está na dificuldade de se
conseguir elaborar corretamente o conhecimento dos especialistas. Nogueira e Silva (1997)
indicam uma boa entrevista com os especialistas da área em que esteja querendo coletar as
informações, pois segundo os mesmos é difícil se criar regras com base nas conclusões feitas
pelos Especialistas, quando os mesmos lidam com novas situações, onde se torna necessário,
uma boa experiência ou até mesmo na dificuldade de comunicação quando se utiliza muitos
termos técnicos.
40
Por causa dos problemas descritos acima, foram utilizados na formalização do
conhecimento para a base do SISREQUI, dois métodos para extração do conhecimento dos
especialistas em requisitos. Os métodos são os seguintes:

O Método da Observação, onde o desenvolvedor do sistema especialista
deve assistir ao dia a dia de trabalho de um especialista na resolução dos
problemas (NOGUEIRA E SILVA, 1997);

Método Intuitivo, onde é feito um estudo e interação tanto com o
especialista em requisitos quanto com a literatura básica sobre o assunto
(NOGUEIRA E SILVA, 1997).
Além dos métodos de observação e intuitivo descritos acima, também foi elaborado
um questionário com alguns problemas típicos do dia a dia de um analista de sistema, e
enviados a alguns Analistas para que os mesmos dessem suas contribuições. A formalização
do conhecimento utilizado na criação da base de conhecimento do SISREQUI é descrita com
maiores detalhes na seção 4.1.3.
4.1.3
Aquisição de conhecimento
O SISREQUI é um sistema especialista voltado a suporte na resolução de problemas
relacionados a conceitos da engenharia de requisitos. Seu principal objetivo e o de auxiliar a
analista de requisitos, analistas de sistemas e analistas de negócio na correta aplicabilidade
dos conceitos da engenharia de requisitos, podendo também ser utilizado como treinamento a
novos membros de uma equipe responsável pela coleta de requisitos. A modelagem do
conhecimento requer uma série de refinamento (NOGUEIRA E SILVA, 1997) aumentando a
imparcialidade das respostas do sistema.
O refinamento do conhecimento, obtido com as técnicas descritas na seção 4.1.2,
sobre requisitos utilizados na versão inicial do SISREQUI feito da seguinte maneira:

Método da Observação
41
 Foi observado durante um período de 5 meses a rotina de trabalho
de especialistas em requisitos nas empresas de desenvolvedoras de
software, analisando e documentando o trabalho dos especialistas.

Método Intuitivo
 A partir do levantamento bibliográfico sobre a disciplina de
requisitos de software foi feito um documento com as melhores
práticas sobre o assunto descrito pelos autores. O Documento
possuía algumas frases, que se tornaram as variáveis da
SISREQUI, que abordavam diversos temas relacionados a
disicplina.

Questionário
 As perguntas contidas no questionário eram voltadas as melhores
práticas no processo de requisitos, abordando sobre as técnicas de
elicitação, validação e gerenciamento. O questionário serviu como
base para a criação do grau de confiança atribuído aos objetivos
das regras.
4.2 Implementação do SISREQUI
Em LIA (1999), é descrito a praticidade e facilidade que o Expert SINTA, proporciona
ao desenvolvedor do sistema especialista na implementação da base de conhecimento
desejada. Uma base de conhecimento no Expert SINTA envolve os seguintes conjuntos de
atributos que devem ser criados na base:

Variáveis são os atributos que serão utilizados nas regras;

Regras são formadas por um conjunto de premissas com um grau de
confiança;

Perguntas são variáveis que irão aparecer ao usuário como forma de
perguntas;

Objetivos são variáveis que irão estar na conclusão das regras;

Informações adicionais, local onde são colocados as informações de
apresentação do sistema especialista, nome do sistema e nome dos autores.
42
Só quando esses elementos estiverem definidos, se torna possível utilizar o sistema
especialista.
4.2.1
Implementando o sistema
Com a base de conhecimento já levantada, deve-se abrir o Expert SINTA e criar uma
nova base de conhecimento, através do Menu  Arquivo  Nova base. Conforme figura 12.
Figura 12 – Criando uma nova Base de Conhecimento no Expert SINTA.
O Expert SINTA, inicialmente irá abrir uma nova janela, denominada Knowledge-ina-box, KIB (LIA, 1999). Com a KIB aberta, é possível elaborar todos os elementos
necessários para o Sistema Especialista. Conforme figura 13.
43
Figura 13 – Janela KIB. Fonte: Lia, 1999, Modificado.
4.2.1.1 Base de conhecimento
Na criação da base de conhecimento do SISREQUI, é necessária primeiramente a
criação das variáveis que serão utilizadas no sistema. Dessas variáveis devem ser separadas as
que irão se tornar objetivos e as que serão as perguntas, para finalmente dar início a criação
das regras de produção que serão utilizadas no sistema. Todo o processo de criação das
variáveis, separação das variáveis objetivos das variáveis perguntas e criação das regras será
explicado na seção seguinte.
4.2.1.1.1
Variáveis
A criação de variáveis do SISREQUI pelo Expert SINTA é bastante simples. Após ter
definido quais serão os problemas ou situações mais vivenciadas por especialistas em
requisitos de software, basta a partir da janela KIB, selecionar o botão Variáveis. Logo em
seguida irá ser carregada a janela de criação e edição de variáveis conforme figura 14.
44
Figura 14 – Janela de criação de variáveis. Fonte: Lia, 1999, Modificado.
Onde:
1:
Referisse a campo onde serão exibidas as variáveis que o sistema terá;
2:
Será exibido o valor referente a uma determinada variável;
3:
Campo de descrição com o nome da variável;
4:
Campo com o valor que a variável terá;
5:
O botão com formato de “V”, serve para confirmar a inclusão ou alteração
da variável. Enquanto o no formato de “X” cancela a alteração ou
inclusão;
6:
Tipos das variáveis, onde:
 Numérica: Não podem ter valores pré-definidos. Será exibido o
intervalo de números reais no formato a;b. Onde “a” deve ser
menor ou igual a “b”;
 Multivalorada: São variáveis que podem assumir vários valores,
onde estes valores são exibidos em forma de listagem ao lado do
nome da variável;
 Univalorada: Variáveis lógicas que só podem receber um valor por
vez, 0-Sim, 1-Não. Por padrão o Expert SINTA cria as variáveis
como univaloradas;
7:
Botões de criação e exclusão de variáveis e seus valores.
45
LIA (1999), aconselha a nunca mudar o tipo de uma variável não numérica para
numérica, pois pode implicar em perda de valores ou mesmo excluir alguma variável ou seu
valor, pois esta exclusão irá invalidar qualquer regra que esteja com aquela variável.
Após definir todas as variáveis, seus tipos e valores, o próximo passo na criação do
SISREQUI é separar das variáveis criadas, quais serão os objetivos nas regras.
4.2.1.1.2
Objetivos
O objetivo em uma regra, é a resposta que um especialista daria como solução a
determinado problema (LIA, 1999). A diferença é que no Expert SINTA os problemas são
representados por variáveis que por sua vez se tornam variáveis objetivos. O SISREQUI,
assim como qualquer sistema especialista, antes de sua execução necessita que sejam
definidas quais são as suas variáveis objetivos, pois sem esta definição, seria o mesmo que
perguntar alguma coisa a um especialista e o mesmo não a responder (LIA, 1999).
A determinação dos objetivos é feita a partir da janela KIB, selecionado a opção
Objetivos. Em seguida aparecerá uma janela com uma lista contendo as variáveis comuns e
outra com as variáveis objetivos, conforme mostrado na figura 15.
Figura 15 – Janela de seleção de variáveis objetivos do SISREQUI. Fonte: Lia, 1999, Modificado.
46
Ao definir as variáveis objetivos, o próximo passo é a criação da interface com o
usuário. A interface é a forma como as variáveis irão ser exibidas aos usuários do sistema, e
como serão feitas as perguntas aos usuários.
4.2.1.1.3
Interface com o usuário
O SISREQUI se comunica com o usuário final através de menus de múltipla escolha.
Os menus são construídos automaticamente pelo Expert SINTA, restando apenas ao criador
do sistema especialista definir as variáveis perguntas e para cada variável pergunta criar uma
questão e um motivo de ajuda, que irá auxiliar o usuário quando o mesmo não souber sobre
do que se trata a pergunta (LIA, 1999).
Na janela de seleção e criação de perguntas do Expert SINTA, figura 16 aparece as
variáveis criadas em um lado e as variáveis perguntas do outro. O Expert SINTA não proíbe
que uma variável definida como objetivo se torne uma variável pergunta, ele não permite e
que esta mesma variável seja referenciada em uma regra como variável pergunta e objetivo.
Figura 16 – Janela de seleção de variáveis perguntas do SISREQUI. Fonte: Lia, 1999, Modificado.
Com a seleção das variáveis, a criação das perguntas e definição dos motivos para o
SISREQUI, o próximo passo e o mais complexo é a criação das regras de produção com seus
respectivos graus de confiança.
47
4.2.1.1.4
Regras
A modelagem do conhecimento no Expert SINTA é feita através das regras de
produção. Na janela KIB, aparecem todas as regras que o sistema tem. A criação de regras é
iniciada a partir da seleção da opção “Nova Regra” na janela KIB (LIA, 1999), surgindo em
seguida uma tela informando a ordem da regra, que se refere ao número da regra, e o modelo,
referente à criação de uma nova regra com as mesmas informações de uma já criada,
conforme figura 17.
Figura 17 – Caixa de seleção de Ordem e modelo de regra. Fonte: Lia, 1999.
A tela seguinte, caso não seja selecionado nenhum modelo de regra, virá apenas com a
estrutura “SE”, “ENTÃO”, conforme figura 18.
Figura 18 – Tela de criação de regra de produção. Fonte: Lia, 1999.
48
A partir dela, se torna possível a criação da regra que irá compor o sistema.
Lembrando que a criação da regra, deve possuir a mesma estrutura abordada na seção de
regras de produção do capítulo anterior. No Expert SINTA, as variáveis criadas e definidas
como perguntas, serão os atributos das regras. E são inseridas no bloco correspondente à
silaba “SE”. As variáveis Objetivos devem ser inseridas no bloco correspondente à silaba
“ENTÃO”. Para incluir uma variável, primeiramente deve-se selecionar a opção “Incluir”.
Após a escolha, será exibida uma caixa de seleção com o item de regra, onde o mesmo é uma
lista contendo todas as variáveis criadas, o operador e o valor que irá receber aquela variável.
Após ser inserida a primeira premissa da regra, o Expert SINTA permite que sejam inseridos
os conectivos “E” e “OU”; o “NÃO” já é liberado para ser utilizado na primeira premissa.
Figura 19 – Tela de inserção de premissas. Fonte: Lia, 1999.
Inseridas todas as premissas do bloco “SE”, o próximo passo é inserir o objetivo da
regra, bloco “ENTÃO”. A caixa de seleção do bloco é um pouco parecida com a anterior, só
que nesta tela é selecionado apenas o objetivo da regra, o seu respectivo valor e seu graus de
confiança, conforme figura 20.
Figura 20 – Tela de inserção de objetivos. Fonte: Lia, 1999.
Se por ventura se chegar a errar na criação de alguma regra, seleciona-se a premissa e
clica na opção alterar. Após a criação das regras, o SISREQUI já esta com sua base de
conhecimento completa, restando apenas consulta-la e verificar os resultados alcançados.
49
4.2.1.2 Informações adicionais
Antes de executar o SISREQUI, se torna necessário criar uma tela de abertura para o
sistema. A criação da tela foi através da opção Informações da janela KIB. A opção abriu uma
tela onde foi possível inserir o nome do Sistema, assim como os autores e uma breve
descrição sobre o SISREQUI, conforme figura 21.
Figura 21 – Janela de informações adicionais do SISREQUI. Fonte: Lia, 1999, Modificado.
LIA (1999), comenta que também é possível a criação de arquivos de ajuda online,
definir preferências na execução dos conectivos, formulas matemáticas e proteção por senha
para o sistema especialista.
Em uma versão futura do SISREQUI, poderá ser agregada algumas destas
funcionalidades presentes no Expert SINTA.
4.3 Consultando o SISREQUI
Antes de mostrar as consultas, primeiramente serão mostrados alguns comandos
básicos do Expert SINTA, ou, conforme Lia (1999), um conjunto de operações básicas.
50
Existem dois menus de acompanhamento de consultas no Expert SINTA (LIA, 1999), mas
este trabalho se focou em explicar o menu já presente na barra de ferramentas do Expert
SINTA, conforme mostrado na figura 22.
Figura 22 – Menu de controle de consultas. Fonte: Lia, 1999.
4.3.1
Consultas
Iniciando a consulta, a primeira tela que irá aparecer será a tela de abertura do sistema.
A tela mostra uma pequena descrição sobre o SISREQUI, figura 23.
Figura 23 – Tela de abertura do SISREQUI.
51
Após a tela de abertura irão aparecer as perguntas criadas. A base de conhecimento do
SISREQUI possui 50 regras e foi elaborada com variáveis univaloradas, então as perguntas
irão aceitar apenas uma opção a ser selecionada, que conforme seja selecionada permite ao
sistema solicitar qual o grau de confiança naquela resposta, conforme mostrado nas figuras 24
e 25.
Figura 24 – Interface SISREQUI.
Figura 25 – Resposta do SISREQUI com respectivo grau de confiança.
Contudo, caso o analista que esteja utilizando o SISREQUI, não saiba o que a
pergunta significa, basta consultar a ajuda selecionando a opção “Por que?”. O SISREQUI irá
mostrar ao analista o porque de estar fazendo aquela pergunta, conforme figura 26.
52
Figura 26 – Tela de ajuda do SISREQUI.
Mas se mesmo com a tela de ajuda o Analista não souber como responder a pergunta,
simplesmente poder passar a pergunta só escolhendo a opção “OK”. Independente da escolha,
o SISREQUI irá auxiliar o Analista na melhor maneira.
4.3.2
Acompanhamento
O acompanhamento das consultas do SISREQUI pode ser feito através do depurador.
O depurador exibe uma caixa de listagem com todas as regras que formam a base de
conhecimento do sistema (LIA, 1999), destacando a premissa que está sendo analisada pela
maquina de inferência naquele momento, conforme mostrado na figura 27.
53
Figura 27 – Execução do SISREQUI pelo modo depurador.
Para utilizar o modo depurador o analista deve executar o SISREQUI apertando a tecla
F8, e para cada resposta efetuada, continuar apertando a tecla. Assim e possível ver como o
SISREQUI funciona na escolha das regras.
4.3.3
Janela de Resultados Atingidos
Ao final de uma busca de objetivos, o SISREQUI apresenta uma janela de resultados.
LIA (1999), comenta que esta janela se divide em quatro partes:

A de resultados, onde são apresentados todos os objetivos atingidos, com
seus respectivos graus de confiança, conforme mostrado na figura 28;

Histórico: onde é exibido todo o caminho realizado pelo sistema
especialista até atingir a solução, conforme mostrado na figura 29;

Todos os valores: que é uma generalização da primeira página, pois exibe
todos os valores de todas as variáveis do SISREQUI, conforme figura 30;
54

O sistema: onde exibe todas as regras contidas no SISREQUI, mostrado na
figura 31.
Figura 28 – Tela de Resultados.
Figura 29 – Arvore de pesquisa.
55
Figura 30 – Todos os resultados.
Figura 31 – Regras do SISREQUI.
56
O SISREQUI possui em sua versão atual, quatro objetivos onde os tópicos abordados
em cada um deles e o seguinte:

Para esta situação o mais adequado é, trata as melhores práticas sobre
requisitos de software definidas por autores consagrados como
Sommeville (2008) e Pressman (2005);

Técnica de Elicitação Requisitos mais adequada, aborda sobre as melhores
técnicas de elicitação de requisitos de acordo com levantamento feito por
especialistas na área e autores consagrados como Sommeville (2008) e
Pressman (2005);

Validação de Requisitos mais adequada, trata sobre as melhores técnicas
de validação de requisitos de acordo com levantamento feito por
especialistas na área e autores consagrados como Sommeville (2008) e
Pressman (2005);

Técnica de Gerenciamento de requisitos mais adequada, aborda sobre as
melhores técnicas de gerenciamento de requisitos de acordo com
levantamento feito por especialistas na área e autores consagrados como
Sommeville (2008) e Pressman (2005).
A disciplina de requisitos por ser muito complexa e lidar muito com o senso comum,
se torna necessário garantir a relevância da base do SISREQUI.
4.3.4
Garantindo a relevância do SISREQUI
A garantia da funcionalidade na versão atual do SISREQUI tem o intuito de verificar
se os objetivos sugeridos pelo sistema realmente ajudaram os analistas em suas rotinas de
trabalho. Para efetuar os testes, foram aplicados a partir de projetos complexos já concluídos
ou em processos de conclusão.
O primeiro teste, figura 32, efetuado com o sistema foi em relação a um projeto já
concluído. O intuito foi verificar se os objetivos que SISREQUI chegou, atingiram qual o
porcentagem em relação à solução adotada pelos analistas para se chegar à conclusão do
sistema. No momento do teste foram levadas em consideração as situações que ocorreram na
57
época que o projeto estava sendo elicitado e desenvolvido. O segundo teste, figura 33, foi
aplicado em um projeto ainda em desenvolvimento. O intuito do teste foi verificar se os
objetivos atingidos pelo SISREQUI satisfazem as necessidades nos analistas no projeto.
Figura 32 – Gráfico de teste do SISREQUI em projetos concluídos.
Figura 33 – Gráfico de teste do SISREQUI em projetos não concluídos.
58
Após analisar os resultados dos testes detectaram-se quais os objetivos do SISREQUI
estão mais próximos dos utilizados pelos analistas e quais precisam ser melhorados, conforme
figura 34.
Figura 34 – Média de resultados.
59
5. CONCLUSÕES
A popularização dos sistemas especialistas vem da facilidade na construção dos
mesmos. Tudo isso graças a criação das ferramentas que auxiliam no processo de construção
dos sistemas. Estas ferramentas que possuem mecanismos de raciocínio incerto despertou o
interesse de estudos e pesquisas. No decorrer dos estudos e criação do projeto, foi possível
perceber que existem poucas ferramentas que deem suporte na criação dos sistemas
especialistas e modo interativo com o usuário. O curto tempo necessário também
impossibilitou que fosse sugerida a criação de uma melhoria para a ferramenta utilizada na
criação do sistema especialista. No entanto para se conseguir gerar a primeira versão do
sistema, foram necessários estudos relacionados a sistema especialistas, como sua história,
seus principais conceitos. Também foi necessário pesquisar sobre engenharia de requisitos,
estudo esse que forneceu as bases do conhecimento necessárias para conclusão do trabalho.
Para se chegar aos objetivos finais do trabalho foi necessária uma série de entrevistas com
especialistas na área, além-observações e estudo dos principais autores sobre o assunto além
de testes para garantir a funcionalidade da base do SISREQUI.
Como contribuições acadêmicas e científicas, este trabalho abordou a criação de
um sistema especialista para a disciplina de requisitos de software com o auxílio de uma
ferramenta geradora de Sistemas especialistas, com base em um referencial teórico e prático
que contempla os principais conceitos da disciplina. É válido destacar que o sistema necessita
sempre ter sua base de conhecimento alimentada, com novas informações, conforme for
sendo utilizado e corrigido as suas falhas. Papel este que rende estudos aprofundados em
várias universidades e centros de pesquisas do mundo inteiro tanto na área de requisitos de
softwares como em sistemas especialistas. É esperado que este trabalho possa auxiliar
também esses estudantes e pesquisadores.
60
Como trabalhos futuros sugerem-se melhorar a base de conhecimento do
SISREQUI melhorando a imparcialidade de seus objetivos e incluir novos objetivos que na 1ª
versão acabaram não sendo tratados.
61
REFERÊNCIAS BIBLIOGRÁFICAS
APARECIDO, Edinelson Batista; CARVALHO, Ariadne M. B. R. Uma Taxonomia
Facetada para Técnicas de Elicitação de Requisitos. 2002. Disponível em: <
http://wer.inf.puc-rio.br/WERpapers/artigos/artigos_WER03/edinelson_batista.pdf>.
Acessado em 09 Set. 2010.
BECK, K. Et al. Manifesto for Agile Software Development. 2001. Disponível em:
<http://www.agilemanifesto.org/>. Acesso em: 12 Agos. 2010.
BITTENCOURT, Guilherme. Inteligência Artificial: Ferramentas e Teorias. 3. ed. UFSC:
Florianópolis, 2006. 371 p..
BITTENCOURT,
Guilherme.
Sistemas
Especialistas.
2008.
Disponível
em:
<
https://disciplinas.dcc.ufba.br/pastas/MATA64/Tutoriais/siesp.pdf>. Acesso em: 12 Fev.
2011.
CAMPELO, Pablo Rodrigo Alves. Engenharia de Requisitos para Aplicações WEB.
Recife: UFPE, 2009. 28 p. Trabalho de Pós-Gaduação, Centro de Informática, Universidade
Federal
de
Pernambuco,
Recife,
2009.
Disponível
em:
<
http://www.cin.ufpe.br/~in1020/arquivos/monografias/2009_1/pablo.pdf>. Acesso em: 15
Abr. 2010.
DIEHL, Vera Alice. Protótipo para Gerenciamento de programa da qualidade (5s)
utilizando Sistemas Especialistas. Blumenau: FERB, 2000. 71 p. Trabalho de Conclusão de
Curso, Universidade Reginal de Blumenau, Blumenau, 2000. Disponível em: <
http://campeche.inf.furb.br/tccs/2000-II/2000-2veraalicediehlvf.pdf>. Acesso em: 15 fev.
2011.
FIGUEIREDO, Ciro Jardim et al. Uso de Sistemas Especialistas para a avaliação de um
processo
agroindustrial.
2011.
Disponível
em:
<
62
http://ojs.ingepro.com.br/index.php/ingepro/article/download/344/303>. Acesso em: 12 Fev.
2011.
FLORES, Cecília Dias. Fundamentos dos Sistemas Especialistas. In: Dante Augusto Couto
Barone. (Org.). Sociedades Artificiais: A Nova Fronteira da Inteligência nas Máquinas. 1 ed.
Porto Alegre, 2003, v. 1, p. 127-154.
FRANÇA, Juliana Baptista dos Santos; MORAES, Karla Luraschy. Um estudo sobre
levantamento de informações para modelagem de processos de negócio. Rio de Janeiro:
UNIRIO, 2009. 95 p. Trabalho Conclusão de Curso, Universidade Federal do Estado do Rio
de
Janeiro,
Rio
de
Janeiro,
2009.
Disponível
em:
<http://np2tec.uniriotec.br:9093/np2tec/publicacoes/Projeto%20Final%20%20Juliana%20Baptista%20dos%20Santos%20Franca%20e%20Karla%20Luraschy%20de%
20Moraes%20-%202009.pdf >. Acesso em: 20 Set. 2010.
KNIBERG, Henrik. Scrum e XP direto das Trincheiras. C4Media, Publicado por
InfoQ.com, 2007. 145 p. Disponível em: <http://www.infoq.com>. Acesso em: 24 fev. 2011.
LIA, Laboratório de Inteligência Artificial. Expert SINTA : uma ferramenta para criação
de sistemas especialistas. 1999. Disponível em: <http://www.lia.ufc.br>. Acessado em 10
Jan. 2011.
LUIZA, Ana Ávila; OLIVEIRA, Rodrigo Spinola. Introdução à Engenharia de Requisitos.
Revista Engenharia de
Software [online]. Março
de
2008.
Disponível
em:
<
http://sites.google.com/site/pasqueline/EngenhariadeRequisitosDevMedia.pdf >. Acesso em:
14 Ago. 2010.
MARTINS. José Carlos Cordeiro. Técnicas para Gerenciamento de Projetos de Software.
Rio de Janeiro: Brasport, 2007. 552 p.
MATOS, Helano. Sistemas Especialistas. Inteligência Artificial. Outubro de 2010.
Disponível em: <http://ffb.virtual.ufc.br/solar/>. Acesso em: 14 fev. 2011.
63
MEDEIROS, Raul de Abreu Junior; BELCHIOR, Arnaldo Dias; FARIAS, Pedro Porfirio
Muniz. Uma Ontologia para Engenharia de Requisitos de Software. Disponível em: <
http://www.sbc.org.br/bibliotecadigital/download.php?paper=298>. Acesso em: 10 Jun. 2010.
MEIRA, Aliny Figueirêdo. Melhoria do Processo de Engenharia de Requisitos. Recife:
UFPE, 2008. 46 p. Trabalho de Pós-Gaduação, Centro de Informática, Universidade Federal
de
Pernambuco,
Recife,
2008.
Disponível
em:
<
http://www.cin.ufpe.br/~in1020/arquivos/monografias/2007-2/monografiaAlinyMeira.doc >.
Acesso em: 15 Abr. 2010.
MENDES, Raquel Dias. Inteligência Artificial: Sistemas Especialistas no Gerenciamento da
Informação.
Disponível
em:
<
http://www.scielo.br/scielo.php?pid=S0100-
19651997000100006&script=sci_arttext>. Acesso em: 14 Fev. 2011.
NOGUEIRA, José Helano Matos; SILVA, Ricardo Bezerra A. Geração Automática de
Aplicações Especialistas Usando o Expert SINTA. Anais do Simpósio Brasileiro de
Engenharia de Software, São Carlos, 1997.
OLIVEIRA, Alexandre José Henrique Luna. Abordagem da engenharia de requisitos em
projetos de desenvolvimento de software para telessaúde/telemedicina. Recife: UFPE,
2008. 79 p. Trabalho de Pós-Gaduação, Centro de Informática, Universidade Federal de
Pernambuco,
Recife,
2008.
Disponível
em:
<
http://www.cin.ufpe.br/~in1020/arquivos/monografias/20081/IN1020_EngRequisitos_Monografia_EngRequisitos%20na%20Telemedicina%20e%20Tele
ssaude_Alexluna_v1.15.pdf >. Acesso em: 15 Abr. 2010.
OLIVEIRA, Susana Brunoro C.; TANAKA, Astério K.; VIANA, Dalessandro S. Avaliação
de Ferramentas para Controle Automatizado de Versões de Artefatos de Requisitos de
Software. Workshop de Engenharia de Requisitos - WER 2006, 2006, Rio de Janeiro.
Disponível
em:
<
http://wer.inf.puc-
rio.br/WERpapers/pdf_counter.lua?wer=WER06&file_name=susana_oliveira.pdf>.
em: 14 Set. 2010.
Acesso
64
PÁDUA, Silvia Inês Dallavalle. Investigação do Processo de Desenvolvimento de Software
a partir da Modelagem Organizacional, enfatizando regas de negócio. São Carlos: USP,
2001. 156 p. Tese de mestrado, Escola de Engenharia de São Carlos, Universidade de São
Paulo,São
Carlos,
2001.
Disponível
em:
<
http://www.teses.usp.br/teses/disponiveis/18/18140/tde-09122008154855/publico/DissertacaoSilviaInesDallavallePadua.pdf >. Acesso em: 25 Set. 2010.
PRESSMAN, Roger S. Engenharia de software. São Paulo: Pearson Makron Books, 2005.
1056 p. ISBN 85-346-0237-9. Português.
PY, Mônica Xavier. Sistemas Especialistas: uma Introdução. 2006. Disponível em: <
http://www.inf.ufrgs.br/gppd/disc/cmp135/trabs/mpy/sistemasespecialistas.pdf>. Acesso em:
12 Fev. 2011.
REATEGUI, Elisio Berni. Um modelo para Sistemas Especialistas Conexionistas
Híbridos. Universidade Federal do Rio Grande do Sul, 1993. 123 p. Tese de mestrado,
Instituto de Informática, Universidade Federal do Rio Grande do Sul, Porto Alegre, 1993.
Disponível
em:
<
http://www.lume.ufrgs.br/bitstream/handle/10183/25522/000060983.pdf?sequence=1>.
Acesso em: 25 Jan. 2011.
REINALDO, Leonardo Monteiro. Abordagem comparativa entre modelos de melhoria
para processo de software. Recife: UFPE, 2006. 71 p. Trabalho de Conclusão de Curso,
Centro de Informática, Universidade Federal de Pernambuco, Recife, 2006. Disponível em:
<http://www.cin.ufpe.br/~tg/2006-2/lmr.pdf>. Acesso em: 05 Abr. 2010.
ROVER, Aires J. Sistemas Legais: Uma solução inteligente para o direito. Disponível em: <
http://www.scribd.com/doc/15097015/Sistemas-especialistas-legais-uma-solucao-inteligentepara-o-direito>. Acesso em: 14 de Fev. 2011.
RUP. Rational Unified Process. Disponível em: <http://www.wthreex.com/rup/>. Acesso
em: 14 Agost. 2010.
65
SAYAO, Miriam; LEITE, Julio Cesar Sampaio do Prado. Rastreabilidade de Requisitos.
Monografias em Ciência da Computação Nº 20/05. 2005.
Disponível em: <
http://www.dbd.puc-rio.br/depto_informatica/05_20_sayao.pdf >. Acesso em: 20 Agost.
2010.
SILVA, Carlo Giovano Pires; SOUZA, Gabriela Telles; BELCHIOR, Arnaldo Dias. Padrões
de Requisitos para Especificação de Casos de Uso em Sistemas de Informação.
Disponível
em:
<
http://www.atlantico.com.br/sites/default/files/biblioteca/padroes-de-
requisitos-para-especificacao-de-casos-de-uso-em-sistemas-de-informacao.pdf>. Acesso em:
14 Agost. 2010.
SILVA, Marco Aurélio Graciotto. Uma ferramenta Web colaborativa para apoiar a
engenharia de requisitos em software livre. São Carlos: USP, 2005. 164 p. Tese de
Mestrado, Instituto de Ciências Matemáticas e de Computação, Universidade de São Paulo,
São Carlos, 2005. Disponível em: < http://www.teses.usp.br/teses/disponiveis/55/55134/tde28042006-080550/pt-br.php>. Acesso em: 20 Set. 2010.
SMITH, John. A Comparison of the IBM Rational Unified Process and eXtreme
Programming.
2003.
Disponível
em:
<ftp://ftp.software.ibm.com/software/rational/web/whitepapers/2003/TP167.pdf>. Acesso em:
12 Agos. 2010.
SOMMERVILLE, Ian. Engenharia de software. 8. ed. São Paulo: Pearson Education do
Brasil, 2008. 552 p.
SWEBOK, Guide to the Software Engineering Body of Knowledge. Disponível em: <
http://www.computer.org/portal/web/swebok >. Acesso em: 10 Ago. 2010.
SZALVAY.
Victor.
Glossary
os
Scrum
Terms.
2007.
Disponível
em:
<
http://www.scrumalliance.org/articles/39-glossary-of-scrum-terms>. Acesso em: 20 Agost.
2010.
66
WELLS, Don. eXtreme Programming: A gentle introduction. 1999. Disponível em: <
http://www.extremeprogramming.org/>. Acesso em: 12 Agos. 2010.
ZANETTI, David; MONTONI, Mariano; ROCHA, Ana Regina. Benchmarking em
Iniciativas
de
Melhorias
em
Processos
de
Software.
<http://www.cin.ufpe.br/~tg/2006-2/lmr.pdf>. Acesso em: 14 Agost. 2010.
Disponível
em:
67
ANEXOS I – Questionário utilizado na criação base de conhecimento do SISREQUI
PROCESSO PARA CRIAÇÃO DA BASE DE CONHECIMENTO DO SISREQUI
As respostas das perguntas a seguir, serão utilizadas para a criação da base de conhecimento do
sistema especialista SISREQUI que estou desenvolvendo para o meu trabalho de conclusão de curso.
O SISREQUI é um sistema especialista que terá como missão auxiliar no processo de requisitos de
software.
1) Em um projeto onde os requisitos mudam constantemente, que metodologia você
utilizaria no processo de desenvolvimento?

RUP

Metodologias ágeis

Outro
2) Por quê?
3) Das técnicas de elicitação de requisitos, selecione a que você acha a mais completa? A
elicitação de requisitos se resume à simples transferência de conhecimento das pessoas
para documentos de requisitos.

Entrevistas

Tempestade de idéias (Brainstorm)

Cenários

Etnografia

Mapa Mental
68

Junção de algumas das técnicas descritas acima
4) Você está reunido com vários usuário com o intuito de entender o problema do cliente
e coletar os requisitos necessários para resolução do mesmo. Mas os vários usuários
tem diferentes formas de enxergar o problema e descrever os requisitos. Como você
sairia dessa situação?
5) Qual a melhor maneira de validação dos requisitos? A validação de requisitos tem o
intuito de mostrar que os requisitos atendem realmente ao que o sistema precisa.

Verificar se todos os requisitos coletados estão descritos nos documentos de
requisitos

Verificar se o sistema atende a todas as necessidades dos interessados

Verificar se os novos requisitos não irão conflitar com os requisitos já
existentes
6) O cliente utiliza os artefatos do RUP como forma de validação dos requisitos. E com
no decorrer do processo um novo requisito foi incluindo. Você terá tempo para
desenvolvê-lo, mas não terá como inclui-lo em todos os artefatos que sofrerão
modificações. Como você negociaria com o cliente o tempo para atualizar os
artefatos?
7) Digamos que o cliente não entende nada sobre termos técnicos da área de informática
e você precisa mostra-lo os requisitos coletados, para que o mesmo os valide e aprove.
De que forma você apresentaria os requisitos a este cliente? A validação representa a
atividade em que obtemos o aceite do cliente.

Através de documentos de Casos de Uso (Metodologia RUP)

Diagramas de Casos de uso
69

User Storys (Metodologias ágeis)

Diagrama de Fluxo de Dados (DFD)

Fluxogramas

Outro
8) Que técnicas você utilizaria para ter um total controle no gerenciamento dos
requisitos? Requisitos são por natureza voláteis. Diversos fatores contribuem para sua
instabilidade ao longo do tempo.

Baseline

Rastreabilidade

Outro
9) O que faria se no momento da entrega das novas funcionalidades ao cliente, você
percebesse que faltou um requisito ser implementado. E este requisito é necessário
para o correto funcionamento das demais funcionalidades do sistema?
70
ANEXOS II – Respostas do questionário utilizado na criação base de conhecimento
do SISREQUI
1) Em um projeto onde os requisitos mudam constantemente, que metodologia você
utilizaria no processo de desenvolvimento?
2) Por quê?
“O RUP engessa os processos e faz com que as entregas demorem.”
“Metodologias ágeis trabalham com foco em metas e resultados efetivos, reduzindo o
re-trabalho.”
“São as metodologias que mais se aplicam à requisitos modificados constantemente.”
“RUP por exemplo, engessa demasiadamente todas as etapas (doc e a&p).”
“Devido ao menor impacto de mudança, tanto dos artefatos de desenvolvimento,
quanto no custo. Por que não segue um padrão.”
71
3) Das técnicas de elicitação de requisitos, selecione a que você acha a mais completa? A
elicitação de requisitos se resume à simples transferência de conhecimento das pessoas
para documentos de requisitos.
4) Você está reunido com vários usuários com o intuito de entender o problema do
cliente e coletar os requisitos necessários para resolução do mesmo. Mas os vários
usuários têm diferentes formas de enxergar o problema e descrever os requisitos.
Como você sairia dessa situação?
“Faça os usuários escreverem o que querem, e o mais importante: tenha especialistas
da área de negócio do cliente trabalhando no seu time.”
“Procurando definir um novo padrão para os clientes onde eles tenham um resultado
satisfatório e produtivo de automação.”
“Tomando as rédeas da discussão e destacando algumas idéias, citando pontos
positivos e negativos, implicitamente sugerindo uma delas.”
72
“Coletava todas informações mesmo as divergentes, e no final apresentaria uma
solução os pontos importantes consolidados. Inclusive apresentando o fluxo de
funcionamento na forma que entendi.”
“Entender tudo e tentar a melhor forma de resolução.”
5) Qual a melhor maneira de validação dos requisitos? A validação de requisitos tem o
intuito de mostrar que os requisitos atendem realmente ao que o sistema precisa.
6) O cliente utiliza os artefatos do RUP como forma de validação dos requisitos. E com
no decorrer do processo um novo requisito foi incluindo. Você terá tempo para
desenvolvê-lo, mas não terá como inclui-lo em todos os artefatos que sofrerão
modificações. Como você negociaria com o cliente o tempo para atualizar os
artefatos?
“Ou o prazo para entrega é estendido, ou o cliente ficará com algo incompleto.
Simples assim, e eu não trabalho mais de oito horas por dia a menos que seja muito
bem recompensado por isso.”
73
“Conversa franca com o cliente, contrabalanceando informações boas com
informações ruins.”
“Não há muito o que negociar, é NECESSÁRIO que o requisito seja replicado nos
artefatos, justamente devido à utilização do RUP. A proposta seria basicamente: ou a
atualização será feita no decorrer do processo ou imediatamente antes do
desenvolvimento (o que não é aconselhável).”
“A depender da necessidade do cliente e do grau de importância deste novo requisito,
negociaria uma única entrega com todo o software desenvolvido”.
“Vale ressaltar que se o novo requisito não impactasse no correto funcionamento do
software, sendo apenas informações adicionais, poderíamos sim entregar de forma
particionada.”
7) Digamos que o cliente não entende nada sobre termos técnicos da área de informática
e você precisa mostra-lo os requisitos coletados, para que o mesmo os valide e aprove.
De que forma você apresentaria os requisitos a este cliente? A validação representa a
atividade em que obtemos o aceite do cliente.
74
8) Que técnicas você utilizaria para ter um total controle no gerenciamento dos
requisitos? Requisitos são por natureza voláteis. Diversos fatores contribuem para sua
instabilidade ao longo do tempo.
9) O que faria se no momento da entrega das novas funcionalidades ao cliente, você
percebesse que faltou um requisito ser implementado. E este requisito é necessário
para o correto funcionamento das demais funcionalidades do sistema?
“Devolveria ao cliente todo o dinheiro investido e demitiria o responsável pelo erro.”
“Diria pra ele é fudeu...”
“Jogo de cintura: ou o prazo é esticado para implementação do requisito ou, caso seja
um requisito que não será imediatamente utilizado pelo cliente, entra no escopo de
uma entrega à parte, após a atual entrega.”
“Mais uma vez depende da importância deste requisito para o funcionamento do
sofware.”
75
ANEXOS III – Base de Conhecimento SISREQUI
A seguir, as regras que compõem a base de conhecimento do SISREQUI.

Objetivos:
 Para esta situação o mais adequado é
 Técnica de Elicitação Requisitos mais adequada
 Validação de Requisitos
 Técnica de Gerenciamento de requisitos mais adequada

Regras:
REGRA 01
SE Problemas no desenvolvimento do sistema= Sim
ENTÃO Para esta situação o mais adequado é = Verificar se o documento de
Requisitos está claro. CNF [60%]
REGRA 02
SE Projeto Complexo = Sim
E Problemas no desenvolvimento do sistema= Sim
ENTÃO Para esta situação o mais adequado é = Verificar se o documento de
Requisitos está claro. CNF [80%]
REGRA 03
SE Projeto Complexo = Não
OU Requisitos claros = Sim
ENTÃO Para esta situação o mais adequado é = Validar com o cliente o requisito
coletado. CNF [70%]
REGRA 04
SE NÃO Documento de requisito abordando todos os requisitos = Sim
ENTÃO Validação dos requisitos = Leitura do documento de requisitos. CNF
[40%]
76
REGRA 05
SE Requisitos claros = Não
E Documento de requisito abordando todos os requisitos = Sim
OU dificuldades na comunicação entre cliente e analista = Sim
ENTÃO Técnica de Elicitação Requisitos mais adequada = Etnografia. CNF
[80%]
REGRA 06
SE NÃO Cliente tem certeza sobre os Requisitos = Sim
E Envolvidos no projeto com total entendimento = Não
ENTÃO Técnica de Elicitação Requisitos mais adequada = Tempestade de idéias.
CNF [85%]
REGRA 07
SE NÃO Cliente tem certeza sobre os Requisitos = Não
OU contato direto com cliente = Não
ENTÃO Técnica de Elicitação Requisitos mais adequada = Cenários. CNF [70%]
REGRA 08
SE NÃO contato direto com cliente = Sim
E Envolvidos no projeto com total entendimento = Sim
OU dificuldades na comunicação entre cliente e analista = Não
ENTÃO Técnica de Elicitação Requisitos mais adequada = Entrevista. CNF
[70%]
REGRA 09
SE novas solicitações = Sim
E conhecimento dos requisitos = Não
OU conhecimento dos requisitos = Desconhecido
ENTÃO
Técnica
de
Gerenciamento
Rastreabilidade de requisitos. CNF [90%]
REGRA 10
de
requisitos
mais
adequada
=
77
SE novas solicitações = Não
E conhecimento dos requisitos = Sim
E cliente tem certeza sobre os requisitos = Sim
ENTÃO Validação = Verificar se a descrição dos requisitos está entendível. CNF
[90%]
REGRA 11
SE novas solicitações = Desconhecido
E requisitos claros = Sim
OU projeto complexo = Desconhecido
E dificuldades na comunicação entre cliente e analista = Desconhecido
ENTÃO Técnica de Elicitação Requisitos mais adequada = Cenários. CNF [80%]
REGRA 12
SE projeto complexo = Sim
E Envolvidos no projeto com total entendimento = Sim
E Requisito invalida outro requisito = Sim
ENTÃO Para esta situação o mais adequado é = Negociar mais tempo com o
cliente. CNF [80%]
REGRA 13
SE Documento de requisitos criado = Sim
E Requisitos validados = Não
ENTÃO Validação de requisitos = Criar um mapa mental com todos os requisitos.
CNF [70%]
REGRA 14
SE Documento de requisitos criado = Sim
E Requisitos validados = Não
ENTÃO Validação de requisitos = Criar um mapa mental com todos os requisitos.
CNF [70%]
REGRA 15
SE Cliente conhecimento Técnico = Não
78
OU Documento de requisitos criado = Desconhecido
ENTÃO Para esta situação o mais adequado é = Criar o documento de requisitos.
CNF [70%]
REGRA 16
SE Requisitos estáticos = Não
E Conhecimento dos requisitos = Não
OU dificuldades na comunicação entre cliente e analista = Desconhecido
ENTÃO Técnica de Elicitação Requisitos mais adequada = Etnografia. CNF
[70%]
REGRA 17
SE Requisitos estáticos = Sim
OU Conhecimento dos requisitos = Sim
OU dificuldades na comunicação entre cliente e analista = Não
OU Projeto complexo = Não
E Requisitos validados = Desconhecido
ENTÃO Validação = Verificar se a descrição dos requisitos está entendível. CNF
[70%]
REGRA 18
SE Projeto complexo = Sim
OU NÃO Requisito complexo = Sim
E Requisito depende outro requisito = Sim
ENTÃO Técnica de Gerenciamento de requisitos mais adequada = Baseline dos
requisitos. CNF [60%]
REGRA 19
SE Projeto complexo = desconhecido
E Requisito depende outro requisito = Não
E Requisito invalida outro requisito = Sim
ENTÃO Para esta situação o mais adequado é = Negociar mais recursos com o
cliente. CNF [60%]
79
REGRA 20
SE Requisito depende outro requisito = Desconhecido
E Requisito invalida outro requisito = Desconhecido
ENTÃO
Técnica
de
Gerenciamento
de
requisitos
mais
adequada
=
Rastreabilidade de requisitos. CNF [80%]
REGRA 21
SE Requisito invalida outro requisito = Não
E NÃO Novas solicitações = Sim
OU Envolvidos no projeto com total entendimento = Desconhecido
ENTÃO Validação de Requisitos = Verificar se a descrição dos requisitos está
entendível. CNF [80%]
REGRA 22
SE Problemas no desenvolvimento do sistema = Não
E Requisitos claros = desconhecido
ENTÃO Para esta situação o mais adequado é = criar documento de requisitos.
CNF [50%]
REGRA 23
SE Problemas no desenvolvimento do sistema = Desconhecido
E Documento de requisito abordando todos os requisitos = Não
ENTÃO Para esta situação o mais adequado é = Refazer documento de requisitos.
CNF [70%]
REGRA 24
SE Documento de requisito abordando todos os requisitos = Desconhecido
E Envolvidos no projeto com total entendimento = Não
ENTÃO Para esta situação o mais adequado é = Verificar se o documento de
Requisitos está claro. CNF [60%]
REGRA 25
SE Conhecimento dos requisitos = Desconhecido
E cliente tem certeza sobre os requisitos = Não
80
ENTÃO Técnica de Elicitação Requisitos mais adequada = etnografia. CNF [90
%]
REGRA 26
SE novas solicitações = Não
E Cliente conhecimento Técnico = Sim
ENTÃO validação = Leitura do documento de requisitos. CNF [50%]
REGRA 27
SE Requisitos validados = Sim
E Requisitos estáticos = desconhecido
ENTÃO
Técnica
de
Gerenciamento
de
requisitos
mais
adequada
=
Rastreabilidade de requisitos. CNF [60%]
REGRA 28
SE Cliente conhecimento Técnico = Desconhecido
E projeto complexo = Não
ENTÃO Técnica de Elicitação Requisitos mais adequada = Cenários. CNF [70%]
REGRA 29
SE cliente tem certeza sobre os requisitos = Desconhecido
E Documento de requisitos criado = Não
ENTÃO Técnica de Elicitação Requisitos mais adequada = Etnografia. CNF
[80%]
REGRA 30
SE Requisitos validados = Sim
E análise e negociação de requisitos concluída = Não
ENTÃO Validação de requisitos = Checklist com questões sobre os requisitos.
CNF [80%]
REGRA 31
SE Sistema aborda as necessidades dos clientes = Sim
E O Sistema irá realmente suporta a automatização do trabalho = Não
81
ENTÃO Para esta situação o mais adequado é = Refazer documento de requisitos.
CNF [60%]
REGRA 32
SE Sistema aborda as necessidades dos clientes = Desconhecido
E O cliente já aprovou o protótipo = Não
ENTÃO Validação de requisitos = Checklist com questões sobre os requisitos.
CNF [50%]
REGRA 33
SE análise e negociação de requisitos concluída = Sim
E O Sistema irá realmente suporta a automatização do trabalho = Desconhecido
ENTÃO Validação de requisitos = Checklist com questões sobre os requisitos.
CNF [75%]
REGRA 34
SE O cliente já aprovou o protótipo = Sim
E Sistema aborda as necessidades dos clientes = Não
ENTÃO Para esta situação o mais adequado é = Refazer documento de requisitos.
CNF [70%]
REGRA 35
SE análise e negociação de requisitos concluída = Desconhecido
OU O cliente já aprovou o protótipo = Desconhecido
E O Sistema irá realmente suporta a automatização do trabalho = Sim
ENTÃO Validação de requisitos = Verificar se o sistema está atendendo a todas
as das necessidades dos interessados. CNF [80%]
REGRA 36
SE O cliente já aprovou o protótipo = Não
E O Sistema irá realmente suporta a automatização do trabalho = Não
ENTÃO Para esta situação o mais adequado é = Verificar se o documento de
Requisitos está claro. CNF [50%]
82
Para esta situação o mais adequado é = Refazer documento de requisitos.
CNF [50%]
REGRA 37
SE Cliente tem certeza sobre os Requisitos = Não
E Projeto Complexo = Não
E Problemas no desenvolvimento do sistema= Sim
OU análise e negociação de requisitos concluída = Não
ENTÃO Técnica de Elicitação Requisitos mais adequada = Etnografia. CNF
[80%]
Técnica de Elicitação Requisitos mais adequada = Cenários. CNF [80%]
Técnica de Elicitação Requisitos mais adequada = Entrevistas [60%]
REGRA 38
SE Cliente tem certeza sobre os Requisitos = Não
E Envolvidos no projeto com total entendimento = Não
E dificuldades na comunicação entre cliente e analista = Sim
ENTÃO Técnica de Elicitação Requisitos mais adequada = Tempestade de idéias.
CNF [50%]
Para esta situação o mais adequado é = Negociar mais tempo com o
cliente. CNF [50%]
Para esta situação o mais adequado é = criar documento de requisitos.
CNF [50%]
REGRA 39
SE análise e negociação de requisitos concluída = Sim
E O cliente já aprovou o protótipo = Sim
E Novas solicitações = Sim
E Requisito invalida outro requisito = Desconhecido
OU Requisito depende outro requisito = Desconhecido
ENTÃO Técnica de Gerenciamento de requisitos mais adequada = Baseline dos
requisitos. CNF [60%]
Técnica de Gerenciamento de requisitos mais adequada = Efetuar a
rastreablidade dos requisitos. CNF [60%]
83
Para esta situação o mais adequado é = Refazer documento de requisitos.
CNF [70%]
REGRA 40
SE requisitos claros = Sim
OU Conhecimento dos requisitos = Sim
E Requisitos validados = Sim
E Novas solicitações = Sim
E requisitos claros = Não
E Conhecimento dos requisitos = Desconhecido
ENTÃO Técnica de Gerenciamento de requisitos mais adequada = Efetuar a
rastreablidade dos requisitos. CNF [60%]
Técnica de Elicitação Requisitos mais adequada = Tempestade de idéias.
CNF [40%]
REGRA 41
SE análise e negociação de requisitos concluída = Sim
OU O cliente já aprovou o protótipo = Sim
E O Sistema irá realmente suporta a automatização do trabalho = Sim
E Novas solicitações = Sim
ENTÃO Técnica de Elicitação Requisitos mais adequada = Tempestade de idéias.
CNF [60%]
Técnica de Elicitação Requisitos mais adequada = Etnografia. CNF
[60%]
REGRA 42
SE O cliente já aprovou o protótipo = Desconhecido
E O Sistema irá realmente suporta a automatização do trabalho = Sim
ENTÃO Validação de requisitos = Verificar se o sistema está atendendo a todas
as das necessidades dos interessados. CNF [40%]
REGRA 43
SE O Sistema irá realmente suporta a automatização do trabalho = Sim
E Sistema aborda as necessidades dos clientes = Sim
84
E Documento de requisito abordando todos os requisitos = Não
ENTÃO Para esta situação o mais adequado é = Refazer documento de requisitos.
CNF [95%]
REGRA 44
SE O cliente já aprovou o protótipo = Desconhecido
E Documento de requisito abordando todos os requisitos = Sim
ENTÃO Validação de requisitos = Verificar se o sistema está atendendo a todas
as das necessidades dos interessados. CNF [70%]
REGRA 45
SE Projeto Complexo = Não
E Requisitos validados = Sim
E novas solicitações = Sim
E Projeto Complexo = Sim
ENTÃO Para esta situação o mais adequado é = Negociar mais recursos com o
cliente. CNF [80%]
Para esta situação o mais adequado é = Negociar mais tempo com o
cliente. CNF [80%]
REGRA 46
SE contato direto com cliente = Sim
E Cliente tem certeza sobre os Requisitos = Sim
E dificuldades na comunicação entre cliente e analista = Sim
ENTÃO Técnica de Elicitação Requisitos mais adequada = Entrevistas. CNF
[80%]
Técnica de Elicitação Requisitos mais adequada = Cenários. CNF [80%]
REGRA 47
SE Documento de requisito abordando todos os requisitos = Sim
E Cliente tem certeza sobre os Requisitos = Sim
E Cliente conhecimento Técnico = Não
ENTÃO Validação dos requisitos = Protótipo do sistema. CNF [40%]
85
Validação dos requisitos = Leitura do documento de requisitos. CNF
[50%]
REGRA 48
SE Documento de requisito abordando todos os requisitos = Desconhecido
OU Cliente tem certeza sobre os Requisitos = Sim
E Cliente conhecimento Técnico = Sim
ENTÃO Validação dos requisitos = Leitura do documento de requisitos. CNF
[80%]
REGRA 49
SE Cliente tem certeza sobre os Requisitos = Desconhecido
OU Cliente conhecimento Técnico = Desconhecido
E Documento de requisitos criado = Não
ENTÃO Técnica de Elicitação Requisitos mais adequada = etnografia. CNF [90
%]
Para esta situação o mais adequado é = Criar o documento de requisitos.
CNF [90%]
REGRA 50
SE Requisitos validados = Sim
E análise e negociação de requisitos concluída = Não
E O Sistema irá realmente suporta a automatização do trabalho = Não
E Novas solicitações = Sim
ENTÃO Para esta situação o mais adequado é = Negociar mais tempo com o
cliente. CNF [70%]
Técnica de Elicitação Requisitos mais adequada = Etnografia. CNF [90%]
Para esta situação o mais adequado é = Validar com o cliente o requisito
coletado. CNF [70%]
Download

Sistema Especialista para Auxílio no Processo da Engenharia de