INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA FLUMINENSEPÓS-GRADUAÇÃO EM ANÁLISE, PROJETO E GERÊNCIA DE SISTEMAS DEI...
JULIANA DA SILVA CINDRALÍVIA CASSIANO RANGELAVALIAÇÃO DA QUALIDADE DE UM SISTEMA DE GESTÃO ACADÊMICA ATRAVÉSDA MINERAÇÃO D...
JULIANA DA SILVA CINDRALÍVIA CASSIANO RANGELAVALIAÇÃO DA QUALIDADE DE UM SISTEMA DE GESTÃO ACADÊMICA ATRAVÉSDA MINERAÇÃO D...
As pessoas esquecem quão rapidamente você fez umtrabalho – mas elas sempre se lembram de quão bemvocê o fez.Howard Newton
RESUMONos últimos anos é notória a crescente a demanda por sistemas complexos, os quais assumemgrandes responsabilidades n...
ABSTRACTIn recent years it is evident the increasing demand for complex systems, which assume greaterresponsibilities in t...
SIGLAS E ABREVIATURASABNT Associação Brasileira de Normas TécnicasB BomI InexistenteIEC International ElectrotechnicalIEEE...
LISTA DE FIGURASFigura 1: Engenharia de software em camadas …................................................................
LISTA DE TABELASTabela 1: Principais normas e modelos nacionais e internacionais de qualidade de software ….. 22Tabela 2: ...
10Sumário1. Introdução.......................................................................................................
115.3. Caracterização da amostra.............................................................................................
121. IntroduçãoNa medida em que cresce a demanda por sistemas complexos, com grande responsabilidadeno contexto das organi...
13entre o usuário e os softwares. As técnicas de avaliação da qualidade de software podem vir aauxiliar o setor de desenvo...
14• Realizar uma análise do produto de software, apresentando o grau de satisfação do usuárioem relação ao uso do sistema;...
15realizado. Este capítulo também apresenta as limitações identificadas e as sugestões paratrabalhos futuros.Este trabalho...
162. QualidadeOs computadores têm tido uma aplicação cada vez maior, em diferentes áreas, e sua corretaoperação é frequent...
17inerentes a um produto, processo ou sistema cumpre os requisitos inicialmente estipulados paraestes”, sendo que caracter...
182.1. Histórico de QualidadeA Revolução Industrial pode ser considerada como o primeiro grande marco da história daqualid...
19Segundo Sodré (2006), no período de duração da Segunda Guerra Mundial, de 1939 a 1945,as técnicas de produção foram melh...
20“conformidade com os requisitos”. De maneira mais abrangente temos a definição proposta porBartié (2002): "Qualidade de ...
21A avaliação da Qualidade de Software pode ser dividida em qualidade de processo desoftware e qualidade de produto de sof...
22software. Apenas para ter uma visão geral, pode-se observar a Tabela 1 com as principais normais emodelos nacionais e in...
232.3.1. SQuaRE: ISO/IEC 25000SQuaRE significa Software product Quality Requirements and Evaluation, que pode sertraduzida...
24Ainda segundo os autores, a série 9126 cuida de maneira geral do que é necessário pararealizar uma avaliação, estabelece...
25• Medição: Define o que é uma medição e descreve os diversos aspectos relacionados arealização dessa tarefa. Propõe tamb...
26A ISO/IEC 9126-1 (Modelo de qualidade) foi publicada em 1991, sendo considerada uma dasmais antigas normas na área de qu...
27Figura 3: Estrutura hierárquica do modelo de qualidade.De acordo com a própria norma, essa estrutura hierárquica foi pen...
28conforme a seguir (NBR ISO/IEC 9126-1):• Funcionalidade: Trata-se da capacidade de um software prover funcionalidades qu...
29conceitos utilizados pelo software e avaliar se o mesmo pode ser usado para satisfazer assuas necessidades específicas;◦...
30◦ Conformidade relacionada à manutenibilidade: capacidade do produto de software deestar de acordo com normas ou convenç...
31Figura 5 – Representação da norma ISO/IEC 14598Fonte: SODRÉ, 2006• ISO/IEC 14598-1 – Visão Geral: contém a estrutura de ...
32do produto de software, definindo as atividades necessárias para todo o processo;• ISO/IEC 14598-6 – Módulo de Avaliação...
33Figura 6: Processo de AvaliaçãoFonte: NBR ISO/IEC 14598-1• Estabelecer os requisitos de avaliação: identificar o produto...
34qualidade, visto que essas não podem ser medidas diretamente. As métricas devem serfáceis e econômicas. A ISO/IEC 14598-...
35Nessa parte da norma são definidas atividades necessárias para analisar os requisitos deavaliação, para especificar, pro...
36provavelmente as qualidades externas também foram atendidas, o usuário esta mais interessado nouso do software, no seu d...
37diversas disciplinas, como pode ser vista na Figura 7:Figura 7: Disciplinas que contribuem em IHCFonte: adaptado de Roch...
38atitudes de seus membros , o impacto de um membro nas atividades e estrutura de um grupoe o relacionamento entre estrutu...
39de qualidade existente em um produto de software. Quando da evolução da norma expressada naNBR ISO/IEC 9126-1, este conc...
40Figura 8: Três dimensões das diferentes experiências de usuáriosFonte: adaptado de Nielsen, 1993.Segundo Nielsen (1993),...
412.4.1. UsabilidadeO termo usabilidade é frequentemente usado para se referir à capacidade de um produto serfacilmente us...
42forma que o usuário ao voltar a usá-lo depois de um certo tempo não tenha novamente queaprendê-lo. Esse atributo tanto s...
43De acordo com Pressman (2006): “Confiabilidade de software, ao contrário de muitos outrosfatores de qualidade, pode ser ...
442.4.3. EficiênciaSegundo a norma NBR 9241-11, o termo eficiência pode ser definido como “Recursos gastosem relação à acu...
45• Utilidade: capacidade de resolver ou ajudar a resolver problemas para os quais o software foiproposto.• Controle: capa...
463. Mineração de DadosSegundo Silva (2008), a informação vem desempenhando um papel fundamental em todosos setores da soc...
473.1. Descoberta de Conhecimento em Banco de Dados (KnowledgeDiscovery in Database – KDD)Descoberta de Conhecimento em Ba...
48Figura 9: Etapas do KDD.Fonte: (Fayyad, 1996)Seguem as etapas do KDD:• Seleção: este é o passo da seleção e coleta do co...
49novos dados derivados por uma operação ou por séries de operações de dados existentes natabela de dados), e redução de d...
50Figura 10: Técnicas de origem da Mineração de Dados (Data Mining).Fonte: Barbosa, 2007.3.2.1 Linhagens da Mineração de D...
51de forma que esses programas tomem diferentes decisões com base nas características dosdados estudados (Barbosa, 2007).3...
52relacionamento entre atributos e uma classe, de modo que o processo de classificação possausar este relacionamento para ...
53Dados. Rezende (2005) também diz que a tarefa de estimativa é conceitualmente similar a declassificação, sendo a princip...
54do cérebro, a rede neural tenta “aprender”, por tentativas repetidas, como melhor seorganizar para conseguir previsão má...
AVALIAÇÃO DA QUALIDADE DE UM SISTEMA DE GESTÃO ACADÊMICA ATRAVÉS DA MINERAÇÃO DE DADOS
AVALIAÇÃO DA QUALIDADE DE UM SISTEMA DE GESTÃO ACADÊMICA ATRAVÉS DA MINERAÇÃO DE DADOS
AVALIAÇÃO DA QUALIDADE DE UM SISTEMA DE GESTÃO ACADÊMICA ATRAVÉS DA MINERAÇÃO DE DADOS
AVALIAÇÃO DA QUALIDADE DE UM SISTEMA DE GESTÃO ACADÊMICA ATRAVÉS DA MINERAÇÃO DE DADOS
AVALIAÇÃO DA QUALIDADE DE UM SISTEMA DE GESTÃO ACADÊMICA ATRAVÉS DA MINERAÇÃO DE DADOS
AVALIAÇÃO DA QUALIDADE DE UM SISTEMA DE GESTÃO ACADÊMICA ATRAVÉS DA MINERAÇÃO DE DADOS
AVALIAÇÃO DA QUALIDADE DE UM SISTEMA DE GESTÃO ACADÊMICA ATRAVÉS DA MINERAÇÃO DE DADOS
AVALIAÇÃO DA QUALIDADE DE UM SISTEMA DE GESTÃO ACADÊMICA ATRAVÉS DA MINERAÇÃO DE DADOS
AVALIAÇÃO DA QUALIDADE DE UM SISTEMA DE GESTÃO ACADÊMICA ATRAVÉS DA MINERAÇÃO DE DADOS
AVALIAÇÃO DA QUALIDADE DE UM SISTEMA DE GESTÃO ACADÊMICA ATRAVÉS DA MINERAÇÃO DE DADOS
AVALIAÇÃO DA QUALIDADE DE UM SISTEMA DE GESTÃO ACADÊMICA ATRAVÉS DA MINERAÇÃO DE DADOS
AVALIAÇÃO DA QUALIDADE DE UM SISTEMA DE GESTÃO ACADÊMICA ATRAVÉS DA MINERAÇÃO DE DADOS
AVALIAÇÃO DA QUALIDADE DE UM SISTEMA DE GESTÃO ACADÊMICA ATRAVÉS DA MINERAÇÃO DE DADOS
AVALIAÇÃO DA QUALIDADE DE UM SISTEMA DE GESTÃO ACADÊMICA ATRAVÉS DA MINERAÇÃO DE DADOS
AVALIAÇÃO DA QUALIDADE DE UM SISTEMA DE GESTÃO ACADÊMICA ATRAVÉS DA MINERAÇÃO DE DADOS
AVALIAÇÃO DA QUALIDADE DE UM SISTEMA DE GESTÃO ACADÊMICA ATRAVÉS DA MINERAÇÃO DE DADOS
AVALIAÇÃO DA QUALIDADE DE UM SISTEMA DE GESTÃO ACADÊMICA ATRAVÉS DA MINERAÇÃO DE DADOS
AVALIAÇÃO DA QUALIDADE DE UM SISTEMA DE GESTÃO ACADÊMICA ATRAVÉS DA MINERAÇÃO DE DADOS
AVALIAÇÃO DA QUALIDADE DE UM SISTEMA DE GESTÃO ACADÊMICA ATRAVÉS DA MINERAÇÃO DE DADOS
AVALIAÇÃO DA QUALIDADE DE UM SISTEMA DE GESTÃO ACADÊMICA ATRAVÉS DA MINERAÇÃO DE DADOS
AVALIAÇÃO DA QUALIDADE DE UM SISTEMA DE GESTÃO ACADÊMICA ATRAVÉS DA MINERAÇÃO DE DADOS
AVALIAÇÃO DA QUALIDADE DE UM SISTEMA DE GESTÃO ACADÊMICA ATRAVÉS DA MINERAÇÃO DE DADOS
AVALIAÇÃO DA QUALIDADE DE UM SISTEMA DE GESTÃO ACADÊMICA ATRAVÉS DA MINERAÇÃO DE DADOS
AVALIAÇÃO DA QUALIDADE DE UM SISTEMA DE GESTÃO ACADÊMICA ATRAVÉS DA MINERAÇÃO DE DADOS
AVALIAÇÃO DA QUALIDADE DE UM SISTEMA DE GESTÃO ACADÊMICA ATRAVÉS DA MINERAÇÃO DE DADOS
AVALIAÇÃO DA QUALIDADE DE UM SISTEMA DE GESTÃO ACADÊMICA ATRAVÉS DA MINERAÇÃO DE DADOS
AVALIAÇÃO DA QUALIDADE DE UM SISTEMA DE GESTÃO ACADÊMICA ATRAVÉS DA MINERAÇÃO DE DADOS
AVALIAÇÃO DA QUALIDADE DE UM SISTEMA DE GESTÃO ACADÊMICA ATRAVÉS DA MINERAÇÃO DE DADOS
AVALIAÇÃO DA QUALIDADE DE UM SISTEMA DE GESTÃO ACADÊMICA ATRAVÉS DA MINERAÇÃO DE DADOS
AVALIAÇÃO DA QUALIDADE DE UM SISTEMA DE GESTÃO ACADÊMICA ATRAVÉS DA MINERAÇÃO DE DADOS
AVALIAÇÃO DA QUALIDADE DE UM SISTEMA DE GESTÃO ACADÊMICA ATRAVÉS DA MINERAÇÃO DE DADOS
AVALIAÇÃO DA QUALIDADE DE UM SISTEMA DE GESTÃO ACADÊMICA ATRAVÉS DA MINERAÇÃO DE DADOS
AVALIAÇÃO DA QUALIDADE DE UM SISTEMA DE GESTÃO ACADÊMICA ATRAVÉS DA MINERAÇÃO DE DADOS
AVALIAÇÃO DA QUALIDADE DE UM SISTEMA DE GESTÃO ACADÊMICA ATRAVÉS DA MINERAÇÃO DE DADOS
AVALIAÇÃO DA QUALIDADE DE UM SISTEMA DE GESTÃO ACADÊMICA ATRAVÉS DA MINERAÇÃO DE DADOS
Próximos SlideShares
Carregando em…5
×

AVALIAÇÃO DA QUALIDADE DE UM SISTEMA DE GESTÃO ACADÊMICA ATRAVÉS DA MINERAÇÃO DE DADOS

1.158 visualizações

Publicada em

Este é um trabalho sobre a avaliação da qualidade de produto de software utilizando técnicas de mineração de dados.

Publicada em: Tecnologia, Negócios
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
1.158
No SlideShare
0
A partir de incorporações
0
Número de incorporações
4
Ações
Compartilhamentos
0
Downloads
0
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

AVALIAÇÃO DA QUALIDADE DE UM SISTEMA DE GESTÃO ACADÊMICA ATRAVÉS DA MINERAÇÃO DE DADOS

  1. 1. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA FLUMINENSEPÓS-GRADUAÇÃO EM ANÁLISE, PROJETO E GERÊNCIA DE SISTEMAS DEINFORMAÇÃOJULIANA DA SILVA CINDRALÍVIA CASSIANO RANGELAVALIAÇÃO DA QUALIDADE DE UM SISTEMA DE GESTÃO ACADÊMICA ATRAVÉSDA MINERAÇÃO DE DADOSCampos dos Goytacazes/RJ2012
  2. 2. JULIANA DA SILVA CINDRALÍVIA CASSIANO RANGELAVALIAÇÃO DA QUALIDADE DE UM SISTEMA DE GESTÃO ACADÊMICA ATRAVÉSDA MINERAÇÃO DE DADOSMonografia apresentada ao Instituto Federal deEducação, Ciência e Tecnologia Fluminense comorequisito parcial para conclusão da Pós-Graduação emAnálise, Projeto e Gerência de Sistemas deInformação.Orientadora: Simone Vasconcelos SilvaCampos dos Goytacazes/RJ2012
  3. 3. JULIANA DA SILVA CINDRALÍVIA CASSIANO RANGELAVALIAÇÃO DA QUALIDADE DE UM SISTEMA DE GESTÃO ACADÊMICA ATRAVÉSDA MINERAÇÃO DE DADOSMonografia apresentada ao Instituto Federal deEducação, Ciência e Tecnologia Fluminense comorequisito parcial para conclusão da Pós-Graduação emAnálise, Projeto e Gerência de Sistemas deInformação.Aprovada em 28 de setembro de 2012Banca Avaliadora:..................................................................................................................................................Profª Simone Vasconcelos Silva (orientadora)Doutora em Computação/UFFInstituto Federal de Educação, Ciência e Tecnologia Fluminense/Campus Campos Centro..................................................................................................................................................Profº Mauricio Jose Viana AmorimDoutor em Informática na Educação/UFRGSInstituto Federal de Educação, Ciência e Tecnologia Fluminense/Campus Campos Centro..................................................................................................................................................Profª Ana Silvia Escocard SantiagoMestre em Pesquisa Operacional e Inteligência Computacional/UCAMInstituto Federal de Educação, Ciência e Tecnologia Fluminense/Campus Campos Centro
  4. 4. As pessoas esquecem quão rapidamente você fez umtrabalho – mas elas sempre se lembram de quão bemvocê o fez.Howard Newton
  5. 5. RESUMONos últimos anos é notória a crescente a demanda por sistemas complexos, os quais assumemgrandes responsabilidades no contexto organizacional, sendo necessário que haja um controle dequalidade através do qual seja possível garantir segurança, disponibilidade de serviços essenciais efacilidade de utilização dos recursos do software. Para que isto ocorra, é importante levar em conta avisão do usuário sobre o sistema. Adequar a qualidade dos produtos de software, de modo que omesmo atenda aos usuários em suas necessidades, torna-se imprescindível. A norma ISO/IEC 9126indica as características de um software de qualidade, cuida de maneira geral do que é necessáriopara realizar uma avaliação, estabelece um modelo de qualidade para o produto, assim comoapresenta uma ampla descrição de como verificar, qualitativa e quantitativamente, se o produtopossui qualidade. Já a norma ISO/IEC 14598 orienta sobre a avaliação do modelo de qualidade,abrange os aspectos gerenciais, sugere estabelecer uma metodologia precisa na organização assimcomo indica a documentação que deve acompanhar todo o processo. Estas normas orientam aavaliação do Sistema de Gestão Acadêmica (SIGA-EPCT), apresentado como estudo de caso nestetrabalho. Uma avaliação sobre o sistema, realizada pelos usuários de acordo com experiência no usodo software, indica a satisfação em relação a alguns pontos e ao sistema como um todo; e tambémapontam possíveis pontos que devem ser melhorados ou revistos no produto de software. De possedo resultado das avaliações sobre a qualidade do sistema, é importante extrair informações úteis, ouseja, extrair conhecimentos detalhados sobre os pontos fortes e fracos do sistema. Como forma deextração deste conhecimento são utilizadas técnicas de Mineração de Dados com o objetivo detornar mais viável o entendimento dos resultados das avaliações, verificando a validade dos mesmose as razões que levaram a tais resultados, para que possam ser adotadas medidas para minimizaçãodos problemas identificados no sistema.Palavras-chave: qualidade de software, avaliação da qualidade do produto de software, mineração dedados.
  6. 6. ABSTRACTIn recent years it is evident the increasing demand for complex systems, which assume greaterresponsibilities in the organizational context, being necessary that such systems have a qualitycontrol, which means that you can ensure security, availability of essential services and ease of useof software features. For this to occur, it is important to take into account the users view about thesystem. Adapt the quality of software products, so that it meets the users needs, becomes essential.The standard ISO/IEC 9126 indicates the characteristics of a software quality, care in general aboutwhat is necessary to conduct an evaluation, establish a model for the product quality, as well asprovides a comprehensive description of how to check qualitatively and quantitatively, if the producthas quality. Already the standard ISO/IEC 14598 provides guidance on the evaluation of modelquality, covers the management aspects, suggests establishing a precise methodology in theorganization even as indicates the documentation that must accompany the whole process. Thesestandards guide the evaluation of Sistema de Gestão Acadêmica (SIGA-EPCT), presented as a casestudy in this work. An evaluation of the system, held by the user in accordance with experienceusing the software, indicates satisfaction regarding some points and the system as a whole; and alsopoint out possible points that should be improved or revised in the software product. In possessionof the evaluations result of the system quality, it is important to extract useful information, in otherwords, extracting detailed knowledge about the strengths and weaknesses points of the system. As aform of extraction of this knowledge are used techniques of Data Mining with the goal of makingmore viable the understanding of evaluation results, verifying their validity and reasons for suchresults, so decisions can be taken to minimize the problems identified in the system.Key-words: software quality, quality software product evaluation, data mining.
  7. 7. SIGLAS E ABREVIATURASABNT Associação Brasileira de Normas TécnicasB BomI InexistenteIEC International ElectrotechnicalIEEE Institute of Electrical and Electronic EngineersIFF Instituto Federal de Educação, Ciência e Tecnologia FluminenseIHC Interação Homem-ComputadorISO International Organization for StandardizationKDD Knowledge Discovery in DatabaseM MédioMB Muito BomMEC Ministério da EducaçãoP PéssimoR RuimSETEC Secretaria de Educação Profissional e TecnológicaSIGA-ADM Sistema Integrado de Gestão Acadêmica AdministrativaSIGA-EDU Sistema Integrado de Gestão Acadêmica da EducaçãoSIGA-EPCT Sistema Integrado de Gestão Acadêmica da Educação Profissional eTecnológicaSQUARE Software product Quality Requirements and EvaluationUFJF Universidade Federal de Juiz de ForaWEKA Waikato Enviroment for Knowledge Analysis
  8. 8. LISTA DE FIGURASFigura 1: Engenharia de software em camadas …......................................................................... 17Figura 2: Partes componentes da ISO/IEC 25000 ….................................................................... 24Figura 3: Estrutura hierárquica do modelo de qualidade ….......................................................... 27Figura 4: Características e subcaracterísticas da norma ISO/IEC 9126-1 …................................. 27Figura 5: Representação da norma ISO/IEC 14598 …................................................................ 31Figura 6: Processo de Avaliação …............................................................................................... 33Figura 7: Disciplinas que contribuem em IHC .............................................................................. 37Figura 8: Três dimensões das diferentes experiências de usuários ............................................... 40Figura 9: Etapas do KDD .............................................................................................................. 48Figura 10: Técnicas de origem da Mineração de Dados (Data Mining) ....................................... 50Figura 11: Questionário utilizado como forma de avaliação da satisfação do usuário …............. 59Figura 12: Tela inicial do Módulo Protocolo ................................................................................ 64Figura 13: Tela inicial do Módulo Requisição de Veículos, perfil Requisitante …....................... 65Figura 14: Tela inicial da ferramenta Weka ................................................................................... 66Figura 15: Arquivo Questionário.arff ............................................................................................ 68Figura 16: Árvore de Decisão (Tempo de Experiência x Satisfação) ........................................... 73Figura 17: Árvore de Decisão (Módulo x Satisfação) ................................................................... 74Figura 18: Árvore de Decisão (Cargo x Satisfação) ...................................................................... 74
  9. 9. LISTA DE TABELASTabela 1: Principais normas e modelos nacionais e internacionais de qualidade de software ….. 22Tabela 2: Partes das normas ISO/IEC 9126 e 14598 ..................................................................... 23Tabela 3: Relação entre Técnica e Tarefa de Mineração de Dados ............................................... 55Tabela 4: Características, Sub-características e Critérios utilizados na avaliação do software …. 58Tabela 5: Tarefas, Técnicas e Algoritmos a serem utilizados ....................................................... 61Tabela 6: Setores que participaram da pesquisa e a quantidade de usuários por setor …............. 67Tabela 7: Relação entre Tarefa e Técnica para Clusterização ....................................................... 69Tabela 8: Módulo X Satisfação (Atributos ignorados: Cargo e Tempo de Experiência) ….......... 70Tabela 9: Cargo X Satisfação (Atributos Ignorados: Módulo e Tempo de Experiência) ….......... 71Tabela 10: Relação entre Tarefa e Técnica para Associação ......................................................... 71Tabela 11: Regras Identificadas .................................................................................................... 72Tabela 12: Relação entre Tarefa e Técnica para Decisão .............................................................. 73
  10. 10. 10Sumário1. Introdução.......................................................................................................................................121.1. Objetivo...................................................................................................................................131.2. Estrutura do trabalho...............................................................................................................142. Qualidade........................................................................................................................................162.1. Histórico de Qualidade...........................................................................................................182.2. Qualidade de Software............................................................................................................192.3. Normas de Qualidade de Software.........................................................................................212.3.1. SQuaRE: ISO/IEC 25000 ............................................................................................232.3.2. ISO/IEC 9126...............................................................................................................252.3.3. ISO/IEC 14598 ............................................................................................................302.4. Qualidade para o Usuário.......................................................................................................352.4.1. Usabilidade...................................................................................................................412.4.2. Confiabilidade..............................................................................................................422.4.3. Eficiência......................................................................................................................442.4.4. Funcionalidade.............................................................................................................443. Mineração de Dados.......................................................................................................................463.1. Descoberta de Conhecimento em Banco de Dados (Knowledge Discovery in Database –KDD)..................................................................................................................................................473.2. Mineração de Dados (Data Mining).......................................................................................493.2.1 Linhagens da Mineração de Dados...............................................................................503.2.2 Tarefas da Mineração de Dados....................................................................................513.2.3 Técnicas de Mineração de Dados..................................................................................534. Avaliação da Qualidade do Produto de Software através de Mineração de Dados........................574.1 Seleção dos Critérios e da Técnica de avaliação....................................................................574.2 Etapas do KDD.......................................................................................................................605. Metodologia e Estudo de caso........................................................................................................625.1. Sistema SIGA........................................................................................................................625.2. Weka......................................................................................................................................65
  11. 11. 115.3. Caracterização da amostra.....................................................................................................675.3.1. Aplicação da metodologia para o SIGA......................................................................685.3.1.1. Resultados e Análises com Algoritmo de Clusterização.................................695.3.1.2. Resultados e Análises com Algoritmo de Associação.....................................715.3.1.3. Resultados e Análises com Algoritmo de Decisão..........................................736. Conclusão.......................................................................................................................................766.1. Trabalhos futuros.....................................................................................................................76Referências.........................................................................................................................................78Apêndice I - Questionário...................................................................................................................84Apêndice II – Arquivo Questionário.arff............................................................................................85Apêndice III – Arquivo Questionário.xls............................................................................................86Anexo .................................................................................................................................................87
  12. 12. 121. IntroduçãoNa medida em que cresce a demanda por sistemas complexos, com grande responsabilidadeno contexto das organizações, a qualidade desponta como um fator essencial no desenvolvimento desoftware. Sendo assim, cada vez mais, há uma disposição para se investir em qualidade (DUARTE;FALBO, 2000). Atualmente, não apenas no desenvolvimento, mas a avaliação da qualidade deprodutos ou serviços tornou-se uma necessidade, visto que os usuários estão cada vez maisexigentes quanto a qualidade dos produtos ou serviços adquiridos (SILVA, 2008).De acordo com a norma NBR ISO 9000 (2005), qualidade é definida como o grau em queum conjunto de características inerentes a um produto, processo ou sistema cumpre os requisitosinicialmente estipulados para estes. Dentro da qualidade de software pode-se distinguir dois ramosque possuem características um pouco distintas quando se trata de manter e avaliar a qualidade,estes podem ser definidos como qualidade de processo e qualidade do produto, Duarte e Falbo(2000) apresentam os termos definindo-os: qualidade do processo possui características dequalidade relevantes para descrever e avaliar a qualidade do processo de software ou de uma de suasatividades, como por exemplo, desempenho do processo, capacitação, produtividade; já a qualidadedo produto possui características de qualidade relevantes para descrever e avaliar um artefato1, porexemplo, tamanho, legibilidade, confiabilidade. Neste trabalho será abordado apenas o que se referea qualidade do produto.Entende-se como produto a relação entre um artefato e uma atividade, indicando que oartefato é produzido pela atividade (DUARTE; FALBO, 2000). Observando a definição, pode-sedizer então que produtos de software são a associação de resultados e atividades realizadas duranteo processo de desenvolvimento de software, ou seja, o próprio software já desenvolvido.A preocupação com metodologias de produção de software que permitam a qualidade dossoftwares e a satisfação do usuário é crescente na indústria de software. Um dos importantesaspectos da qualidade de software, que tem merecido crescente atenção é a qualidade da interação1Um artefato é o termo usado para qualquer produto de trabalho: código, gráficos para web, esquemas de bancos dedados, documentos em texto, diagramas, e assim por diante (Larman, 2005).
  13. 13. 13entre o usuário e os softwares. As técnicas de avaliação da qualidade de software podem vir aauxiliar o setor de desenvolvimento de software a alcançar um grau de satisfação maior dos usuáriosem relação aos produtos desenvolvidos e assim, aproximar as características de seus produtos desoftware às demandas dos usuários. Para tal fim, é necessário transformar os dados obtidos nastécnicas de avaliação em informação relevante. A informação vem desempenhando cada vez maisum papel fundamental em todos os setores da sociedade. O desenvolvimento e sucesso dasorganizações baseiam-se na capacidade de coletar, tratar, interpretar e utilizar a informação deforma eficaz. A rápida evolução dos recursos computacionais, ocorrida nos últimos anos permitiuque fossem gerados grandes volumes de dados. Surge então a Mineração de Dados, como resposta atal necessidade apresentada com esse crescimento do volume de dados, que necessitam de novastécnicas e ferramentas capazes de transformar dados em informações significativas e emconhecimento (SILVA, 2008).1.1. ObjetivoA Mineração de Dados é parte de um processo maior denominado Descoberta deConhecimento em Banco de Dados (Knowledge Discovery in Database - KDD) (BRAGA, 2005).Como sugere o termo, Mineração de Dados tem uma orientação exploratória de busca porconhecimento obscurecido pelos complexos padrões de associação e grande quantidade de dados. Éo processo de obtenção de informação e conhecimento a partir de grande base de dados (HAIR etal, 1998).Neste trabalho será realizada a avaliação da qualidade de um produto de software, através dequestionários aplicados aos usuários do sistema e da análise das informações através da mineraçãode dados. O objetivo principal deste trabalho é a avaliação da qualidade de um produto de softwareutilizando das técnicas e ferramentas de extração inteligente de conhecimento em bases de dados. Ametodologia utiliza questionários respondidos pelos usuários para alimentar a base de dados na qualserá aplicada a mineração de dados e obtida a informação desejada. O objetivo principal pode serdividido nos seguintes objetivos específicos:
  14. 14. 14• Realizar uma análise do produto de software, apresentando o grau de satisfação do usuárioem relação ao uso do sistema;• Através do estudo de caso, verificar como o grau de satisfação pode variar de acordo com operfil dos usuários e com o módulo utilizado;• Sugerir quais critérios devem ser melhorados visando satisfazer as necessidades dosusuários.1.2. Estrutura do trabalhoEste trabalho está estruturada em 6 capítulos.• O Capítulo 1 introduz o tema do trabalho, apresentando uma descrição do problema tratado,os objetivos pretendidos e a justificativa para a sua elaboração;• O Capítulo 2 fornece um referencial teórico a respeito da qualidade, qualidade de software,sua história, as normas de qualidade, descrevendo as normas 9126-1 e 14598 (parte 1 e 5)que são utilizadas nesse trabalho e ainda aborda a qualidade para o usuário;• O Capítulo 3 apresenta um referencial teórico a respeito da Mineração de dados, abordandotemas como a Descoberta de Conhecimento em Banco de Dados e as linhagens e técnicas daMineração de Dados. Tanto neste capítulo quanto no Capítulo 2, os conceitos são destacadoscom o objetivo de facilitar o entendimento a respeito de como metodologia está estruturada;• O Capítulo 4 descreve a metodologia proposta, detalhando suas etapas, a seleção doscritérios, a seleção da técnica de avaliação, as etapas do KDD e os critérios e técnicas deavaliação;• O Capítulo 5 apresenta o estudo de caso realizado tendo como base a metodologia proposta.Neste capítulo a execução de cada etapa é descrita em detalhes, permitindo que secompreenda como o estudo de caso foi realizado e os resultados obtidos a partir de suaexecução;• O Capítulo 6 refere-se enfim as considerações finais que podem ser feitas a partir do estudo
  15. 15. 15realizado. Este capítulo também apresenta as limitações identificadas e as sugestões paratrabalhos futuros.Este trabalho é composto ainda por Apêndice e Anexo. O Apêndice contêm o questionárioutilizado na avaliação do software, os dados da pesquisa e o arquivo utilizado na mineração dedados; e o anexo fornece uma descrição a respeito dos algoritmos de mineração de dados (APriori,KMeans e RandomTree) utilizados neste trabalho.
  16. 16. 162. QualidadeOs computadores têm tido uma aplicação cada vez maior, em diferentes áreas, e sua corretaoperação é frequentemente crítica para o sucesso de negócios e até mesmo para a segurançahumana. Deste modo, desenvolver ou selecionar produtos de software de alta qualidade é deprimordial importância num mercado cada vez maior e mais competitivo.A ideia de qualidade é aparentemente intuitiva; contudo, quando examinado mais de perto, oconceito se revela complexo. Definir qualidade é uma tarefa menos trivial do que pode parecer. Umadas definições apresentada pelo dicionário Michaelis define qualidade como “Grau de perfeição, deprecisão, de conformidade a um certo padrão”.Talvez a melhor das definições, por ser a mais ampla e aplicável a uma variedade de situaçõesé a de Joseph Juran: “Qualidade é a adequação ao uso”. Pode-se aplicá-la, seja a situações docotidiano, quanto a situações mais específicas, como, por exemplo, num processo de fabricação.Nesse caso, a definição de Philip Crosby, qualidade é a conformidade com os requisitos (requisitossignifica tanto o produto quanto as necessidades do cliente), é uma variação mais restritiva dadefinição de Juran (SILVA, 2010).O site da Sociedade Americana para a Qualidade (ASQ - American Society for Quality)apresenta o seguinte conceito (http://asq.org/glossary/q.html):“Qualidade – Um termo subjetivo, para o qual cada pessoa, ou setor,tem a sua própria definição. Em sua utilização técnica, a qualidade pode terdois significados:1. As características de um produto ou serviço, que dão suporte (ousustentação), à sua habilidade em satisfazer requisitos especificados ounecessidades implícitas e;2. Um produto ou serviço livre de deficiências.”A norma NBR ISO 9000 (2005), que estabelece um modelo de gestão da qualidade paraorganizações em geral, define qualidade como “[...] o grau em que um conjunto de características
  17. 17. 17inerentes a um produto, processo ou sistema cumpre os requisitos inicialmente estipulados paraestes”, sendo que características, segundo a própria norma são propriedades diferenciadoras,podendo ser de diferentes tipos, como físicas, sensoriais, comportamentais, temporais, ergonômicasou funcionais.A qualidade também é um assunto tratado pelas Engenharias, é uma área de conhecimentofundamental em todas elas, e na Engenharia de Software não seria diferente. Segundo Pressman(2006), Fritz Bauer foi o primeiro a definir que a Engenharia de Software é “a criação e a utilizaçãode sólidos princípios de engenharia a fim de obter softwares econômicos que sejam confiáveis e quetrabalhem eficientemente em máquinas reais.”Ainda de acordo com Pressman (2006), “A engenharia de software é uma tecnologia emcamadas” e a Figura 1 foi apresentada para ilustrar essa divisão.Figura 1: Engenharia de software em camadasFonte: Pressman (2006)Como pode ser visto, o foco na qualidade é a base que apoia todas as outras camadas.Qualquer abordagem de engenharia (inclusive a engenharia de software) deve se apoiar numcompromisso organizacional com a qualidade. Segundo o autor, é “a cultura de um processocontínuo de aperfeiçoamento (…) que leva ao desenvolvimento de abordagens cada vez maisefetivas para a engenharia de software”.
  18. 18. 182.1. Histórico de QualidadeA Revolução Industrial pode ser considerada como o primeiro grande marco da história daqualidade. Nessa época novas tecnologias surgiram, o número de indústrias começou a crescer etambém a concorrência entre elas e fez nascer a necessidade de um processo de melhoria dosprodutos (KOSCIANSKI; SOARES, 2007).Ainda de acordo com Koscianski e Soares (2007), a partir da década de 20, a produçãoindustrial passou a adotar um processo de qualidade. A fim de evitar que produtos defeituososchegassem aos clientes surgiu o controle estatístico da produção. Como a produção industrial ocorreem grande escala, não era possível verificar a qualidade de cada peça produzida, então o processode qualidade era feito através de um controle estatístico, em que algumas peças eram analisadasaleatoriamente. Quanto mais próximas ao padrão, melhor seria a qualidade daquela linha deprodução.Foi na década de 40 que os principais órgãos ligados à qualidade foram criados, como aAssociação Brasileira de Normas Técnicas (ABNT) e a Organização Internacional paraPadronização (ISO – International Organization for Standardization). Porém, antes destasorganizações, em 1906, a Comissão Eletrotécnica Internacional, conhecida pela sigla IEC(International Electrotechnical Commission) foi fundada em Londres, Inglaterra, com o objetivo depadronizar nomenclaturas, símbolos e tecnologias elétricas e eletrônicas (IEC, 2012).A ISO foi estabelecida em 1947, uma organização mundial não governamental, compostapelos órgãos nacionais de padronização de 163 países. Com sede em Genebra, Suíça, tem comoprincipal atividade a elaboração de padrões para especificações e métodos de trabalho nas maisvariadas áreas. O principal objetivo da ISO é o desenvolvimento de padrões mundiais, com vistas afacilitação do intercâmbio internacional de produtos e serviços e a criação de uma cooperaçãointelectual, científica, econômica e técnica (ISO, 2011).No Brasil, a ABNT foi fundada em 1940, é o único órgão responsável pela normalizaçãotécnica no país, fornecendo a base necessária ao desenvolvimento tecnológico brasileiro. É umaentidade privada, sem fins lucrativos, e representa o Brasil nas entidades de normalizaçãointernacional como a ISO e o IEC (ABNT, 2011).
  19. 19. 19Segundo Sodré (2006), no período de duração da Segunda Guerra Mundial, de 1939 a 1945,as técnicas de produção foram melhoradas para a fabricação de materiais bélicos, pois é esperadoque este tipo de material não tenha falha. O ritmo de desenvolvimento das indústrias manteve-se nopós-guerra e foi criado um controle de processos da produção desde o projeto até o produto final. Apartir do controle de processos foi criado um novo conceito, a garantia de qualidade, que é ademonstração de que os produtos e serviços possuem qualidade. Nessa época, as indústrias quemais estavam crescendo eram a automobilística e aeronáutica, e ainda que para uso restrito a meiosmilitares e acadêmicos, já havia o desenvolvimento de computadores.Nos anos 60, houve uma mudança no ambiente de negócios devido a diversos fatores como asaturação dos mercados, procura por produtos diferenciados, utilização de alta tecnologia nosprocessos produtivos, redução das barreiras do comércio internacional e a intensificação dacompetição internacional. Nessa época, os computadores se tornaram mais acessíveis e cada vezmais pessoas passaram a usá-los. Com isso começou a se pensar em Qualidade de Software(SODRÉ, 2006).O conceito de Qualidade de Software surgiu devido a necessidade de organização epadronização do desenvolvimento de softwares, que não tinham planejamento nem norma dequalidade estabelecidos. A única forma de obter um sistema eficiente era através do planejamentofeito pelo próprio programador, entretanto esses sistemas tinham manutenção complicada quandorealizada por outra pessoa e não eram completamente confiáveis.2.2. Qualidade de SoftwareQualidade de software é uma mistura complexa de fatores que variam com cada aplicaçãodiferente e com os clientes que as encomendam. Em sentindo mais geral, Pressman (2006) definequalidade de software como “a satisfação de requisitos funcionais e de desempenho explicitamentedeclarados, a padrões de desenvolvimento claramente documentados e a características implícitasque são esperadas de todo software profissionalmente desenvolvido”. Uma definição mais simples,aplicável também a qualidade de software, é feita por Crosby, ao dizer que qualidade é a
  20. 20. 20“conformidade com os requisitos”. De maneira mais abrangente temos a definição proposta porBartié (2002): "Qualidade de software é um processo sistemático que focaliza todas as etapas eartefatos produzidos com o objetivo de garantir a conformidade de processos e produtos, prevenindoe eliminando defeitos".O IEEE (Institute of Electrical and Electronic Engineers) aplica a seguinte definição paraqualidade de software: “[...] o grau em que um sistema, componente ou processo satisfaz osrequisitos especificados. O grau em que um sistema, componente ou processo atende cliente ouusuário necessidades ou expectativas.” (NASA, 2009).A norma NBR ISO/IEC 9126-1, utilizada neste trabalho, conceitua qualidade de softwarecomo “A totalidade de características de um produto de software que lhe confere a capacidade desatisfazer necessidades explícitas e implícitas”. As necessidades explícitas dependem do que foiespecificado nos requisitos, já as implícitas são necessidades, que embora não estejam especificadasnos requisitos, devem ser levadas em consideração, pois se baseiam em princípios necessários paraque o usuário execute a sua tarefa.Ainda segundo a NBR ISO/IEC 9126-1, as necessidades explicitadas pelo usuário nemsempre refletem suas reais necessidades devido alguns fatores: frequentemente, o usuário nãoconhece suas necessidades reais; as necessidades podem mudar; usuários diferentes podem terambientes operacionais diferentes e pode ser impossível consultar todos os tipos de usuários.A utilização de um software de qualidade garante a segurança, a disponibilidade de serviçosessenciais e, em geral, a sociedade pode dispor de melhores produtos a um menor custo. De acordocom Koscianski e Soares (2007), o controle da qualidade surge como uma necessidade; e aavaliação para julgamento da qualidade de software torna-se muito útil e importante para as pessoasenvolvidas ou as partes interessadas que são:• Produtor de software: na avaliação durante o processo de desenvolvimento para assegurar aqualidade do produto final e corrigir aspectos negativos antes da liberação do produto. Noproduto já lançado para avaliar e planejar ações corretivas e evolutivas.• Comprador: ajudá-lo na seleção do produto mais adequado as suas necessidades.• Usuário: ajudá-lo a ter mais confiança no produto que está usando.• Vendedor: este usa a qualidade do produto para argumento de venda.
  21. 21. 21A avaliação da Qualidade de Software pode ser dividida em qualidade de processo desoftware e qualidade de produto de software. As normas para obtenção de qualidade de processo desoftware fazem um estudo dos requisitos necessários ao cliente, cria um ciclo de vida para osprocessos e, por final, realiza a instalação e manutenção do mesmo. Já as normas para qualidade deproduto de software possuem características que um produto com qualidade deve ter, modo de mediressas características de qualidade e descrições para se fazer a avaliação do produto.Processo de software, de acordo com Koscianski e Soares (2007), é um conjunto de atividadese resultados associados que levam a produção de um produto de software. O estudo da Qualidade doProcesso de Software desenvolve modelos na tentativa de avaliar processos, com o intuito demelhorá-lo continuamente e determinar sua capacitação.A qualidade de produto de software, ainda segundo os autores, é baseada em normas queavaliam a qualidade de um produto, através de técnicas, métricas e atividades operacionais o quantocada requisito é atendido. Tais requisitos de uma maneira geral, são a expressão das necessidades,explicitados em termos quantitativos ou qualitativos, e têm por objetivo definir as características deum software, a fim de permitir o exame de seu atendimento. Este trabalho abordará as normas dequalidade de produto de software.2.3. Normas de Qualidade de SoftwareAs normas internacionais de qualidade são criadas com base no trabalho de especialistas domundo todo. Essas normas tornaram-se a base para especificar produtos, organizar o fornecimentode serviços e, até mesmo, para elaborar legislação em vários países.Existe um número expressivo de normas técnicas internacionais relacionadas com software eem sua maioria, senão na totalidade, as normas de software têm um caráter mais informativo do queregulatório. Ou seja, enquanto existem normas a serem respeitadas, como forma de lei, parainstalação elétrica de um prédio, por exemplo, o mesmo não acontece em relação ao software.Atualmente, muitas instituições se preocupam em criar normas para permitir a corretaavaliação de qualidade tanto de produtos de software quanto de processos de desenvolvimento de
  22. 22. 22software. Apenas para ter uma visão geral, pode-se observar a Tabela 1 com as principais normais emodelos nacionais e internacionais nesta área.Tabela 1: Principais normas e modelos nacionais e internacionais de qualidade de softwareNormas de Qualidade do ProdutoISO/IEC 9126 Características da qualidade de produtos de software. A norma brasileiracorrespondente é ABNT NBR ISO/IEC 9126.ISO/IEC 14598 Guias para a avaliação de produtos de software, baseados na utilizaçãoprática da norma ISO/IEC 9126. A norma brasileira correspondente é ABNTNBR ISO/IEC 14598.ISO/IEC 25000 Fornece um guia para o uso da série de padrões internacionais denominadoSoftware product Quality Requirements and Evaluation (SQuaRE).Normas e Modelos de Qualidade do ProcessoISO/IEC 12207 Software Life Cycle Processes (Processos de ciclo de vida do software):qualidade do processo de desenvolvimento de software.ISO 9000 Sistemas de gestão da qualidade: fundamentos e vocabulário.CMMI Capability Maturity Model Integration (Integração dos Modelos deCapacitação e Maturidade): modelo de referência que contém práticasnecessárias à maturidade em disciplinas específicas.ISO/IEC 15504 Também conhecida como Spice, define processo de desenvolvimento desoftware.MPS-Br Melhoria de Processos do Software Brasileiro: modelo de qualidade deprocesso voltada para o mercado brasileiro.As organizações internacionais ISO e IEC elaboraram um conjunto de normas que tratam,especificamente, sobre a atual padronização mundial para a qualidade dos produtos de software.Algumas dessas normas foram utilizadas como base para o desenvolvimento desse trabalho, comoas normas ISO/IEC 9126 e ISO/IEC 14598. Ambas as normas foram reorganizadas através doprojeto SQuaRE (ISO/IEC 25000) e serão mais detalhadas a seguir.
  23. 23. 232.3.1. SQuaRE: ISO/IEC 25000SQuaRE significa Software product Quality Requirements and Evaluation, que pode sertraduzida como Requisitos de Qualidade e Avaliação de Produtos de Software. Essa norma é umaevolução das séries de normas ISO/IEC 9126 e ISO/IEC 14598 que tratam de qualidade de produtode software (PREVIEW ISO/IEC 25000, 2005).As normas 9126 e 14598 abordam a qualidade de produto de software e são compostas por umtotal de dez documentos. A ideia de reorganizar essas normas, iniciou em 1998, durante umareunião da Comissão de Estudos de Qualidade de Software da ABNT, que percebeu que paracompreender determinado tópico, poderia ser necessário consultar vários outros documentos. Entãoa comissão propôs a criação de um guia ou manual de utilização, para auxiliar os leitores acompreenderem as ideias e conceitos básicos das normas, assim como a distribuição de informaçãoao longo dos dez documentos. A proposta foi considerada tão interessante que foi solicitada a suatradução para inglês. O passo seguinte foi uma total reformulação das normas através do projetoSQuaRE (KOSCIANSKI, SOARES, 2007).O projeto SQuaRE reorganizou o material existente nas duas séries de normas anteriores(ISO/IEC 9126 e 14598), mas não realizou mudanças radicais no conteúdo do material preexistente.O modelo hierárquico de qualidade proposto na 9126 continuou válido, assim como diversosaspectos organizacionais abordados na 14598. Esses documentos são mostrados na Tabela 2:Tabela 2: Partes das normas ISO/IEC 9126 e 14598Fonte: Koscianski, Soares, 2007Norma Conteúdo9126-1 Modelo de qualidade de software9126-2 Métricas externas9126-3 Métricas Internas9126-4 Métricas para qualidade em uso14598-1 Guia de avaliação – visão geral14598-2 Planejamento e gerenciamento de avaliações14598-3 Processo de avaliação para desenvolvedores14598-4 Processo de avaliação para adquirentes14598-5 Processo de avaliação para avaliadores14598-6 Documentação de módulos de avaliação
  24. 24. 24Ainda segundo os autores, a série 9126 cuida de maneira geral do que é necessário pararealizar uma avaliação, estabelece um modelo de qualidade para o produto, assim como apresentauma ampla descrição de como verificar, qualitativa e quantitativamente, se o produto possuiqualidade. Já a série 14598 abrange os aspectos gerenciais, sugere estabelecer uma metodologiaprecisa na empresa, assim como indica a documentação que deve acompanhar todo o processo.Na reorganização das normas ISO/IEC 9126 e 14598, o projeto SQuaRE adotou uma novadivisão de assuntos em cinco tópicos como mostrado na Figura 2:Figura 2: Partes componentes da ISO/IEC 25000Fonte: Koscianski; Soares, 2007Cada divisão é composta por um conjunto de documentos e trata de um assunto em particular.As cinco divisões são comentadas a seguir (KOSCIANSKI; SOARES, 2007):• Gerenciamento de qualidade: os documentos desta divisão estão voltados a todos ospossíveis usuários: gerentes, programadores, avaliadores, compradores. Aqui são definidosos termos utilizados nos demais documentos e são feitas recomendações e sugestões decaráter geral sobre como utilizar o SQuaRE.• Modelo de qualidade: corresponde principalmente a antiga ISO 9126-1, onde é definido ummodelo hierárquico de características de qualidade, descrevendo o que se espera de umproduto. São definidos também os conceitos de qualidade externa, interna e em uso, quepermitem orientar diferentes perspectivas de avaliação.
  25. 25. 25• Medição: Define o que é uma medição e descreve os diversos aspectos relacionados arealização dessa tarefa. Propõe também uma série de métricas que podem ser utilizadas ouadaptadas a necessidades específicas.• Requisitos de qualidade: Para garantir qualidade é preciso que valores-alvo tenham sidopreviamente especificados, o que faz parte da especificação de requisitos.• Avaliação: a SQuaRE concretiza-se na realização de uma avaliação de qualidade a partir demedições cujos resultados são confrontados contra um modelo definido pelo usuário. Pararealizar uma avaliação são sugeridos procedimentos a serem adotados para diferentespúblicos da norma, como desenvolvedores e compradores.Vale enfatizar dois aspectos: a série ISO/IEC 25000 se baseia em séries anteriores quecontinuam válidas e podem ser utilizadas. O projeto SQuaRE não surgiu para desmentir taisnormas, mas sim para reorganizá-las. Em segundo lugar, iremos abordar somente os aspectosrelevantes ao desenvolvimento desse trabalho, como o modelo de qualidade da norma ISO/IEC 9126e o processo de avaliação da norma ISO/IEC 14598.2.3.2. ISO/IEC 9126A norma internacional ISO/IEC 9126 foi desenvolvida por um comitê técnico estabelecidopelas organizações ISO e IEC e publicada em 1991. A norma descreve um modelo de qualidade eexemplos de métricas que podem ser utilizadas para avaliação do produto de software, sendodividida da seguinte maneira (NBR ISO/IEC 9216-1, 2003):• ISO/IEC 9126-1: Modelo de qualidade• ISO/IEC 9126-2: Métricas externas• ISO/IEC 9126-3: Métricas internas• ISO/IEC 9126-4: Métricas de qualidade em uso
  26. 26. 26A ISO/IEC 9126-1 (Modelo de qualidade) foi publicada em 1991, sendo considerada uma dasmais antigas normas na área de qualidade de software e atualmente encontra-se traduzida para oportuguês através da norma NBR ISO/IEC 9126-1, publicada em 2003. Esta parte é abordada maisdetalhadamente devido a sua relevância no contexto deste trabalho.A ISO/IEC 9126-1 é uma norma de avaliação do produto de software, onde são descritascaracterísticas de qualidade e diretrizes para a sua utilização. Na norma também é descrito ummodelo para a qualidade do produto de software, dividido em 2 partes (KOSCIANSKI; SOARES,2007):• Qualidade interna e Qualidade externa: A qualidade interna se refere a avaliação daarquitetura interna do produto, ou seja, a qualidade de organização do código, acomplexidade algorítmica entre outros, o que pode elevar o custo da manutenção e o tempode resposta do sistema. A qualidade externa considera o produto uma caixa-preta, nãoimportando o código ou a arquitetura utilizados. Para realizar essa avaliação são definidasseis características de qualidade interna e externa, que são ainda subdivididas emsubcaracterísticas, objetivando definir o quanto um produto satisfaz as necessidadesexplícitas e implícitas quando utilizados em condições especificadas;• Qualidade em uso: Consiste na visão do usuário a respeito da qualidade do software noambiente em que esta inserido. É medida em relação ao resultado da utilização do software enão em relação as características do produto.O modelo de qualidade descrito é representado de forma hierárquica, através de um conjuntode características e subcaracterísticas que devem ser verificadas, e certificam o produto de softwarequanto a sua qualidade. Na figura 3, podemos visualizar a estrutura hierárquica do modelo, onde sãodefinidas no primeiro nível as características de qualidade do produto, no segundo nível assubcaracterísticas e no terceiro nível os atributos ou critérios, que são definidos de acordo com ousuário do modelo.
  27. 27. 27Figura 3: Estrutura hierárquica do modelo de qualidade.De acordo com a própria norma, essa estrutura hierárquica foi pensada visando delimitarmelhor o amplo universo contemplado pela característica, definindo conceitos mais detalhados quefacilitam, por exemplo, a especificação de requisitos. A norma apresenta um conjunto de seiscaracterísticas que um produto de software deve ter para ser considerado um software de qualidade,como podemos visualizar na figura 4:Figura 4: Características e subcaracterísticas da norma ISO/IEC 9126-1.Fonte: NBR ISO/IEC 9126-1A ISO/IEC 9126-1 possui seis características, onde estas são divididas em subcaracterísticas,
  28. 28. 28conforme a seguir (NBR ISO/IEC 9126-1):• Funcionalidade: Trata-se da capacidade de um software prover funcionalidades quesatisfaçam o usuário em suas necessidades explícitas e implícitas, dentro de um determinadocontexto de uso. Suas subcaracterísticas são:◦ Adequação: mede o quanto o conjunto de funcionalidades é adequado às necessidades dousuário;◦ Acurácia: representa a capacidade do software de fornecer resultados precisos ou com aprecisão dentro do que foi acordado/solicitado;◦ Interoperabilidade: trata da maneira como o software interage com outros sistemas;◦ Segurança de acesso: mede a capacidade do sistema de proteger as informações dousuário e fornecê-las apenas às pessoas autorizadas;◦ Conformidade relacionada à funcionalidade: capacidade do produto de software de estarde acordo com normas, convenções ou regulamentações previstas em leis e prescriçõessimilares relacionadas à funcionalidade.• Confiabilidade: Verifica se o produto de software é imune à falhas, se mantém o nível dedesempenho nas condições estabelecidas durante um determinado período de tempo. Suassubcaracterísticas são:◦ Maturidade: capacidade de evitar falhas decorrentes de defeitos no software;◦ Tolerância a falhas: mantém o funcionamento adequado mesmo quando ocorrem defeitosnele ou nas suas interfaces externas;◦ Recuperabilidade: capacidade de um software se recuperar após uma falha, recuperandoos dados e restabelecendo os níveis de desempenho;◦ Conformidade relacionada à confiabilidade: capacidade do produto de software de estarde acordo com normas, convenções ou regulamentações relacionadas à confiabilidade.• Usabilidade: A capacidade do produto de software ser compreendido e seu funcionamentoaprendido. Evidencia o esforço necessário para poder utilizar o software, assim como ojulgamento individual deste uso. Suas subcaracterísticas são:◦ Inteligibilidade: representa a facilidade com que o usuário pode compreender os
  29. 29. 29conceitos utilizados pelo software e avaliar se o mesmo pode ser usado para satisfazer assuas necessidades específicas;◦ Apreensibilidade: facilidade de aprendizado do sistema;◦ Operacionalidade: facilidade de operar e controlar as operações;◦ Atratividade: capacidade do produto de software de ser atraente ao usuário, refere-se aatributos de software que possuem a intenção de tornar o software mais atraente para ousuário, como o uso de cores e da natureza do projeto gráfico.◦ Conformidade relacionada à usabilidade: capacidade do produto de software de estar deacordo com normas, convenções, guias de estilo ou regulamentações relacionadas àusabilidade.• Eficiência: Verifica se o tempo de execução e os recursos envolvidos são compatíveis com onível de desempenho do software. Suas subcaracterísticas são:◦ Comportamento em relação ao tempo: avalia se o tempo de processamento, o tempo deresposta e a velocidade na execução de suas funções estão dentro das especificações;◦ Utilização de recursos: mede tanto os recursos consumidos quanto a capacidade dosistema em utilizar os recursos disponíveis;◦ Conformidade relacionada à eficiência: capacidade do produto de software de estar deacordo com normas e convenções relacionadas à eficiência.• Manutenibilidade: A facilidade de modificar um produto de software, incluindo tanto asmelhorias ou extensões de funcionalidade quanto as correções de falhas ou erros. Suassubcaracterísticas são:◦ Analisabilidade: identifica a facilidade em se diagnosticar eventuais problemas eidentificar as causas das deficiências ou falhas;◦ Modificabilidade: caracteriza a facilidade com que o comportamento do software podeser modificado;◦ Estabilidade: avalia a capacidade do software de evitar efeitos colaterais decorrentes demodificações introduzidas;◦ Testabilidade: representa a capacidade de se testar o sistema modificado, tanto quanto asnovas funcionalidades quanto as não afetadas diretamente pela modificação;
  30. 30. 30◦ Conformidade relacionada à manutenibilidade: capacidade do produto de software deestar de acordo com normas ou convenções relacionadas à manutenibilidade.• Portabilidade: A capacidade do sistema ser transferido de um ambiente para outro. Suassubcaracterísticas são:◦ Adaptabilidade: representando a capacidade do software se a adaptar a diferentesambientes sem a necessidade de ações adicionais (configurações);◦ Capacidade para ser instalado: identifica a facilidade com que pode se instalar o sistemaem um novo ambiente;◦ Coexistência: mede o quão facilmente um software convive com outros instalados nomesmo ambiente;◦ Capacidade para substituir: representa a capacidade que o sistema tem de substituir outrosistema especificado, em um contexto de uso e ambiente específicos. Este atributointerage tanto com adaptabilidade quanto com a capacidade para ser instalado;◦ Conformidade relacionada à portabilidade: capacidade do produto de software de estarde acordo com normas ou convenções relacionadas à portabilidade.2.3.3. ISO/IEC 14598A ISO/IEC 14598 possui um conjunto de guias para orientar e planejar o processo deavaliação de um produto de software e oferece uma visão geral dos processos de avaliação deprodutos de software, seja durante o desenvolvimento ou após sua conclusão. Pode ser utilizado poravaliadores, fornecedores, compradores, usuários e entidades certificadas, cada qual com seuobjetivo.De acordo com esta norma, o objetivo principal da avaliação do produto de software éfornecer resultados quantitativos sobre a qualidade do produto de software que sejamcompreensíveis, aceitáveis e confiáveis. Sua estrutura é divida em seis partes, como ilustrado nafigura 5 e descrito logo a seguir:
  31. 31. 31Figura 5 – Representação da norma ISO/IEC 14598Fonte: SODRÉ, 2006• ISO/IEC 14598-1 – Visão Geral: contém a estrutura de funcionamento das normas paraavaliação da qualidade de produto de software e a definição dos termos técnicos. Possuitambém os conceitos e funcionamento de processo de avaliação de software;• ISO/IEC 14598-2 – Planejamento e Gerenciamento: são requisitos e guias que darão suporteas funções de avaliação dos produtos de software;• ISO/IEC 14598-3 – Processo para Equipe de Desenvolvedores: apresenta atividades deavaliação para serem usadas durante o desenvolvimento e manutenção do software. Alémdisso, fornece guia para avaliar dados de medição, guia para melhoria do processo demedição e critérios para seleção de indicadores de qualidade;• ISO/IEC 14598-4 – Processo para Compradores: norma para avaliação de produtos comobjetivo de auxiliar na aquisição de um produto de software ou selecionar entre diversosprodutos;• ISO/IEC 14598-5 – Processo para Avaliadores: possui orientações para realizar a avaliação
  32. 32. 32do produto de software, definindo as atividades necessárias para todo o processo;• ISO/IEC 14598-6 – Módulo de Avaliação: define a estrutura e o conteúdo da documentaçãoque será usada na descrição dos Módulos de Avaliação. Descreve o desenvolvimento e avalidação dos módulos.As partes 1 e 5 possuem tradução para o Brasil como NBR ISO/IEC 14598, realizada pelaABNT. O presente trabalho utiliza estas partes da norma, que veremos mais detalhadamente devidosua importância no contexto abordado.De acordo com a norma ISO/IEC 14598, a parte 1 é uma introdução as outras partes. Elafornece uma visão geral das outra partes também explica o relacionamento entre a ISO/IEC 14598 eo modelo de qualidade apresentado na ISO/IEC 9126. Na norma consta a informação que nestaparte há a definição dos termos técnicos utilizados nas demais partes, contém requisitos gerais paraespecificação e avaliação da qualidade de software e esclarece os conceitos gerais. Adicionalmente,ela também fornece uma estrutura para avaliar a qualidade de quaisquer produtos de software eestabelece os requisitos para métodos de medição e avaliação de produtos de software.Desenvolver um processo de avaliação requer tempo, pessoal e recursos. A norma ISO/IEC14598-1 define as principais características de um processo de avaliação e descreve suas etapas(Figura 6), como (NBR ISO/IEC 14598-1, 2001):
  33. 33. 33Figura 6: Processo de AvaliaçãoFonte: NBR ISO/IEC 14598-1• Estabelecer os requisitos de avaliação: identificar o produto e o propósito da avaliação, estaatividade se divide em três passos:◦ Estabelecer o propósito da avaliação: deve ser definido qual o principal objetivo daavaliação.◦ Identificar tipos de produtos a serem avaliados: deve ser definido o tipo de produto queserá trabalhado, seja em desenvolvimento ou um produto final.◦ Especificar modelo de qualidade: definição de um modelo de qualidade sobre o qualserá realizada a avaliação. A norma ISO/IEC 14598 adota como guia o modelo dequalidade proposto pela ISO/IEC 9126-1.• Especificar a avaliação: define o escopo da avaliação e as medições a que o produto serásubmetido. A base para sua elaboração são os requisitos da avaliação e a descrição doproduto de software. Esta atividade pode ser dividida em:◦ Selecionar métricas: devem ser definidas métricas correlacionadas às características de
  34. 34. 34qualidade, visto que essas não podem ser medidas diretamente. As métricas devem serfáceis e econômicas. A ISO/IEC 14598-6 apresenta a documentação de módulos deavaliação e exemplos de métricas são encontrados na ISO/IEC 9126-2 e 3.◦ Estabelecer níveis de pontuação para as métricas: deve ser elaborada uma escala depontuação, que possa refletir a performance do sistema em relação a característica dequalidade que esta sendo avaliada.◦ Estabelecer critérios para julgamento: interpretar os resultados obtidos na avaliação,visto que cada característica possui diferente relevância ao sistema.• Projetar a avaliação: com base na especificação da avaliação deve ser elaborado um plano deavaliação no qual estejam relacionados os componentes do produto de software a seremavaliados e os métodos de avaliação propostos;◦ Produzir o plano de avaliação: descreve os métodos de avaliação e o cronograma dasações do avaliador.• Executar a avaliação: consiste na inspeção, medição e teste dos produtos e seus componentesde acordo com o plano de avaliação (podem ser utilizadas ferramentas de software para amedição e interpretação dos resultados), as ações executadas pelo avaliador devem serregistradas e os resultados colocados em versão preliminar do relatório da avaliação;◦ Obter as medidas: as métricas selecionadas são aplicadas ao produto de software,obtendo os valores correspondentes na escala definida.◦ Comparar com critérios: o valor obtido é comparado aos critérios estabelecidos nosníveis de pontuação da escala.◦ Julgar os resultados: é elaborado um resultado declarando o quanto o produto desoftware atende aos requisitos de qualidade. A partir desse resultado, serão tomadasdecisões.A ISO/IEC 14598-5 é a parte da ISO/IEC 14598 que fornece requisitos e recomendações paraa implementação prática de avaliação de um produto de software, quando várias partes envolvidasnecessitam entender, aceitar e confiar nos resultados da avaliação. Em especial, ela pode ser usadana aplicação dos conceitos descritos na ISO/IEC 9126 (NBR ISO/IEC 14598-5, 2001).
  35. 35. 35Nessa parte da norma são definidas atividades necessárias para analisar os requisitos deavaliação, para especificar, projetar e executar as ações de avaliação, e concluir a avaliação dequalquer tipo de produto de software, seja um produto final ou em desenvolvimento. Pode serutilizada por (NBR ISO/IEC 14598-5, 2001):• Avaliadores de laboratórios de teste, quando estiverem fornecendo serviços de avaliação deprodutos de software;• Fornecedores de software, quando estiverem planejando avaliação de seus produtos desoftware, incluindo execução de avaliação por prestadores independentes de serviços deteste;• Adquirentes de software, quando requisitarem informações de avaliações do fornecedor oude prestadores de serviços de teste;• Usuários de software, quando estiverem avaliando produtos, ou quando estiverem usandorelatórios de avaliação fornecidos por laboratórios de teste;• Entidades de certificação na definição de novos procedimentos de certificação para produtosde software.2.4. Qualidade para o UsuárioPressman (2006) define qualidade de software como “conformidade a requisitos funcionais ede desempenho explicitamente declarados, a padrões de desenvolvimento claramente documentadose a características implícitas que são esperadas de todo software profissionalmente desenvolvido”.Sendo assim, pode-se pensar que se o software possuir qualidade em relação a conformidade e noprocesso de desenvolvimento, a qualidade será alta. Porém, o próprio autor reconhece que aqualidade é importante, mas se o usuário não estiver satisfeito, nada mais realmente importa.Este enfoque parte da ideia de que "a qualidade está diante dos olhos de quem observa".Sendo assim, os desenvolvedores de software não podem se esquecer das necessidades implícitas deseus clientes. Mesmo sendo possível afirmar que se as qualidades internas foram observadas muito
  36. 36. 36provavelmente as qualidades externas também foram atendidas, o usuário esta mais interessado nouso do software, no seu desempenho e nos efeitos que o seu uso possa produzir na organização. Elesnão valorizam conhecer aspectos internos do software ou como o software foi desenvolvido.(Gomes, 2000)A qualidade estaria associada a uma visão subjetiva, baseada em preferências pessoais.Supõe-se que os bens que melhor satisfazem as preferências do consumidor são aqueles por eleconsiderados como tendo alta qualidade. Este enfoque levou ao conceito de "adequação ao uso",predominante na literatura da área de qualidade. A definição de qualidade, baseada neste enfoque, emais difundida, é a definição de Juran, idêntica ao conceito apresentado.Os projetos de software muitas vezes são pensados levando em consideração aimplementação, impondo limitações e restrições que tornam a “interface fácil de construir, masfrustrante de usar” (PRESSMAN, 2006). Mas para que os computadores se tornem amplamenteaceitos e efetivamente usados eles precisam ser bem projetados. Isso de maneira alguma quer dizerque o design deve ser adequado a todas as pessoas, mas deve ser projetado para as necessidades ecapacidades de um grupo alvo. Rocha e Baranauskas (2003) diz que usuários em geral não devemser obrigados a pensar sobre como o computador funciona, da mesma forma que o funcionamentomecânico de um carro não é preocupação da maioria das pessoas, entretanto, a posição dos pedais,direção e câmbio têm muito impacto sobre o motorista, como também o design de sistemascomputacionais têm efeito sobre seus usuários.O estudo de como ocorre essa interação, entre homem e máquina, é feita através da InteraçãoHomem-Computador (IHC), que consiste no estudo do comportamento humano, da tecnologiacomputacional e das maneiras pelas quais estes influenciam um ao outro. Essa influência podeocorrer através dos possíveis meios de comunicação que inclui o projeto, implementação e avaliaçãode interfaces que tornem o trabalho do homem confortável, saudável e produtivo. (GOMES, 2005).Os objetivos de IHC, segundo Rocha e Baranauskas (2003), são de produzir sistemas usáveis,seguros e funcionais. Esses objetivos podem ser resumidos como desenvolver ou melhorar asegurança, utilidade, efetividade e usabilidade de sistemas que incluem computadores. Nessecontexto o termo sistemas se refere não somente ao hardware e o software mas a todo o ambienteque usa ou é afetado pelo uso da tecnologia computacional. A parte mais difícil é de que formaatingir estes objetivos e justamente por isso IHC é uma matéria interdisciplinar que relaciona
  37. 37. 37diversas disciplinas, como pode ser vista na Figura 7:Figura 7: Disciplinas que contribuem em IHCFonte: adaptado de Rocha, Baranauskas, 2003Segundo Rocha e Baranauskas (2003) as principais disciplinas são: Psicologia Cognitiva,Psicologia Social e Organizacional, Ergonomia e a Ciência da Computação; descritas a seguir:• Ciência da Computação contribui provendo conhecimento sobre as possibilidades datecnologia e oferecendo ideias sobre como explorar todo o seu potencial. Os profissionais decomputação têm se preocupado em desenvolver ferramentas de software para auxiliar aodesign, implementação e manutenção de sistemas.• Psicologia Cognitiva. A preocupação principal da Psicologia é entender o comportamentohumano e os processos mentais subjacentes. A Psicologia Cognitiva adotou a noção deprocessamento de informação como modelo para o comportamento humano e tenta colocartudo que vemos, sentimos, tocamos, cheiramos, etc. , em termos desse modelo.• Psicologia Social tem como preocupação estudar a natureza e causas do comportamentohumano no contexto social. Verifica a a influência de um indivíduo nas atitudes ecomportamentos de outra pessoa , o impacto de um grupo sobre o comportamento e as
  38. 38. 38atitudes de seus membros , o impacto de um membro nas atividades e estrutura de um grupoe o relacionamento entre estrutura e atividades de diferentes grupos .• A Ergonomia se interessa de maneira geral pelo melhoramento das condições de trabalho. Jáa ergonomia de software, concentra-se particularmente nas condições de utilização de umsoftware por seus usuários. Seu objetivo é conceber e fazer o design de diversas ferramentase artefatos para diferentes ambientes de trabalho, domésticos e de diversão, adequados àscapacidades e necessidades de usuários. O objetivo é maximizar a segurança, eficiência econfiabilidade da performance do usuário, tornando as tarefas mais fáceis e aumentando ossentimentos de conforto e satisfação. As primeiras contribuições dos especialistas em fatoreshumanos para IHC foram no design do hardware (teclados mais ergonômicos, posições dovídeo, etc.) e nos aspectos de software que poderiam resultar em efeitos fisiológicosadversos nos humanos, como a forma da apresentação de informação na tela.◦ A Psicologia Organizacional dá aos designers o conhecimento sobre estruturasorganizacionais e sociais e sobre como a introdução de computadores influencia práticasde trabalho. Em grandes organizações, por exemplo, o computador serve tanto comomeio de comunicação, quanto para fazer a folha de pagamento e contabilidade em geral,para controlar entrada e saída de pessoas, etc.Para Pressman (2006), “a interação homem-computador é o mecanismo por meio do qual seestabelece um diálogo entre o programa e o ser humano. Se os fatores humanos tiverem sido levadosem conta, o diálogo será harmonioso e um ritmo será estabelecido entre o usuário e o programa. Seos fatores humanos tiverem sido ignorados, o sistema quase sempre será visto como possuindopouca usabilidade”. Dentro das definições de IHC, a usabilidade é um conceito chave que dizrespeito a produção de sistemas fáceis de aprender e de usar. Não basta que o produto ofereçamuitas funções, é fundamental que os usuários possam usufruir delas, e, para isso a facilidade deutilização é essencial.O termo usabilidade começou a ser usado no início da década de 80 e a primeira norma quedefiniu o termo usabilidade foi a ISO/IEC 9126, sobre qualidade de software. Sua abordagem éclaramente orientada ao produto e ao usuário, pois considera a usabilidade uma das características
  39. 39. 39de qualidade existente em um produto de software. Quando da evolução da norma expressada naNBR ISO/IEC 9126-1, este conceito pode ser definido pela seguinte definição: "Usabilidade é acapacidade do produto de software de ser compreendido, aprendido, operado e atraente ao usuário,quando usado sob condições especificadas".A norma NBR ISO/IEC 9126 também aborda a qualidade em uso, onde avalia a qualidade doproduto de software sob a perspectiva do usuário, no ambiente onde esta envolvido. É medida emtermos do resultado do uso do software e não das propriedades do próprio software. A norma atribuia seguinte definição a qualidade em uso: “Capacidade do produto de software de permitir queusuários especificados atinjam metas especificadas com eficácia, produtividade, segurança esatisfação em contextos de uso especificados”. A definição de qualidade em uso na norma seassemelha a definição de usabilidade, porém qualidade em uso pode ser influenciada por qualquercaracterística de qualidade, podendo assim ser mais ampla que usabilidade.De acordo com Rocha e Baranauskas (2003), o que se pode depreender dos princípios deusabilidade é que eles tratam basicamente de dois aspectos: a tarefa e as características individuaisdos usuários. Portanto, conhecer o usuário é fundamental para se fazer o design de um sistemausável. Entender os principais modos de classificar usuários ajuda a fazer um bom design queatenda a maior diversidade desses. Na análise do usuário sua experiência é um fator relevante, e essaexperiência deve ser analisada em três dimensões: com relação ao uso do sistema, com relação aouso de computadores em geral e com relação ao domínio da aplicação. Nielsen (1993) apresentaessa diferenciação em um gráfico que ele denomina de cubo do usuário como pode ser visto naFigura 8:
  40. 40. 40Figura 8: Três dimensões das diferentes experiências de usuáriosFonte: adaptado de Nielsen, 1993.Segundo Nielsen (1993), é importante ressaltar que o uso do sistema altera a categoria dousuário, um novato não é um eterno novato, e isso tem importantes implicações no design. Algumasinterfaces são e devem ser projetadas com ênfase apenas em novatos onde a facilidade deaprendizagem é fundamental, enquanto outras podem ser pensadas para ser adaptar ao usuário amedida que este se tornar experiente no sistema. Outro fator que tem impacto no design da interfaceé a experiência com computadores, pois usuários experientes em um amplo conjunto de aplicaçõestêm mais ideias de como o computador normalmente trata várias situações. Já a experiência nodomínio da tarefa é importante por definir a abordagem do sistema, pois interfaces projetadas paraespecialistas podem fazer uso de terminologia e jargão específico de uma área de especialidade.O uso de um sistema computacional envolve o usuário num mapeamento dos seus objetivosna estrutura e funcionalidade do sistema. A complexidade dessa tarefa de mapeamento dependeparcialmente dos esforços do projetista em entender e considerar no seu projeto as necessidadesinerentes à tarefa. De acordo com a norma NBR ISO/IEC 9126, para que um sistema seja operadopor um usuário, a combinação de funcionalidade, confiabilidade, usabilidade e eficiência podem sermedidas externamente pela qualidade em uso. Além disso, essas características são utilizadas nametodologia apresentada no capítulo 4, por serem características facilmente percebidas pelousuário. Nas próximas sessões essas características serão detalhadas de acordo com a visão deoutros autores ou entidades da área de qualidade.
  41. 41. 412.4.1. UsabilidadeO termo usabilidade é frequentemente usado para se referir à capacidade de um produto serfacilmente usado. Isto corresponde a definição de usabilidade como uma qualidade de software naNBR ISO/IEC 9126-1: “Capacidade do produto de software de ser compreendido, aprendido,operado e atraente ao usuário, quando usado sob condições especificadas”.Um produto não tem usabilidade intrínseca, somente capacidade de ser usado em um contextoparticular, conforme definido na norma NBR 9241-11 (2002). A usabilidade definida em termos dequalidade de um sistema de trabalho em uso depende, necessariamente, de todos os fatores quepodem influenciar no uso de um produto do mundo real, incluindo fatores organizacionais tais comopráticas de trabalho e localização ou aparência de um produto, e diferenças individuais entreusuários incluindo aquelas devido a fatores culturais e preferências. Esta ampla abordagem tem avantagem que é concentrada no propósito real do projeto de um produto – que ele encontra asnecessidades de usuários reais desenvolvendo tarefas reais em um ambiente organizacional, técnico,fisicamente e real (NBR 9241-11, 2002).Usabilidade é definida em função de vários atributos e é tradicionalmente associada a cincodeles (Nielsen, 1993, tradução nossa):• Facilidade de aprendizagem (Learnability): O sistema precisa ser fácil de aprender de formaque o usuário possa rapidamente começar a interagir. Segundo Nielsen, quando se analisa afacilidade de aprendizagem, é preciso ter em mente que geralmente o usuário aprende umainterface durante o seu uso. Portanto, esse fator é avaliado em função do tempo que ousuário demora para atingir um suficiente grau de proficiência na execução de suas tarefas.• Eficiência (Efficiency): O sistema precisa ser eficiente no uso, de forma que uma vezaprendido o usuário tenha um elevado nível de produtividade. Para isso o usuário precisa teralgum tempo de experiência utilizando o sistema. Um modo típico de avaliar esse atributo édefinir de alguma forma o que significa um usuário experiente e avaliar um grupo dessesexecutando tarefas típicas de um sistema.• Facilidade de relembrar (Memorability): O sistema precisa ser facilmente relembrado, de
  42. 42. 42forma que o usuário ao voltar a usá-lo depois de um certo tempo não tenha novamente queaprendê-lo. Esse atributo tanto se refere a usuários casuais, como para aqueles sistemasutilitários que são usados em períodos específicos.• Erros (Errors): O sistema precisa ter uma pequena taxa de erros, de modo que o usuáriocometa poucos erros durante o seu uso e, em errando, deve ser fácil a recuperação, semperda de trabalho. Erros catastróficos, em que o usuário perde tudo por exemplo, não podemocorrer.• Satisfação subjetiva (Satisfaction): Os usuários devem gostar do sistema, ou seja, deve seragradável de forma que o usuário fique satisfeito ao usá-lo. Satisfação subjetiva pode sermedida simplesmente perguntando ao usuário sobre suas opiniões subjetivas. Para um únicousuário o resultado desse questionamento é subjetivo, mas quando se considera muitosusuários, a média das respostas passa a ser uma medida objetiva.2.4.2. ConfiabilidadeConfiabilidade pode ser definida, segundo Mazzola (2010), como “a capacidade dos produtosde software de realizarem suas tarefas de forma precisa, conforme definido nos requisitos e naespecificação.”. Ainda segundo o autor, esse é um fator de suma importância em qualquer categoriade software, pois nenhum outro fator poderá compensar a ausência de correção. Não é interessante enem viável produzir um software extremamente desenvolvido do ponto de vista da interface, porexemplo, se as suas funções são executadas de forma incorreta, porém, para que a correção alcanceum nível satisfatório irá depender, principalmente, da definição dos requisitos do software e dodesenvolvimento de acordo com esses requisitos.Sendo assim, é possível perceber que “para garantir a confiabilidade adequada: as açõesdevem funcionar como especificado, os dados apresentados devem refletir o conteúdo do banco dedados e atualizações devem ser aplicadas corretamente.” (SHNEIDERMAN, PLAISANT, 2005). Aconfiança que os usuários tem nos sistemas é muito frágil, uma única experiência com dadosincorretos ou resultados inesperados irá prejudicar por muito tempo a credibilidade do sistema.
  43. 43. 43De acordo com Pressman (2006): “Confiabilidade de software, ao contrário de muitos outrosfatores de qualidade, pode ser medida diretamente e estimada usando dados históricos e dedesenvolvimento”. Confiabilidade de software é definida em termos estatísticos como “aprobabilidade de operação livre de falhas de um programa de computador, em um ambienteespecificado, durante um tempo especificado” (Musa apud Pressman, 2006). Mediante esseconceito, surge a dúvida em relação a palavra “falha”, dúvida essa abordada da seguinte maneira porPressman (2006): “No contexto de qualquer discussão de qualidade e confiabilidade de software,falha é a não conformidade com os requisitos de software”. A norma NBR ISO/IEC 14598-1,também apresenta uma definição para a palavra: “Término da capacidade de um produto deexecutar uma função requerida ou a sua incapacidade de executá-la dentro de limites previamenteespecificados”.Outro fator importante relacionada a confiabilidade é a disponibilidade do sistema que,segundo Shneiderman e Plaisant (2005), depende de fatores externos e alheios ao software como oscomponentes de hardware e de rede. Se o sistema não está disponível ou apresenta erros, iráprejudicar o desempenho do usuário em suas atividades, tornando-se assim um empecilho ao invésde uma solução. Além disso, todos os fatores que levem o usuário a confiar no sistema, comogarantir a integridade dos dados e alertar sobre destruição ou adulteração dos dados, permitirão queo usuário se sinta no controle do sistema, podendo confiar e compreender sua utilização(Shneiderman, Plaisant, 2005). Os requisitos de confiabilidade a serem considerados são (Rational,2001):• frequência e gravidade de falha• possibilidade de recuperação• possibilidade de previsão• exatidão• tempo médio entre falhas
  44. 44. 442.4.3. EficiênciaSegundo a norma NBR 9241-11, o termo eficiência pode ser definido como “Recursos gastosem relação à acurácia e abrangência com as quais usuários atingem objetivos”. Para entendermelhor o conceito apresentado, na própria norma há a exemplificação das medidas de eficiência:“Medidas de eficiência relacionam o nível de eficácia alcançada ao dispêndio de recursos”, porexemplo, “Se o objetivo desejado for imprimir cópias de um relatório, então a eficiência pode serespecificada ou medida pelo número de cópias usáveis do relatório impresso, dividido pelosrecursos gastos na tarefa tal como horas de trabalho, despesas com o processo e materiaisconsumidos.” Sendo assim, podemos concluir que a eficiência só é positiva quando todos os fatoresenvolvidos são positivos, pois, seguindo o exemplo, não adianta possuir uma grande quantidade decópias do relatório, se ocorreu desperdício de recursos e/ou tempo.Como conceito de eficiência Mazzola (2010) apresenta a seguinte definição: “A eficiênciaestá relacionada com a utilização racional dos recursos de hardware e de sistema operacional daplataforma onde o software será instalado. Recursos tais como memória, processador e co-processador, memória cache, recursos gráficos, bibliotecas (por exemplo, primitivas de sistemaoperacional) devem ser explorados de forma adequada em espaço e tempo.”2.4.4. FuncionalidadeUm estudo sobre características da funcionalidade de software foi realizado pelo SUMI, quesignifica Software Usability Measurement Inventory (KIRAKOWSKI, PORTEUS, CORBETT apudMEIRELLES, 2008), definindo funcionalidade como a capacidade de um software ser usado comeficiência e satisfação para atingir objetivos específicos em um determinado ambiente. O SUMI éum método de medir a qualidade do software a partir do ponto de vista do usuário final, nodocumento há a definição de algumas características sobre a funcionalidade do software, das quaisserão destacadas as seguintes:
  45. 45. 45• Utilidade: capacidade de resolver ou ajudar a resolver problemas para os quais o software foiproposto.• Controle: capacidade de um produto em responder de uma forma natural e consistente aoscomandos e entradas de dados fornecidos;De acordo com Martinez (2011), a funcionalidade do sistema é importante no sentido de estaradequada aos requisitos da tarefa do usuário, ou seja, o design do sistema deve permitir ao usuárioefetuar a tarefa pretendida e de modo mais fácil e eficiente. Isso inclui não somente ter afuncionalidade adequada disponível, mas também torná-la usável, na forma de ações que o usuárioprecisa efetuar para executar a tarefa.Shneiderman e Plaisant (2005), afirmam que o primeiro acerto na análise de requisitos éconhecer os usuários e suas necessidades. As tarefas mais frequentes são fáceis de determinar, masas tarefas ocasionais, as tarefas excepcionais para situações de emergência, e as tarefas de reparaçãopara lidar com erros no uso da interface são mais difíceis de descobrir. Os autores também afirmamque a análise de tarefas é fundamental, porque as interfaces com funcionalidade inadequadafrustram os usuários e muitas vezes são rejeitadas ou subutilizadas. Se a funcionalidade éinadequada, não importa o quão bem a interface é projetada, da mesma maneira que fornecerfuncionalidade excessiva (que é provavelmente o erro mais comum de designers) também é umperigo, porque a desordem e a complexidade tornam a implementação, manutenção, aprendizagem,e uso mais difícil.Ainda falando sobre funcionalidade, Mazzola (2010) define um dos atributos defuncionalidade, a compatibilidade: “facilidade com a qual produtos de software podem sercombinados com outros”. Este é um fator relativamente importante, dado que um produto desoftware é construído (e adquirido) para trabalhar convivendo com outros softwares. Aimpossibilidade de interação com outros produtos pode ser, sem dúvida, uma característica queresultará na não escolha do software ou no abandono de sua utilização.Os requisitos funcionais podem incluir (Rational, 2001): conjuntos de recursos, habilidades esegurança.
  46. 46. 463. Mineração de DadosSegundo Silva (2008), a informação vem desempenhando um papel fundamental em todosos setores da sociedade. O desenvolvimento e sucesso das organizações baseiam-se na capacidadede coletar, tratar, interpretar e utilizar a informação de forma eficaz. No entanto, vê-se nos últimosanos um grande volume de dados gerados devido ao rápido avanço dos recursos computacionais.Esse crescimento do volume de dados tem gerado a necessidade de novas técnicas e ferramentascapazes de transformar dados em informações significativas e em conhecimento. Em resposta a essanecessidade, surgiu a Mineração de Dados (Data Mining).Mineração de Dados, faz parte de um processo maior denominado Descoberta deConhecimento em Banco de Dados (Knowledge Discovery in Database – KDD), onde a própriaMineração de Dados e as outras partes são apenas instâncias do KDD (Braga, 2005).Antes de prosseguir com mais detalhes sobre a Mineração de Dados e KDD, é importanteconceituar alguns termos que estão intimamente ligados a eles. Segundo Rezende (2005), dado é umelemento da informação, um conjunto de letras ou dígitos, que tomado isoladamente não conferenenhum conhecimento, ou seja, não contém um significado claro. Eles representam a matéria-primaa ser utilizada na produção de informações. Já a informação é todo dado trabalhado, útil, com valorsignificativo atribuído ou agregado a ele, e com um sentido natural e lógico para quem usa ainformação, ou seja, informação são dados que sofreram algum tipo de processamento para seremexibidos em uma forma inteligível às pessoas. Quando a informação é “trabalhada” por pessoas oupor recursos computacionais, possibilitando a geração de cenários, simulações e oportunidades, estapode ser chamada de conhecimento. O conceito de conhecimento complementa o de informaçãocom valor relevante e de propósito definido. Conhecimento são informações que sua confiabilidade,importância e relevância foram analisadas e avaliadas.
  47. 47. 473.1. Descoberta de Conhecimento em Banco de Dados (KnowledgeDiscovery in Database – KDD)Descoberta de Conhecimento em Banco de Dados, ou apenas KDD, é o processo queenvolve a automação da identificação e do reconhecimento de padrões em banco de dados (Silva,2008). Segundo Braga (2005), o termo KDD foi criado em 1995 para designar o conjunto deprocessos, técnicas e abordagens que propiciam o contexto no qual a Mineração de Dados terá lugar.Em suma, é a aplicação do método científico moderno aos problemas do mundo dos negócios. OKDD é o processo não trivial de identificar padrões válidos, novos, potencialmente úteis e,finalmente, compreensível em dados. Este processo vem evoluindo a partir da interseção de camposde pesquisa, tais como aprendizagem de máquina, reconhecimento de padrões, banco de dados,estatística, inteligência artificial, aquisição de conhecimento para sistemas especialistas,visualização de dados e computação de alta performance. O objetivo desta junção é a extração deconhecimento de alto nível a partir de dados de baixo nível, em um contexto de grandes conjuntosde dados (Fayyad, 1996).Ainda segundo Fayyad (1996), pode-se dividir o KDD em etapas como mostra a Figura 9. Oprimeiro passo no processo de KDD é entender o domínio da aplicação, identificar o problema edefinir os objetivos a serem atingidos. O processo inicia com os dados brutos e finaliza com aextração de conhecimento (Martinhago, 2005).
  48. 48. 48Figura 9: Etapas do KDD.Fonte: (Fayyad, 1996)Seguem as etapas do KDD:• Seleção: este é o passo da seleção e coleta do conjunto de dados ou variáveis necessárias.Como nem sempre todos os dados a serem utilizados podem estar disponibilizados em basesde dados adequadas, pode haver a necessidade de um trabalho de compatibilidade nestaetapa (Barbosa, 2007).• Pré-processamento e Limpeza: é a atividade através da qual dados estranhos ouinconsistentes e ruídos, são tratados e onde são estabelecidas as estratégias para a resoluçãodos problemas de ausência de dados (Barbosa, 2007).• Transformação: os dados são transformados ou consolidados em formatos apropriados paraminerar, e consiste em discretizar dados (os valores contínuos dos atributos são divididosnuma lista de intervalos, convertendo valores contínuos em valores discretos), com issoobtém uma melhora da compreensão do conhecimento, redução do tempo de processamento,diminuição do espaço de busca, facilitação do algoritmo de tomada de decisões, agregaçãode dados (agrega dados existentes nas informações de modo que essas agregaçõescontribuam no processo de descoberta de conhecimento), derivação de dados (adicionam-se
  49. 49. 49novos dados derivados por uma operação ou por séries de operações de dados existentes natabela de dados), e redução de dados (reduz-se o número de variáveis a considerar) (Silva,2008).• Processamento: os dados são analisados por um algoritmo e transformados em informações(resultados, padrões) úteis que serão avaliados no processo seguinte e consiste em escolha dafunção de mineração de dados, seleção de algoritmo de mineração de dados, e Data Mining(análise dos dados armazenados através de um programa computacional capaz de analisar osdados e encontrar padrões de interesse) (Silva, 2008).• Interpretação e Avaliação: os resultados do processo de descoberta do conhecimento podemser mostrados de diversas formas que devem possibilitar uma análise criteriosa naidentificação da necessidade de retorno a qualquer um dos estágios anteriores do processode KDD (Barbosa, 2007).3.2. Mineração de Dados (Data Mining)De acordo com Barbosa (2007), Mineração de Dados ou Data Mining, é a combinação dediferentes técnicas de sucesso comprovado (Figura 10), como estatísticas, inteligência artificial, ebanco de dados. Estas técnicas tem como objetivo extrair informações relevantes para o negóciopodendo ser usadas para agregar valor ao mesmo. Conforme Furtado (2002), a Mineração de Dadosconsiste na aplicação destas técnicas a grandes bases de dados para encontrar tendências oupadrões com a finalidade de apoiar decisões. Este conjunto de técnicas de Mineração de Dados écapaz de reduzir uma grande quantidade de dados em padrões e regras que contém um volumeexpressivo de informações. E, como visto anteriormente, a Mineração de Dados é parte de umprocesso maior denominado KDD. Entretanto, tornou-se mais conhecida que o KDD, por ser aetapa em que são aplicadas as técnicas de busca de conhecimentos (Gutierrez e Bertrand, 2005).
  50. 50. 50Figura 10: Técnicas de origem da Mineração de Dados (Data Mining).Fonte: Barbosa, 2007.3.2.1 Linhagens da Mineração de DadosA Mineração de Dados, descende fundamentalmente de 3 linhagens: estatística clássica,inteligência artificial (IA) e o aprendizado de máquina (casamento entre a estatística e a IA) (Pampa2003 apud Silva 2008).• Estatística: a Estatística Clássica envolve conceitos como variância, distribuição normal,desvio simples, análise de regressão, análise de conjuntos, intervalos de confiança e análisede discriminante, todos usados para o estudo dos dados e seus relacionamentos (Barbosa,2007).• Inteligência Artificial: é uma disciplina com base nos fundamentos da heurística,diferentemente da estatística, sua tentativa é a de imitar a maneira como o homem pensa naresolução dos problemas estatísticos (Barbosa, 2007).• Aprendizado de Máquina: pode-se descrever como a união entre a estatística e a IA, tentafazer com que os programas de computador "aprendam" com os dados estudados por eles,
  51. 51. 51de forma que esses programas tomem diferentes decisões com base nas características dosdados estudados (Barbosa, 2007).3.2.2 Tarefas da Mineração de DadosMartinhago (2005) em seu trabalho define tarefa como um problema de descoberta deconhecimento a ser solucionado. E, de acordo com este autor, no KDD existem diversas tarefas quedependem principalmente do domínio de aplicação e do interesse do usuário. Cada uma delas tem afinalidade de extrair um tipo diferente de conhecimento da base de dados e podendo requerer umalgoritmo diferente em cada tarefa. Amo (2004), diz que tarefa consiste na especificação do queestamos querendo buscar nos dados, que tipo de regularidades ou categoria de padrões temosinteresse em encontrar, ou que tipo de padrões poderiam nos surpreender.A etapa de Mineração de Dados no KDD possui tarefas básicas, que são classificadas nascategorias descritivas e preditivas, que são: Classificação, Associação, Segmentação, Estimativa, eSumarização. As descritivas procuram padrões interpretáveis pelos humanos que descrevem osdados antes de realizar a previsão, sendo útil ao suporte a decisão. Já as preditivas envolvem o usodos atributos de um conjunto de dados para prever o valor futuro da variável meta, sendo útil àtomada de decisões (Rezende, 2005).• Classificação: diz respeito a predição de uma variável-alvo que é de uma naturezacategórica. Ou, em outras palavras, observar as características de um objeto e alocá-lo emuma classe predefinida: tal como fraudulento/não-fraudulento, comprador, não-comprador(Gutierrez e Bertrand, 2005). Conforme Rezende (2005), a tarefa de classificação é umafunção de aprendizado que mapeia dados de entrada, ou conjunto de dados de entrada emum número finito de categorias. Nela cada exemplo pertence a uma classe, entre umconjunto predefinido de classes. Os exemplos consistem de um conjunto de atributos e umatributo-classe discreto. O objetivo de um algoritmo de classificação é encontrar algum
  52. 52. 52relacionamento entre atributos e uma classe, de modo que o processo de classificação possausar este relacionamento para predizer a classe de um exemplo novo e desconhecido.• Associação: conforme Romão (2002), uma das tarefas mais simples e mais conhecidas emMineração de Dados é conhecida por Extração de Regras de Associação na forma SE XENTÃO Y, onde X e Y são conjuntos de itens. Amo (2004) diz que uma regra de associaçãoé um padrão da forma X Y , onde X e Y são conjuntos de valores (artigos comprados por→um cliente, sintomas apresentados por um paciente, etc). Esta tarefa visa a combinação deitens importantes, de forma que a presença de um item em uma determinada transaçãopressupõe a presença de outro na mesma transação. Esta tarefa pode ser exemplificada peloclássico exemplo norte-americano, em que um varejista descobriu que compra de fraldasestaria relacionada com aquisição de cervejas (Gutierrez e Bertrand, 2005).• Segmentação (clustering): segundo Rezende (2005)¹, esta é uma tarefa descritiva queprocura identificar um conjunto finito de agrupamentos, ou clusters, a partir dos dados. Issoé feito, geralmente, de maneira que exemplos com valores de atributos similares sãoagrupados em um mesmo cluster. O autor ainda ressalta que os clusters podem sermutuamente exclusivos ou sobrepostos. Gutierrez e Bertrand (2005) citam a segmentação,ou clustering, como a tarefa que objetiva reunir objetos em grupos, de modo que, os objetosde um grupo devem ser os mais semelhantes entre si e os menos semelhantes a objetos deoutros grupos. Amo (2004) afirma que diferentemente da classificação e predição onde osdados de treinamento estão devidamente classificados e as etiquetas das classes sãoconhecidas, a análise de clusters trabalha sobre dados onde as etiquetas das classes não estãodefinidas. A tarefa consiste em identificar agrupamentos de objetos, agrupamentos estes queidentificam uma classe. A segmentação, ou clustering, pode encontrar além de grupamentos,exceções, podendo ser aplicada, por exemplo, em atividades de marketing para identificar ossegmentos de mercado, para encontrar estruturas significativas nos dados e na descoberta defraudes ou dados incorretos (Martinhago, 2005 apud Groth, 1998).• Estimativa (regressão): para Gutierrez e Bertrand (2005), estimativa é um processosemelhante a classificação, mas diz respeito a variáveis-alvo contínuas, ainda conforme osautores, estimativa e classificação são os principais objetivos em tarefas de Mineração de
  53. 53. 53Dados. Rezende (2005) também diz que a tarefa de estimativa é conceitualmente similar a declassificação, sendo a principal diferença o atributo predito, que em vez de ser discreto écontínuo.• Sumarização: a tarefa de sumarização envolve métodos para encontrar uma descriçãocompacta para um subconjunto de dados (Fayyad et a, 1996).3.2.3 Técnicas de Mineração de DadosA técnica de mineração consiste na especificação de métodos que garantam como descobriros padrões que interessam (Amo, 2004). A área de Mineração de Dados engloba um vasto campo detécnicas analíticas, variando das simples até as sofisticadas. Uma característica comum a todas,porém, é que as técnicas se baseiam em princípios muito simples que são compreensíveis atémesmo para aqueles indivíduos sem treino matemático ou estatístico. Na Mineração de Dados,muitas das técnicas tomam princípios básicos como comparação (regras de associação) ou analogiasbiológicas (redes neurais e algoritmos genéticos) como a base para o procedimento (Hair et al,1998). As técnicas de mineração de dados podem ser aplicadas a tarefas como classificação,estimativa, associação, segmentação e sumarização (Dias, 2002).A Mineração de Dados é um campo que, atualmente, compreende muitas ramificaçõesimportantes. Cada tipo de tecnologia tem suas próprias vantagens e desvantagens. A familiaridadecom as técnicas é necessária para facilitar a escolha de uma delas de acordo com os problemasapresentados (Dias, 2002). Atualmente existem várias técnicas de Mineração de Dados, no entanto,este trabalho apresenta a seguir a descrição de algumas das principais técnicas mais citadas naliteratura. São elas: redes neurais, árvores de decisão, algoritmos genéticos, indução de regras, eraciocínio baseado em casos.• Redes Neurais: Redes Neurais são uma das ferramentas mais adequadas para seremassociadas com Mineração de Dados. Inspirada no funcionamento do sistema neurológico
  54. 54. 54do cérebro, a rede neural tenta “aprender”, por tentativas repetidas, como melhor seorganizar para conseguir previsão máxima (Hair et al, 1998). Dias (2002) define comomodelos inspirados na fisiologia do cérebro, onde o conhecimento é fruto do mapa dasconexões neuronais e dos pesos dessas conexões. As Redes Neurais tentam construirrepresentações internas de modelos ou padrões detectados nos dados, mas essasrepresentações não são apresentadas para o usuário. Estes elementos de processamento sãointerconectados em uma rede que pode identificar padrões nos dados uma vez expostos aosmesmos, ou seja, a rede aprende através da experiência, tais como as pessoas (Barbosa,2007).• Árvores de Decisão: Hair (1998) define Árvores de decisão como uma partição sequencialdo conjunto de dados a fim de maximizar as diferenças em uma variável dependente. Aindade acordo com o autor os dois programas mais amplamente usados são CHAID (Detector deInteração Qui-Quadrado), e CART (Árvores de Classificação e Regressão). As Árvores dedecisão fornecem um modo conciso para desenvolver grupos que são consistentes em seusatributos, mas variam em termos da variável dependente. Barbosa (2007) diz que estemétodo é indicado no uso da Mineração de Dados quando o objetivo é a classificação dedados ou a predição de saídas.• Algoritmos Genéticos: estes são métodos de busca e otimização, inspirados na Teoria daEvolução, onde cada nova geração, soluções melhores tem mais chances de ter“descendentes” (Dias, 2002). Algoritmos Genéticos imitam o processo evolucionáriousando seleção natural. Eles começam com uma pequena quantidade de possíveis soluçõespara um problema, e lentamente, com o passar do tempo a seleção natural “elimina” assoluções inferiores e resulta em um melhoramento geral, continuando o processo até queníveis aceitáveis de previsão são alcançados. Uma vantagem obtida com os algoritmosgenéticos é que eles geralmente convergem para a solução ótima. A desvantagem é que istopode levar muitas gerações e um grande número de indivíduos é exigido (Hair et al, 1998).• Indução de Regras: Indução de Regras é o processo de analisar uma série de dados e, a partirdela, gerar padrões. O processo é, em sua essência, semelhante àquilo que um analistahumano faria em uma análise exploratória. A técnica em questão se refere a detecção de

×