Home
tese de Miriam Sayão - PUC-Rio
Contents
1. encapsulado 113 PUC Rio Certifica o Digital N 0210680 CA 5 Estudos de caso Os varios estudos de caso apresentados neste capitulo foram utilizados na exemplifica o dos processos propostos no capitulo 3 Nos estudos de caso foram utilizados diversos artefatos de requisitos originados do desenvolvimento de aplica es reais em organiza es ativas no mercado nacional Uma destas organiza es que cedeu a maior parte dos documentos utilizados neste cap tulo utiliza desenvolvimento distribu do de software As t cnicas propostas foram aplicadas aos documentos referidos e os resultados obtidos s o apresentados e discutidos a seguir Buscamos utilizar na estrutura o de cada estudo de caso a seguinte seqii ncia i agrupamento e gera o de vis es dos requisitos ii constru o do l xico das aplica es e iii identifica o de discrep ncias erros e omiss es no documento de requisitos apresentados nas se es a seguir 5 1 Estudo de caso documento Exit Este documento denominado de Exit um documento preliminar de requisitos para um sistema de informa o na rea do turismo O documento segue uma estrutura definida pela organiza o com separa o dos requisitos funcionais daqueles n o funcionais no total s o cento e sessenta e nove requisitos quatro dos quais n o funcionais e o total de palavras atinge vinte e nove mil quinhentos e cinquenta e quatro palavras Requi
2. PUC Rio Certifica o Digital N 0210680 CA 163 Ap ndice D C digo dos agentes da aplica o Agente Comunicador communicator java package requisitos agents import java text SimpleDateFormat import java util List import java util Map import java util Set import javax mail MessagingException import javax mail internet AddressException import org midas as AgentServer import org midas as agent board Board import org midas as agent board Message import org midas as agent board MessageListener import org midas as agent templates Agent import org midas as agent templates LifeCycleException import org midas as agent templates ServiceException import org midas as manager execution Logger import requisitos business entities User import requisitos business entities Verify ValidateProccess import requisitos dao RequirementDocumentDao import requisitos web email Email public class Communicator extends Agent implements MessageListener private static String className COMMUNICATOR AGENT private static SimpleDateFormat formatter new SimpleDateFormat dd MM yyyy HH mm Override protected void lifeCycle throws LifeCycleException InterruptedException Se registra no BlackBoard Board addMessageListener Communicator this Override public void provide String service Map lt String Object gt in List lt Object gt out throws ServiceException
3. PUC Rio Certifica o Digital N 0210680 CA Estudos de Caso 128 A an lise dos resultados deste estudo de caso mostrou a utiliza o de v rias express es do vocabul rio de TI tais termos embora n o sejam espec ficos do dom nio da aplica o devem ser evitados no registro dos requisitos ou ent o colocados num dicion rio parte pois n o se pode exigir que eles sejam conhecidos e compreendidos corretamente pelos usu rios da aplica o Exemplos de tais termos s o log job batch buffer Tamb m identificamos termos em comum com o estudo de caso anterior pois os dois documentos s o oriundos da mesma organiza o No caso parte desses termos refere se a siglas de sistemas j existentes haver troca de informa es entre eles e o sistema em desenvolvimento Consideramos portanto que dever ser avaliada a possibilidade da cria o de um l xico para o dom nio da organiza o que ser atualizado a cada nova aplica o Exemplos de termos deste tipo s o SAP RETEK DW e SeeBeyond Neste segundo estudo de caso identificamos tamb m que palavras com baixa freqii ncia n o devem ser desconsideradas pois podem representar termos espec ficos do dom nio da aplica o 5 2 2 Constru o do l xico da aplica o extra o de sujeitos e objetos Este estudo de caso utilizou o documento Escalas Foram extra dos quarenta e um sintagmas nominais conforme padr es definidos na se o 3 2 2 2 Esses
4. private void sendVerification String documentName RequirementDocumentDao rdao RequirementDocumentDao AgentServer get ApplicationContext getBean requirementDocume ntDao List lt VerifyValidateProccess gt vvproccessList rdao getVerifyValidateProccessB yDocumentName documentName VerifyValidateProccess vvproccess vvproccessList get vvproccessList size 1 Set lt User gt users vvproccess getUsers for User user users try Email EnviaEmail user getEmail Rq NET Notifica o sobre o Documento vvproccess getRequirementDocument getName Verifica o Caro user getUsername n n O documento PUC Rio Certifica o Digital N 0210680 CA 166 4 vvproccess getRequirementDocument getName se encontra a partir de agora em processo de verifica o Ann catch AddressException e TODO Auto generated catch block e printStackTrace catch MessagingException e TODO Auto generated catch block e printStackTrace catch Exception e TODO Auto generated catch block e printStackTrace private void sendPreValidation String documentName RequirementDocumentDao rdao RequirementDocumentDao AgentServer getApplicationContext getBean requirementDocume ntDao List lt VerifyValidateProccess gt vvproccessList rdao getVerifyValidateProccessB yDocumentName documentName VerifyValidateProccess vvproccess vvproccessList get v
5. public void boardChanged Message msg String title msg getTitle PUC Rio Certifica o Digital N 0210680 CA 164 if title equals PreVerificationStage String documentName msg getContent Notifica os outros agentes Logger addEntry className Notifying Users of PreVerificationStage in documentName true sendPreVerification documentName if title equals VerificationStage String documentName msg getContent Notifica os outros agentes Logger addEntry className Notifying Users of VerificationStage in documentName true sendVerification documentName if title equals Pre ValidationStage String documentName msg getContent Notifica os outros agentes Logger addEntry className Notifying Users of PreValidationStage in documentName true sendPreValidation documentName if title equals ValidationStage String documentName msg getContent Notifica os outros agentes Logger addEntry className Notifying Users of ValidationStage in documentName true sendValidation documentName if title equals Finalization String documentName msg getContent Notifica os outros agentes Logger addEntry className Notifying Users of Finalization in documentName true finalization documentName if title equals SimilarityTest String documentName msg getContent Notifica os outros ag
6. A f n c N IIB f n N f c N Calcula A f n c N double a double nodeCoOcurrence corpusCount Calcula B f n N f c N double b double tokenFrequency corpusCount double nodeOcurrence corpusCount Calcula mutuosInformation log2 A B double mutuosInformation Math log a b Math log 2 0 HH Adiciona nos mapas MH tScoreMap put node scoreT mutuosInformationMap put node mutuosInformation ThemeMetrics metrics new ThemeMetrics metrics setTScoreMap tScoreMap metrics setMutuosInformationMap mutuosInformationMap return metrics private static String getText List lt Requirement gt requirements StringBuilder textBuilder new StringBuilder for Requirement requirement requirements String fragment StringUtils lowerCase requirement getText fragment fragment replace a a fragment fragment replace a fragment fragment replace e fragment fragment replace 1 fragment fragment replace 0 fragment fragment replace t u fragment fragment replace a fragment fragment replace o fragment fragment replace a fragment fragment replace e fragment fragment replace 0 fragment fragment replace i u textBuilder append fragment n PUC Rio Certifica o Digital N 0210680 CA 190 return textB
7. p J return temp PUC Rio Certifica o Digital N 0210680 CA 191 Agente Gerador de Vis es mapper java package requisitos agents import java io ByteArrayOutputStream import java util Collection import java util List import java util Map import java util Set import org apache commons logging Log import org apache commons logging LogFactory import org midas as agent board Board import org midas as agent board Message import org midas as agent board MessageListener import org midas as agent templates Agent import org midas as agent templates LifeCycleException import org midas as agent templates ServiceException import org tmapi core Association import org tmapi core Locator import org tmapi core TMAPIException import org tmapi core Topic import org tmapi core TopicMap import org tmapi core TopicMapSystem import org tmapi core TopicMapSystemFactory import org tmapi index core TopicsIndex import org tmapiutils impexp xtm XTMSerializer import requisitos business entities Requirement import requisitos stemmer PortugueseStemmer OQ SuppressWarnings unchecked public class TopicMapper extends Agent implements MessageListener Log private static final Log LOGGER LogFactory getLog TopicMapper class Agent Interface Override protected void lifeCycle throws LifeCycleException InterruptedException Se registra no BlackBoard B
8. PART Participio passado lt w pos PT gt lt w gt PRN Pronome PRP Preposi o PT Pontua o V Verbo No contexto desta tese este etiquetador foi utilizado como parte dos procedimentos necess rios para a identifica o de termos ou express es representando atores em documentos gerados e ou manipulados durante o processo de requisitos A descri o completa dos procedimentos apresentada no cap tulo 3 2 5 2 Representa o de documentos abordagem bag of words Um dos problemas a ser resolvido quando visamos ao processamento automatizado de documentos escritos em linguagem natural a escolha da estrutura a utilizar para a representa o desses documentos este problema j foi enfrentado pelas reas de Recupera o de Informa o RI e Minera o de Textos MT Em RI o problema consiste em recuperar documentos previamente armazenados num reposit rio de forma a atender a uma determinada consulta realizada por um usu rio Em MT o problema consiste em extrair conhecimento de um reposit rio possivelmente utilizando algoritmos de aprendizado de m quina Em ambos os casos imp e se a necessidade de estruturar os documentos PUC Rio Certifica o Digital N 0210680 CA Processo de Requisitos PLN e Agentes 42 analisados visando possibilitar a sua manipula o Uma das poss veis abordagens para a estrutura o de documentos denominada de bag of words Nessa abordagem cada documento rep
9. es calcula os valores de escore T e informa o mutua para os termos coloca es a partir dos valores de frequencia j obtidos Apenas as coloca es que possirem score T gt 2 e informa o m tua gt 3 ser o selecionadas Figura 34 Responsabilidades e colabora es do agente Estat stico Vis es PUC Rio Certifica o Digital N 0210680 CA Proposta de uma Arquitetura de Agentes 103 4 3 4 6 Agente Verificador Z O agente verificador respons vel por atividades de verifica o dos requisitos como identificar requisitos em duplicidade e omiss es em requisitos n o funcionais Para identifica o de requisitos em duplicidade inicialmente gerada a matriz termo documento e s o calculados os ndices de similaridade de Dice Jaccard e do coseno Para omiss es em requisitos n o funcionais utilizada uma taxonomia de RNF s instanciada para a organiza o A essa taxonomia s o agregados termos em linguagem natural que s o normalmente utilizados para fazer refer ncia a esses requisitos n o funcionais A Figura 35 ilustra as principais responsabilidades e colabora es deste agente Agente Colaboradores Verificador Analisador Responsabilidades L xico m 7 ae Comunicador Identificar requisitos em duplicidade em intera o com o Agente L xico gerar a matriz termo documento para o conjunto de requisitos executar an lise estat stica sobre pares de docum
10. incrementado e os demais procedimentos s o repetidos at se obter um coeficiente timo para o coeficiente LogLikelihood Nesse momento n o ocorrem mais itera es e o n mero ideal de grupos aquele que otimizou a verosimilhan a dos grupos encontrados No contexto desta tese t cnicas de clusteriza o foram experimentadas tendo como entrada documentos de requisitos Utilizamos para os experimentos a implementa o disponibilizada pela ferramenta WEKA Witten00 2 5 8 Recupera o de informa es medidas recall e precision Na recupera o de informa es as medidas recall e precision s o utilizadas para avaliar a qualidade da estrat gia utilizada Conforme Manning99 as medidas de recall e precision s o definidas como Recall Pp 5 Precision 2 6 tp fn tp Jp A utiliza o do diagrama apresentado na Figura 11 facilita a compreens o do significado dessas medidas Nas f rmulas 5 e 6 fp indica a quantidade de falsos positivos fn indica a quantidade de falsos negativos tp indica a quantidade de positivos corretos true positives e tn indica a quantidade de negativos corretos true negatives Portanto recall a propor o dos objetos corretos retornados em rela o ao total de objetos buscados alvo e precision a propor o de itens corretos no conjunto de objetos recuperados A Tabela 5 complementa essa defini o Tabela 5 Medidas utilizadas para c lculo de recall e precision
11. package requisitos agents import java util List import java util Map import org midas as agent board Board import org midas as agent board Message import org midas as agent board MessageListener import org midas as agent templates A gent import org midas as agent templates LifeCycleException import org midas as agent templates ServiceException import org midas as manager execution Logger public class Observer extends Agent implements MessageListener PUC Rio Certifica o Digital N 0210680 CA 183 private static String className OBSERVER AGENT Override protected void lifeCycle throws LifeCycleException InterruptedException Se registra no BlackBoard Board addMessageListener Observer this Override public void provide String service Map lt String Object gt in List lt Object gt out throws ServiceException public void boardChanged Message msg String title msg getTitle if title equals Document Created Il title equals Document Removed Il title equals Document Altered Notifica os outros agentes Logger addEntry className msg getContent true Se o documento de requisitos foi alterado if message equals Document Altered Notifica os outros agentes Board writeForAll Document Altered this Se um documento de requisitos foi criado else if message equals Document Created Notifica os o
12. usu rios e objetos que encapsulam regras de neg cio espec ficas do dom nio da PUC Rio Certifica o Digital N 0210680 CA Proposta de uma Arquitetura de Agentes 98 aplica o Agentes e componentes da aplica o comp em uma organiza o Neste ambiente componentes s o entidades puramente reativas e implementam aspectos caracter sticos do dom nio da aplica o como por exemplo interface com o usu rio e mecanismos para acesso aos dados 4 3 Aplica o caracter sticas agentes e modelos de pap is A ferramenta de suporte s t cnicas propostas foi visualizada para atender s seguintes caracter sticas reposit rio de artefatos de requisitos e de informa es sobre projetos servidor mantendo reposit rios e provendo servi os de comunica o comunica o entre sites via protocolo http acesso remoto via browser e protocolo de comunica o http autentica o de usu rios perfis de usu rios com diferentes direitos de acesso controle de modifica es em requisitos servi os de PLN e outros disponibilizados via web services agentes como assistentes pessoais como provedores de servi os monitores de modifica es 4 3 1 Perfil de usu rios Definimos tr s tipos b sicos de perfis para os participantes do processo de requisitos na plataforma gerente de projeto engenheiro de requisitos e representante de clientes e usu rios Ao gerente de projeto s o delegados acesso a t
13. 0210680 CA Resumo Say o Miriam Leite Julio C sar S P orientador Verifica o e Valida o em Requisitos Processamento da Linguagem Natural e Agentes Rio de Janeiro 2007 205p Tese de Doutorado Departamento de Inform tica Pontif cia Universidade Cat lica do Rio de Janeiro No processo de desenvolvimento do software atividades relacionadas ao Processo de Requisitos envolvem elicita o modelagem verifica o e valida o dos requisitos O uso da linguagem natural no registro dos requisitos facilita a comunica o entre os participantes do processo al m de possibilitar que clientes e usu rios validem requisitos sem necessitar de conhecimento extra Por outro lado na economia globalizada atual o desenvolvimento de software por equipes geograficamente distribu das est se tornando uma norma Nesse cen rio atividades de verifica o e valida o de requisitos para um software de m dia ou alta complexidade podem envolver o tratamento de centenas ou milhares de requisitos Com essa ordem de complexidade importante que o engenheiro de software tenha apoio computacional para o desempenho adequado das atividades de aferi o de qualidade Neste trabalho estamos propondo uma estrat gia que combina t cnicas de processamento da linguagem natural PLN e agentes de software para apoiar as atividades de an lise dos requisitos Geramos vis es textuais ou gr ficas de grupos de requisitos relacionados vis es ap ia
14. Considerando se especificamente o Processo de Requisitos Damian03a esquematiza conforme Figura 5 as dimens es derivadas da distribui o dos interessados os desafios identificados e as atividades por eles afetadas Nesse estudo os problemas derivados da distribui o geogr fica s o vistos como associados comunica o conhecimento cultura e diferen as temporais Ger ncia de conhecimento Diversidade cultural Comunica o inadequada Consci ncia Gerenciamento i i S Partiipa o d texte a Diferen as rac oa de zonfiitos e os Sy cutters e dened ae discuss es tumor Uus efetivos bemora identificados LUrierLidis de usu rios trabalho e ne abertas de requisitos do sistema curmurica o fi trabalho interesses Informal E x elicia o elicite o fr regoca o a prioriza o selicita o an lise sanalika prioriza o atividades k w prioriza o prioriza o valida o negoca o q Negecia o prorza o negocia o negocia o afeades pelos 7 negaria o nagnriagan i espacifica o gorenciamento Qerenc amente enegria o do waliaga d asperifira o desafios a ae dE nerea da incertezas a e valida o avalia o a va ida o a avalia o sistema liac isteme drenta avalia o sistema sislertid corente gererciamento correme de ir
15. Objetos alvo buscados n o alvo selecionados tp fp n o selecionados fn tn o coeficiente Likelihood tamb m denominado de coeficiente de verosimilhan a PUC Rio Certifica o Digital N 0210680 CA Processo de Requisitos PLN e Agentes 58 tn recuperados buscados Figura 11 Diagrama ilustrativo das medidas precision e recall Manning99 2 6 Processo de Requisitos PLN e Agentes Este capitulo condensou os principais conceitos do Processo de Requisitos se es 2 1 2 2 e 2 3 visando apresentar ao leitor os fundamentos necess rios para uma boa compreens o do trabalho desenvolvido nesta tese Tamb m est o registrados os m todos e t cnicas do Processamento da Linguagem Natural se o 2 5 utilizados para atingir os objetivos propostos dado que trabalhamos com requisitos expressos em linguagem natural Como a ferramenta de suporte abordagem proposta utiliza agentes de software apresentamos tamb m os conceitos b sicos da rea se o 2 4 possibilitando ao leitor acesso base conceitual necess ria ao entendimento deste trabalho PUC Rio Certifica o Digital N 0210680 CA 3 Proposta para Analise de Requisitos utilizando PLN A proposta aqui apresentada esta fundamentada no uso de t cnicas de processamento da linguagem natural para apoio as atividades associadas a verifica o e valida o de requisitos expressos em linguagem natural Na medida do poss vel abstraimos
16. msg getContent is under VerificationStage notifiyng other Agents true try Board writeOnBoard 1 Communicator VerificationStage documentName this catch BoardException e e printStackTrace if title equals PreValidationStage String documentName msg getContent Notifica os outros agentes Logger addEntry className Document msg getContent is under PreValidationStage notifiyng other Agents true try Board writeOnBoard 1 Communicator PreValidationStage documentName this catch BoardException e PUC Rio Certifica o Digital N 0210680 CA 182 e printStackTrace if title equals ValidationStage String documentName msg getContent Notifica os outros agentes Logger addEntry className Document msg getContent is under ValidationStage notifiyng other Agents true try Board writeOnBoard 1 Communicator ValidationStage documentName this catch BoardException e e printStackTrace if title equals Finalization String documentName msg getContent Notifica os outros agentes Logger addEntry className Document msg getContent has been released notifiyng other Agents true try Board writeOnBoard 1 Communicator Finalization documentName this catch BoardException e e printStackTrace Agente Observador observer java
17. o relaciona um tema da taxonomia e um requisito relacionado Para o tema reserva foram geradas 32 associa es A Figura 45 apresenta esquerda a taxonomia de turismo e direita vis o gr fica do tema reserva e requisitos relacionados uma outra vis o apresentada na figura 7 mostra que o RF17 relacionado ao tema pagamento tamb m est relacionado aos temas viagem e pacote Para melhorar a visibilidade das figuras est sendo exibida apenas parte dos requisitos associados aos termos da taxonomia as figuras foram obtidas com uso do software TMNav vers o 0 2 8 alpha O turismo O Instances O comunica o O pacote O pagamento O parametriza o O reserva O seguran a O sistemas externos O viagem RF37 Adicionar Produto TT o RF34 Efectuar Ac o Sobre Produto o Viagem RF33 Consultar Produtos O da Viagem FFs Manter Viagem de Cliente Figura 45 Vis o da taxonomia e do tema reserva e requisitos associados PUC Rio Certifica o Digital N 0210680 CA Estudos de Caso 120 Os componentes apresentados numa vis o est o associados a outros atrav s de hiperlinks o que possibilita no exemplo da Figura 46 verificar que um requisito associado a um determinado tema participa tamb m em outras associa es Estas diferentes vis es auxiliam os interessados a escolher um determinado conjunto de requisitos para focar seu trabalho e tamb m permitem a visual
18. reqNodesCoOcurrenceMap put token 1 goneTokens put token true if requirementOcurrenceMap containsKey token List lt String gt reqs PUC Rio Certifica o Digital N 0210680 CA 187 requirementOcurrenceMap get token mow regs add code else List lt String gt reqs new ArrayList lt String gt requirementOcurrenceMap put token regs regs add code for Entry lt String Integer gt entry reqNodesCoOcurrenceMap entrySet LOGGER debug entry getKey entry getValue for Entry lt String Integer gt entry reqNodesCoOcurrenceMap entrySet if nodesCoOcurrenceMap containsKey entry getKey Integer newValue entry getValue nodesCoOcurrenceMap get entry getKey nodesCoOcurrenceMap put entry getKey new Value else nodesCoOcurrenceMap put entry getKey entry getValue Calcula f c e N LOGGER debug No texto todo String text getText requirements Set lt String gt nodesSet nodesCoOcurrenceMap keySet String tokens StringUtils split text corpusCount tokens length for String node nodesSet int count StringUtils countMatches text node PUC Rio Certifica o Digital N 0210680 CA 188 LOGGER debug node count nodesOcurrenceMap put node count Adiciona na saida FrequencyMap frequencyMap new FrequencyMap frequencyMap setCorpusCount
19. 203 file delete File stembaseDir new File pretexPath stembase File stembaseFiles docsDir listFiles for File file docsFiles file delete File discoverDir new File pretexPath discover File discoverFiles docsDir listFiles System out printin className discoverDir discoverDir for File file docsFiles file delete PUC Rio Certifica o Digital N 0210680 CA Anexo A Stopwords utilizadas 204 a a abaixo acaso acerca acima acola acol ademais adentro adiante afinal afora agora agorinha ai a ainda alem al m algo alguem algu m algum alguma algumas alguns ali alias ali s amiude ami de ante antes ao aonde aos apenas apesar apos ap s apud aquela aquela aquelas aquelas aquele aquele aqueles aqueles aqui aquilo quilo as s assim ate at atras atr s atraves atrav s basicamente bastante bastantes bem bom ca c cada cade cad cadern caso cem certa certamente certas certeiramente certo certos chez cinco cinquenta com comigo como comumente conforme confronte conosco conquanto consequentemente conseqiientemente consigo consoante contanto contigo contra contudo convosco cuja cujas cujo cujos da dai da dali dantes daquela daquelas daquele daqueles daqui daquilo das de debaixo defronte dela delas de
20. 6 Calcula as similaridades List lt Valued Attribute gt similarityList calculateSimilarity 7 Monta e envia o relat rio sendEmail documentName similarityList private void sendEmail String documentName List lt ValuedAttribute gt similarityList String report generateReport similarityList RequirementDocumentDao rdao RequirementDocumentDao A gentServer getA pplicationContext getBean requirementDocume ntDao List lt VerifyValidateProccess gt vvproccessList rdao getVerify ValidateProccessByDocumentName documentName VerifyValidateProccess vvproccess vvproccessList get vvproccessList size 1 Set lt User gt users vvproccess getUsers for User user users try Email EnviaEmail user getEmail Rq NET Relat rio de Requisitos Similares em vvproccess getRequirementDocument getName Caro a user getUsername n n Os testes de similaridade em vvproccess getRequirementDocument getName foram concluidos n n PUC Rio Certifica o Digital N 0210680 CA 201 O sistema encontrou similarityList size pares de requisitos similares listados abaixo do par mais similar para o menos similar n n report catch AddressException e TODO Auto generated catch block e printStackTrace catch MessagingException e TODO Auto generated catch block e printStackTrace catch Exception e TODO Auto generated
21. A solu o encontrada utiliza a metodologia da an lise de conte do para avaliar um documento de requisitos e identificar poss veis omiss es considerando requisitos n o funcionais Como foi visto no cap tulo 2 m todos de an lise de conte do s o baseados na utiliza o de um dicion rio de categorias estas categorias representam id ias ou conceitos que se deseja investigar se est o ou n o presentes no texto No contexto de requisitos dicion rios manipulados para a an lise de conte do podem ser constru dos a partir dos cat logos p blicos de requisitos n o funcionais Cada entrada no dicion rio composta por um requisito n o funcional a cada entrada s o associados os termos e express es usados no contexto da organiza o para o registro daquele requisito n o funcional O processo completo para a identifica o de omiss es em RNF s no documento de requisitos apresentado na Figura 24 e inclui a etapa de cria o do dicion rio a instancia o para uma dada organiza o e a execu o da an lise de conte do do documento de requisitos gerando um relat rio sobre omiss es relacionadas a RNF s PUC Rio Certifica o Digital N 0210680 CA Proposta para An lise de Requisitos utilizando PLN 87 crit rios ad hoc t l d criar dicion rio Tenk ca oops le preliminar de dicion rio documento de s RNF s preliminar de requistos RNF s documentos de identificar termos dic
22. E O Requisitos FE E Thread Count O Agents Communicator Q Lexical Details concordance e Agent Lexical O convertDoc convertHtm Protocol convertPdt native extractRequirements Package requirementsRegexMatcher dente stemmer O LexicalConstructor Class Observer Lexical class EO Statistics O Topicmapper O Tracker O validator Overifier components Jl Memory Usage 15503360 KB Server Log Tue Feb 13 23 00 12 BRST 2007 Server is Online Tue Feb 13 23 00 12 BRST 2007 Agents successfully awaken Figura 41 Vis o do sistema multi agente A arquitetura da aplica o multi agente e apresentada a seguir com descri o e caracter sticas principais 4 4 1 Estrutura da aplica o multi agente A aplica o est estruturada em 3 subsistemas a saber core web e midas Para a implementa o foi utilizada a linguagem Java mas os diferentes softwares incorporados como servi os dos agentes est o desenvolvidos nas linguagens Perl C e AWK Descrevemos a seguir cada um desses subsistemas O subsistema core agrega componentes respons veis pelos agentes e seus servi os e pelo acesso e manuten o do reposit rio de informa es sobre projetos composto pelos pacotes requisitos agents agentes que comp em a aplica o requisitos business entities entidades da aplica o requisitos dao requisitos dao hiberna
23. Implementation of an efficient requirements analysis supporting system using similarity measure techniques In Information and Software Technology 42 2000 pp 429 438 Parreiras03 Parreiras F O uso de sintagmas nominais como fonte de descritores para textos de peri dicos cient ficos Escola de Ci ncia da Informa o Belo Horizonte 2003 Dispon vel em http www fernando parreiras nom br publicacoes sn pdf Pepper00 Pepper S The TAO of Topic Maps finding the way in the age of infoglut In XML Europe Conference Paris 2000 Proceedings PUC Rio Certifica o Digital N 0210680 CA 153 Pepper01 Pepper Steve amp Moore Graham XML Topic Maps XTM 1 0 http www topicmaps org xtm 1 0 Mar 2001 TopicMaps Org Specification P rez03 P rez C C C Gasperin C amp Vieira R Extra o semi autom tica de conhecimento a partir de textos In IV Encontro Nacional de Intelig ncia Artificial ENIA 2003 Campinas 2003 Anasi da SBC 2003 v 7 pp 193 202 Perini98 Perini M A Gram tica descritiva do portugu s 3 ed S o Paulo tica 1998 380p ISBN 8508055501 Ponnurangam05 Ponnurangam D Uma G V Fuzzy complexity assessment model for resource negotiation and allocation in agent based software testing framework Expert Systems with Applications vol 29 no 1 July 2005 pp 105 11 Porter80 Porter M F An algorithm for suffix stripping Program 14 3 pp 130 137
24. N gt eus lt w POS N gt euses lt w POS N gt eusa lt w POS N gt eusas lt w POS N gt ia lt w POS N gt ias lt w POS N gt lt w POS ADJ gt lt w POS ADV gt lt w POS N gt lt w POS ADJ gt 159 PUC Rio Certifica o Digital N 0210680 CA 160 Ap ndice C Dicionario de Requisitos Nao Funcionais lt xml version 1 0 encoding UTF 8 gt lt dictionary style 050805 patternengine substring gt lt cnode name RNFS desc dicion rio de requisitos n o funcionais gt lt cnode name requisitos nao funcionais desc gt lt cnode name externos desc relacionados a aspectos externos ao sistema gt lt cnode name comunica o sistemas externos desc outros sistemas com os quais existir troca de informa es gt lt pnode name reply gt lt pnode name request gt lt cnode gt lt cnode name custos desc restri es or ament rias para o sistema gt lt cnode gt lt cnode name integra o sistemas externos desc sistemas j existentes com os quais haver integra o gt lt pnode name ace gt lt pnode name galileo gt lt pnode name sap gt lt cnode gt lt cnode name interoperabilidade desc outros sistemas com os quais haver intera o gt lt pnode name exportar gt lt pnode name exporta o gt lt pnode name exporta o de dados gt lt pnode name importar gt lt pnode name impor
25. O conjunto inclui dicion rios espec ficos para categorias como substantivos adjetivos verbos abreviaturas pronomes artigos conjun es e interjei es Os dicion rios utilizados foram criados e cedidos por Akeo Tanabe pesquisador associado ao LES DI PUC Rio e est o descritos em Tanabe06 Esses dicion rios abrangem aproximadamente dezoito mil adjetivos mais de cinco mil substantivos e trezentas abreviaturas Termos n o relacionados nos dicion rios s o extra dos dos requisitos pois s o candidatos a comporem o l xico da aplica o 3 2 1 2 Selecionar termos Os termos n o dicionarizados s o agora avaliados em rela o a uma stop list que dever conter os termos do l xico se este j existir e quaisquer outros termos considerados irrelevantes pelos participantes do processo O processo de sele o considera todos os termos independente da freqii ncia com que eles possam estar presentes no texto Isto significa que qualquer termo explicitado no documento e que n o conste dos dicion rios ou PUC Rio Certifica o Digital N 0210680 CA Proposta para An lise de Requisitos utilizando PLN 77 stoplist utilizados n o um termo corrente da l ngua Para evitar que esses termos possam dar margem a diferentes interpreta es nos processos de V amp V eles dever o ser relacionados no l xico da aplica o Apenas termos n o dicionarizados e que n o constem da stoplist espec fica desta etapa dever o s
26. ao inv s de apenas s O algoritmo utiliza um total de 199 regras estruturadas num mesmo padr o Esse padr o estabelece o sufixo a ser removido o tamanho m nimo para o radical ap s a remo o um sufixo a ser adicionado em substitui o quele sendo retirado e uma lista de palavras que s o consideradas exce es regra Um exemplo de regra pode ser visualizado a seguir Orengo01 inho 3 caminho golfinho padrinho sobrinho vizinho Essa regra estabelece que palavras terminadas em inho normalmente um diminutivo ter o este sufixo retirado desde que o radical restante tenha tamanho m nimo 3 e que a palavra n o seja uma das exce es relacionadas caminho golfinho padrinho sobrinho e vizinho Em Orengo01 s o relatados diversos experimentos comparando os algoritmos de Porter e de Orengo e Huick Os resultados obtidos com a aplica o dos dois algoritmos a um mesmo vocabul rio s o resumidos a seguir Considerando um conjunto inicial de 32 000 palavras o stemmer de Orengo e PUC Rio Certifica o Digital N 0210680 CA Processo de Requisitos PLN e Agentes 51 Huick apresentou redu o de vocabul rio de 51 contra 44 obtida com o algoritmo de Porter Um extrato de 1 000 palavras desse conjunto inicial foi ent o utilizado para verifica o da corre o dos stems obtidos e o algoritmo de Orengo amp Huick apresentou resultado correto em 96 dos casos contra 71
27. atender Este processo gera um conjunto de artefatos que constituem uma baseline para o registro e acompanhamento da evolu o dos requisitos ao longo do ciclo de desenvolvimento possibilitando um efetivo gerenciamento de requisitos A qualidade fator cr tico no documento de requisitos dado que este ser a base para as demais atividades ao longo do processo de desenvolvimento V rias s o as propostas para estrutura o das atividades no processo de requisitos 2 1 Processo de Requisitos estrutura o das atividades 2 Segundo Leite Leite94 este processo composto pelas fases de elicita o modelagem e an lise de requisitos representadas no diagrama SADT da Figura 2 Udi Selecionar pontos de vista de ES Pessoal Udi Selecionar M todo Elicitar requisitos Modelar modelo Analisar ferramentas Figura 2 Modelo SADT da Engenharia de Requisitos Leite94 PUC Rio Certifica o Digital N 0210680 CA Processo de Requisitos PLN e Agentes 28 Durante a fase de elicita o s o utilizadas diferentes t cnicas para a descoberta dos requisitos junto ao conjunto de interessados no sistema com o objetivo de identificar necessidades e expectativas em rela o ao sistema a ser desenvolvido Estas necessidades e expectativas ser o estruturadas e registradas de form
28. e externamente entre os agrupamentos Palmer prop e a classifica o de requisitos em dois n veis de hierarquia os requisitos s o inicialmente agrupados num n vel mais alto tendo por base os verbos indicativos de funcionalidades e um thesaurus de verbos constru do previamente Os grupos assim considerados s o ent o subdivididos considerando se uma medida de similaridade entre documentos o coseno O trabalho mais recente descrito em Chen05 apresenta uma abordagem baseada no agrupamento de requisitos para constru o de modelos de features Rela es de depend ncia entre dois requisitos s o identificadas se ambos acessam um mesmo recurso s o identificados 5 tipos b sicos de rela es de depend ncia e a cada tipo atribu do um peso constru do um grafo no qual requisitos representam os nodos e rela es de depend ncia s o representadas por arcos Os agrupamentos de requisitos s o derivados desses grafos e gerados considerando os pesos atribu dos a cada rela o de depend ncia Nesta abordagem requisitos podem estar presentes em mais de um agrupamento Nossa proposta para agrupamento de requisitos tem os mesmos objetivos da id ia de Palmer e Liang tamb m utilizamos uma taxonomia estruturada em dois n veis para o agrupamento dos requisitos A taxonomia utilizada no nosso caso constru da a partir do pr prio documento de requisitos Os temas do primeiro n vel s o identificados atrav s de medidas que tem por ba
29. este etiquetador foi treinado pelos pesquisadores T Sardinha e R Lima Lopes associados ao Lael PUCSP utilizando um corpus de textos jornal sticos composto por aproximadamente 500 mil palavras e etiquetado por ling istas Conforme dados experimentais a precis o deste etiquetador para textos em l ngua portuguesa da ordem de 93 Sardinha04 O conjunto de etiquetas para a l ngua portuguesa est relacionado PUC Rio Certifica o Digital N 0210680 CA Processo de Requisitos PLN e Agentes 41 na Tabela 1 e a Tabela 2 apresenta o resultado do etiquetador para a frase O modelo de l ngua utilizado pelo etiquetador pode ser baseado em regras Tabela 1 Etiquetas utilizadas pelo QTAG Tabela 2 Frase etiquetada pelo QTAG Etiqueta Significado lt w pos ARTD gt O lt w gt ADJ Adjetivo lt w pos N gt modelo lt w gt ADV Adv rbio lt w pos CPR gt da lt w gt ARTD Artigo definido lt w pos N gt lingua lt w gt ARTI Artigo indefinido lt w pos PART gt utilizado lt w gt CJ Conjun o lt w pos CPR gt pelo lt w gt CPR Contra o de preposi o e lt w pos N gt etiquetador lt w gt artigo pronome ou adv rbio lt w pos V gt pode lt w gt ESTR Palavra estrangeira lt w pos V gt ser lt w gt IN Interjei o lt w pos PART gt baseado lt w gt N Substantivo lt w pos PRP gt em lt w gt NUM Numeral lt w pos N gt regras lt w gt
30. fen menos sociais Bardin77 Hardy04 e incorpora um conjunto de t cnicas para conduzir uma investiga o qualitativa e estruturada de textos O objetivo da an lise do discurso descobrir a maneira como a realidade social existente produzida ela envolve o estudo sistem tico de textos para encontrar evid ncias de seu significado e de como este significado se traduz numa realidade social Isto inclui identificar caracter sticas da linguagem utilizada pelos atores as categorias utilizadas na estrutura o ou organiza o de seu universo e ainda as met foras ou analogias utilizadas na descri o dessas categorias Lowe04 An lise de conte do diverge da an lise do discurso no sentido de ser fortemente baseada em m todos quantitativos Historicamente a an lise de conte do evoluiu da avalia o de textos tendo por base a simples an lise de freqii ncia de determinados termos para m todos e t cnicas mais sofisticados baseados em conceitos e em rela es sem nticas entre eles O texto analisado n o apenas pelos conceitos explicitados mas tamb m por aqueles impl citos de forma proposital ou n o pelo autor do mesmo Enquanto a identifica o de termos expl citos relativamente simples de realizar a identifica o de termos impl citos pode estar sujeita interpreta o do avaliador Uma forma de diminuir a subjetividade de diferentes pontos de vista envolve a utiliza o de dicion rios especializados A an lis
31. gia baseada na An lise de Conte do para identificar omiss es em RNF s An lise de conte do tamb m foi utilizada em Fantechi05 para identificar inconsist ncias em documentos de requisitos Nessa abordagem o documento de requisitos processado por um parser gramatical e s o extra das triplas sujeito a o objeto SAO Esses elementos s o inseridos num dicion rio de categorias e a cada elemento atribu do um peso de acordo com a classe gramatical A cria o do dicion rio segue a estrutura do documento se requisitos funcionais s o colocados separadamente de requisitos n o funcionais o dicion rio estar estruturado em duas parti es O documento de requisitos analisado e a cada requisito atribu do um valor que computa a presen a das categorias de cada parti o do dicion rio no requisito Esses valores s o depois analisados e s o verificados os requisitos que apontem pesos relevantes para a parti o indevida por exemplo um requisito funcional que apresente peso relevante para termos que constam no dicion rio da parti o de requisitos n o funcionais Um problema apresentado por essa abordagem est na constru o do PUC Rio Certifica o Digital N 0210680 CA Conclus es 145 dicion rio se requisitos forem colocados numa se o incorreta os componentes SAO que ir o gerar as categorias da parti o incluir o triplas SAO na parti o incorreta e a an lise resultar inconsistente N
32. ir considerar apenas aqueles que atendem a crit rios de relev ncia estabelecidos A etapa final extrai para cada um dos sintagmas contextos que possam vir a ser utilizados como no o e impactos A seguir detalharemos cada um desses sub processos 3 2 2 1 Preparar para processamento O trabalho de prepara o dos documentos necess rio pois as ferramentas utilizadas trabalham com arquivos do tipo texto puro Os documentos da organiza o podem estar em diferentes formatos como por exemplo pdf Portable Document Format doc Microsoft Word document ou html HyperText Markup Language Documentos podem ainda incluir figuras e tabelas que n o ser o processadas pelas ferramentas de tratamento de texto O processo de prepara o inicialmente retira figuras transforma tabelas em texto PUC Rio Certifica o Digital N 0210680 CA Proposta para An lise de Requisitos utilizando PLN 79 retira poss veis tags de formata o e gera texto puro ou seja arquivos do tipo txt Ap s a obten o do arquivo em formato txt faz se necess rio a tokeniza o do documento ou seja a coloca o de um token por linha inclusive dos caracteres de pontua o A separa o dos tokens uma exig ncia do etiquetador utilizado e poderia ser dispensada caso a ferramenta utilizada n o exigisse este formato O documento de requisitos agora j no formato texto puro tokenizado e pode ent o ser trabalhado para a extra o de
33. linguagens gt processo gt padr es gt produto gt produto gt ambiente operacional gt produto gt confiabilidade gt produto gt confiabilidade gt integridade dos dados gt produto gt confiabilidade gt seguran a gt produto gt confiabilidade gt toler ncia a falhas gt produto gt confidencialidade gt produto gt confidencialidade gt cadastrar usu rios gt produto gt confidencialidade gt conectar autenticar usu rios gt produto gt confidencialidade gt desconectar gt produto gt efici ncia gt produto gt efici ncia gt desempenho gt produto gt efici ncia gt recursos gt produto gt manutenibilidade gt produto gt manutenibilidade gt modifiabilidade gt produto gt manutenibilidade gt testabilidade gt produto gt portabilidade gt produto gt portabilidade gt adaptabilidade gt produto gt usabilidade gt produto gt usabilidade gt flexibilidade gt produto gt usabilidade gt operabilidade gt produto gt usabilidade gt web gt suporte gt suporte gt documenta o gt suporte gt treinamento do co co co ooo0oo0oo0oo0o00000000000000000000000000000000R 2000000000000004900300W00W 4RO0O0004D0O0OA Figura 50 Comparando documentos atrav s de RNF s 5 4 Estudo de caso documento Selic Este estudo de caso utilizou documentos p blicos relacionados ao sistema SELIC do Banco Central do Brasil Estes documentos comp em a docum
34. n for String paragraph textParagraphs String textPhrases StringUtils splitB yWholeSeparator paragraph PUC Rio Certifica o Digital N 0210680 CA 175 for String phrase textPhrases Limpa a frase String cleanText cleanToken phrase stopList Stemmiza a frase Stemmer stemmer new PortugueseStemmer String stemmer stemString cleanText stemmizedText SE a linha cont m a express o OU o p s buffer n o est vazio int StringUtils countMatches stemmizedText themeName expressionCount for int k 0 k lt expressionCount k StringBuilder StringBuilder paragraphPieceArray i trim themeName paragraphPieceArray length i paragraphPieceArray i trim 1 themeName prePiece toStringQ trim excerptPrePiece split posPiece toString trimQ Quebra o par grafo pelo token String paragraphPieceArray StringUtils splitB yWholeSeparator stemmizedText themeName StringBuilder prePiece new StringBuilder posPiece new for int i 0 i lt k i l prePiece append if i lt k prePiece append for int i k l i lt posPiece append if i lt paragraphPieceArray length posPiece append Recupera o pedago atual String excerptPrePiece String excerptPrePieceS plit Recupera o pr ximo peda o String excerptPosPiece String excerptPosP
35. ncia Daile96 sugere que o limiar utilizado seja 4 Para a primeira regi o comum o uso de um conjunto de stopwords que agrega os termos da lingua que s o artigos pronomes preposi es conjun es Meadow00 observa que o conjunto de stopwords sens vel ao contexto por exemplo retirar o termo A num contexto de sa de pode excluir indevidamente refer ncias vitamina A No contexto desta tese a representa o de documentos utilizou a abordagem bag of words para apoiar a identifica o de termos relevantes em documentos gerados ou manipulados no processo de requisitos e tamb m para apoiar a identifica o de similaridades entre requisitos 2 5 3 Similaridade entre documentos Um das formas de se identificar documentos similares utiliza a representa o espa o vetorial No modelo espa o vetorial Salton88 s o utilizadas matrizes termo documento j referidas na se o anterior Cada elemento ou termo do vetor considerado uma coordenada num espa o vetorial euclidiano t dimensional e a posi o do documento em cada dimens o dada pelo peso associado Documentos localizados numa mesma regi o desse espa o possuem conte dos similares e uma forma de determinar essa similaridade est relacionada ao ngulo entre documentos representados nesse espa o vetorial Uma representa o do espa o vetorial assim definido pode ser visualizada na Figura 9 2 a td Stopwords s o aqueles termos da l ngua
36. o de Recursos ou Objetos padr es utilizados A extra o de recursos objetos utilizou padr es mais gen ricos que os utilizados na etapa de extra o de atores sujeitos Foram utilizados nove padr es relacionados na Tabela 9 Tabela 9 Padr es para extra o de objetos e recursos N PRP N PRP N N PRP N N N N PRP N N N PRN N N PART N CPR N N N CPR N N ADJ Os padr es utilizados foram definidos empiricamente ap s avalia o de diferentes tipos de documentos gerados ou manipulados no processo de requisitos As principais fontes para este trabalho foram documentos de requisitos de diferentes dom nios de aplica o e manuais de usu rio Buscamos identificar padr es gerais mas certamente o conjunto utilizado deve ser revisto e modificado para atender especificidades de uma determinada organiza o de dom nio de aplica o PUC Rio Certifica o Digital N 0210680 CA Proposta para An lise de Requisitos utilizando PLN 81 3 2 2 3 Selecionar simbolos O processo de sele o dos s mbolos a partir dos sintagmas candidatos desconsidera sintagmas que contenham termos relacionados na stoplist que composta por termos da l ngua geral ou mesmo do dom nio mas que n o s o relevantes para o l xico importante observar que a stoplist neste contexto n o formada por artigos pronomes preposi es e outros normalmente inclu dos em listas desse tipo A etapa segui
37. o dos resultados preliminares 6 Conclus es 6 1 Abordagem proposta e contribui es 6 1 1 Estrat gias com uso de t cnicas de processamento da linguagem natural 6 1 2 Estrat gias com uso de agentes de software 6 2 Compara o com trabalhos relacionados 6 3 Limita es e trabalhos futuros 7 Refer ncias Bibliogr ficas Ap ndice A Padr es para extra o de sujeitos atores doc Escalas Ap ndice B Padr es para extra o de sujeitos atores doc SELIC 85 93 94 95 98 98 99 99 100 105 107 108 110 114 114 115 120 122 127 127 128 129 131 132 133 135 135 136 139 140 145 147 156 158 PUC Rio Certifica o Digital N 0210680 CA Ap ndice C Dicionario de Requisitos Nao Funcionais Ap ndice D C digo dos agentes da aplica o Anexo A Stopwords utilizadas 160 163 204 PUC Rio Certifica o Digital N 0210680 CA Lista de figuras Figura 1 Modelo de depend ncia estrat gica para verifica o e valida o de requisitos Figura 2 Modelo SADT da Engenharia de Requisitos Leite94 Figura 3 Processo de Requisitos Sommerville04 Figura 4 Ciclo de elicita o e an lise Sommerville04 Figura 5 Impactos do desenvolvimento distribu do no Processo de Requisitos Damian03a Figura 6 Vis o geral de um etiquetador morfossint tico Figura 7 Curva segundo a lei de Zipf Figura 8 Curva de Zipf com os cortes propostos por Luhn Figura 9 Espa o ve
38. obtidos pelo algoritmo de Porter Um terceiro experimento foi realizado desta vez considerando como entrada conjuntos de palavras morfol gica e semanticamente relacionadas Um novo conjunto de 1 000 palavras foi dividido em 170 grupos de palavras relacionadas sendo efetuadas medidas utilizando ndices de overstemming e understemming Com o algoritmo de Orengo e Huick foram obtidos valores de 0 034 e 0 000985 para understemming e overstemming e com o algoritmo de Porter foram obtidos os valores de 0 215 e 0 000211 para essas mesmas medidas Novamente foram obtidos resultados melhores para o algoritmo de Orengo e Huick Ap s alguns experimentos realizados sobre o documento de requisitos j referido e considerando as particularidades do nosso trabalho optamos pelo uso do algoritmo proposto por Orengo e Huyck no contexto desta tese 2 5 5 Concordanceador Um concordanceador um programa que avalia um documento e recupera os contextos nos quais uma determinada palavra ou express o de busca est presente Na Figura 10 observa se os contextos para a palavra concordanceador considerando se os dois primeiros par grafos desta se o e uma janela de 5 palavras para cada lado da palavra concordanceador A palavra ou express o de busca geralmente centralizada e a concord ncia apresenta um n mero determinado de palavras esquerda e direita da palavra de busca Numa leitura vertical podem se observar padr es gramaticais e lexicais
39. que os participantes desta atividade sejam profissionais j com boa experi ncia em processos de requisitos com uma vis o ampla da rea de tecnologia da informa o da empresa e com bom desempenho em atividades do processo de requisitos Os termos e express es selecionados ser o inseridos nas categorias definidas na etapa anterior O suporte de software para esta atividade deve ter flexibilidade para permitir o registro de palavras simples e de express es Para possibilitar que uma nica entrada no dicion rio possa representar um conjunto de termos desej vel que se possa tamb m utilizar o caracter para indicar uma ou m ltiplas ocorr ncias de caracteres alfab ticos Uma nica inser o deve representar singular plural masculino feminino entre outras varia es Exemplificando na ferramenta implementada o termo conec permitir a representa o de palavras como conecta conectar conectando conectou O caracter tamb m poder estar presente substituindo uma palavra interna ao termo como por exemplo em password acesso express o que ir representar password de acesso password para acesso password do acesso Os termos podem ser registrados tanto em mai sculas como em min sculas Ao final desta atividade teremos um dicion rio onde cada entrada corresponde a um RNF sua descri o e um conjunto de termos que ser utilizado com a finalidade de identificar a presen a ou aus ncia desse RNF em documentos de
40. relev ncia stop list taxonomia i wid modelos documento de enriquecer taxonomia crit rios de tipa de XTM requisitos taxonomia sepatacao vis o Categorizar relacionamentos gerar Vise requisitos taxonomia requisitos vis es ferramentas d visualiza o Figura 12 Vis o geral do processo para categoriza o dos requisitos e gera o de vis es A taxonomia enriquecida utilizada para categoriza o dos requisitos gerando agrupamentos de requisitos relacionados Estes conjuntos de requisitos associados taxonomia possibilitam diferentes vis es dos requisitos aos participantes do processo Essas vis es ser o utilizadas nos processos de an lise PUC Rio Certifica o Digital N 0210680 CA Proposta para An lise de Requisitos utilizando PLN 66 de requisitos que se quer apoiar A seguir descreveremos cada uma das etapas do processo proposto 3 1 2 Identifica o de termos para enriquecimento da taxonomia Como apresentado na Figura 12 o processo pode ser dividido em 3 grandes atividades ou sub processos Primeiro usando tecnologias de tratamento de linguagem natural procuramos identificar termos para compor nossa taxonomia Em seguida procede se a categoriza o dos requisitos de acordo com a taxonomia enriquecida e finalmente utilizamos os agrupamentos para compor as vis es e apresent las tanto textualmente como graficamente Os temas que ir o compor o primeiro n vel da taxonomia definem a qu
41. stopList List lt Requirement gt requirements List lt Requirement gt in get requirements Execu o ThemeExcerpts excerpts concordance theme stopList requirements Retorno out add excerpts x fo e Les St Servi o E requirementsRegexMatcher x Dado um tema e uma lista de padr es procura no texto dos requisitos quando o tema ocorre junto a cada um dos padr es com uma dist ncia de 4 ou menos palavras Retorna um mapa em que as chaves s o os padr es e a entrada para cada padr o uma lista com os c digos dos requisitos em que o padr o ocorre junto ao tema else if service equals requirementsRegexMatcher Entrada String theme String in get theme List lt String gt patterns List lt String gt in get patterns List lt Requirement gt requirements List lt Requirement gt in get requirements Execu o Map lt String Set lt String gt gt matchs requirementsRegexMatcher theme patterns requirements Retorno out add matchs x do O EDS CLS SOS Servi o stemmer Dado uma palavra ou um conjunto de palavras este servi o retorna o s radicai s correspondentes else if service equals stemmer Entrada String word String in get word PUC Rio Certifica o Digital N 0210680 CA 171 Execu o Stemmer stem new PortugueseStemmer String steemedWord s
42. xico Comunicador Gerar uma taxonomia Verificador utilizar termos fornecidos pelos usu rios que Validador correspondem ao n vel mais alto da taxonomia em intera o com o agente L xico identificar coloca es e obter padr es l xicos que ir o compor o segundo n vel da taxonomia Categorizar requisitos em intera o com o agente L xico identificar requisitos associados a cada um dos ramos da taxonomia Gerar vis es gerar vis o textual dos agrupamentos identificados gerar mapa XTM para possibilitar vis es gr ficas o Enviar notifica es notificar agente verificador validador e demais interessados via agente Comunicador Figura 33 Responsabilidades e colabora es do agente Gerador de Vis es 4 3 4 5 Agente Estat stico Statistics O agente Estat stico respons vel pelo c lculo do mapa de fregii ncia e m tricas como escore T e informa o m tua trabalhando sobre os contextos extra dos do documento de requisitos e relacionados a um determinado tema A Figura 34 ilustra as principais responsabilidades e colabora es deste agente Agente Colaboradores Estat stico Analisador Responsabilidades L xico Gerador de Calcular frequ ncias recebe um conjunto de sub senten as concordances relacionadas a um determinado tema e calcula frequencias do nodo o termo principal e dos dems termos presentes Calcular m tricas para coloca
43. 106 107 109 110 119 120 125 126 130 132 PUC Rio Certifica o Digital N 0210680 CA Lista de tabelas Tabela 1 Etiquetas utilizadas pelo QTAG Tabela 2 Frase etiquetada pelo QTAG Tabela 3 Estrutura gen rica para uma matriz termo documento Tabela 4 Resultados obtidos na aplica o de dois diferentes stemmers Tabela 5 Medidas utilizadas para c lculo de recall e precision Tabela 6 S mbolos do LAL no o e impactos Leite90 Tabela 7 Exemplo de s mbolo de um l xico do tipo LAL Tabela 8 Padr es para extra o de sujeitos e atores Tabela 9 Padr es para extra o de objetos e recursos Tabela 10 Estado atual da implementa o da ferramenta de suporte Tabela 11 Lista parcial de termos selecionados e ndices Tabela 12 Termos candidatos parcial Tabela 13 Padr es para o termo reserva Tabela 14 Taxonomia e requisitos relacionados Tabela 15 N mero de requisitos por liga es Tabela 16 Vis o textual de requisitos associados ao tema reserva parcial Tabela 17 Termos n o dicionarizados do documento Exit parcial Tabela 18 Express es registrando diferen as culturais e ling sticas Tabela 19 Um termo e seus contextos Tabela 20 Matriz de similaridade de requisitos exibi o parcial Tabela 21 Requisitos candidatos avalia o de duplicidade Tabela 22 Valores de recall e precision para duplicidade Tabela 23 Express es n o dicionarizadas Tabela 24 S mbol
44. Estruturas previamente definidas podem ser utilizadas para defini o dos t picos e suas associa es agilizando a cria o dos mapas e a gera o das vis es O modelo template utilizado para os itens da taxonomia pode ser visualizado na Figura 17 o modelo para requisitos apresentado na Figura 18 e o modelo para associa es na Figura 19 os modelos aqui apresentados est o simplificados lt topic gt lt instanceOf gt lt topicRef xlink href termos gt lt instanceOf gt lt baseName gt lt baseNameString gt termo da taxonomia lt baseNameString gt lt baseName gt lt topic gt Figura 17 Modelo XTM para termos da taxonomia lt topic gt lt instanceOf gt lt topicRef xlink href req_func gt lt instanceOf gt lt baseName gt lt baseNameString gt id_do_requisito lt baseNameString gt lt baseName gt lt topic gt Figura 18 Modelo XTM para requisitos funcionais lt association gt lt instanceOf gt lt topicRef xlink href relaciona gt lt instanceOf gt lt member gt lt topicRef xlink href id_requisito gt lt member gt lt member gt lt topicRef xlink href fid termo gt lt member gt lt association gt Figura 19 Modelo XTM para associa es entre temas e requisitos A escolha de uso de uma ferramenta de mapas de t picos para a visualiza o das associa es entre requisitos e a taxonomia deveu se principalmente s caracter sticas
45. L An lise de conte do Lisboa Ed 70 1977 225 p Bellifemine01 Bellifemine F Poggi A Rimassa G JADE a FIPA2000 compliant agent development environment In Fifth international Conference on Autonomous Agents AGENTS 01 Proceedings ACM Press New York NY 2001 pp 216 217 Bianchi02 Bianchi A Caivano D Lanubile F Rago F amp Visaggio G An Empirical Study of Distributed Software Maintenance In International Conference on Software Maintenance ICSM 02 Proceedings Blackburn01 BLACKBURN M R BUSSER R NAUMAN A Removing Requirement Defects and Automating Test Software Productivity Consortium NFP 2001 Dispon vel em lt http www software org pub taf downloads RemovingRequirementDefects pdf gt Acesso em 26 nov 2002 Boehm76 Boehm Barry Software Engineering IEEE Transactions on Computers v C 25 Dec 1976 Bohem01 Bohem B amp Basili V Software Defect Reduction Top 10 List In IEEE Computer vol 34 n 1 jan 2001 pp 135 137 Booch00 Booch G Rumbaugh J amp Jacobson I UML guia do usu rio Rio de Janeiro Campus 2000 472 p ISBN 8535205624 Boyd05 Boyd S Zowghi D amp Farroukh A Measuring the expressiveness of a Constrained Natural Language an Empirical Study In 13th IEEE PUC Rio Certifica o Digital N 0210680 CA 148 International Conference on Requirements Engineering RE 05 Proceedings Caldas01 Caldas Jr J
46. N gt lt w POS N gt oras lt w POS N gt lt w POS N gt eiro lt w POS N gt lt w POS N gt eiros lt w POS N gt lt w POS N gt eira lt w POS N gt lt w POS N gt eiras lt w POS N gt lt w POS N gt rio lt w POS N gt lt w POS N gt rios lt w POS N gt lt w POS N gt ria lt w POS N gt lt w POS N gt rias lt w POS N gt lt w POS N gt s lt w POS N gt lt w POS N gt ses lt w POS N gt lt w POS N gt eses lt w POS N gt lt w POS N gt esa lt w POS N gt lt w POS N gt esas lt w POS N gt lt w POS N gt eus lt w POS N gt lt w POS N gt euses lt w POS N gt lt w POS N gt eusa lt w POS N gt lt w POS N gt eusas lt w POS N gt lt w POS N gt ia lt w POS N gt lt w POS N gt ias lt w POS N gt lt w POS N gt o lt w POS N gt lt w POS N gt 6es lt w POS N gt lt w POS N gt ente lt w POS N gt entes lt w POS N gt enta lt w POS N gt entas lt w POS N gt or lt w POS N gt ores lt w POS N gt ora lt w POS N gt oras lt w POS N gt eiro lt w POS N gt eiros lt w POS N gt eira lt w POS N gt eiras lt w POS N gt rio lt w POS N gt rios lt w POS N gt ria lt w POS N gt arias lt w POS N gt s lt w POS N gt ses lt w POS N gt eses lt w POS N gt esa lt w POS N gt esas lt w POS
47. Termo Requisitos Liga es Requisitos relacionados 0 5 viagem 51 1 72 pagamento 31 2 57 reserva 32 3 22 pacote 46 4 10 comunica o 40 5 2 seguran a 31 6 0 sistemas externos 69 7 1 parametriza o 9 Pode ser observado que muitos requisitos foram relacionados a diversos termos da taxonomia o que explicita a interdepend ncia entre requisitos Por exemplo os requisitos funcionais identificados por RF41 Cancelar Reserva e RF42 Confirmar Reserva foram relacionados aos termos reserva e sistemas externos mostrando como este m todo tamb m pode auxiliar na identifica o de caracter sticas entrela adas ainda no documento de requisitos O grande n mero de requisitos associados ao tema sistemas externos explica se neste caso pois a organiza o j possui um conjunto consolidado de outras aplica es que s o reutilizadas para determinadas funcionalidades 5 1 1 3 Gera o e apresenta o das vis es A Tabela 16 apresenta uma vis o textual de requisitos associados ao tema reserva foram omitidos detalhes n o significativos das senten as Esta vis o foi complementada por vis es gr ficas obtidas com o mapa de t picos gerado Utilizamos os modelos previamente definidos em XTM sendo gerados t picos para os itens da taxonomia e para cada um dos requisitos PUC Rio Certifica o Digital N 0210680 CA Estudos de Caso 119 Tabela 16 Vis o textual de requisitos associados ao tema reserva parcial
48. as agent board Message import org midas as agent board MessageListener import org midas as agent templates A gent import org midas as agent templates LifeCycleException import org midas as agent templates ServiceException import org midas as manager execution Logger public class Manager extends Agent implements MessageListener private static String className MANAGER AGENT Override protected void lifeCycle throws LifeCycleException InterruptedException Se registra no BlackBoard Board addMessageListener Manager this Override public void provide String service Map lt String Object gt in List lt Object gt out throws ServiceException PUC Rio Certifica o Digital N 0210680 CA 181 public void boardChanged Message msg String title msg getTitle if title equals PreVerificationStage String documentName msg getContent Notifica os outros agentes Logger addEntry className Document msg getContent is under PreVerificationStage notifiyng other Agents true try Board writeOnBoard 1 Communicator PreVerificationStage documentName this Board writeOnBoard 1 Verifier Pre VerificationStage documentName this catch BoardException e e printStackTrace if title equals VerificationStage String documentName msg getContent Notifica os outros agentes Logger addEntry className Document
49. aspectos da implementa o de cada estrat gia proposta Os principais processos desenvolvidos s o apresentados brevemente a seguir e detalhados no decorrer deste cap tulo Gera o de vis es dos requisitos desenvolvemos uma estrat gia para extra o semi autom tica de uma taxonomia a partir do pr prio documento de requisitos A taxonomia obtida utilizada para agrupar requisitos associados a determinadas caracter sticas do sistema Os agrupamentos tamb m podem ser definidos a partir de solicita es dos interessados que na representa o de um certo grupo de usu rios do futuro sistema t m interesse em avaliar o conjunto de requisitos associados a uma propriedade ou caracter stica espec fica do sistema Uma vez obtidos os agrupamentos vis es textuais ou gr ficas s o oferecidas aos participantes dos processos de verifica o e valida o V amp V A vis o gr fica possibilita a identifica o r pida das associa es e depend ncias entre requisitos a explicita o de tais depend ncias fundamental para atividades de evolu o do sistema principalmente na an lise de impacto que uma determinada altera o dever provocar Constru o ou atualiza o do l xico da aplica o nossa proposta envolve a identifica o de termos relevantes do dom nio da aplica o atrav s da an lise de documentos relacionados ao sistema em desenvolvimento A estrat gia proposta busca a termos pr prios do dom nio da apli
50. catch block e printStackTrace private String generateReport List lt ValuedAttribute gt similarityList System out println className Gerando Relat rio DecimalFormat formatter new DecimalFormat 0 00 String report report Similaridade tRequisitos n Collections sort similarityList Collections reverse similarityList for ValuedAttribute lt String gt va similarityList Double factor va getAttributeValue String reqs va getAttribute report formatter format factor t t reqs n return report private List lt ValuedAttribute gt calculateSimilarity System out println className Calculando Similaridades return new CalculateSimilarity calculateSimilarity private void invokeReport String pretexPath throws IOException InterruptedException System out printin className Rodando report pl Roda report pl Runtime runtime Runtime getRuntime Process proc runtime exec cmd exe c report bat C Perl bin 2 gt nul 1 gt nul new String new File pretexPath InputStream inputstream proc getInputStream InputStreamReader inputstreamreader new InputStreamReader inputstream PUC Rio Certifica o Digital N 0210680 CA II 202 BufferedReader bufferedreader new BufferedReader inputstreamreader String line while line bufferedreader readLine null System out printin line
51. categorias como base para compara o de documentos Isto pode ser til quando a organiza o disp e de um documento considerado padr o em rela o a RNF s num mesmo dom nio de aplica o Os resultados obtidos podem ser observados na Figura 50 No caso o documento identificado por E commerce entrega n o havia PUC Rio Certifica o Digital N 0210680 CA Estudos de Caso 132 nenhuma refer ncia a RNF s ambos os documentos pertencem a um mesmo dom nio de aplica o Este fato parcialmente explic vel pois se trata de um documento extenso que nos foi fornecido imediatamente ap s a primeira vers o ser liberada O experimento foi prejudicado pois busc vamos justamente uma compara o que nos permitisse concluir pela adequa o da abordagem comparativa Resultados como estes tamb m podem apontar para uma necessidade de revis o das express es no dicion rio de RNF s pois talvez o resultado obtido seja na verdade um indicador de aus ncia de express es nas categorias registradas COMPARANDO DOCUMENTOS 1 e commerce vendas e 2 e commerce entrega 1 TOTAL DE REFERENCIAS A RNFS 138 138 gt externos 95 gt externos gt comunica o sistemas externos gt externos gt custos gt externos gt integra o sistemas externos gt externos gt interoperabilidade gt externos gt legais gt processo gt processo gt entrega gt processo gt implementa o gt processo gt implementa o gt
52. como if term frequency tfidf term frequency inverse document frequency e relev ncia Gonzales05 com resultados similares Para gerar os agrupamentos identificamos requisitos relacionados utilizando um procedimento determin stico para cada um dos termos obtidos pela aplica o das medidas referidas obtinha se seu stem ou radical e varria se o documento de requisitos procurando pela ocorr ncia desse radical Requisitos contendo o radical eram agrupados e esse PUC Rio Certifica o Digital N 0210680 CA Proposta para An lise de Requisitos utilizando PLN 63 grupo identificado pelo termo utilizado Os agrupamentos obtidos desta forma mostraram se consistentes com rela o caracter stica identificada pelo termo por m um aspecto n o atendido por esta abordagem envolveu express es ou termos relacionados a requisitos n o funcionais como por exemplo termos relativos seguran a e confiabilidade Express es ou termos relacionados a estes requisitos tendem a ter pouca presen a no texto sendo portanto preteridos no momento da escolha dos termos a utilizar De maneira geral podemos dizer que requisitos n o funcionais n o foram adequadamente atendidos por esta abordagem que se mostrou inadequada para os objetivos que busc vamos atingir Uma outra tentativa realizada envolveu a utiliza o de algoritmos de clusteriza o para a identifica o dos grupos de requisitos Neste experimento foi utilizado o pacote Weka disp
53. corpusCount frequencyMap setTokenFrequency tokenFrequency frequencyMap setNodesOcurrenceMap nodesOcurrenceMap frequencyMap setNodesCoOcurrenceMap nodesCoOcurrenceMap return frequencyMap public static ThemeMetrics metrics FrequencyMap frequencyMap Entradas int corpusCount frequencyMap getCorpusCount int tokenFrequency frequencyMap getTokenFrequency Map lt String Integer gt nodesOcurrenceMap frequencyMap getNodesOcurrenceMap Map lt String Integer gt nodesCoOcurrenceMap frequencyMap getNodesCoOcurrenceMap scoreT Set lt String gt nodesOcurrenceSet nodesOcurrenceMap keySet I Sa das II Map lt String Double gt tScoreMap new HashMap lt String Double gt Map lt String Double gt mutuosInformationMap new HashMap lt String Double gt informacaoMutua for String node nodesOcurrenceSet int nodeOcurrence nodesOcurrenceMap get node f c int nodeCoOcurrence nodesCoOcurrenceMap get node f n c scoreT f n c Y X II X f n c 1 2 IY f n f c N Calcula X f n c 1 2 double x double Math sqrt nodeCoOcurrence Calcula Y f n f c N double y double tokenFrequency nodeOcurrence corpusCount PUC Rio Certifica o Digital N 0210680 CA 189 Calcula scoreT f n c Y X double scoreT double nodeCoOcurrence y x mutuosInformation log2 A B
54. createAssociationRole requirementTopic associationR oleTopic TTT 5 Adiciona 0 mapa a lista de saida Hf TTT return topicMap catch TMAPIException e e printStackTrace return null public static String serialize TopicMap topicMap Cria stream de saida PUC Rio Certifica o Digital N 0210680 CA 197 ByteArrayOutputStream xmlOutputStream new ByteArrayOutputStream try TTT 1 Serializa o mapa HH TTT XTMSerializer xtmS new XTMSerializer xtmS serialize xmlOutputStream topicMap TTT 2 Adiciona o mapa a lista de saida HH PO return xmlOutputStream toString catch TMAPIException e e printStackTrace return null Agente Rastreador tracker java package requisitos agents import java util List import java util Map import org midas as agent board Board import org midas as agent board Message import org midas as agent board MessageListener import org midas as agent templates A gent import org midas as agent templates LifeCycleException import org midas as agent templates ServiceException public class Tracker extends Agent implements MessageListener Override protected void lifeCycle throws LifeCycleException InterruptedException Se registra no BlackBoard Board addMessageListener Tracker this Override public void provide String service Map lt String Object gt in List lt Object gt out throws S
55. design requirements from corporate customers Research in Engineering Design vol 11 pp 103 115 Gervasi02 Gervasi V amp Nuseibeh B Lightweight validation of natural language requirements In Software Practice and Experience vol 32 no 2 2002 pp 113 133 Gonzalez05 Gonzalez M A I Termos e Relacionamentos em Evid ncia na Recupera o de Informa o Tese de doutorado Programa de P s Gradua o em Computa o Universidade Federal do Rio Grande do Sul Porto Alegre RS 2005 Gorton96 Gorton I amp Motwani S Issues in Co operative Software Engineering Using Globally Distributed Teams In Information and Software Technology Journal vol 38 10 1996 pags 647 655 Gruenbacher01 Gruenbacher P Egyed A amp Medvidovic N Dimensions of Concerns in Requirements Negotiation and Architecture Modeling In International Conference on Software Engineering ICSE 2001 Proceedings Grundy05 Grundy J Ding G amp Hosking J Deployed software component testing using dynamic validation agents The Journal of Systems and PUC Rio Certifica o Digital N 0210680 CA 150 Software 74 2005 pags 5 14 Haendchen05 Haendchen Filho A A Middleware Framework for Buiding Multi Agent Systems in the Internet Ph D Thesis Pontificia Universidade Cat lica do Rio de Janeiro PUC Rio Rio de Janeiro RJ Brasil 2005 Haendchen07 Haendchen F A Prado H A Lucena C J P A WSA b
56. eiro lt w POS CPR gt lt w POS N gt lt w POS N gt eiros lt w POS CPR gt lt w POS N gt lt w POS N gt eira lt w POS CPR gt lt w POS N gt lt w POS N gt eiras lt w POS CPR gt lt w POS N gt lt w POS N gt rio lt w POS CPR gt lt w POS N gt lt w POS N gt rios lt w POS CPR gt lt w POS N gt lt w POS N gt ria lt w POS CPR gt lt w POS N gt lt w POS N gt rias lt w POS CPR gt lt w POS N gt lt w POS N gt s lt w POS CPR gt lt w POS N gt lt w POS N gt eses lt w POS CPR gt lt w POS N gt lt w POS N gt esa lt w POS CPR gt lt w POS N gt lt w POS N gt esas lt w POS CPR gt lt w POS N gt lt w POS N gt eus lt w POS CPR gt lt w POS N gt lt w POS N gt euses lt w POS CPR gt lt w POS N gt lt w POS N gt eusa lt w POS CPR gt lt w POS N gt lt w POS N gt eusas lt w POS CPR gt lt w POS N gt PUC Rio Certifica o Digital N 0210680 CA lt w POS N gt ia lt w POS CPR gt lt w POS N gt lt w POS N gt ias lt w POS PRP gt lt w POS N gt lt w POS N gt ente lt w POS N gt lt w POS N gt entes lt w POS N gt lt w POS N gt enta lt w POS N gt lt w POS N gt entas lt w POS N gt lt w POS N gt or lt w POS N gt lt w POS N gt ores lt w POS N gt lt w POS N gt ora lt w POS
57. em conjunto com o tema buscado e foram descartados aqueles que iniciam ou terminam por stopwords Do conjunto de exclus o constaram tamb m termos da l ngua geral e termos usuais na rea de TI mas sem significado espec fico como as palavras sistema dado etc A Tabela 13 apresenta o conjunto final de padr es a ser utilizado em conjunto com o tema reserva que um dos integrantes do mais alto n vel da taxonomia em constru o PUC Rio Certifica o Digital N 0210680 CA Estudos de Caso 117 Tabela 12 Termos candidatos parcial termos freq T inf mutua Produt 62 7 5245 4 4937 Ser 26 4 6072 3 3739 Confirm 17 4 0619 6 0732 Efectu 16 3 9222 5 6832 Cancel 14 3 6854 6 0561 confirma a 13 3 5215 5 4232 produt de avia 9 2 2022 6 0446 Tabela 13 Padr es para o termo reserva Tema principal reserva Padr es reserv produt reserv confirm reserv aviac efectu reserv confirm reserv reserv estad cancel reserv respons reserv reserv voo realiz reserv list reserv reserv funcion aguard reserv deleg reserv produt reserv Outra observa o a ser considerada a import ncia do stemmer a ser utilizado este estudo de caso foi realizado antes de termos encontrado o stemmer descrito em Orengo01 e o stemmer aqui utilizado n o conseguiu identificar que a palavra confirma o possui o mesmo radical que palavras como confirmar confirma confirmada ocasionando dupla entrada para co
58. em portugu s uma abordagem cognitiva Tese de doutorado 1997 UFMG Departamento de Ling stica Belo Horizonte Lopes05 Lopes L Prikladnicki R Audy J amp Majdenbaum A Requirements Specification in Distributed Software Development A Process Proposal In 38th Hawaii International Conference on System Sciences HICSS Hawaii USA 2005 Proceedings Lowe04 Lowe W Content analysis and its place in the Methodological scheme of things In Qualitative Methods vol 2 1 Spring 2004 pp 25 27 Luhn58 Luhn H P The automatic creation of literature abstracts IBM Journal of Research and Development vol 2 1958 pp 159 165 Manning99 Manning Christopher D Schiitze Heinrich Foundations of statistical natural language processing Cambridge MIT Press c1999 680 PUC Rio Certifica o Digital N 0210680 CA 152 p ISBN 0262133601 enc Mason97 Mason O amp Tufis D Probabilistic Tagging in a Multi lingual Environment Making an English Tagger Understand Romanian In Third European TELRI Seminar Montecatini Italy 1997 Proceedings Matsubara03 Matsubara Edson T Martins Claudia A amp Monard Maria C PreTexT uma ferramenta para pr processamento de textos utilizando a abordagem bag of words Relat rio t cnico n 209 s rie Relat rios T cnicos do ICMC S o Carlos 2003 Meadow00 Meadow C T Boyce Bert amp Kraft Donald H Text information retrieval systems 2
59. entre requisitos de forma geral O autor registra que as ferramentas dispon veis para a fase de requisitos fazem pouco ou nenhum uso da visualiza o e faz uma r pida avalia o de sua experi ncia no desenvolvimento de uma ferramenta para registro e visualiza o da rastreabilidade de requisitos Infelizmente n o s o apresentados detalhes ou mesmo imagens geradas no decorrer do seu trabalho Cria o do l xico da aplica o parte da nossa estrat gia para constru o do l xico da aplica o utiliza sintagmas nominais com v rios trabalhos relacionados na literatura J para a estrat gia que utilizamos para extrair termos pr prios do dom nio da aplica o mesmo sendo uma estrat gia simples baseada na compara o com dicion rios da l ngua n o encontramos trabalhos relacionados No contexto de processamento de linguagem natural e recupera o de informa o o uso de sintagmas nominais para recupera o de informa es encontrado em muitos trabalhos Parreiras03 prop e seu uso em indexa o de textos cient ficos e P rez03 os utiliza para a obten o de conceitos que ir o compor mapas conceituais No contexto do processo de requisitos trabalhos orientados explora o de aspectos da linguagem natural ainda n o s o muito freqiientes Em Harmain00 descrito o CM Builder uma ferramenta case que avalia documentos de requisitos escritos em linguagem natural l ngua inglesa buscando rela es sem ntic
60. enviados aos participantes tamb m por mensagem eletr nica O diagrama de atividades para este processo mostrado na Figura 44 Manager Agent Communicator Agent Verifier Agent gt Executar testes ge Similanaaae V Aguaranao Conclus o Hodficar resultados Figura 44 Diagrama de atividades para o processo de Verifica o O diagrama de atividades para o processo de valida o equivalente ao diagrama das atividades de verifica o exce o da verifica o de similaridades que n o tem correspondente na valida o 4 6 Algumas considera es sobre a aplica o A implementa o da plataforma multi agente para a aplica o apresenta as principais caracter sticas e propriedades uso de agentes pessoais encapsulamento e reuso de aplica es completas como servi os de agentes web services PUC Rio Certifica o Digital N 0210680 CA Proposta de uma Arquitetura de Agentes 111 notifica o dos interessados em eventos espec ficos no processo de V amp V Nem todos os servi os dos agentes est o dispon veis ainda atrav s de interface com o usu rio pois a aplica o ainda est em fase de constru o O c digo fonte dos agentes aqui apresentados est dispon vel no Anexo D deste volume Os servi os e funcionalidades implementados por softwares disponibilizados pelas comunidades de PLN e incorporados e ou utilizados na plataforma s o 1 software Yoshikoder converter e
61. ess ncia das mesmas O que Leite denomina de an lise de requisitos englobando verifica o e valida o Kotonya e Sommerville chamam de valida o Adotaremos neste trabalho a estrutura o de PUC Rio Certifica o Digital N 0210680 CA Processo de Requisitos PLN e Agentes 32 Leite dado que ela separa mais claramente as atividades a serem executadas nesta fase O conjunto de atores envolvido num processo de requisitos inclui representantes do cliente e dos usu rios gerente do projeto e engenheiros de requisitos de software e de sistemas entre outros Cada um desses atores participa visando atingir seus pr prios objetivos e a colabora o entre eles necess ria pois existe uma meta maior associada a cada fase Considerando especificamente as atividades de V amp V i na verifica o preciso determinar se um artefato de requisitos atende aos preceitos de qualidade estabelecidos pela organiza o significa verificar se ele est internamente completo consistente e correto o que possibilita passar s etapas seguintes no processo de desenvolvimento e ii na valida o preciso assegurar que este mesmo artefato atende s necessidades dos clientes e usu rios Repetindo o que j foi expresso no cap tulo 1 na verifica o a meta envolve obter respostas pergunta Estamos construindo o produto corretamente Na valida o a pergunta a ser respondida Estamos construindo o produto desejado pelos cliente
62. executar uma determinada atividade tipicamente uma fun o unit ria Para que servi os Web possam trabalhar juntos com agentes necess rio agregar propriedades comportamentais e de agenciamento como colabora o e intera o necess rio dispor de uma arquitetura para que os agentes possam interagir colaborar compor e gerenciar servi os Diferentes de sites Web e aplica es desktop servi os Web n o s o PUC Rio Certifica o Digital N 0210680 CA Proposta de uma Arquitetura de Agentes 95 projetados para intera o direta com agentes humanos eles operam no n vel do c digo s o chamados e trocam informa es com outros softwares atrav s dos padr es estabelecidos para a Web Um servi o Web pode ser usado quando o construtor de uma aplica o deseja expor alguma opera o reativa expressa como uma fun o com ou sem par metros que pode retornar ou n o uma resposta Na ess ncia um servi o Web funciona como uma invoca o remota de um m todo usando mensagens encapsuladas em XML sobre HTTP Li03a Web Services s o apropriados para incorporar regras de neg cios em ambientes distribu dos Li03a enquanto agentes de software s o apropriados em tais servi os para implementar atividades de intera o e coordena o Desta forma propomos utilizar uma arquitetura orientada a servi os que utiliza agentes de software para compor a solu o Pesquisadores da rea de PLN tem disponibilizado ferramentas
63. extra o dos contextos possibilita ao engenheiro de requisitos a inser o dos s mbolos no l xico da aplica o e com sua descri o e impactos Como PUC Rio Certifica o Digital N 0210680 CA Estudos de Caso 122 exemplo a Tabela 19 apresenta contextos para a palavra markup Tabela 19 Um termo e seus contextos markup metodologia de markup O markup um valor que deve ser aplicado ao pre o de custo de um produto para calcular seu pre o de venda O markup representa a margem de lucro da ag ncia de viagens sobre o produto vendido A manuten o de markup ser utilizada no novo sistema apenas para produtos externos O valor de markup pode ser em euros ou em percentual 5 1 3 Detec o de discrep ncias erros e omiss es em requisitos Ao documento Exit foram aplicadas as t cnicas de identifica o de similaridade em requisitos e detec o de discrep ncias erros e omiss es em requisitos ao funcionais 5 1 3 1 Duplicidade em requisitos Para a identifica o de duplicidade em requisitos foram calculados os valores para a matriz de similaridade considerando os coeficientes de Dice Jaccard e coseno entre pares de requisitos O limiar para a extra o de candidatos a duplicidade foi estabelecido empiricamente em 0 90 os resultados s o apresentados na Tabela 20 com destaque para os valores iguais ou maiores ao limiar definido Tabela 20 Matriz de similaridade de
64. geral ou elementos tais como preposi es artigos conjun es e outros termos que n o apresentam relev ncia ou valor terminol gico Teline03 o conjunto desses termos denominado de stoplist PUC Rio Certifica o Digital N 0210680 CA Processo de Requisitos PLN e Agentes 46 DT To To DAT 4 To To DT 7 Ta Taa Figura 9 Espa o vetorial para representa o de documentos Salton83 No exemplo da Figura 9 o espa o vetorial definido pelos eixos T Tz e Ts que correspondem aos tr s termos utilizados na representa o dos documentos D D2 e Ds Os valores utilizados para a representa o de cada documento nesse espa o s o determinados pelos pesos associados aos termos T T2 e T e representados na figura por Ti Tio Tia Pode se observar que o ngulo formado pelos vetores que representam os documentos Dz e D3 menor que os ngulos formados por D e D3 ou D e D indicando um maior grau de similaridade entre eles M tricas de similaridade baseadas nesta representa o s o a dist ncia euclidiana e o coseno do ngulo formado pelos documentos Tomando como exemplo dois documentos quaisquer que chamaremos de x e y e adotando a representa o espa o vetorial para ambos considerando um conjunto de t termos o c lculo do coseno do ngulo formado pelo par de documentos dado pela f rmula apresentada em 2a e o c lculo da distancia euclidiana dado pela f rmula em 2b t
65. mbolo conta da institui o e As pontas da opera o comprador e vendedor final lan am a 1056 SEL1056 tipo 1 utilizando como contraparte a conta da institui o intermedi ria e o sistema promove a atualiza o da opera o e LIQ CED IFLiqdantCed C digo da conta da institui o liquidante do cedente Esse campo n o deve ser preenchido se a liquida o for efetuada pelo pr prio liquidante padr o e LIQ CES IFLigdantCes C digo da conta da institui o liquidante do cession rio Esse campo n o deve ser preenchido se a liquida o for efetuada pelo pr prio liquidante padr o 5 5 Avalia o dos resultados preliminares constru o do l xico As taxas de recall e precision dos resultados do processo de extra o de s mbolos para o l xico est o sumarizadas na Tabela 27 As avalia es foram executadas por equipes independentes uma delas composta por especialistas do Banco Central estudo de caso com o documento Selic e a outra por engenheiros PUC Rio Certifica o Digital N 0210680 CA Estudos de Caso 134 de software estudo de caso com o documento Escalas Os resultados obtidos mostram a adequa o da proposta para a constru o do l xico para aplica es e estamos trabalhando nos ajustes necess rios para melhorar os resultados j obtidos O algoritmo de extra o de sintagmas nominais est em processo de revis o de forma a evitar que sintagmas que atendem a mais de um padr o sejam recuperado
66. open source ou mesmo free para a comunidade em geral Uma das motiva es para a escolha da plataforma a ser utilizada na implementa o da nossa proposta relacionada portanto habilidade de encapsular ferramentas j dispon veis na forma de servi os Web possibilitando sua utiliza o quase que imediata 4 2 Plataforma utilizada MIDAS Para demonstrar o funcionamento e viabilidade da solu o uma plataforma para a execu o do modelo deve ser utilizada Pesquisando as atuais plataformas para o desenvolvimento de SMAs para a Web podem ser encontradas v rias alternativas tais como JADE Bellifemine01 AgentScape Overainder04 MIDAS Haendchen05 Haendchen07 dentre outras Para os prop sitos deste trabalho alguns requisitos assumem um papel fundamental na escolha da plataforma Primeiro a plataforma dever prover as funcionalidades b sicas para a integra o entre Web Services e agentes Al m destas funcionalidades necess rio que existam mecanismos para dar suporte ao modelo de comunica o entre os agentes O blackboard tem sido utilizado para este prop sito a arquitetura baseada em blackboards uma das mais utilizadas em sistemas multi agentes cognitivos e foi inicialmente criada para reconhecimento de voz no sistema Hearsayll PUC Rio Certifica o Digital N 0210680 CA Proposta de uma Arquitetura de Agentes 96 Ferber99 Neste modelo de arquitetura a comunica o entre agentes possibi
67. para outros estudiosos ou mesmo para o p blico em geral Em 1991 um estudante Martin Abegg reconstruiu quase que integralmente o texto dos manuscritos tendo por base aproximadamente cingiienta mil cart es com extratos dos manuscritos e um c digo de refer ncias das palavras e sua posi o nos manuscritos indicadores de contexto ou kwic Confrontado por esse trabalho o grupo de pesquisadores ent o liberou os microfilmes dos manuscritos e uma edi o fac s mile dos manuscritos originais foi posteriormente publicada veja em http www pennandteller com sincity penn n teller pcc deadsea html ou em http www byaaronhoward com index php action details amp record 7 Dado um tema palavra ou express o o concordanceador utilizado para que sejam extra dos os contextos concordances para avaliar a exist ncia de termos que co ocorrem com o tema No contexto desta tese o concordanceador foi utilizado como parte do processo para a obten o de coloca es de temas relevantes de documentos de requisitos visando cria o de uma taxonomia para a classifica o dos requisitos 2 5 6 An lise de conte do Nas ci ncias sociais e humanas duas linhas de trabalho para an lise de PUC Rio Certifica o Digital N 0210680 CA Processo de Requisitos PLN e Agentes 53 textos s o an lise do discurso e an lise de conte do An lise do discurso uma metodologia qualitativa interpretativa e construcionista para an lise de
68. representa o de diferentes perfis e interesses O inspetor papel que pode ser desempenhado por clientes usu rios e profissionais de software possui responsabilidades espec ficas ao processo de verifica o goal recurso Project Manager Commitme Project OCCUPIES Schedules Requirements v Artifacts OCCUPIES Requirements Engineer Requirements Document Software Professional Requirements HighQuality Be Verified Requirements Develope Figura 1 Modelo de depend ncia estrat gica para verifica o e valida o de requisitos As rela es entre atores reproduzem a rede de depend ncias existente entre eles depend ncias estas relacionadas a metas softgoals ou recursos Numa depend ncia por metas um ator depende depender de outro dependee para atingir objetivos concretos Numa depend ncia por softgoals um ator depende do outro para satisfazer desejos ou inten es numa depend ncia por recursos um ator depende de outro para obter um determinado recurso Podemos observar na Figura 1 que para atingir a meta de automa o de PUC Rio Certifica o Digital N 0210680 CA Introdu o 23 tarefas representantes de clientes e usu rios dependem do gerente do projeto Este por sua vez depende do engenheiro de requisitos para que os requisitos sejam especificados atendendo aos padr es vigentes na organiza o e dentro do prazo p
69. requisitos a utiliza o de medidas de PUC Rio Certifica o Digital N 0210680 CA Conclus es 144 similaridade para identificar duplicidade em requisitos tema de ao menos dois trabalhos na rea de requisitos Park00 e Dag01 relatam resultados de trabalhos com uso de diferentes medidas de similaridade Em Park00 utilizada a medida do coseno do ngulo formado pelos documentos sendo que a matriz termo documento gerada utilizando se a frequ ncia n o dos termos mas de express es com afinidade l xica Tais express es s o obtidas usando uma combina o de um parser para identificar rela es entre palavras e uma t cnica denominada de sliding window que varre o texto considerando janelas de at cinco palavras para an lise Os ndices que utilizamos j foram objeto de trabalho investigativo da similaridade entre requisitos Dag01 nesse estudo foi avaliado um conjunto de requisitos escritos em linguagem natural l ngua inglesa Tais requisitos foram representados por matrizes termo documento sendo desconsiderados termos relacionados numa stoplist composta por artigos pronomes adv rbios e outros O estudo conclui que o uso desses indexadores em particular Dice e coseno resulta em alto grau de acerto na identifica o de requisitos duplicados e baixa taxa de falsos positivos requisitos indicados como duplicados mas que na realidade n o s o Identifica o de omiss es em RNF s utilizamos uma estrat
70. requisitos exibi o parcial RF159 RF16 RF160 RF161 RF162 RF163 RF164 RF165 RF166 RF167 RF168 RF169 RF17 0 15 0 06 0 17 0 17 0 14 0 18 0 12 0 12 0 13 1 00 0 05 0 79 0 86 0 73 0 74 0 74 0 72 0 73 1 00 0 06 0 06 0 05 0 05 0 05 0 05 0 05 0 09 1 00 0 80 0 85 0 62 0 62 0 64 0 60 1 00 0 74 0 52 0 53 0 56 1 00 0 53 0 55 0 58 PUC Rio Certifica o Digital N 0210680 CA Estudos de Caso 123 Os requisitos apontados como candidatos a duplicidade est o reproduzidos na Tabela 21 observe que enquanto o par RF160 RF161 pode ser entendido como um resultado falso positivo o conjunto de requisitos RF164 RF165 RF166 RF167 e RF168 apresentam inconsist ncias e devem ser revisados pelo engenheiro de requisitos ou at mesmo reescritos Tabela 21 Requisitos candidatos avalia o de duplicidade RF160 Realizar Pesquisa por Produto Hotel Requisito respons vel por realizar a pesquisa de hot is junto aos sistemas externos que prov m este servi o al m de realizar a busca em base pr pria do Novo SISTEMA EXEMPLO O requisito ir utilizar outros casos de uso para realizar a pesquisa como por exemplo o requisito RF134 Realizar Busca por Hot is na Restel RF161 Realizar Pesquisa por Produto Rent a Car Requisito respons vel por realizar a pesquisa de rent a car junto aos sistemas externos que prov m este servi o al m de reali
71. rio de RNF s O prot tipo utilizado nesta etapa do trabalho pode ser utilizado para explorar outras caracter sticas do documento de requisitos Por exemplo os termos ou express es relacionados no dicion rio podem ser destacados atrav s de uma op o da ferramenta e o texto do documento de requisitos pode ser percorrido com destaque para o termo escolhido PUC Rio Certifica o Digital N 0210680 CA 4 Proposta de uma Arquitetura de Agentes A abordagem de desenvolvimento centralizado de software tem sido amplamente utilizada por grandes e m dias equipes de desenvolvimento O desenvolvimento tradicional de software tem ocorrido em ambientes onde os artefatos utilizados ou gerados no desenvolvimento de software residem em um servidor local disponivel aos interessados atrav s de uma rede local Entretanto na economia globalizada atual o desenvolvimento colaborativo de software envolvendo v rias equipes distribu das em locais diferentes est se tornando uma norma ao inv s de uma exce o Wongthongthan06 Freqiientemente encontramos equipes de desenvolvimento distribu das por diferentes cidades regi es e at mesmo em diversos continentes Os modelos e metodologias atuais de desenvolvimento n o contemplam as quest es de projeto e desenvolvimento colaborativo de software Wongthongthan06 Um ambiente colaborativo de projeto um ambiente automatizado que habilita pessoas incluindo projetistas engenheiros administr
72. sendo de 22 o tempo utilizado em comunica o entre os membros de uma equipe A maior parte desse tempo cerca de 17 foi utilizado em comunica o ass ncrona com uso de e mail e de uma ferramenta de groupware desenvolvida especialmente para a empresa Um outro estudo feito por Cherry e Robillard Cherry04 identificou que atividades de cognitive synchronization s o respons veis por aproximadamente 29 do tempo de desenvolvimento de um software Por cognitive synchronization entende se atividades de comunica o entre dois ou mais desenvolvedores visando apenas confirmar que eles compartilham o mesmo conhecimento ou a mesma representa o do objeto em quest o Outros estudos relacionados em Cherry04 apontam para atividades de comunica o consumindo de 15 a 41 do tempo total do desenvolvimento A proposta de Lopes05 para o Processo de Requisitos de certa forma corrobora o que foi apontado em Cherry04 Nessa proposta uma equipe co localizada aos usu rios elabora o Documento de Requisitos SRS ou Software Requirements Specification e o repassa equipe que executar o PUC Rio Certifica o Digital N 0210680 CA Introdu o 18 desenvolvimento Esta ltima equipe ap s analisar os requisitos relacionados na especifica o identifica as poss veis fontes de problemas devidos por exemplo ambigiiidade ou falta de clareza na defini o dos requisitos Ap s a reescrita o documento de requisitos objeto de negoc
73. sintagmas nominais 3 2 2 2 Extrair sintagmas nominais O processo de extra o de sintagmas nominais baseado na utiliza o do etiquetador morfossint tico QTAG que analisa o texto pr processado e associa uma etiqueta a cada um dos tokens Ap s a etiquetagem s o extra dos e contabilizados os sintagmas nominais que atendem a padr es pr estabelecidos e que corresponder o a atores e objetos registrados no documento avaliado Sintagmas nominais possuem uma estrutura bem definida Perini Perini98 coloca que sintagmas nominais possuem duas estruturas b sicas a estrutura esquerda do n cleo do sintagma composta por posi es que podem ser ocupadas por determinantes possessivos quantificadores e outras classes de palavras A estrutura direita do n cleo composta por modificadores que por sua vez podem ser classes abertas ou mesmo outros sintagmas nominais Neste trabalho n o utilizamos a estrutura esquerda pois a linguagem de documentos de requisitos objetiva n o deve utilizar figuras de linguagem e neste contexto o que nos interessa o n cleo do sintagma nominal Para a extra o dos sintagmas utilizamos alguns padr es pr definidos pois nem todo sintagma nominal presente no texto interessante no contexto deste trabalho Extra o de Atores ou sujeitos padr es utilizados Na l ngua portuguesa fun es ou pap is desempenhados por pessoas ou entidades s o identificados por substantivos co
74. tipo LAL L xico Ampliado da Linguagem Sistema de Bibliotecas Usu rio tipo do s mbolo sujeito no o pessoa que pode utilizar a biblioteca pode ser um aluno professor ou funcion rio da universidade impactos usu rio cadastrado no sistema usu rio retirado do cadastro de usu rios usu rio retira obras da biblioteca usu rio devolve obras anteriormente retiradas usu rio renova datas para devolu o de obras anteriormente retiradas Optamos pela utiliza o do l xico Ampliado da Linguagem Leite90 para representa o do l xico das aplica es e definimos uma estrat gia para a avalia o de documentos da organiza o e extra o de termos para compor o l xico Nossa proposta utiliza duas diferentes abordagens para a constru o do l xico da organiza o a primeira est baseada na identifica o de termos ou express es n o dicionarizados e a segunda utiliza extra o de sintagmas nominais 3 2 1 Termos ou express es n o inclu dos em dicion rios O processo para extra o de termos n o dicionarizados baseia se na premissa que termos pr prios do dom nio da aplica o n o dever o estar presentes em dicion rios usuais da l ngua Exemplos de termos incluem acr nimos para outros sistemas palavras t cnicas de tecnologia de informa o em l ngua inglesa e at mesmo diferentes denomina es para representar um mesmo objeto Este ltimo caso especialmente interessante quando
75. um documento Uma unidade deve ter um significado deve ser completa em si mesma A categoriza o pode utilizar crit rios sint ticos ou sem nticos e neste ltimo caso as categorias s o denominadas de tem ticas A etapa de descri o numa an lise quantitativa compreende a organiza o das categorias frequ ncias e percentuais computados em tabelas e visualizados em gr ficos ou outras formas de representa o A ltima etapa a de interpreta o de resultados onde se buscam infer ncias que permitam generaliza es a partir dos resultados obtidos na amostra ou documento analisado A interpreta o busca a compreens o sobre os conte dos expl citos no texto e tamb m sobre aqueles n o explicitados latentes n o verbalizados pelos autores PUC Rio Certifica o Digital N 0210680 CA Processo de Requisitos PLN e Agentes 55 O processo de cria o do conjunto de categorias a ser utilizado central ao processo de an lise de conte do e pode tanto utilizar categorias extra das do pr prio texto ou derivar essas categorias de um referencial te rico relacionado rea de estudo As categorias devem ser v lidas em rela o aos objetivos da an lise em rela o natureza do material avaliado e s quest es que se busca responder por meio do trabalho de an lise Moraes99 O conjunto de categorias deve ser exaustivo no sentido de possibilitar que toda unidade de an lise de conte do significativo seja class
76. uma leitura horizontal permite observar coloca es e diferentes sentidos Um concordanceador um programa que avalia os contextos para a palavra concordanceador considerando se os dois primeiros par grafos Ho ensino de l nguas o concordanceador utilizado para que o Figura 10 Contextos para a palavra concordanceador As concord ncias ou contextos s o exibidos e podem ser manipulados para PUC Rio Certifica o Digital N 0210680 CA Processo de Requisitos PLN e Agentes 52 uso com diferentes finalidades por exemplo para identificar coloca es palavras que aparecem fregiientemente pr ximas num texto para identificar qualificadores para um substantivo para apoio tradu o autom tica de textos para identifica o de express es idiom ticas No ensino de l nguas o concordanceador utilizado para que o aprendiz possa identificar em que contextos uma determinada palavra costuma ser utilizada A forma mais comum de uso de concordanceador denominada de KWIC Key Words In Context e utilizada para a gera o de ndices remissivos em livros e outros documentos Um dos mais famosos usos de concord ncias est relacionado aos Manuscritos do Mar Morto Esses manuscritos descobertos na d cada de 40 foram colocados sob os cuidados de um grupo internacional de pesquisadores que por muito tempo os manteve sob sigilo at o in cio da d cada de 90 apenas um ter o desses manuscritos havia sido liberada
77. 210680 CA Introdu o 17 sites situados em diferentes pa ses com a participa o de vinte e quatro interessados Dificuldades de comunica o face a face tornam a intera o entre grupos dependente das caracter sticas das ferramentas dispon veis e interferem diretamente nas v rias etapas do Processo de Requisitos Sem um adequado compartilhamento da informa o a confian a entre equipes atingida os encontros virtuais necess rios para atividades como prioriza o e negocia o de requisitos tendem a n o ser efetivos A diversidade cultural em especial diferen as ling sticas afeta a compreens o comum dos requisitos e a converg ncia entre diferentes interesses Delays de tempo devidos aos diferentes fusos hor rios impactam nas atividades de prioriza o e negocia o se n o devidamente gerenciados Uma das principais contribui es desse trabalho discutir e apresentar de forma esquem tica as dimens es de comunica o conhecimento cultura e diferen as temporais no contexto do desenvolvimento distribu do bem como identificar claramente as atividades afetadas Nossa proposta de trabalho est diretamente relacionada s dificuldades de comunica o entre interessados e a aspectos do processo de requisitos que s o afetados por esses problemas Comunica o fator cr tico de sucesso em projetos distribu dos j em 1996 Gorton e Matwani Gorton96 apresentaram resultados de um experimento que aponta como
78. 4 mostra um exemplo de sub senten a contendo o termo reserva a proposta e confirma a reserva por m ainda n o efetua nenhum Figura 14 Sub senten a apresentando contexto para o termo reserva Na identifica o das sub sentengas utilizado o radical da palavra de busca ent o para o termo reserva ser utilizado o radical reserv As sub senten as identificadas comp em um novo documento Esse documento ser analisado buscando a identifica o de coloca es que ser o avaliadas de acordo com medidas de associa o para identificar se a coloca o relevante ou se sua presen a no texto devida ao acaso Utilizamos como medidas de associa o o escore T e a Informa o M tua A forma de c lculo para o escore T apresentada na equa o 1 e a f rmula para a informa o m tua apresentada na equa o 2 freq x y freq x freq y ees TG y N 1 im x y Log 2 y freq x y P x P y PUC Rio Certifica o Digital N 0210680 CA Proposta para An lise de Requisitos utilizando PLN 68 Nestas medidas x e y representam os termos em an lise Em 1 freg x y corresponde freqii ncia conjunta de x e y freg x indica a frequ ncia do termo x freq y a freqii ncia do termo y e N indica quantidade de termos Em 2 P x y indica a probabilidade da ocorr ncia conjunta de x e y P x e P y indicam respectivamente a probabi
79. 5 1988 pp 513 523 Sampaio05 Sampaio A Chitchyan R Rashid A amp Rayson P EA Miner a Tool for Automating Aspect Oriented Requirements Identification In ASE 2005 Sardinha04 Sardinha A P B Ling stica de Corpus S o Paulo Ed Manole ISBN 1676 4 2004 410 paginas PUC Rio Certifica o Digital N 0210680 CA 154 Sayao05 Say o M amp Leite J C S P Uso de Agentes no Processo de Requisitos em Ambientes Distribuidos de Desenvolvimento In Workshop de Engenharia de Requisitos Lisboa Portugal 2005 Anais Shull00 SHULL F RUS I BASILI V How Perspective Based Reading can Improve Requirements Inspections IEEE Computer vol 33 n 7 p 73 79 july 2000 Silva06 Silva Lyrene F Uma estrat gia orientada a aspectos para modelagem de requisitos 2006 222 f Tese Doutorado em Inform tica Pontif cia Universidade Cat lica do Rio de Janeiro Rio de Janeiro RJ Sommerville04 Sommerville I Software Engineering Pearson Educational Limited seventh edition 2004 Sommerville98 Sommerville I Sawyer P amp Viller S Viewpoints for requirements elicitation a practical approach In Third International Conference on Requirements Engineering 1998 Proceedings pp 74 81 Standish04 Standish Group The CHAOS Report 2004 SWEBOK04 Guide to the Software Engineering Body of Knowledge 2004 Teline03 Teline M F Almeida G M B amp Alu sio S M Extr
80. Ap ndice A Padroes para extracao de sujeitos atores doc Escalas lt w POS N gt ente lt w POS PRP gt lt w POS N gt lt w POS N gt entes lt w POS PRP gt lt w POS N gt lt w POS N gt enta lt w POS PRP gt lt w POS N gt lt w POS N gt entas lt w POS PRP gt lt w POS N gt lt w POS N gt or lt w POS PRP gt lt w POS N gt lt w POS N gt ores lt w POS PRP gt lt w POS N gt lt w POS N gt ora lt w POS PRP gt lt w POS N gt lt w POS N gt oras lt w POS PRP gt lt w POS N gt lt w POS N gt eiro lt w POS PRP gt lt w POS N gt lt w POS N gt eiros lt w POS PRP gt lt w POS N gt lt w POS N gt eira lt w POS PRP gt lt w POS N gt lt w POS N gt eiras lt w POS PRP gt lt w POS N gt lt w POS N gt rio lt w POS PRP gt lt w POS N gt lt w POS N gt drios lt w POS PRP gt lt w POS N gt lt w POS N gt dria lt w POS PRP gt lt w POS N gt lt w POS N gt drias lt w POS PRP gt lt w POS N gt lt w POS N gt es lt w POS PRP gt lt w POS N gt lt w POS N gt eses lt w POS PRP gt lt w POS N gt lt w POS N gt esa lt w POS PRP gt lt w POS N gt lt w POS N gt esas lt w POS PRP gt lt w POS N gt lt w POS N gt eus lt w POS PRP gt lt w POS N gt lt w POS N gt euses lt w POS PRP gt lt w POS N gt lt w POS N gt eu
81. CIAS A RNFS 67 gt externos 42 gt extemos gt comunica o sistemas extemos 0 gt extemos gt custos 0 gt extemos gt integra o sistemas externos 22 gt extemos gt interoperabilidade 19 gt extemos gt legais 1 gt processo 0 gt processo gt entrega 0 gt processo gt implementa o 0 gt processo gt implementa o gt linguagens 0 gt processo gt padr es 0 gt produto 25 gt produto gt ambiente operacional 0 gt produto gt confiabilidade 10 gt produto gt confiabilidade gt integridade dos dados 0 gt produto gt confiabilidade gt seguran a 10 gt produto gt confiabilidade gt toler ncia a falhas 0 gt produto gt confidencialidade 15 gt produto gt confidencialidade gt cadastrar usu rios 0 gt produto gt confidencialidade gt conectar e autenticar usu rios 15 gt produto gt confidencialidade gt desconectar 0 gt produto gt efici ncia 0 gt produto gt efici ncia gt desempenho 0 gt produto gt efici ncia gt recursos 0 gt produto gt manutenibilidade 0 gt produto gt manutenibilidade gt modifiabilidade 0 gt produto gt manutenibilidade gt testabilidade 0 gt produto gt portabilidade 0 gt produto gt portabilidade gt adaptabilidade 0 gt produto gt usabilidade 0 gt produto gt usabilidade gt flexibilidade 0 gt produto gt usabilidade gt operabilidade 0 gt produto gt usabilidade gt web 0 gt suporte 0 gt suporte g
82. Created topic requirementId TTT 5 Adiciona o mapa a lista de saida TTT return topicMap catch TMAPIException e e printStackTrace LOGGER error Internal error while creating topic map return null public static TopicMap setAssociations TopicMap topicMap Map lt String Set lt String gt gt associationsMap String theme LOGGER info Mapping Requirements Associations PUC Rio Certifica o Digital N 0210680 CA 195 Stemmiza tema principal theme new PortugueseStemmer stem theme Recupera subtemas Collection lt String gt subthemes associationsMap keySet try FE ee ELE DDD 1 Recupera Mapa e Indice Hf TTT TopicsIndex topicMapIndex TopicsIndex topicMap getHelperObject org tmapi index core TopicsIndex class if topicMapIndex getFlags isAutoUpdated false topicMapIndex reindex TTT 2 Inicializa T picos B sicos TTT LOGGER debug Make basic topics T pico Tema Topic baseThemeTopic topicMap createTopic baseThemeTopic createTopicName Tema null T pico Subtema Topic baseSubthemeTopic topicMap createTopic baseSubthemeTopic createTopicName Subtema null Topic themeSubtheme Association Topic topicMap createTopic themeSubthemeA ssociationTopic createTopicName Relacionamento null i Topic associationTopic topicMap createTopic associationTopic createTopicName Relacionamento n
83. Dice x y D i E di 3 Da Xi Yi D x E Zi yi Spe Xi Yi Jaccard x y 4 No coeficiente de Dice o produto vetorial das representa es de xe y dividido pela m dia dos pesos Be x gt y 2 associados aos termos nos dois conjuntos No coeficiente de Jaccard o produto vetorial das representa es de x e y dividido pela soma dos pesos que correspondem aos termos que n o s o comuns aos dois documentos Para documentos iguais estes dois coeficientes Dice e Jaccard tamb m retornar o o valor 1 As tr s medidas de similaridade apresentadas consideram no numerador os termos co ocorrentes pois se um determinado termo n o ocorre em um dos documentos seu peso ser zero e o produto resultar tamb m em zero Desta forma apenas termos que ocorrem em ambos os documentos ser o considerados para efeito de c lculo do numerador dos coeficientes de similaridade No contexto desta tese estas tr s medidas de similaridade foram utilizadas na identifica o de requisitos similares apoiando a verifica o da exist ncia de duplicidade em requisitos PUC Rio Certifica o Digital N 0210680 CA Processo de Requisitos PLN e Agentes 48 2 5 4 Stemizacao O processo de stemiza o do ingl s stemming visa obten o do radical de uma palavra seja ela uma forma verbal flexionada um substantivo um adjetivo ou de outra classe de palavra O processo de stemiza o utilizado quando se dese
84. Dispon vel em http www tartarus org martin PorterStemmer Acesso em 06 04 2004 Porter95 PORTER A A VOTTA JR L G BASILI V Comparing Detection Methods for Software Requirements Inspections a replicated experiment IEEE Transactions on Software Engineering vol 21 n 6 p 563 575 june 1995 Prikladnicki03 Prikladnicki R Audy J L N amp Evaristo R Global software development in practice lessons learned Software Process Improvement and Practice 8 4 2003 pp 267 281 Prikladnicki04 Prikladnicki R amp Audy J MuNDDoS Um Modelo de Refer ncia para Desenvolvimento Distribuido de Software In XVIII Simp sio Brasileiro de Engenharia de Software 2004 Bras lia DF Brasil Anais pgs 289 304 Rosenberg98 ROSENBERG Linda et al Requirements Testing and Metrics In PACIFIC NORTHWEST SOFTWARE QUALITY CONFERENCE 15th 1998 Utah Proceedings Dispon vel em lt http satc gsfc nasa gov support PNSC OCT98 requirements_testing_and_metrics html gt Acesso em 12 out 2002 Ross77 Ross Douglas amp Schoman A Structured analysis for requirements definition IEEE Transactions on Software Engineering 1977 Vol 3 1 pp 6 15 Salton83 Salton Gerard Introduction to modern information retrieval New York NY McGraw Hill c1983 448 p Salton88 Salton G amp Buckley C Term weighting approaches in automatic text retrieval Information Processing and Management vol 24
85. Em processamento da linguagem natural taggers s o sistemas que analisam um texto e inserem etiquetas morfol gicas gramaticais ou sint ticas a cada item lexical Um part of speech tagger um etiquetador morfossint tico que analisa o texto e identifica as categorias gramaticais como substantivos adjetivos pronomes e verbos dentre outras Para sinais de pontua o pode ser utilizado o pr prio sinal enquanto que para palavras estrangeiras e f rmulas utiliza se um r tulo nico O etiquetador basicamente insere uma etiqueta do conjunto utilizado tagset junto ao texto nesta tarefa ele pode utilizar um l xico e um conjunto de procedimentos que ap iam o processo de definir a etiqueta a ser utilizada numa determinada palavra Estes dois componentes l xico e conjunto de procedimentos fazem parte do modelo da l ngua utilizado para a tarefa de etiquetagem Aires00 Alguns etiquetadores exigem que o texto de entrada esteja num formato espec fico por exemplo o etiquetador pode exigir que o texto esteja tokenizado com apenas uma palavra ou caracter de pontua o por linha A Figura 6 mostra um esquema gen rico para um etiquetador morfossint tico com a fase de tokeniza o j incorporada modelo da regras l ngua texto tokens lassifi r i texto etiquetado tokenizador Mens classificador tokense etiquetas desambiguador N Siquetado gramatical poss veis Figura 6 V
86. GGER debug Encontrado count vezes em requirement getCode reList add requirement getCode else if regex2 match text int count regex2 split text length 1 LOGGER debug Encontrado count vezes em requirement getCode reList add requirement getCode return requirementAssociations catch Exception e e printStackTrace return null PUC Rio Certifica o Digital N 0210680 CA 178 private static String uniformizeText String text String fragment StringUtils lowerCase text fragment fragment replace a a fragment fragment replace a a fragment fragment replace e fragment fragment replace 1 fragment fragment replace 0 fragment fragment replace t u fragment fragment replace a a fragment fragment replace 6 o fragment fragment replace a a fragment fragment replace e fragment fragment replace 0 fragment fragment replace i u fragment fragment replace fragment fragment replace 9 fragment fragment replace 9 return fragment private static String cleanToken String token List lt String gt stopList String temp token temp StringUtils stripStart temp temp StringUtils stripEnd temp temp StringUtils remove temp r temp StringUtils remove temp temp StringUtils rem
87. Imamura C Y M Rezende S O Avalia o de um Algoritmo de Stemming para o L ngua Portuguesa In 2nd Congress of Logic Applied to Technology 2001 Proceedings Vol 2 pp 267 274 Carmel99 Carmel E Global Software Teams Prentice Hall 1999 Chang01 Chang C Cai L Agent based Requirements Evolution over the Internet In IEEE Workshop on Software Engineering on the Internet The IEEE CS IPSJ 2001 Symposium on Applications and the Internet SAINT 2001 Jan 8 12 2001 pp 83 88 Chaves03 Chaves M S Um estudo e aprecia o sobre algoritmos de stemming para a l ngua portuguesa In IX Jornadas Iberoamericanas de Inform tica Cartagena de Indias Col mbia 11 15 agosto de 2003 Chen05 Chen K Zhang W Zhao H amp Mei Hong An Approach to Constructing Feature Models Based on Requirements Clustering In 13 IEEE International Conference on Requirements Engineering RE 05 Proceedings pp 31 40 Cherry04 Cherry S amp Robillard P Communication Problems in Global Software Development Spotlight on a New Field of Investigation In Third International Workshop on Global Software May 24 2004 Edinburgh Scotland Proceedings http gsd2004 uvic ca Cysneiros03 Cysneiros Luiz M rcio Yu Eric Requirements Engineering for Large Scale Multi Agent Systems In 2nd International Workshop on Software Engineering for Large Scale Multi Agent Systems Portland Oregon USA 2003 Proceedings p
88. Na rea de requisitos encontramos um exemplo do uso de taxonomias na classifica o de requisitos organizacionais que impactam no projeto de produtos Gershenson99 Nossa estrat gia est baseada no uso de uma taxonomia estruturada em dois n veis Um conjunto m nimo de temas relevantes da aplica o comp e o n vel mais alto da taxonomia esta taxonomia a base para identifica o autom tica no documento de requisitos de termos associados que ser o utilizados para a categoriza o dos requisitos Estes termos ir o compor o segundo n vel da taxonomia e sua sele o combina a descoberta de associa es atrav s da an lise do contexto no qual constam os temas do primeiro n vel da taxonomia e a sua avalia o atrav s de medidas estat sticas como o escore T e a informa o m tua Associa es s o descobertas atrav s de coloca es que s o grupos de palavras pr ximas mas n o necessariamente cont guas que co ocorrem no texto numa freqii ncia maior que o esperado pelo acaso Manning99 Sardinha04 A estrat gia proposta esquematizada utilizando uma perspectiva de processo um actigrama SADT Ross77 conforme mostra a Figura 12 Esse processo composto por 3 atividades a identifica o de termos relevantes para enriquecer a taxonomia b categoriza o dos requisitos com base na taxonomia enriquecida pelos termos e c gera o das vis es dos requisitos crit rios de
89. PUC Rio Certifica o Digital N 0210680 CA Miriam Sayao Verifica o e Valida o em Requisitos Processamento da Linguagem Natural e Agentes Tese de Doutorado Tese apresentada como requisito parcial para obten o do t tulo de Doutor pelo Programa de P s Gradua o em Inform tica da PUC Rio Orientador Julio Cesar Sampaio do Prado Leite Rio de Janeiro Abril de 2007 PUC Rio Certifica o Digital N 0210680 CA Miriam Sayao Verifica o e Valida o em Requisitos Processamento da Linguagem Natural e Agentes Tese apresentada como requisito parcial para obten o do t tulo de Doutor pelo Programa de P s Gradua o em Inform tica da PUC Rio Aprovada pela Comiss o Examinadora abaixo assinada prof Julio Cesar Sampaio do Prado Leite Orientador PUC Rio prof Marco Antonio Casanova PUC Rio profa Karin Koogan Breitman PUC Rio prof Jorge Luis Nicolas Audy PUC RS profa Vera Maria Benjamim Werneck UERJ prof Jos Eug nio Leal Coordenador Setorial do Centro T cnico Cient fico PUC Rio Rio de Janeiro 18 de abril de 2007 PUC Rio Certifica o Digital N 0210680 CA Todos os direitos reservados proibida a reprodu o total ou parcial do trabalho sem autoriza o da universidade da autora e do orientador Miriam Say o Graduada em Estat stica pela Universidade Estadual de Campinas UNICAMP em 1975 Obteve o t tulo de Mestre em Ci ncia da Computa o pela Univ
90. RNFS gt requisitos n o funcionais gt produto gt confiabilidade gt inte RNFS gt requisitos nao funcionais gt produto confiabilidade gt segu RNFS gt requisitos nao funcionais gt produto confiabilidade gt toler RNFS requisitos n o funcionais gt produto gt confidencialidade RNFS gt requisitos nao funcionais gt produto gt confidencialidade gt c RNFS gt requisitos nao funcionais gt produto confidencialidade gt c RNFS gt requisitos n o funcionais gt produto gt confidencialidade gt d RNFS gt requisitos n o funcionais gt produto gt efici ncia RNFS gt requisitos nao funcionais gt produto efici ncia gt desempe RNFS requisitos n o funcionais gt produto gt efici ncia gt recursos RNFS gt requisitos n o funcionais gt produto gt manutenibilidade RNFS gt requisitos_nao_funcionais gt produto gt manutenibilidade gt RNFS requisitos n o funcionais gt produto gt manutenibilidade gt t RNFS gt requisitos n o funcionais gt produto gt portabilidade RNFS gt requisitos nao funcionais gt produto gt portabilidade gt adap do ojojoojolo o o o Glolyo S o S jo 4olojolojo v Exibir apenas categorias Exportar Figura 28 Compara o de documentos tendo por base o dicion
91. Requirements Clustering In Second International Conference on Systems Integration Proceedings IEEE Computer Society June 1992 pp 137 150 IEEE98 Institute of Electrical and Electronics Engineers System Requirements Specifications Document Number IEEE 830 1998 1998 Jennings00 Jennings N R On agent based software engineering In Artificial Intelligence vol 117 2000 pp 277 296 Jennings01 Jennings N R and Wooldridge M J Agent Oriented Software Engineering In Bradshaw J ed Handbook of Agent Technology AAI MIT Press 2001 Disponivel em lt http www ecs soton ac uk nrj download files agt handbook pdf gt Acesso em 12 01 04 Jones96 JONES T Capers Applied Software Measurement Assuring Productivity and Quality New York McGraw Hill 1996 Kotonya98 Kotonya G e Sommerville I Requirements Engineering process and techniques John Willey amp Sons Ltd 1998 PUC Rio Certifica o Digital N 0210680 CA 151 Kowalski97 Kowalski G Information retrieval systems theory and implementation Boston Kluwer Academic 1997 282 p Leffingwell97 Leffingweel D Calculating the return on investment from more effective requirements management American Programmer vol 10 n 5 abr 1997 pp 13 16 Leite90 Leite J C S P Franco A P O uso de hipertexto na elicita o de linguagens de da aplica o In 4 Simp sio Brasileiro de Engenharia de Software 1990 A
92. S N gt lt w POS N gt eiras lt w POS PRP gt lt w POS N gt lt w POS N gt rio lt w POS PRP gt lt w POS N gt lt w POS N gt drios lt w POS PRP gt lt w POS N gt lt w POS N gt dria lt w POS PRP gt lt w POS N gt lt w POS N gt drias lt w POS PRP gt lt w POS N gt lt w POS N gt s lt w POS PRP gt lt w POS N gt lt w POS N gt eses lt w POS PRP gt lt w POS N gt lt w POS N gt esa lt w POS PRP gt lt w POS N gt lt w POS N gt esas lt w POS PRP gt lt w POS N gt lt w POS N gt eus lt w POS PRP gt lt w POS N gt lt w POS N gt euses lt w POS PRP gt lt w POS N gt lt w POS N gt eusa lt w POS PRP gt lt w POS N gt lt w POS N gt eusas lt w POS PRP gt lt w POS N gt lt w POS N gt ia lt w POS PRP gt lt w POS N gt lt w POS N gt ias lt w POS PRP gt lt w POS N gt lt w POS N gt ente lt w POS CPR gt lt w POS N gt lt w POS N gt entes lt w POS CPR gt lt w POS N gt lt w POS N gt enta lt w POS CPR gt lt w POS N gt lt w POS N gt entas lt w POS CPR gt lt w POS N gt lt w POS N gt or lt w POS CPR gt lt w POS N gt lt w POS N gt ores lt w POS CPR gt lt w POS N gt lt w POS N gt ora lt w POS CPR gt lt w POS N gt lt w POS N gt oras lt w POS CPR gt lt w POS N gt lt w POS N gt
93. S N gt ente lt w POS N gt entes lt w POS N gt enta lt w POS N gt entas lt w POS N gt or lt w POS N gt ores lt w POS N gt ora lt w POS N gt oras lt w POS N gt eiro lt w POS N gt eiros lt w POS N gt eira lt w POS N gt eiras lt w POS N gt rio lt w POS N gt rios lt w POS N gt ria lt w POS N gt arias lt w POS N gt s lt w POS N gt ses lt w POS N gt eses lt w POS N gt esa lt w POS N gt esas lt w POS N gt eus lt w POS N gt euses lt w POS N gt eusa lt w POS N gt eusas lt w POS N gt ia lt w POS N gt ias 157 PUC Rio Certifica o Digital N 0210680 CA 158 Ap ndice B Padroes para extracao de sujeitos atores doc SELIC lt w POS N gt ente lt w POS PRP gt lt w POS N gt lt w POS N gt entes lt w POS PRP gt lt w POS N gt lt w POS N gt enta lt w POS PRP gt lt w POS N gt lt w POS N gt entas lt w POS PRP gt lt w POS N gt lt w POS N gt or lt w POS PRP gt lt w POS N gt lt w POS N gt ores lt w POS PRP gt lt w POS N gt lt w POS N gt ora lt w POS PRP gt lt w POS N gt lt w POS N gt oras lt w POS PRP gt lt w POS N gt lt w POS N gt eiro lt w POS PRP gt lt w POS N gt lt w POS N gt eiros lt w POS PRP gt lt w POS N gt lt w POS N gt eira lt w POS PRP gt lt w PO
94. Uma an lise cuidadosa dos termos obtidos atrav s deste processo mostrou que parte destes correspondem a termos espec ficos do dom nio da aplica o ou de sistemas correlatos a ele e portanto devem estar necessariamente registrados no l xico da aplica o Outra parte dos termos extra dos registra claramente as diferen as culturais existentes mesmo trabalhando numa rea t cnica como TI Acreditamos que tais termos devam ser registrados num dicion rio de viagem que dever estar dispon vel para todos os participantes do processo de desenvolvimento principalmente para desenvolvedores que iniciam o trabalho na organiza o e n o foram conscientizados dessas diferen as Como exemplo registramos na Tabela 18 algumas express es utilizadas em Portugal e a correspondente no Brasil Uma delas especificamente poderia trazer s rias consequ ncias ao processo de desenvolvimento caso seja compreendida incorretamente pois a express o por defeito n o seria entendida como um padr o a assumir em caso de aus ncia de informa o mas sim como a forma de tratar um defeito na informa o manipulada Tabela 18 Express es registrando diferen as culturais e ling sticas por defeito por default aceder acessar sinal tica cone multibanco tipo de pagamento ecr monitor ou tela villas resort utilizador usu rio telem vel telefone celular ficheiro pasta ou diret rio de arquivos A
95. Utilizamos os coeficientes de Dice do coseno e de Jaccard conforme discutido no cap tulo 2 Os coeficientes calculados retornam sempre valores entre O e 1 quanto mais pr ximo de 1 o valor mais similar o par de requisitos Quanto mais pr ximo de 0 menos similar o par de requisitos No nosso trabalho ao estruturarmos os requisitos na forma de matrizes termo documento utilizamos uma stoplist composta apenas por artigos pronomes adv rbios conjun es e outras palavras sem valor relevante N o PUC Rio Certifica o Digital N 0210680 CA Proposta para An lise de Requisitos utilizando PLN 85 foram inclu dos termos t cnicos ou do dom nio da aplica o Nosso c lculo correlaciona os valores obtidos para a obten o de um ndice de similaridade nico considerando se a m dia aritm tica desses coeficientes Os requisitos candidatos an lise de duplicidade s o ent o apontados considerando o limiar de 0 90 ou seja todos os pares cujo ndice de similaridade seja igual ou maior que 0 90 ser o avaliados para efeitos de identifica o de duplicidade Este limiar pode ser ajustado para atender a particularidades de uma dada aplica o Para a defini o do limiar foram executados diversos experimentos considerando documentos de requisitos de diferentes dom nios de aplica o O limiar definido foi aquele que apresentou considerando o conjunto de experimentos maiores taxas de acerto na identifica o de requ
96. WEBOK04 PUC Rio Certifica o Digital N 0210680 CA Proposta para An lise de Requisitos utilizando PLN 88 Dicion rio Dicion rio Cy RNFS nes 5 requisitos nao funcionais amp requisitos nao funcionais g extemos Q extemos o EF processo gt comunica o sistemas extemos o produto custos s suporte s integra o sistemas extemos gt interoperabilidade gt legais G processo amp entrega g implementa o amp padr es Q produto gt O ambiente operacional confiabilidade confidencialidade o efici ncia d g manutenibilidade gt portabilidade o usabilidade q D suporte g documenta o treinamento v lw Figura 25 Estrutura do dicion rio de RNF s para identifica o de omiss es Na Figura 25 esquerda exibido o primeiro n vel de categorias do dicion rio criado e direita o detalhamento de cada uma dessas categorias iniciais Os requisitos n o funcionais que ser o avaliados est o agrupados nas categorias externos processo produto e suporte Cada uma dessas categorias est sub dividida em v rias outras para permitir uma boa estrutura o do dicion rio A categoria externos agrega o conjunto de termos que est relacionada a requisitos externos ao sistema como por exemplo requisitos legais de comunica o com sistemas j existentes de custos A categoria processo agrega o conjunto de ter
97. Wives04 Para o processo de clusteriza o n o existe informa o conhecida a priori sobre o n mero de grupos que resultar do processo de agrupamento e os PUC Rio Certifica o Digital N 0210680 CA Processo de Requisitos PLN e Agentes 56 m todos classificam documentos em grupos de acordo com um crit rio pr determinado Estes crit rios s o baseados em medidas de semelhan a ou de diferen a entre documentos medidas estas obtidas a partir de representa es estruturadas dos documentos Uma representa o frequente a matriz termo documento descrita na se o 2 5 2 e para o processo de agrupamento utiliza se uma sele o dos termos que s o denominados de atributos Na rea de minera o de textos o uso de algoritmos de particionamento iterativo tem sido bastante freqiiente Wives04 Dentre estes um dos mais utilizados o k means ou k m dias Este algoritmo um m todo iterativo para particionamento de conjuntos de dados onde o n mero k de grupos indicado pelo usu rio Um conjunto inicial de k objetos obtido pelo algoritmo de forma aleat ria ou de acordo com alguma heur stica esses k objetos correspondem aos elementos centrais ou centr ides dos k agrupamentos Em seguida analisada a dist ncia ou similaridade de cada documento aos centr ides utiliza se como medida de similaridade a dist ncia euclidiana Cada documento alocado ao agrupamento de centr ide com a menor dist ncia ou
98. _ y B amp me Titulo do Requisito ERS_EXIT ERS_E commerce Texto do Requisito Figura 42 Interface para manuten o de documentos de requisitos F Rq NET gerente Microsoft Internet Explorer DER File Edit View Favorites Tools Help Qx h x a KA J rh K O B am Address amp http localhost 8080 reqweb web mapas jsp 2 Bim Tema viagem Corpus 15804 Documento Frequency 204 ERS_EXIT ERS_E commerce Nome i Ocorr ncia c Tema semelh visual continu cancel Stop List pass client a destin abaixo a adicion acaso acerca dat confirm Extrair Padr es produt detalh mant Figura 43 Interface para identifica o de requisitos associados a um tema PUC Rio Certifica o Digital N 0210680 CA Proposta de uma Arquitetura de Agentes 110 Processo de V amp V responsabilidade do gerente do projeto escolher uma data para o processo de verifica o do documento de requisitos Nesse momento o seu agente pessoal em colabora o com os demais agentes da plataforma se encarrega de enviar mensagem aos participantes informando da data definida para a verifica o O estado do documento de requisitos alterado e n o s o mais aceitas inser es ou atualiza es no documento S o realizadas algumas verifica es como a busca pela duplicidade em requisitos e os resultados s o
99. a o Manual e Autom tica de Terminologia Comparando Abordagens e Crit rios In 16th Brazilian Symposium on Computer Graphics and Image Processing SIBGRAPI 2003 Proceedings Terra04 Terra E Lexical Affinities and Language Applications PhD Thesis University of Waterloo Canada 2004 Thrane80 THRANE Torben Referential Semantic Analysis Aspects of a Theory of Linguistic Reference Londres Cambridge University Press 1980 256p Tufis98 Tufis D amp Mason O Tagging Romanian Texts a Case Study for QTAG a Language Independent Probabilistic Tagger In First International Conference on Language Resources amp Evaluation Granada Spain Proceedings pp 589 596 Vieira01 Vieira R amp Lima V L S 2001 Ling stica Computacional Princ pios e Aplica es In As Tecnologias da Informa o e a quest o social anais Carlos Eduardo Ferreira Ed Fortaleza SBC ISBN 85 88442 03 5 v 2 pp 47 88 Wilson97 WILSON W M ROSENBERG L H HYATT L E Automated Analysis of Requirement Specifications In INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING IASTED 1997 Boston MA Proceedings Dispon vel em lt http satc gsfc nasa gov support ICSE_MAY97 arm ICSE97 arm htm gt Acesso em 13 set 2002 Witten00 Witten I H amp Frank E Data mining practical machine learning tools and techniques with java implementations San Francisco CA Morgan Kaufmann 2000 371 p PUC Rio Cert
100. a o de vis es parciais de requisitos permitindo ao participante do processo executar seu trabalho avaliando conjuntos menores de requisitos As vis es tamb m podem ser geradas a partir da solicita o do validador a partir de um tema de seu interesse Isto poderia ser expandido para tratar tamb m outros artefatos utilizados na valida o como mock ups e prot tipos criados para esta fase PUC Rio Certifica o Digital N 0210680 CA 7 Refer ncias Bibliograficas Aires00 Aires R V X Implementa o adapta o combina o e avalia o de etiquetadores para o portugu s do Brasil Disserta o de Mestrado ICMC USP S o Carlos SP 2000 Audy04 Audy Jorge Evaristo Roberto Watson Manheim Mary Distributed Analysis the Last Frontier In 37th Hawaii International Conference on System Sciences 2004 Proceedings pgs 1 9 Audy04a Audy Jorge L N amp Lopes Leandro Towards a reference model for requirement engineering in distributed software development In CAISE 16th International Conference on Advanced Information Systems Engineering Riga Letonia 2004 Proceedings Baeza Yates99 Baeza Yates R amp Ribeiro Neto B Modern Information Retrieval New York ACM Press 1999 Baniassad04 Baniassad Elisa amp Clarke Si bhan Theme an Approach for Aspect Oriented Analysis and Design In the International Conference on Software Engineering 2004 Proceedings Bardin77 Bardin
101. a pr pria plataforma na Figura 29 eles s o representador por BROKER MANAGER e CATALOG Estes tr s agentes prov em servi os de comunica o gerenciamento do ciclo de vida dos agentes e manuten o do cat logo de servi os para toda a plataforma A comunica o ocorre atrav s de duas portas de comunica o via http ou via SOAP esta ltima necess ria para web services No container est o presentes agentes de infra estrutura do container BROKER MANAGER CATALOG e PROXY Os tr s primeiros s o inst ncias dos correspondentes no front end MIDAS agora respons veis pela comunica o gerenciamento e cat logo de servi os do pr prio container O agente PROXY possibilita que os agentes de aplica o possam invocar servi os de forma transparente sem necessitar conhecer a localiza o do servi o O BLACKBOARD mant m informa es do ambiente de execu o possibilitando que os agentes da aplica o monitorem as mudan as neste ambiente e tomem as a es apropriadas a cada caso Os agentes da aplica o s o instanciados estendendo a classe abstrata AGENT Esta classe abstrata cont m os m todos comuns a todos os agentes da aplica o como m todos para controle do ciclo de vida do agente e as interfaces para monitora o do blackboard A classe abstrata COMPONENT representa componentes puramente reativos e deve ser estendida para implementar por exemplo objetos de acesso a bancos de dados interfaces de comunica o com
102. a se o 2 5 5 Para cada um destes termos associados aplicada a t cnica de reconhecimento de padr es ao texto dos requisitos considerado como padr o o radical das palavras que comp em o termo Se o requisito analisado PUC Rio Certifica o Digital N 0210680 CA Proposta para An lise de Requisitos utilizando PLN 70 atende o padr o ent o sua identifica o inclu da na lista de relacionamentos para o termo sendo avaliado O uso do radical das palavras para compor o padr o propicia a recupera o de termos no singular ou no plural no masculino ou no feminino de palavras de diferentes categorias gramaticais e tamb m de express es similares Observamos que como o stemmer utilizado dirigido para a l ngua portuguesa termos em outras l nguas ser o mantidos como apresentados ou seja na ntegra Isto deve ser observado pois comum em documentos de requisitos encontramos termos da rea de tecnologia da informa o que s o utilizados na l ngua inglesa mesmo que exista uma tradu o para a l ngua portuguesa Este o caso de termos como password logon logoffe home page Ao final desta atividade cada termo estar associado a uma lista de requisitos relacionados e a ltima etapa consolida as listas correspondentes a cada um dos temas de alto n vel da taxonomia pois um mesmo requisito poder atender a diversos padr es A consolida o ir gerar um conjunto de requisitos associados a cada tema de al
103. a sistem tica na fase de modelagem seguindo um m todo previamente definido A ltima etapa deste processo denominada de an lise que envolve as atividades de verifica o e valida o e tem por objetivo avaliar a qualidade da representa o dos requisitos em rela o a aspectos como consist ncia e completude verifica o e identificar se os requisitos correspondem s expectativas dos clientes e usu rios valida o O contexto geral onde se insere o sistema a ser desenvolvido denominado de Universo de Informa es UdI e inclui todas as fontes de informa o e pessoas relacionadas ao software este contexto tamb m identificado como Universo do Discurso ou dom nio da aplica o Durante a fase de elicita o a comunica o entre engenheiro de requisitos e clientes e usu rios visa identifica o de funcionalidades a serem atendidas pelo sistema a ser desenvolvido Neste processo reconhecidamente um dos mais intensivos em comunica o no desenvolvimento de software surgem termos pr prios do dom nio da aplica o Tais termos devem ser registrados num l xico para a aplica o possibilitando a todos os interessados o compartilhamento de uma mesma compreens o desse Universo de Informa o V rias s o as t cnicas utilizadas para a elicita o dos requisitos entrevistas reuni es leitura de documentos workshops e mesmo reuso de requisitos O sistema a ser desenvolvido dever ainda respeitar regras e pad
104. ace catch MessagingException e TODO Auto generated catch block e printStackTrace catch Exception e TODO Auto generated catch block e printStackTrace Agente Analisador L xico lexical java package requisitos agents import java io BufferedReader import java io Buffered Writer import java io File import java io FileReader import java io File Writer import java io IOException import java util ArrayList import java util HashMap import java util List import java util Map import java util Set import java util TreeSet import org apache commons lang StringUtils import org apache commons logging Log import org apache commons logging LogFactory import org apache regexp RE import org midas as agent board Board import org midas as agent board Message import org midas as agent board MessageListener import org midas as agent templates A gent import org midas as agent templates LifeCycleException import org midas as agent templates ServiceException import org xml sax SAXException import requisitos business entities Requirement import requisitos business entities Theme import requisitos business entities ThemeExcerpts import requisitos stemmer PortugueseStemmer import requisitos stemmer Stemmer import edu harvard wcfia yoshikonverter Converter OQ SuppressWarnings unchecked public class Lexical extends Agent implements MessageListener Log
105. ace I Override protected void lifeCycle throws LifeCycleException InterruptedException Se registra no BlackBoard Board addMessageListener Statistics this public void boardChanged Message msg Override public void provide String service Map lt String Object gt in List lt Object gt out throws ServiceException 55555 Servi o E frequencyMap Dadas as extra es do Concordanciador e o texto completo com os requisitos o servi o de frequencyMap calcula o Mapa de Frequ ncia completo para o tema PUC Rio Certifica o Digital N 0210680 CA 185 if service equals frequencyMap Entrada ThemeExcerpts themeExcerpts ThemeExcerpts in get themeExcerpts List lt Requirement gt requirements List lt Requirement gt in get requirements Execu o FrequencyMap frequencyMap frequencyMap themeExcerpts requirements Sa da out add frequencyMap o o JESSE Servi o metrics Dado o mapa de frequ ncia o servi o de metrics calcula os valores de scoreT e informa oM tua para todos os termos que ocorreram junto ao tema td else if service equals metrics Entrada FrequencyMap frequencyMap FrequencyMap in get frequencyMap Execu o ThemeMetrics themeMetrics metrics frequencyMap Sa da out add themeMetrics Hf Metho
106. ades associadas etapa de requisitos Carmel Carmel99 considera que os impactos trazidos pela distribui o do desenvolvimento est o relacionados dist ncia diferen as culturais e de fusos hor rios entre interessados Essas dimens es s o discutidas no contexto do Processo de Requisitos em Zowghi02 para quem dist ncia e fusos hor rios impactam diretamente na comunica o entre interessados afetando as atividades de elicita o negocia o e prioriza o de requisitos Dentre as diferen as culturais aquelas relacionadas a normas de comportamento linguagem e costumes podem levar falta de confian a entre equipes e tendem a impactar negativamente atividades do processo de requisitos Em Prikladnicki04 s o relatados os principais resultados de um estudo envolvendo duas organiza es e vinte e dois desenvolvedores utilizando DDS Desenvolvimento Distribu do de Software os participantes consideraram que o maior desafio no desenvolvimento distribu do a Engenharia de Requisitos A dist ncia entre os participantes dificulta a converg ncia de id ias e impacta na estabilidade dos requisitos dificuldades relacionadas comunica o e falta de confian a entre equipes s o menores quando h um padr o bem definido a ser seguido tanto para o processo de desenvolvimento em si quanto para os artefatos gerados Damian03a apresenta resultados de um estudo de caso abrangendo quatro PUC Rio Certifica o Digital N 0
107. adores clientes e usu rios a colaborar e interagir no desenvolvimento de novos projetos considerando sua localiza o geogr fica e os meios de intera o Wu06 Wu declara tamb m que projetos colaborativos de sistemas envolvem equipes multidisciplinares de projeto e v rias ferramentas de engenharia de software alguns dos principais problemas encontrados neste contexto incluem a dificuldade de troca de informa es entre ferramentas devido aos diferentes padr es adotados e a quase inexist ncia de mecanismos para auxiliar os usu rios em suas tarefas colaborativas A arquitetura descrita neste cap tulo tem por objetivo dar suporte ao processo de verifica o e valida o de requisitos em ambientes distribu dos de desenvolvimento Este cen rio requer que aplica es possam ser configuradas dinamicamente e que arquiteturas flex veis e habilitadas a evoluir sejam utilizadas para dar suporte din mica destes sistemas constante evolu o dos requisitos e s mudan as na equipe envolvida A arquitetura proposta envolve o PUC Rio Certifica o Digital N 0210680 CA Proposta de uma Arquitetura de Agentes 94 uso de agentes de software O uso de agentes em ambientes distribuidos de desenvolvimento relatado em Li03 que prop e uma ferramenta para gerenciamento de dados utilizando uma abordagem baseada em agentes Agentes de software tamb m s o utilizados para dar suporte ao gerenciamento de uma ontologia de engenha
108. ae Xi Vi t 2 t 2 Ea x ii No c lculo do coseno o numerador representa um produto vetorial cos x y 2a d correspondendo a soma dos produtos dos pesos associados aos termos nos vetores representando x e y Cada um dos componentes do denominador representa uma fun o sobre um nico vetor e seu produto um fator de normaliza o para a medida Se dois documentos s o exatamente iguais ent o seus vetores ser o superpostos no espa o vetorial o ngulo entre eles ser nulo e o valor do coseno ser 1 Como o denominador utiliza sempre valores positivos teremos que valores PUC Rio Certifica o Digital N 0210680 CA Processo de Requisitos PLN e Agentes 47 obtidos com aplica o desta f rmula resultar o sempre no intervalo 0 1 quanto mais pr ximo de 1 o valor obtido maior a similaridade entre os documentos O c lculo da dist ncia euclidiana mostra qu o pr ximos ou distantes est o dois documentos representados no espa o de documentos Se aplicadas a vetores normalizados os resultados dessas duas medidas ser o id nticos Maning99 Outras formas para identifica o de similaridade freqiientemente encontradas na literatura Salton83 Kowalski97 Manning99 Meadow00 s o os coeficientes de Dice e de Jaccard utilizando a mesma representa o espa o vetorial para os documentos As f rmulas desses coeficientes est o apresentadas respectivamente nas equa es 3 e 4 DD a Xi Yi
109. agrega o do conhecimento distribu do agentes podem colaborar e cooperar nas atividades que exigirem agrega o de conhecimento para tomada de PUC Rio Certifica o Digital N 0210680 CA Introdu o 20 decis o O conhecimento relacionado ao sistema est distribu do entre interessados geograficamente dispersos e agentes podem colaborar nessa agrega o para a tomada de decis es acesso controlado informa o definir restri es ao acesso de agentes informa o tarefa facilmente realiz vel No contexto de desenvolvimento de software as restri es aos diferentes interessados com diferentes direitos de acesso s informa es podem ser atendidas pelos agentes continuidade temporal agentes podem estar ativos de forma cont nua monitorando os ambientes detectando eventos e tomando decis es de forma independente o que essencial no caso do desenvolvimento follow the sun quando os interessados geograficamente dispersos estar o ativos desempenhando diferentes tarefas durante as 24 horas do dia Nossa proposta visa repassar a agentes de software parte das tarefas e das comunica es que atualmente ocorrem entre agentes reais os participantes do processo de requisitos focando em atividades de verifica o e valida o Visualizamos agentes de software como representantes dos diferentes atores nesses processos propiciando a efetiva distribui o do trabalho no contexto do processo de requisitos e dimi
110. am para a qualidade deste trabalho Aos funcion rios da PUC Rio e do DI em especial Ruth D bora Emanuelle Wagner e Rosane a Z Carlos e equipe de suporte Aos professores Arndt von Staa Carlos J Pereira de Lucena Ruy Milidi pelos ensinamentos Ao Akeo Tanabe pela imensa disposi o em apoiar minha fam lia de origem Iracema amp Antonio Ivette Rosely amp F bio amp Camila Silvia Yara amp Celso amp Marco Fil pelo carinho sempre Ao Alu zio pelo afeto e apoio nesta jornada minha fam lia carioca Karin Carol Lyrene Roberta Uir Eduardo Karla P dua Guga Dani Daflon L o Mauren Ad le Silvana Roberto pela amizade e companheirismo Aos amigos de todos os lugares Malu amp Fleck S nia amp M rio Carl o Eldo Dai Denise Schiiler Olandina Kleyna amp Eduardo Deise pela amizade que supera tempo e dist ncias Ao Alu zio e ao Rafael pelo apoio com a plataforma MIDAS Karin Breitman pelo imenso apoio e amizade sempre Vera Lima e Jorge Audy pelo grande incentivo nesta caminhada Faculdade de Inform tica da PUCRS por todo o apoio recebido Pontif cia Universidade Cat lica do Rio Grande do Sul PUC RS CAPES e Pontif cia Universidade Cat lica do Rio de Janeiro PUC Rio pelo financiamento e apoio financeiro concedidos sem os quais este trabalho n o poderia ter sido realizado PUC Rio Certifica o Digital N
111. amento l xico a ser efetuado sobre o documento de requisitos Fornece servi os para v rios agentes da plataforma PUC Rio Certifica o Digital N 0210680 CA Proposta de uma Arquitetura de Agentes 101 atendendo requisi es para convers o de documentos extra o do radical de palavras obter contextos identificar coloca es categorizar requisitos identificar termos n o dicionarizados A Figura 31 ilustra as principais responsabilidades e colabora es deste agente Agente Colaboradores Analisador L xico Verificador Responsabilidades Gerador de Vis es Converter documentos Construtor do convers o de documentos de requisitos armazenados em L xico formato doc pdf ou html para formato texto puro Extrair requisitos analisar documento de requisitos extraindo e armazenando em arquivos independentes cada um dos requisitos Fornecer stem de palavras a partir de uma palavra retornar o radical ou stem da mesma Obter contextos Concordanceador analisar o documento de requisitos e retornar as sub senten as onde constem o termo em an lise Categorizar requisitos para cada item de mais alto n vel da taxonomia gerar e consolidar os padr es de segundo n vel identificar requisitos associados a cada um dos padr es Gerar matriz termo documento gerar matrizes termo documento para uso em servi os que utilizem a abordagem bag of words Figura 31 Responsabilida
112. ante recebe informa es relativas a modifica es em requisitos ao agendamento de atividades de V amp V a resultados parciais de atividades de verifica o em requisitos 4 3 4 Agentes modelo de pap is A aplica o desenvolvida um sistema que combina agentes e componentes Agentes nesta plataforma possuem pap is bem definidos descritos a seguir 4 3 4 1 Agente Manager O agente Manager um assistente pessoal do gerente do projeto e respons vel por monitorar atividades do gerente do projeto detectar o agendamento de atividades de V amp V no documento de requisitos notificar os interessados e o agente Verificador Validador sobre o evento A Figura 30 ilustra as principais responsabilidades e colabora es deste agente Agente Colaboradores Manager Comunicador Responsabilidades Verificador Validador Identificar agendamento da verifi o ou da valida o monitorar atividades do gerente humano e identificar o agendamento de uma data para a verifica o ou valida o modificar estado do documento de requisitos de aberto para pre verifica o ou pr valida o Enviar notifica es notificar Comunicador da agenda definida para a verifica o valida o de requisitos _ notificador Verificador Validador Figura 30 Responsabilidades e colabora es do agente Manager 4 3 4 2 Agente Analisador L xico Lexical Este agente centraliza os servi os de trat
113. antes do titulo if title contains RF while title startsWith RF title title substring 1 else while title startsWith RNF title title substring 1 Troca barras por tra os title replaceAll Separa c digo do titulo String titleSplit title split 2 Cria atributos do requisito String reqCode titleSplit 0 PUC Rio Certifica o Digital N 0210680 CA 174 String reqTitle titleSplit 1 writing true Adiciona o requisito na lista de sa da requirement new Requirement regCode regTitle requirementList add requirement LOGGER debug Requirement Extracted title ae SEN O else N o cria o arquivo writing false Tooele SEN O else Caso seja poss vel adiciona o texto ao arquivo criado if writing requirement addText line n return requirementList catch IOException e e printStackTrace return null public static ThemeExcerpts concordance Theme theme List lt String gt stopList List lt Requirement gt requirements String themeName theme getName ThemeExcerpts excerpts new ThemeExcerpts theme getName LOGGER debug Processando concordancia nos requisitos para o tema themeName for Requirement requirement requirements LOGGER debug Requisito requirement getCode String text requirement getText String textParagraphs StringUtils split text
114. antidade de agrupamentos para os requisitos Uma refer ncia forte para esta defini o refere se ao n mero inicial de caracter sticas para guiar o processo de elicita o proposto pelo m todo PreView Sommerville98 Nesse m todo caracter sticas representam necessidades de alto n vel para a aplica o e influenciam os requisitos derivados de cada ponto de vista Fundamentado no uso de pontos de vista e de caracter sticas para elicita o de requisitos o PreView estipula que o n mero de caracter sticas deve ser baixo da ordem de cinco Outra refer ncia utilizada consta no trabalho de Hoskinson Hoskinson05 que trata da extra o de conceitos de textos para posterior gera o de taxonomias Hoskinson estabelece que o n mero de conceitos para os nodos de mais alto n vel da taxonomia deve estar no intervalo de tr s a oito Adotamos este ltimo crit rio pois ele mais geral que a nossa defini o inicial e abarca o proposto pelo m todo PreView Acreditamos por m que o engenheiro de requisitos deva usar o valor aqui apresentado apenas como guia avaliando a cobertura dos requisitos em rela o aos temas selecionados e trabalhando o n mero de temas de mais alto n vel da taxonomia de forma a atingir cobertura completa do conjunto de requisitos ou de sua maior parte Para a identifica o dos termos do segundo n vel consideramos que a frase ou contexto que apresenta um tema da taxonomia inicial deve conter outros termos
115. as agent templates A gent import org midas as agent templates LifeCycleException import org midas as agent templates ServiceException import corpus FileTokeniser public class LexicalConstructor extends Agent implements MessageListener Override protected void lifeCycle throws LifeCycleException InterruptedException Se registra no BlackBoard Board addMessageListener LexicalConstructor this Override public void provide String service Map lt String Object gt in List lt Object gt out throws ServiceException if service equals tagger T ESSES Servi o tokenizer x A else if service equals tokenizer Entrada File srcFile File in get srcFile File txtFile File in get txtFile PUC Rio Certifica o Digital N 0210680 CA 180 try FileTokeniser ft new FileTokeniser srcFile getAbsolutePath BufferedWriter writer new BufferedWriter new FileWriter txtFile while ft hasMoreTokens writer write ft getNextToken n writer close catch IOException e throw new ServiceException Unable to write text file txtFile getAbsolutePath e public void boardChanged Message msg Agente Manager manager java package requisitos agents import java util List import java util Map import org midas as agent board Board import org midas as agent board BoardException import org midas
116. as nas senten as de requisitos visando constru o de um modelo inicial de classes em UML atrav s da identifica o de sintagmas nominais O resultado inclui classes atributos e relacionamentos agrupados em modelos de classes e armazenados em arquivos cujo formato adequado manipula o posterior por ferramentas normalmente utilizadas nas etapas de PUC Rio Certifica o Digital N 0210680 CA Conclus es 143 projeto do sistema Os autores enfatizam que os resultados devem ser vistos como apoio ao trabalho do analista ou engenheiro de software devendo ser refinados para efetivamente contribuir para um modelo inicial de classes A abordagem proposta por Boyd et al Boyd05 utiliza um subconjunto controlado da linguagem natural para o registro de requisitos com o objetivo de reduzir a ambigiidade Esse trabalho investiga a expressividade sint tica e sem ntica de um sub conjunto da l ngua inglesa para uso em documentos de requisitos focando especificamente nos verbos a es A identifica o das entidades sujeitos das a es realizada via sintagmas nominais Nosso trabalho aproxima se do trabalho de Harmain00 j referido mas nossos objetivos s o diferentes visamos apoiar o processo de requisitos enquanto eles buscam apoiar o processo de projeto do sistema Utilizamos como fontes de informa o n o s documentos de requisitos mas tamb m outros documentos que sejam manipulados ou gerados no processo de re
117. ased architecture for building multi agent systems In International Conference on Autonomous Agents and Multiagent Systems AAMAS 2007 Honolulu Hawai i Proceedings a ser publicado Hammer96 HAMMER T et al Requirements Metrics for Risk Identification In SOFTWARE ENGINEERING WORKSHOP 21 1996 NASA GSFC MD Proceedings Dispon vel em lt http satc gsfc nasa gov support SEW_DEC96 sel PDF gt Acesso em 21 out 2002 Hardy04 Hardy C Harley B amp Phillips N Discourse Analysis and Content Analysis Two Solitudes In Qualitative Methods vol 2 1 Spring 2004 pp 19 22 Harmain00 Harmain H M amp Gaizauskas R CM Builder An Automated NL based CASE Tool In 15th IEEE International Conference on Automated Software Engineering ASE 2000 2000 Proceedings pp 45 53 Herbsleb03 Herbsleb J amp Mockus A An empirical study of speed and communication in globally distributed software development IEEE Transactions on Software Engineering vol 29 6 jun 2003 pgs 481 494 Himmelspach03 Himmelspach J Rohl M amp Uhrmacher A M Simulation for testing software agents an exploration based on James In Simulation Conference 2003 Proceedings pp 799 807 Hoskinson05 Hoskinson A Creating the Ultimate Research Assistant IT Systems Perspective IEEE Computer Society november 05 pp 97 99 Hsia92 Hsia P amp Gupta A Incremental Delivery Using Abstract Data Types and
118. associa o s o respectivamente tr s para a informa o m tua e dois para o escore T Sardinha04 Assim todas as coloca es cujas medidas de associa o sejam iguais ou maiores que os patamares definidos s o consideradas relevantes para enriquecimento da taxonomia Na identifica o das coloca es tamb m trabalhamos com o radical das palavras Os termos obtidos neste processo podem ser compostos de at tr s palavras trigramas Esses termos s o denominados termos candidatos e s o analisados num processo de sele o que desconsidera termos que iniciem ou terminem por palavra relacionada na lista de stopwords Finalmente as stopwords eventualmente presentes nos termos selecionados s o tamb m retiradas gerando PUC Rio Certifica o Digital N 0210680 CA Proposta para An lise de Requisitos utilizando PLN 69 um padr o que permitir que express es como reserva de v o reserva do v o reservar o v o ou reservar os v os sejam consideradas similares para fins do processo de categoriza o e correspondam a um mesmo padr o A participa o do engenheiro de requisitos no processo de defini o dos termos a serem inclu dos na stoplist muito importante dado que prov vel que termos t cnicos da rea da TI e mesmo do dom nio da aplica o tamb m devam ser desconsiderados no processo de sele o de termos candidatos 3 1 3 Categorizar requisitos A identifica o dos requisitos relacionados aos termo
119. bora es do agente Analisador L xico Figura 32 Responsabilidades e colabora es do agente Construtor do L xico 22 27 30 31 33 39 44 44 46 51 58 65 67 67 69 71 72 72 72 73 76 78 83 87 88 90 91 92 97 100 101 101 PUC Rio Certifica o Digital N 0210680 CA Figura 33 Responsabilidades e colabora es do agente Gerador de Vis es Figura 34 Responsabilidades e colabora es do agente Estat stico Figura 35 Responsabilidades e colabora es do agente Verificador Figura 36 Responsabilidades e colabora es do agente Validador Figura 37 Responsabilidades e colabora es do agente Comunicador Figura 38 Responsabilidades e colabora es do agente Observador Figura 39 Responsabilidades e colabora es do agente Rastreador Figura 40 Vis o de alto n vel da plataforma Figura 41 Vis o do sistema multi agente Figura 43 Interface para identifica o de requisitos associados a um tema Figura 44 Diagrama de atividades para o processo de Verifica o Figura 45 Vis o da taxonomia e do tema reserva e requisitos associados Figura 46 O requisito funcional 17 e temas associados Figura 47 Estrutura do dicion rio de RNF s para identifica o de omiss es Figura 48 Resultados para o documento exit Sistema Exit Figura 49 Resultados para o documento escalas Sistema Gestor de Escalas Figura 50 Comparando documentos atrav s de RNF s 102 102 108 104 104 105 105
120. bservador Responsabilidades Identificar mudan as nos artefatos controlados Manter controle sobre documento de requisitos identificando modifica es Notifica o de interessados Em colabora o com o agente Comunicador notificar interessados sobre modifica o ocorrida Colaboradores Comunicador Figura 38 Responsabilidades e colabora es do agente Observador 4 3 4 10 Agente Rastreador 2 O agente Rastreador respons vel pela constru o de matrizes de rastreabilidade e pela verifica o destas matrizes com aquelas fornecidas pelo engenheiro de requisitos apontando as diverg ncias e apresentando a op o de tratar ou n o cada uma das diverg ncias apontadas A Figura 39 ilustra as principais responsabilidades e colabora es deste agente Agente Rastreador Responsabilidades Constru o de matriz de rastreabilidade para dependencias entre requisitos Em colabora o com o agente L xico identificar depend ncias entre requisitos funcionais e n o funcionais Gerar matriz de rastreabilidade RF x RNF Notifica o de interessados em colabora o com o agente Comunicador notificar interessados ap s constru o da matriz Colaboradores Comunicador Figura 39 Responsabilidades e colabora es do agente Rastreador 4 4 Uma vis o da implementa o A vis o de alto n vel da plataforma de suporte ao sistema apresen
121. cMap build List lt Requirement gt requirements LOGGER info Mapping Requirements try MMM 1 Cria Mapa Vazio MH THUMM LOGGER debug Make empty topic map TopicMapSystemFactory tSystemFactory TopicMapSystemFactory newInstance TopicMapSystem tSystem tSystemFactory newTopicMapS ystem TopicMap topicMap tSystem createTopicMap http www tmapi org examples exampletm TTT 2 Inicializa T picos B sicos MH TTT LOGGER debug Make basic topics Topic baseRequirementTopic topicMap createTopic Topic inverseRequirementTopic topicMap createTopic Topic functionalRequirementTopic topicMap createTopic Topic nonFunctionalRequirementTopic topicMap createTopic baseRequirementTopic createTopicName Requisito null baseRequirementTopic addSubjectIdentifier topicMap createLocator locator baseRequi rement inverseRequirementTopic addT ype baseRequirementTopic inverseRequirementTopic createTopicName Requisito Inverso null inverseRequirementTopic addSubjectIdentifier topicMap createLocator locator baseRe quirement inverseRequirement functionalRequirementTopic addType baseRequirementTopic functionalRequirementTopic createTopicName Requisito Funcional null functionalRequirementTopic addSubjectIdentifier topicMap createLocator locator base Requirement functionalRequirement nonFunctionalRequirementTopic addType baseRequirementTopic nonFunctionalRequirem
122. ca o atrav s da identifica o de termos n o inclu dos em dicion rios e b a identifica o de atores e de objetos manipulados no sistema atrav s de uma estrat gia baseada em sintagmas nominais Esta estrat gia tamb m til na reengenharia de sistemas possibilitando a obten o de informa es a partir de manuais de usu rio de documentos originais PUC Rio Certifica o Digital N 0210680 CA Proposta para An lise de Requisitos utilizando PLN 60 de requisitos ou de solicita es de altera o do sistema Detec o de discrep ncias erros e omiss es em requisitos utilizamos duas abordagens uma delas visando identifica o de duplicidades em requisitos e a outra visando indica o de requisitos n o funcionais ausentes do documento de requisitos A primeira abordagem est baseada em medidas de similaridade entre documentos e a segunda utiliza a metodologia de an lise de conte do A seguir cada um desses processos apresentado em detalhe a arquitetura de suporte a esta proposta incorpora os processos detalhados neste cap tulo e vai al m utilizando agentes pessoais e apoiando o trabalho dos participantes nas atividades de V amp V A arquitetura est detalhada no pr ximo cap tulo 3 1 Gera o de vis es dos requisitos Documentos de requisitos muitas vezes s o escritos em linguagem natural Ali est o registrados caracter sticas e propriedades importantes do sistema a ser desenvolvi
123. caracter sticas observ veis como termos e suas fregii ncias An lise de conte do especifica o mapeamento de x para y atrav s da constru o de um dicion rio de termos e express es o dicion rio define como um determinado conceito x expresso atrav s de termos e express es y An lise do discurso e an lise de conte do convergem na utiliza o de um conjunto de conceitos chamados de categorias pela an lise do discurso Esse conjunto de conceitos estruturado num dicion rio e a cada conceito associado um conjunto de termos ou express es a ele relacionados em alguma medida O processo de an lise de conte do baseado nesse conjunto de categorias e est estruturado em cinco etapas prepara o das informa es divis o do texto em unidades de an lise categoriza o das unidades descri o e interpreta o dos resultados Moraes99 A an lise de conte do propriamente dita tem in cio apenas depois que os objetivos da an lise est o claros e as categorias ou conceitos est o definidas Prepara o dos dados envolve defini o da amostra a ser utilizada para o processo de an lise considerando os objetivos propostos tamb m significa aplicar as transforma es necess rias que permitir o o trabalho com o texto Unitariza o implica em definir a unidade de an lise dividir o texto em unidades e identificar cada unidade uma unidade pode ser uma palavra uma express o idiom tica um termo uma frase ou
124. certezas copocifia o Figura 5 Impactos do desenvolvimento distribu do no Processo de Requisitos Damian03a Conforme pode ser verificado na Figura 5 atividades de verifica o e valida o s o diretamente atingidas pelos seguintes fatores diversidade cultural comunica o inadequada ger ncia do conhecimento e diferen as temporais A literatura sobre o tema apresenta in meros trabalhos investigativos do impacto da distribui o das atividades no processo de desenvolvimento e os resultados encontrados n o s o divergentes na sua ess ncia Carmel99 Par 99 Bianchi02 Herbsleb03 Prikladnicki04 Cherry04 Concluindo como resultado da literatura pesquisada e das informa es iniciais coletadas junto a empresas os principais desafios s o a comunica o e linguagem a linguagem natural normalmente utilizada Z para registrar os requisitos inerentemente amb gua e al m disso as PUC Rio Certifica o Digital N 0210680 CA Processo de Requisitos PLN e Agentes 34 b c d diferen as culturais podem levar a uma compreens o equivocada Conflitos entre requisitos colocados por diferentes interessados tamb m s o mais dif ceis de serem negociados a converg ncia de id ias comprometida Do nosso ponto de vista sem d vida o fato da l ngua utilizada para comunica o e documenta o n o ser a l ngua nativa de todos os envolvidos o fator de maior impacto dentre as diferen as
125. comunica o Ainda se o sistema a ser desenvolvido necessita de hardware e ou software especial o gerente deve se certificar que todas as equipes t m acesso aos recursos necess rios evitando que as atividades de desenvolvimento sofram interrup es 2 3 An lise de Requisitos import ncia das atividades de verifica o e valida o fato conhecido que o custo de descobrir e corrigir um defeito na fase de testes de software de 5 a 100 vezes maior que o custo de descobrir e corrigir o problema ainda no Processo de Requisitos Boehm76 Bohem01 Rosenberg98 Blackburn01 A corre o de um defeito identificado na fase de testes pode implicar em re trabalho nos artefatos gerados nas fases anteriores requisitos arquitetura projeto e implementa o Problemas decorrentes de atividades desenvolvidas ainda no processo de requisitos s o reportados tanto pela literatura acad mica como por empresas que atuam no mercado de desenvolvimento Ap s avaliar um bom conjunto de organiza es Capers Jones Jones96 afirma que o processo de requisitos deficiente em mais de 75 das empresas isto mostra que obter os requisitos corretos tamb m uma das mais dif ceis atividades de um projeto de software Um estudo envolvendo empresas europ ias de desenvolvimento de software registrou que mais de 50 delas identificou PUC Rio Certifica o Digital N 0210680 CA Processo de Requisitos PLN e Agentes 36 problemas na rea de
126. culturais Dos relatos obtidos junto s organiza es objeto da avalia o inicial do nosso estudo de caso mesmo quando utilizada a mesma l ngua podem ocorrer ambig idades caso do portugu s do Brasil e de Portugal fusos hor rios se adequadamente explorados os diferentes fusos hor rios das equipes podem levar a um bom aproveitamento do tempo caso do desenvolvimento follow the sun ou 24 hour Em oposi o se a localiza o geogr fica das equipes e as diferen as de hor rio n o possibilitarem coincid ncia parcial de turnos de trabalho encontros virtuais ser o poss veis apenas se uma das partes se dispuser a modificar seu hor rio de trabalho antecipando ou postergando hor rios de entrada ou de sa da do trabalho ou mesmo de intervalos Atividades do Processo de Requisitos que exigem negocia o ou comprometimento entre interessados s o diretamente impactadas pela diferen a de fusos hor rios fatores culturais e contextuais e distribui o do trabalho fatores culturais e contextuais est o associados confian a entre equipes Par 99 Audy04 Damian03 e impactam decis es gerenciais relacionadas distribui o do trabalho Confian a necess ria para manuten o do esp rito de equipe para troca efetiva de informa es entre integrantes de equipes distantes e para realizar a atribui o das tarefas Aspectos associados linguagem est o colocados no item a acima gerenciamento do conhecimento o volume de
127. da o As estrat gias propostas consideram tamb m aspectos pr prios do desenvolvimento distribu do de software com interessados desempenhando atividades em ambientes geograficamente separados A abordagem proposta est baseada em e uso de t cnicas de tratamento da linguagem natural para automa o parcial de atividades de verifica o e valida o e uso de agentes de software encapsulando ferramentas utilizadas no tratamento da linguagem natural como Web services e agentes de software sendo utilizados como agentes pessoais agindo de forma aut noma e apoiando atividades necess rias a verifica o e valida o de requisitos As contribui es desta tese s o oriundas de duas vertentes de trabalho i uso intensivo de t cnicas de processamento da linguagem natural para avalia o de documentos gerados ou manipulados no processo de requisitos e 11 uso de PUC Rio Certifica o Digital N 0210680 CA Conclus es 136 agentes de software e web services para possibilitar o reuso de ferramentas disponibilizadas pela comunidade de processamento da linguagem natural e tamb m para possibilitar que algumas a es necess rias ao processo de V amp V sejam realizadas de forma aut noma Com uso de t cnicas de processamento da linguagem natural criamos procedimentos para gera o de vis es de requisitos cria o ou atualiza o do l xico da aplica o e detec o de erros omiss es e discrep ncias no conjunto de r
128. da o de requisitos O uso de agentes de software como apoio s atividades do pr prio processo de desenvolvimento j foi abordado em diversos trabalhos A compara o com trabalhos relacionados ser feita de forma pontual efetuando compara es em diferentes aspectos do nosso trabalho Agrupamentos de requisitos na extensa pesquisa que fizemos encontramos poucos trabalhos abordando este t pico A proposta descrita em Hsia92 define incrementos apoiada na identifica o de tipos de dados abstratos e numa t cnica para agrupar requisitos que modifiquem ou utilizem um mesmo tipo abstrato de dados O objetivo da abordagem identificar requisitos que agrupados sejam alocados a um mesmo incremento a t cnica proposta para sistemas com nfase em manter a integridade dos dados por exemplo um sistema para automa o de bibliotecas Esta t cnica para agrupar requisitos exige que no momento do registro dos requisitos sejam definidos os tipos abstratos de dados que ir o ser utilizados trazendo para a fase de requisitos uma defini o que normalmente seria realizada numa etapa posterior do processo de desenvolvimento PUC Rio Certifica o Digital N 0210680 CA Conclus es 141 O trabalho pioneiro de Palmer e Liang Palmer92 sobre indexa o e agrupamento de requisitos defende a id ia que o agrupamento de requisitos agiliza a detec o de conflitos incompletude inconsist ncias e imprecis o internamente aos agrupamentos
129. da nas fases posteriores do processo de desenvolvimento como por exemplo para apoio s tarefas de aloca o de requisitos a componentes ou na defini o de casos de testes de aceita o do sistema pelos usu rios Agrupamentos de requisitos relacionados tamb m podem ser utilizados para apoiar a aloca o de requisitos a componentes ou mesmo a incrementos no caso de desenvolvimento incremental A constru o de vis es fundamentada na identifica o de grupos de requisitos relacionados entre si ou a uma determinada caracter stica do sistema O agrupamento est fundamentado no princ pio de que agrupamentos de requisitos relacionados a uma determinada caracter stica do sistema facilitam a identifica o de erros relacionados a conflitos inconsist ncias incompletude e ambigiiidade em documentos de requisitos conforme proposto por Palmer e Liang Palmer92 Desta forma a determina o autom tica de agrupamentos de requisitos associados a caracter sticas comuns ap ia a verifica o e a valida o pois permite focalizar PUC Rio Certifica o Digital N 0210680 CA Proposta para An lise de Requisitos utilizando PLN 62 em conjuntos menores e possivelmente menos complexos de requisitos 3 1 1 Categoriza o de requisitos e gera o de vis es A ind stria costuma utilizar documentos de requisitos escritos em linguagem natural e um dos modelos mais comuns o que utiliza senten as numeradas e algumas vezes classi
130. dade automatizada a descoberta de requisitos candidatos duplicidade pode ser feita rapidamente Alguns modelos de registro de requisitos como casos de uso s o mais voltados especifica o de funcionalidades do sistema Organiza es que usem um modelo de especifica o de requisitos baseadas em casos de uso costumam registrar requisitos n o funcionais numa especifica o de requisitos suplementares Mesmo com diversos cat logos de requisitos n o funcionais dispon veis para uso a pr tica mostra que o registro dos requisitos n o funcionais n o tarefa adequadamente atendida em muitas organiza es de desenvolvimento de software Nossa proposta para identifica o de duplicidade em requisitos e de identifica o de omiss es em requisitos n o funcionais est descrita a seguir PUC Rio Certifica o Digital N 0210680 CA Proposta para An lise de Requisitos utilizando PLN 83 3 3 1 Duplicidade em requisitos A identifica o de duplicidade nos requisitos aplicada nos agrupamentos de requisitos e est baseada em medidas de similaridade Entre medidas de similaridade aplic veis a documentos optamos por utilizar os coeficientes do coseno Jaccard e Dice para identificar requisitos candidatos verifica o de duplicidade A abordagem utilizada neste processo para representa o dos documentos a conhecida por bag of words e a estrutura do processo para identifica o de requisitos similares apre
131. de e testabilidade e tamb m quanto viabilidade de sua implementa o A Figura 3 adaptada de Sommerville04 apresenta esquematicamente estas fases Elicita o e an lise de requisitos Especifica o de requisitos Valida o de requisitos Estudo de viabilidade Relat rio de viabilidade Modelos do sistema Requisitos do sistema e dos usu rios Documento de requisitos Figura 3 Processo de Requisitos Sommerville04 Ao longo do Processo de Requisitos e mesmo durante o processo de desenvolvimento do software n o incomum que os requisitos j definidos sofram altera es devido a diferentes motivos como por exemplo mudan as no contexto onde o software est inserido novas expectativas por parte dos clientes usu rios negocia o entre clientes e desenvolvedores etc Tanto a proposta de Leite quanto a de Kotonya e Sommerville consideram e acomodam a inevitabilidade dessas mudan as A Figura 4 adaptada de Sommerville04 mostra um modelo gen rico para as etapas que envolvem elicita o classifica o e organiza o dos requisitos prioriza o e negocia o e a documenta o dos PUC Rio Certifica o Digital N 0210680 CA Processo de Requisitos PLN e Agentes 31 requisitos Como um modelo geral ele pode ser instanciado a cada processo de desenvolvimento a espiral mostra que estas atividades s o c clicas e a cada execu o do ciclo deve aumentar a com
132. des aut nomas colaborando e apoiando atividades de verifica o e valida o de requisitos A adequa o do paradigma de agentes para modelagem das funcionalidades providas neste trabalho demonstrada atrav s de um prot tipo O prot tipo criado possibilita a oferta dessas funcionalidades em uma intranet ou na web Isto ap ia o reuso de funcionalidades disponibilizadas via servi os web e agiliza a constru o de solu es para problemas mais complexos atrav s da composi o de servi os A notifica o autom tica dos interessados na ocorr ncia de determinados eventos pelo agente de comunica o poder ainda levar diminui o dos problemas de coordena o e comunica o entre participantes do processo de requisitos em ambientes distribu dos de desenvolvimento Uma das linhas de trabalho que aplica t cnicas de PLN a artefatos de requisitos utiliza um sub conjunto controlado da linguagem natural com o PUC Rio Certifica o Digital N 0210680 CA Introdu o 26 objetivo de reduzir a ambigiiidade nos requisitos Diferentemente dessa linha ressaltamos que a abordagem proposta trabalha com artefatos de requisitos escritos na l ngua portuguesa sem quaisquer limita es ou restri es a n vel de estruturas gramaticais ou vocabul rio utilizados Nossa abordagem tamb m permite a utiliza o de requisitos expressos de diferentes formas como senten as de requisitos casos de uso ou est rias do usu rio 1 4 V
133. des e colabora es do agente Analisador L xico Estat stico 4 3 4 3 Agente Construtor do L xico LexicalConstructor O agente Construtor do L xico respons vel pela manuten o do l xico da aplica o visando atualiza o da base de conhecimentos para o dom nio da organiza o A Figura 32 ilustra as principais responsabilidades e colabora es deste agente Agente Colaboradores Construtor do L xico Responsabilidades Analisador L xico Criar ou atualizar o l xico da aplica o Identificar termos n o dicionarizados identificar atores e recursos via an lise do documento de requisitos e extra o de sintagmas nominais relevantes em intera o com o agente L xico buscar contextos para cada um dos terrmos n o dicionarizados Figura 32 Responsabilidades e colabora es do agente Construtor do L xico PUC Rio Certifica o Digital N 0210680 CA Proposta de uma Arquitetura de Agentes 102 4 3 4 4 Agente Gerador de Vis es Mapper 2 O agente Gerador de Vis es respons vel pelo enriquecimento de uma taxonomia b sica fornecida pelos usu rios categorizar os requisitos tendo por refer ncia esta mesma taxonomia e gerar vis es textuais e gr ficas dos agrupamentos obtidos A Figura 33 ilustra as principais responsabilidades e colabora es deste agente Agente Colaboradores Gerador de Vis es Analisador Responsabilidades L
134. din micas oferecidas por estas ferramentas A visualiza o dos agrupamentos por si s j uma caracter stica importante para a PUC Rio Certifica o Digital N 0210680 CA Proposta para An lise de Requisitos utilizando PLN 73 compreens o das interdepend ncias entre requisitos Baniassad04 Gruenbacher01 mas o uso destas ferramentas possibilita tamb m a navega o entre requisitos relacionados Esta ltima caracter stica foi apontada como necess ria Dag01 pois possibilita uma forma visual e gil para a percep o das interdepend ncias entre requisitos Exemplo de um mapa de t picos identificando um conjunto de requisitos associado ao tema pagamento pode ser visualizado na Figura 20 RFO39 Manter Q Pagamentos RF191 Efectuar pagamento Q em dinheiro Opagamento PRE cos RF121 Confirmar compra o de viagem RF040 Efectuar Ac o Sobre Q Pagamento Figura 20 Mapa visual mostrando requisitos relacionados ao tema pagamento 3 2 Constru o do l xico da aplica o Atividades de apoio constru o ou atualiza o do Universo de Informa es s o baseadas na identifica o de palavras ou express es pr prias do dom nio da aplica o Nosso desafio est relacionado identifica o de s mbolos que ir o compor o l xico da aplica o e contribuir para a constru o do vocabul rio do dom nio da organiza o Processos de desenvolvimento de software como por exemplo o RUP Rationa
135. do bem como necessidades e expectativas dos usu rios O processo de an lise de requisitos Leite94 inclui atividades de verifica o e valida o Muitas t cnicas foram propostas e est o em uso corrente na ind stria para atividades de V amp V em documentos de requisitos Fagan86 Leite91 Davis93 Porter95 Wilson97 Shull00 No entanto aspectos tais como competitividade e novos paradigmas para o processo de desenvolvimento de software t m gerado maior press o pela diminui o dos prazos para estas atividades Pesquisadores tanto na academia quanto na ind stria t m buscado t cnicas e ferramentas que possibilitem agilizar o processo de desenvolvimento sem perda da qualidade do produto gerado Para sistemas com grande n mero de requisitos as atividades de V amp V s o dif ceis de realizar devido ao volume de informa es a verificar ou validar Verifica o da incompletude por exemplo uma tarefa rdua se o conjunto de requisitos a avaliar da ordem de centenas ou mesmo milhares de requisitos Se conseguirmos trabalhar com grupos menores a complexidade destas tarefas tende a diminuir Requisitos n o podem ser agrupados ao acaso precisamos de uma estrat gia que nos auxilie a encontrar conjuntos de requisitos que realmente contenham caracter sticas comuns PUC Rio Certifica o Digital N 0210680 CA Proposta para An lise de Requisitos utilizando PLN 61 Agrupamentos de requisitos com caracter sticas simila
136. dos se faz mais presente em ambientes distribu dos de desenvolvimento nos quais problemas de comunica o gerados por diferen as culturais fusos hor rios e mesmo diferentes compet ncias ling sticas podem dificultar a realiza o de atividades do processo de requisitos O l xico uma ferramenta extremamente necess ria para evitar ambigiidades dos termos pr prios ao dom nio da aplica o considerando os problemas que poderiam decorrer de uma interpreta o equivocada dos requisitos A identifica o de atores e recursos para comporem o l xico da aplica o est fundamentada extra o de sintagmas nominais do texto de documentos gerados ou manipulados pelo processo de requisitos A estrat gia proposta baseada na utiliza o de um POS tagger que identifica as classes gramaticais das palavras do texto e na extra o de sintagmas nominais que atendem a um conjunto de padr es pr definidos Os padr es utilizados para a identifica o de atores basearam se na premissa que atores s o entidades ativas e que em documentos t cnicos podem ser referidos por profiss es ou pap is que desempenham Os padr es foram definidos tendo por base um conjunto de termina es da l ngua portuguesa termina es essas que referenciam fun es ou profiss es Ap s um conjunto de experimentos PUC Rio Certifica o Digital N 0210680 CA Conclus es 138 identificamos um total de 82 padr es que remetem a substantivos componen
137. ds I public static FrequencyMap frequencyMap ThemeExcerpts themeExcerpts List lt Requirement gt requirements LOGGER info Calculando mapa de frequ ncia Saidas int corpusCount 0 IN int tokenFrequency 0 PUC Rio Certifica o Digital N 0210680 CA 186 f n Map lt String Integer gt nodesOcurrenceMap new HashMap lt String Integer gt Ho Map lt String Integer gt nodesCoOcurrenceMap new HashMap lt String Integer gt f n c Map lt String List lt String gt gt requirementOcurrenceMap new HashMap lt String List lt String gt gt I Calcula f n e f n c MH tokenFrequency themeExcerpts getAllExcerpts size for String code themeExcerpts getRequirementCodes LOGGER debug Requisito code 1 CO OCURRENCE Map lt String Integer gt reqNodesCoOcurrenceMap new HashMap lt String Integer gt f n c for String excerpt themeExcerpts getExcerpts code String tokens excerpt split Map lt String Boolean gt goneTokens new HashMap lt String Boolean gt for int i 0 i lt tokens length i String token cleanToken tokens i if isTokenValid token true amp amp token equals themeExcerpts getTheme if reqNodesCoOcurrenceMap containsKey token if goneTokens containsKey token reqNodesCoOcurrenceMap put token reqNodesCoOcurrenceMap get token 1 goneTokens put token true else
138. e requisitos simplesmente fornecendo um termo ou express o relacionada ao seu trabalho Desta forma ele pode criar agrupamentos de acordo com seu interesse ou perfil de atua o profissional e avaliar tais agrupamentos em rela o a PUC Rio Certifica o Digital N 0210680 CA Conclus es 137 caracter sticas como completude por exemplo O objetivo na cria o dos agrupamentos apoiar atividades de V amp V mas tais agrupamentos tamb m podem ser utilizados para por exemplo definir aloca o de requisitos a componentes de software ou mesmo atribuir agrupamentos a incrementos de software no caso de se utilizar o desenvolvimento incremental de software A cria o ou atualiza o autom tica do l xico da aplica o se o 3 2 est baseada na identifica o de termos n o dicionarizados e na identifica o de atores e recursos referidos nos documentos A identifica o de termos n o dicionarizados baseia se na premissa que termos ausentes de dicion rios usuais da l ngua fazem refer ncia a termos pr prios do dom nio da aplica o ou da pr pria rea de sistemas de informa o Tais termos por possibilitarem diferentes interpreta es devem constar do l xico da aplica o Esta estrat gia pode ser utilizada tamb m para apoiar a cria o de um l xico para a organiza o se aplicada a conjuntos de documentos relacionados aos neg cios da organiza o A necessidade de l xicos abrangentes e contextualiza
139. e de conte do na pr tica envolve o desenvolvimento de categorias anal ticas que permitem verificar em que medida tais categorias est o ou n o presentes no texto ou conjunto de textos analisado An lise de conte do pode ser caracterizada como sendo objetiva sistem tica e quantitativa Ela objetiva na defini o precisa das categorias de forma que diferentes investigadores possam aplic las e obter resultados equivalentes sistem tica na utiliza o de regras claras e bem definidas para a inclus o ou exclus o de categorias e quantitativa no sentido de gerar resultados trat veis por t cnicas estat sticas Hardy04 An lise do discurso e an lise de conte do de alguma forma avaliam tamb m o contexto onde se insere o texto ou documento mesmo que isso seja apenas presente na escolha dos termos utilizados para registro das categorias escolhidas M todos de an lise de conte do s o baseados em dicion rios e classificados como modelos de vari veis latentes PUC Rio Certifica o Digital N 0210680 CA Processo de Requisitos PLN e Agentes 54 Em tais modelos vari veis n o observ veis diretamente que chamaremos de x originam efeitos observ veis que chamaremos de y O processo de infer ncia num modelo de vari veis latentes implica na avalia o da presen a de x quando um particular y observado Podemos associar a vari vel x a um conceito que se deseja avaliar se est ou n o presente no documento e y s
140. ecu o String text Converter inhaleHtml file htmlFile getAbsolutePath dumpText txtFile text catch SAXException e throw new ServiceException Unable to read html file htmlFile getA bsolutePath e catch IOException e throw new ServiceException Unable to write text file txtFile getAbsolutePath e Methods public static List lt Requirement gt extractRequirements File fullFile LOGGER info Extracting Requirements String line try LOGGER debug Opening read and write buffers String fullFilePath fullFile getA bsolutePath replaceAll fullFile getName files File fullFilePathFile new File fullFilePath PUC Rio Certifica o Digital N 0210680 CA title contains RNF 173 fullFilePathFile mkdir BufferedReader br new BufferedReader new FileReader fullFile Requirement requirement null List lt Requirement gt requirementList new ArrayList lt Requirement gt boolean firstLine true boolean writing false L uma Linha while line br readLine null line line trim SE vazia if line equals Il firstLine Pega o prov vel t tulo do pr ximo arquivo String title if firstLine title line firstLine false title br readLine SE um t tulo if ltitle equals amp amp title contains RF Il Remove qualquer lixo
141. ed San Diego Academic Press 2000 364 p Message01 MESSAGE Methodology for Engineering Systems of Software Agents Final guidelines for the relevant problems areas where agent technology is appropriate EURESCOM Participants in Project P907 GI 2001 Moraes99 Moraes R An lise de Conte do In Revista Educa o Porto Alegre vol 22 n 37 mar o 1999 pp 7 32 Orengo01 Orengo V amp Huyck C A stemming algorithm for the Portuguese language In Proceedings of the 8th International Symposium on String Processing and Information Retrieva 1 SPIRE 2001 pp 186 193 Overainder04 Overeinder B J Brazier F Scalable Middleware Environment for Agent Based Internet Applications Data Knowledge Engineering 41 2 3 229 245 2004 Elsevier Science Publishers Amsterdam The Netherlands 2004 Ozkaya06 Ozkaya I Representing Requirements Relationships In Fisrt International Workshop on Requirements Engineering Visualization REV 06 Proceedings Palmer92 Palmer J D amp Liang Y Indexing and Clustering of Software Requirements Specifications In Information and Decision Technologies vol 18 n 4 pp 283 299 Par 99 Par G amp Dub L Virtual Teams An Exploratory Study of Key Challenges and Strategies In 20th International Conference on Information Systems dez 1999 Charlotte North Carolina United States Proceedings pp 479 483 Park00 Park S Kim H Ko Y amp Seo J
142. eite95 servi os de autentica o para valida o dos usu rios aptos a utilizar o sistema gera o de relat rios para impress o de relat rios e de artefatos armazenados no sistema interface com usu rios para possibilitar f cil intera o entre usu rios e sistema Nossa argumenta o e justificativa pela adequa o do paradigma de agentes s atividades do processo de requisitos num contexto de desenvolvimento distribu do detalhada no cap tulo 4 Nossa argumenta o considera que o PUC Rio Certifica o Digital N 0210680 CA Introdu o 24 paradigma de agentes vem sendo apresentado com sucesso como alternativa para a modelagem e implementa o de sistemas complexos e distribu dos dado que i agentes aut nomos podem atingir seus objetivos mesmo em ambientes din micos ii s o capazes de intera es em alto n vel e iii conseguem operar em estruturas organizacionais flex veis Jennings00 1 3 Contribui es deste trabalho 2 A contribui o fundamental desta tese a cria o de um conjunto de procedimentos t cnicas e ferramentas para apoio s atividades de verifica o e valida o de requisitos Parte destes processos fundamenta se em estrat gias de processamento automatizado da linguagem natural dado que artefatos do processo de requisitos costumam ser modelados com uso da linguagem natural Agentes de software implementam servi os que automatizam parcialmente os process
143. em opera es de RI causa o retorno de todos os documentos da cole o que contenham o termo objeto da consulta O uso da medida boolean implica em considerar que todos os documentos que contenham o termo s o igualmente relevantes Na medida tf o valor do peso a pr pria freqii ncia do termo no PUC Rio Certifica o Digital N 0210680 CA Processo de Requisitos PLN e Agentes 43 documento Em opera es de RI isto torna vi vel classificar os documentos obtidos em resposta a uma dada consulta colocando no topo da lista aqueles que se acredita melhor respondam consulta realizada A medida ffidf apresentada na equa o 1 calculada ponderando a freqii ncia do termo por um fator que minimiza o peso de termos presentes em grande parte dos documentos pois tais termos n o s o considerados discriminantes Termos menos frequentes ou raros ter o um fator de pondera o maior Esta medida bastante utilizada em processos de MT n tfidf t d freg t d xlog 1 J J dlt Nesta f rmula freq t di representa a frequ ncia do termo j no documento i n representa a quantidade de documentos da cole o e d t representa a quantidade de documentos que cont m o termo t Termos que estejam presentes em todos os documentos ter o peso nulo pois log 1 vale zero o uso da fun o log evita que um termo que apare a em apenas um documento tenha peso duas vezes maior que outro termo que esteja presente em dois documen
144. entTopic createTopicName Requisito N o Funcional null nonFunctionalRequirementTopic addSubjectIdentifier topicMap createLocator locator baseRequirement nonfunctionalRequirement Topic textOccurrenceTopic topicMap createTopic textOccurrenceTopic createTopicName Texto null PUC Rio Certifica o Digital N 0210680 CA 194 textOccurrenceTopic addSubjectIdentifier topicMap createLocator locator baseRequire ment textOcurrence MH requirementName null TTT 3 Cria t picos dos requisitos PR LOGGER debug Make extracted requirements topics PARA cada arquivo for Requirement requirement requirements String requirementId requirement getCode String requirementName requirement getTitle Cria o t pico Topic classTopic Topic requirementTopic topicMap createTopic if requirementId starts With RF classTopic functionalRequirementTopic else if requirementld startsWith RNF classTopic nonFunctionalRequirementTopic else if requirementId startsWith RI classTopic inverseRequirementTopic else TIPO N O IDENTIFICADO continue requirementTopic addType classTopic requirementTopic createTopicName requirementId requirementTopic addSubjectIdentifier topicMap createLocator locator baseRequireme nt requirementld requirementTopic createOccurrence requirement getText textOccurrenceTopic null H LOGGER debug
145. enta o PUC Rio Certifica o Digital N 0210680 CA Estudos de Caso 133 dos usu rios do sistema e s o estruturados em conjuntos de funcionalidades relacionadas Utilizamos parte desses documentos num total de quatro documentos e cinco mil quatrocentos e sessenta e uma palavras Os documentos est o dispon veis para acesso p blico no endere o http www bcb gov br htms spb Os documentos seguem uma estrutura padr o para o sistema SELIC o total de palavras da por o de documentos avaliados 5 461 A Tabela 26 apresenta resultados parciais obtidos ap s a aplica o do processo proposto Tabela 26 S mbolos do tipo sujeito e objeto para o sistema Selic Sujeito Padr o Freq Objeto Padr o Freq cedente N ente 17 opera o compromissada N PART 35 clientes N entes 17 retorno de opera o N PRP N 17 cessionario N rio 15 conta reservas N N 16 correspondente N ente 10 pu de retorno N PRP N 16 institui o financeira N ADJ 9 n mero de opera o N PRP N 10 usu rio NY rio 9 reservas banc rias N N 10 cedente da opera o N ente CPR N 6 situa o da opera o N CPR N 9 cession rio da opera o N rio CPR N 6 conta da institui o N CPR N vi destinat rio N ario 6 opera o 1054 s N N 7 emissor N or 6 pu da opera o N CPR N 7 institui o liquidante N o N 6 endere o eletr nico N ADJ 6 Contextos para o s
146. ente para controlar a ocorr ncia de modifica es em requisitos e propagar essa informa o aos demais agentes da plataforma Este aspecto seria mais bem atendido com a incorpora o de um controlador de vers es de forma que cada um dos sites distribu dos pudesse manter um reposit rio pr prio dos artefatos e documentos sendo manipulados Isto exigiria um esfor o maior para manter a consist ncia entre reposit rios o que poderia ser obtido atrav s de um agente local ao site que ou executaria de forma aut noma opera es de check in ap s um determinado prazo ou notificaria o humano respons vel pela modifica o local da inconsist ncia detectada PUC Rio Certifica o Digital N 0210680 CA Conclus es 146 Rastreabilidade entre requisitos funcionais e requisitos n o funcionais uma vez definidas as express es utilizadas no registro de RNF s poss vel criar automaticamente a matriz de rastreabilidade entre requisitos funcionais e n o funcionais Este um trabalho futuro facilmente implement vel L xico da aplica o extender a estrat gia de constru o ou atualiza o do l xico para s mbolos do tipo verbo e estado n o abarcados nesta proposta e realizar experimentos visando verificar a adequa o da estrat gia criada para constru o de um l xico para a organiza o utilizando diferentes tipos de documentos Valida o de requisitos o apoio oferecido s atividades de valida o limitado ger
147. entes Logger addEntry className Notifying Users of SimilarityTests on 4 documentName true private void sendPreVerification String documentName RequirementDocumentDao rdao RequirementDocumentDao AgentServer get ApplicationContext getBean requirementDocume PUC Rio Certifica o Digital N 0210680 CA 165 ntDao List lt VerifyValidateProccess gt vvproccessList rdao getVerifyValidateProccessB yDocumentName documentName VerifyValidateProccess vvproccess vvproccessList get vvproccessList size 1 Set lt User gt users vvproccess getUsers for User user users try Email EnviaEmail user getEmail Rq NET Notifica o sobre o Documento vvproccess getRequirementDocument getName Pr Verifica o Caro user getUsername n n O documento vvproccess getRequirementDocument getName foi agendado para um processo de verifica o Ann O dia marcado para o inicio do processo formatter format vvproccess getPreV erification getDeadline at o documento se encontra no est gio de Pr Verifica o Testes de similaridade ser o rodados e enviados por email assim que conclu dos Ann catch AddressException e TODO Auto generated catch block e printStackTrace catch MessagingException e TODO Auto generated catch block e printStackTrace catch Exception e TODO Auto generated catch block e printStackTrace
148. entes usu rios e engenheiros de requisitos Nesse caso as dificuldades inerentes aos processos de verifica o e valida o ser o amplificadas devido s dificuldades de comunica o e diferen as culturais j relatadas A automa o parcial de atividades associadas aos processos de verifica o e valida o contribuir para a descoberta de defeitos ainda no processo de requisitos o que acreditamos melhorar a qualidade do documento de requisitos e diminuir o re trabalho decorrente da descoberta tardia de defeitos 2 4 Verifica o e Valida o uso de PLN e Agentes de Software T cnicas de processamento da linguagem natural t m sido aplicadas a documentos de requisitos com diferentes objetivos melhoria da qualidade dos PUC Rio Certifica o Digital N 0210680 CA Processo de Requisitos PLN e Agentes 37 requisitos agrupamento de requisitos relacionados identifica o de abstra es identifica o de entidades relevantes Por outro lado agentes tem sido utilizados em diversas reas do conhecimento e tamb m no contexto de desenvolvimento distribu do de software Apresentaremos alguns desses trabalhos de forma breve dado que eles s o relacionados ao trabalho desenvolvido nesta tese Um trabalho pioneiro na avalia o da qualidade de documentos de requisitos escritos em linguagem natural foi desenvolvido pelo Software Assurance Technology Center SATC do Goddard Space Flight Center GSFC NASA Hamme
149. entifica o de sujeitos e objetos 3 3 Detec o de discrep ncias erros e omiss es em requisitos 3 3 1 Duplicidade em requisitos 18 24 26 27 27 32 35 36 38 39 41 45 48 51 52 55 57 58 59 60 62 66 69 70 73 75 77 82 83 PUC Rio Certifica o Digital N 0210680 CA 3 3 2 Omiss es em requisitos 4 Proposta de uma Arquitetura de Agentes 4 1 Adequa o de Web services e agentes 4 2 Plataforma utilizada MIDAS 4 3 Aplica o caracter sticas agentes e modelos de pap is 4 3 1 Perfil de usu rios 4 3 2 Uso do blackboard 4 3 3 Reposit rio de artefatos e de informa es sobre projetos 4 3 4 Agentes modelo de pap is 4 4 Uma vis o da implementa o 4 4 1 Estrutura da aplica o multi agente 4 5 Interface com o usu rio processos abordados 4 6 Algumas considera es sobre a aplica o 5 Estudos de caso 5 1 Estudo de caso documento Exit 5 1 1 Gera o de vis es 5 1 2 Constru o do l xico da aplica o 5 1 3 Detec o de discrep ncias erros e omiss es em requisitos 5 2 Estudo de caso documento Escalas 5 2 1 Constru o do l xico da aplica o termos ou express es n o dicionarizadas 5 2 2 Constru o do l xico da aplica o extra o de sujeitos e objetos 5 2 3 Omiss es em requisitos an lise de conte do para RNF s 5 3 Estudo de caso documentos E commerce entrega e E commerce vendas 5 4 Estudo de caso documento Selic 5 5 Avalia
150. ento de requisitos 5 2 Estudo de caso documento Escalas Este documento denominado de Escalas um documento preliminar de requisitos para uma aplica o na rea de gerenciamento de recursos humanos especificamente para gest o de escalas de trabalho O documento segue padr es internos organiza o modelando requisitos com casos de uso e especifica es suplementares O total de casos de uso neste documento de sessenta com cinco especifica es suplementares estas relacionadas a caracter sticas como documenta o treinamento e usabilidade O documento est escrito na l ngua portuguesa apresentando diversos termos na variante de Portugal por exemplo os termos usu rio e utilizador s o usados indiscriminadamente para fazer refer ncia aos usu rios do sistema O total de palavras neste segundo documento de seis mil seiscentos e sessenta e cinco palavras Documento cedido pela Tlantic Sistemas de Informa o 5 2 1 Constru o do l xico da aplica o termos ou express es n o dicionarizadas A Tabela 23 apresenta as express es n o dicionarizadas detectadas pelo processo definido no cap tulo 3 se o 3 2 1 Tabela 23 Express es n o dicionarizadas termo freq termo freq Sap 22 seebeyond 2 Dw 19 buffer 1 Log 10 checklist 1 Job 7 datawarehouse 1 Batch 4 eai 1 Login 4 logs 1 Dop 2 shell 1 help desk 2 sos 1 Retek 2 tng 1 sapxdw 2 urps 1
151. entos retornando medidas de similaridade ndices de similaridade de Dice Jaccard e cos seno entre eles gerar matriz de similaridades e extrair pares de requisitos cujo ndice seja maior que o limiar definido Identificar omiss es em RNF s utilizando uma taxonomia de requisitos n o funcionais instanciada para a organiza o identificar omiss es e gerar relat rio com an lise dos requisitos emr ela o a omiss es e inconsist ncias detectadas Enviar mensagens notificar interessados via agente Comunicador dos resultados obtidos nas atividades de pr verifica o Figura 35 Responsabilidades e colabora es do agente Verificador 4 3 4 7 Agente Validador O agente Validador respons vel pela coleta e distribui o dos artefatos para a valida o envio de notifica o aos envolvidos e consolida o parcial do relat rio A Figura 36 ilustra as principais responsabilidades e colabora es deste agente PUC Rio Certifica o Digital N 0210680 CA Proposta de uma Arquitetura de Agentes 104 Agente Colaboradores Validador Analisador Responsabilidades L xico Gerador de Organiza o da valida o utilizar termos fornecidos pelos usu rios que correspondem ao n vel mais alto da taxonomia em intera o com o agente L xico identificar coloca es e obter padr es l xicos que ir o compor o segundo n vel da taxonomia Gerar vis es gera
152. equisitos Com agentes de software desenvolvemos uma estrat gia para uso de agentes pessoais dos participantes do processo de requisitos permitindo que ajam de forma aut noma em nome do ator humano que representam A estrutura criada possibilita tamb m que mudan as em requisitos sejam detectadas pelos agentes participantes da plataforma que podem ent o tomar decis es ou notificar o ator a quem est o associados 6 1 1 Estrat gias com uso de t cnicas de processamento da linguagem natural A gera o de vis es de requisitos se o 3 1 est intimamente relacionada ao agrupamento de requisitos Utilizando uma estrat gia para extra o de termos relevantes do pr prio documento de requisitos uma taxonomia em dois n veis criada e utilizada para categorizar os requisitos gerando agrupamentos onde os elementos possuem caracter sticas comuns A cria o da taxonomia semi autom tica e est baseada em t cnicas de extra o de terminologia e na identifica o de coloca es Vis es textuais e gr ficas dos requisitos s o geradas a partir dos agrupamentos possibilitando aos participantes das atividades de V amp V o trabalho sobre grupos menores e possivelmente menos complexos de requisitos Para a gera o de vis es gr ficas utilizamos mapas de t picos o que permite aos usu rios a navega o e r pida percep o de relacionamentos entre requisitos Tamb m possibilitamos que os usu rios solicitem agrupamentos d
153. er processados pela pr xima etapa que trata da extra o de contextos 3 2 1 3 Buscar no o e impactos A busca de contexto trabalha com cada um dos s mbolos selecionados varrendo os requisitos e buscando identificar a presen a do termo Este processo utiliza um concordanceador ligeiramente modificado para extrair n o apenas uma sub senten a que contenha o termo mas extrai o par grafo completo O par grafo extra do pode corresponder defini o ou a impactos desse termo no contexto da aplica o Os par grafos extra dos ser o agrupados junto ao s mbolo candidato e utilizados posteriormente pelo engenheiro de requisitos para inser o no l xico da aplica o 3 2 2 Identifica o de sujeitos e objetos Sintagmas nominais s o definidos como a classe gramatical com comportamento sint tico de sujeito de objeto direto e se precedido de preposi o de adjunto adnominal ou de objeto indireto Perini98 Vieira01 b enunciado que representa um conceito ou uma entidade abstrata ou concreta identificada por nomes pr prios ou sintagmas nominais descritivos pode ainda representar um papel Liberato97 No contexto da engenharia de software Booch et al Booch00 afirmam que um ator representa um papel que um ser humano um dispositivo de hardware ou mesmo um outro sistema desempenha Booch00 ele o sujeito da a o Em documentos t cnicos atores s o registrados atrav s de identificadores que incluem
154. ersidade Federal do Rio Grande do Sul UFRGS em 1986 Atua como docente na Pontif cia Universidade Cat lica do Rio Grande do Sul na Faculdade de Inform tica Ficha Catalogr fica Say o Miriam Verifica o e valida o em requisitos processamento da linguagem natural e agentes Miriam Say o orientador Julio C sar Sampaio do Prado Leite 2007 205 f il 30 cm Tese Doutorado em Inform tica Pontif cia Universidade Cat lica do Rio de Janeiro Rio de Janeiro 2007 Inclui bibliografia 1 Inform tica Teses 2 An lise de Requisitos 3 Gera o de vis es de requisitos 4 Agrupamento de requisitos 5 Verifica o e Valida o em requisitos 6 Omiss es em requisitos n o funcionais 7 Processamento da linguagem natural em requisitos 8 Agentes e gerenciamento de requisitos Leite Julio C sar Sampaio do Prado Il Pontif cia Universidade Cat lica do Rio de Janeiro Departamento de Inform tica Ill Titulo CDD 004 PUC Rio Certifica o Digital N 0210680 CA Dedico aos meus pais Antonio Rachid Say o e Iracema Fischer Sacconi Say o pelos ensinamentos da vida PUC Rio Certifica o Digital N 0210680 CA Agradecimentos Agrade o a todos os amigos que colaboraram de alguma forma nesta tese S o muitos alguns at colaboraram sem nem mesmo saber que o faziam A Julio C sar S P Leite meu orientador cujos questionamentos e revis es colaborar
155. ervar Produto Pacote de F rias Requisito respons vel por realizar a reserva de produtos de avia o junto aos sistemas externos que prov m este servi o O requisito ir utilizar outros casos de uso para realizar a pesquisa como por exemplo o requisito RF139 Reservar Produto no Mundo Vip A Tabela 22 apresenta medidas de avalia o para os resultados obtidos com a aplica o das medidas de similaridade para identifica o de duplicidade em requisitos Tabela 22 Valores de recall e precision para duplicidade ecl exit Recall 100 precision 72 PUC Rio Certifica o Digital N 0210680 CA Estudos de Caso 124 5 1 3 2 Omissoes em requisitos Para identificar omiss es em documentos de requisitos inicialmente trabalhamos na constru o do dicion rio de RNF s e para esta tarefa utilizamos o conjunto de documentos identificados por Exit Escalas E commerce vendas e E commerce entrega Parte destes registra os requisitos em forma de senten as parte utiliza o modelo de casos de uso todos estes documentos s o oriundos da mesma organiza o Buscamos identificar de forma semi automatizada termos e express es caracter sticos de requisitos n o funcionais Geramos a matriz termo documento para identificar termos comuns ao conjunto de documentos e esta foi analisada manualmente para a extra o de termos caracter sticos a requisitos n o funcionais Estes termos foram inserido
156. erviceException public void boardChanged Message msg PUC Rio Certifica o Digital N 0210680 CA 198 Agente Validador validator java package requisitos agents import java util List import java util Map import org midas as agent board Board import org midas as agent board Message import org midas as agent board MessageListener import org midas as agent templates A gent import org midas as agent templates LifeCycleException import org midas as agent templates ServiceException public class Validator extends Agent implements MessageListener Override protected void lifeCycle throws LifeCycleException InterruptedException Se registra no BlackBoard Board addMessageListener Validator this Override public void provide String service Map lt String Object gt in List lt Object gt out throws ServiceException public void boardChanged Message msg Agente Verificador verifier java package requisitos agents import java io BufferedReader import java io Buffered Writer import java io File import java io File Writer import java io IOException import java io InputStream import java io InputStreamReader import java text DecimalFormat import java util Collections import java util List import java util Map import java util ResourceBundle import java util Set import javax mail MessagingException import javax mail internet Addr
157. especifica o de requisitos El Emam00 Defeitos em requisitos isoladamente a falha com maior fregii ncia em projetos de software erros em requisitos s o respons veis por uma taxa de 70 a 85 do custo do re trabalho Lefingwell97 Bohem01 Estudos relativamente recentes indicam que aproximadamente 50 das falhas detectadas na fase de testes s o causadas por defeitos em requisitos Blackburn01 e que a corre o dessas falhas implica em re trabalho muitas vezes evit vel Detectar e corrigir problemas ainda na fase de requisitos portanto uma medida fundamental para contribuir para a conclus o do software dentro dos custos e cronogramas previstos Em rela o import ncia da valida o lembramos que o Chaos Report 2004 do Standish Group Standish04 envolvendo 9 236 projetos de software mostra que mesmo entre os projetos que foram conclu dos no prazo e dentro do or amento previsto apenas 66 atenderam a todas as caracter sticas solicitadas pelos clientes Isto reafirma a relev ncia do envolvimento de clientes e usu rios no processo de valida o dos requisitos para que o conjunto de requisitos definidos realmente corresponda s expectativas No contexto do desenvolvimento distribu do os participantes desse processo estar o geograficamente separados A intera o face a face ou mesmo mediada por ferramentas de comunica o nem sempre ser vi vel devido dist ncia e diferen a de fusos hor rios entre cli
158. essException import org midas as AgentServer import org midas as agent board Board import org midas as agent board Message import org midas as agent board MessageListener PUC Rio Certifica o Digital N 0210680 CA 199 import org midas as agent templates A gent import org midas as agent templates LifeCycleException import org midas as agent templates ServiceException import org midas as manager execution Logger import requisitos business entities Requirement import requisitos business entities RequirementDocument import requisitos business entities User import requisitos business entities Verify ValidateProccess import requisitos dao RequirementDocumentDao import requisitos util CalculateSimilarity import requisitos util ValuedA ttribute import requisitos web email Email public class Verifier extends Agent implements MessageListener private static String className VERIFIER AGENT ResourceBundle resourceBundle ResourceBundle getBundle core Override protected void lifeCycle throws LifeCycleException InterruptedException Se registra no BlackBoard Board addMessageListener Verifier this Override public void provide String service Map lt String Object gt in List lt Object gt out throws ServiceException public void boardChanged Message msg String title msg getTitle if title equals PreVerificationStage String docume
159. essas categorias associado um conjunto de termos usualmente utilizados na organiza o para fazer referencias quele requisito n o funcional O documento de requisitos ent o analisado em rela o ao dicion rio de requisitos n o funcionais e termos associados sendo geradas tabelas de fregii ncia de termos Essas tabelas s o consolidadas nas categorias do dicion rio de RNF s possibilitando ao engenheiro de requisitos uma an lise de omiss es em rela o aos RNF s que seriam desej veis ou essenciais para a aplica o em pauta Para a an lise de omiss es tamb m pode ser utilizada a compara o de dois documentos em rela o ao dicion rio de RNF s Se a organiza o disp e de um documento de requisitos que possa ser considerado padr o num determinado dom nio de aplica o ent o este documento pode ser utilizado como base para compara o da presen a ou aus ncia de RNF s no documento sendo avaliado PUC Rio Certifica o Digital N 0210680 CA Conclus es 139 6 1 2 Estrat gias com uso de agentes de software Utilizamos agentes de software como agentes pessoais de representantes de participantes do processo de desenvolvimento como observadores do ambiente de execu o para detectar eventos relevantes como comunicadores e como encapsuladores de servi os via ferramentas criadas em diferentes linguagens de programa o Agentes pessoais s o especializados e representam participantes com um perfil espec
160. essencial para as vis es a serem apresentadas e portanto ao menos este atributo utilizado modelos relacionamentos XTM tipo d visa taxonomia requisitos po G Visao mapa textual pes ie Ii pg ne requisitos expandir listas de listas amapas apresentar vis es relacionamentos expandidas g P vis es mapa XTM ferramentas d visualiza o Figura 16 Processo para gera o das vis es dos requisitos As listas expandidas ser o utilizadas na gera o de mapas que s o a base para as vis es textuais e gr ficas dos requisitos O mapa textual estruturado na forma de uma tabela onde a cada tema da taxonomia s o registrados os requisitos associados e seus atributos O mapa XTM XML Topic Maps necess rio para a apresenta o das vis es gr ficas e gerado com utiliza o dos modelos apresentados logo a seguir Vis es textuais s o apresentadas atrav s de um visualizador para textos e ser o utilizadas em atividades tais como identifica o de duplicidades entre requisitos e verifica o de completude Vis es gr ficas foram constru das porque possibilitam percep o visual das interdepend ncias entre requisitos Se esta vis o permitir ainda a navega o entre os nodos ser poss vel explorar as associa es entre requisitos e entre requisitos e taxonomia O modelo que escolhemos para apresenta o das vis es gr ficas est baseado na utiliza o de topic maps
161. ficadas segundo uma taxonomia geral por exemplo requisitos funcionais requisitos inversos e requisitos n o funcionais Leite01 Outras representa es como casos de uso est rias do usu rio e cen rios tamb m utilizam linguagem natural Nosso desafio inicial est relacionado tanto defini o do n mero de agrupamentos a identificar quanto escolha do processo a adotar para reunir requisitos relacionados O processo definido deve ainda ser independente dos modelos utilizados para o registro dos requisitos Para o n mero de agrupamentos a utilizar seguimos um preceito da rea de classifica o de documentos comum que documentos sejam referidos atrav s de palavras express es ou frases que caracterizam o tema ou o conte do principal de um documento Baeza Yates99 De maneira geral espera se que poucos temas sejam suficientes para referir assuntos relevantes num documento independente do fato da escolha de temas ou conceitos significativos ter sido feita de forma manual ou de forma semi autom tica atrav s de ferramentas de manipula o da linguagem natural Para o nosso trabalho definimos inicialmente que o n mero de grupos seria um valor pr ximo de cinco conforme discutido na se o 3 1 2 Um primeiro experimento para gerar esses agrupamentos considerou a identifica o de termos significativos no documento de requisitos atrav s de medidas estat sticas para identificar termos relevantes Foram utilizadas medidas
162. fico de atua o Tais agentes s o aut nomos e ao detectar a es relevantes por parte do humano que representam executam a es de forma aut noma em nome deste humano Esse o caso do agente Manager que representa o gerente do projeto e uma vez definida a data para a verifica o dos requisitos modifica o estado do documento de requisitos executa os procedimentos de pr verifica o e notifica os humanos envolvidos Como observador do ambiente de execu o o agente Observador identifica quando ocorrem eventos de modifica o na base de requisitos e propaga essa informa o para os demais agentes atrav s do blackboard Os agentes interessados em tal evento podem ent o tomar decis es baseados nessa informa o A propaga o autom tica da ocorr ncia de eventos como este fundamental para ambientes distribu dos de desenvolvimento para garantir que toda a equipe seja informada de modifica es em requisitos e desenvolva seu trabalho a partir de uma mesma vers o No ambiente de execu o agentes e humanos colaboram e trocam informa es O agente Comunicador respons vel pelo envio de mensagens aos humanos quando solicitado pelos demais agentes J a comunica o entre agentes se faz atrav s do ambiente de execu o via blackboard Agentes tamb m oferecem servi os a outros agentes ou humanos atrav s de Web services e no ambiente de execu o o agente L xico um representante t pico deste papel Os ser
163. finalidade convers o de documentos dos formatos doc html e pdf para txt e servi os ConvertDoc ConvertHtml e ConvertPdf e agente Analisador L xico e obs foram necess rias modifica es para corre o de bugs 2 software Q TAG e finalidade POS Tagger coloca o de etiquetas gramaticais aos tokens e servi o tagger e agente Construtor do L xico e obs fornecido apenas o execut vel e arquivo de treinamento 3 software qtoken e finalidade divis o do texto em tokens e servi o tokenizer e agente Construtor do L xico e obs fornecido apenas o execut vel 4 software pretex e finalidade gera o de matrizes termo documento e servi o e agente Verificador e obs implementado em Perl o stemmer foi substitu do por uma implementa o baseada em Orengo01 5 software yoshikoder e finalidade gera o de relat rios para an lise do discurso PUC Rio Certifica o Digital N 0210680 CA Proposta de uma Arquitetura de Agentes 112 servi o agente Verificador obs modificado para permitir utiliza o de express es e n o apenas palavras simples e coloca o dos menus em portugu s Ainda n o incorporado plataforma 6 software TMNAV finalidade exibi o de mapas de t picos servi o agente Verificador e Validador obs ainda n o incorporado plataforma 7 software analisador finalidade identifica o de termos n o dicionarizados servi o agente Construtor do L xico
164. gital N 0210680 CA Proposta para An lise de Requisitos utilizando PLN 91 An lise de RNF s para o documento ERS Escalas pintxt Entrada do dicion rio Frequ ncia Escore RNFS RNFS gt requisitos_nao_funcionais RNFS gt requisitos_nao_funcionais gt extemos RNFS gt requisitos_nao_funcionais gt extemos gt comunica o sistemas extemos RNFS gt requisitos n o funcionais gt extemos gt comunica o sistemas extemos gt reply RNFS gt requisitos n o funcionais gt extemos gt comunica o sistemas extemos gt request RNFS gt requisitos n o funcionais extemos gt custos RNFS gt requisitos n o funcionais gt extemos gt integra o sistemas extemos RNFS requisitos n o funcionais gt extemos gt integra o sistemas extemos gt ace RNFS gt requisitos nao funcionais gt extemos gt integra o sistemas extemos gt galileo RNFS gt requisitos n o funcionais gt extemos gt integra o sistemas extemos gt sap RNFS gt requisitos n o funcionais extemos gt interoperabilidade RNFS gt requisitos n o funcionais gt extemos gt interoperabilidade gt exportar RNFS gt requisitos n o funcionais extemos gt interoperabilidade gt exporta o RNFS gt requisitos n o funcionais gt extemos gt interoperabilidade gt exporta o de dados RNFS gt requisitos nao funcionais gt extemos gt interoperabilidade importar RNFS requisitos n o funcionais gt extemo
165. grupamento de termos com proximidade conceitual A aplica o deste processo diminui o n mero de termos nicos nos documentos de requisitos contribuindo para redu o da dimens o da matriz termo documento e melhor desempenho dos algoritmos para c lculo da similaridade Os termos que comp em a stop list conforme j visto no cap tulo 2 costumam estar presentes em grande parte dos documentos e possuem baixo poder discriminat rio em rela o aos demais 3 3 1 2 Gerar matriz termo documento Para a gera o da matriz cada um dos requisitos analisado os stems s o contabilizados e tamb m colocados num vetor comum a todos os requisitos Este processo repetido para todos os requisitos e ao final obteremos uma matriz onde cada requisito estar representado por um vetor de termos e o peso associado a cada termo ser obtido pela freqii ncia do termo no requisito correspondente Cada um dos n requisitos estar representado por um vetor de tamanho t correspondendo ao n mero total de termos nicos Como o objetivo nesta etapa identificar similaridades entre requisitos s o desconsiderados apenas os termos relacionados na stoplist n o importando a frequ ncia com que eles possam estar presentes no conjunto de requisitos 3 3 1 3 Calcular e identificar similaridades O c lculo dos coeficientes de similaridade considera pares de requisitos cada requisito avaliado contra cada um dos demais requisitos do grupo
166. guran a A escolha desses termos seguiu os passos 1 foram criadas 3 listas de termos de acordo com os indicadores freqii ncia LogLokelihood e realizado o teste X dos termos relacionados nas listas foram selecionados 30 de maior relev ncia e exclu dos aqueles n o dicionarizados A Tabela 11 apresenta parcialmente termos e valores obtidos as listas foram comparadas para extra o dos termos para compor o primeiro n vel da taxonomia considerando os indicadores apresentados Tabela 11 Lista parcial de termos selecionados e ndices Tema Freq a LogLikelihood CLIENTE 224 24290 66 1858 29 PRODUTO 196 4803 79 938 70 VIAGEM 175 14557 81 1317 45 RESERVA 99 8278 97 747 50 PAGAMENTO 83 3403 69 485 81 VIAGENS 50 3039 56 338 20 PACOTE 49 3242 35 341 60 COMUNICA O 43 272 20 108 48 CONFIRMA O 36 2952 66 271 57 AVIAGAO 35 3985 98 298 39 VISUALIZAR 33 2620 52 246 30 RESERVAR 29 3896 10 265 70 DESTINOS 28 2628 79 222 46 VOO 20 3199 56 205 30 PUC Rio Certifica o Digital N 0210680 CA Estudos de Caso 116 interessante observar na Tabela 11 que as listas apontavam a presen a dos termos reserva reservar e viagem viagens que remetem a um mesmo conceito Na elabora o das listas trabalhamos com termos de uma s palavra Foi verificado no entanto que alguns dos termos n o dicionarizados eram acr nimos de outros sistemas j existentes na organ
167. ia es entre as duas equipes at que a equipe de desenvolvimento tenha confian a no seu entendimento acerca do estabelecido no documento de requisitos Nossas observa es junto a duas empresas que utilizam DDS e v rios relatos mostram que bastante comum a situa o de uma equipe elaborando o documento de requisitos e posteriormente repassando esse documento para a equipe de desenvolvimento Zowghi02 Damian03a PrikladnickiO3 Audy04a Tamb m encontramos a situa o onde a equipe respons vel pelo processo de requisitos se desloca at os clientes e usu rios para a elicita o dos requisitos retorna e trabalha este documento junto com a equipe de implementa o diminuindo desta forma os problemas decorrentes dos fatores culturais e ling sticos para os demais participantes do desenvolvimento Nestas situa es n o h distribui o geogr fica nas atividades do processo de requisitos Acreditamos que isto se deve em parte inexist ncia de ferramentas para dar suporte adequado distribui o dos interessados e em parte para evitar os problemas de comunica o decorrentes da dist ncia 1 2 Agentes nas Atividades de Verifica o e Valida o de Requisitos no Desenvolvimento Distribu do de Software O paradigma de orienta o a agentes para desenvolvimento de software tem sido t pico de trabalhos desde o in cio da d cada de 80 Faltings00 A literatura aponta para diversas e s vezes conflitantes defini e
168. ieceSplit PUC Rio Certifica o Digital N 0210680 CA 176 excerptPosPiece split Monta a extra o StringBuilder excerptBuilder new StringBuilder if excerptPrePieceSplit length gt 5 excerptBuilder append excerptPrePieceSplit excerptPrePieceSplit length 5 if excerptPrePieceSplit length gt 4 excerptBuilder append excerptPrePieceSplit excerptPrePieceSplit length 4 if excerptPrePieceSplit length gt 3 excerptBuilder append excerptPrePieceSplit excerptPrePieceSplit length 3 if excerptPrePieceSplit length gt 2 excerptBuilder append excerptPrePieceSplit excerptPrePieceSplit length 2 if excerptPrePieceSplit length gt 1 excerptBuilder append excerptPrePieceSplit excerptPrePieceSplit length 1 excerptBuilder append themeName if excerptPosPieceSplit length gt 1 excerptBuilder append excerptPosPieceSplit 0 if excerptPosPieceSplit length gt 2 excerptBuilder append excerptPosPieceSplit 1 if excerptPosPieceSplit length gt 3 excerptBuilder append excerptPosPieceSplit 2 if excerptPosPieceSplit length gt 4 excerptBuilder append excerptPosPieceSplit 3 if excerptPosPieceSplit length gt 5 excerptBuilder append excerptPosPieceSplit 4 String excerpt excerptBuilder toString excerpts addExcerpt requirement excerpt LOGGER debug Extragao excerpt return excerpts public static Map lt String Se
169. iferentes plataformas gt lt cnode name adaptabilidade desc caracter sticas relacionadas a aspectos de utiliza o do softwar m diferentes ambientes operacionais gt lt cnode gt lt cnode gt lt cnode name usabilidade desc caracter sticas relacionadas aspectos de utiliza o do software gt lt cnode name flexibilidade desc caracter sticas relacionadas adapta o da interface com usu rio gt lt pnode name adapta o ao usu rio gt lt pnode name customiza o gt lt cnode gt lt cnode name operabilidade desc esfor o para operar e controlar as opera es gt lt pnode name facilidade de uso gt lt cnode gt lt cnode name web desc caracteristicas de usabilidade pr prias para sistemas web gt lt pnode name acesso via web gt lt pnode name navegador gt lt cnode gt lt cnode gt lt cnode gt lt cnode name suporte desc relacionados a caracter sticas de apoio ao sistema gt lt cnode name documenta o desc documenta o necess ria para a instala o e utiliza o do software gt lt pnode name manual de suporte gt lt pnode name manual de usu rio gt lt pnode name manual do usu rio gt lt pnode name manual do utilizador gt lt cnode gt lt cnode name treinamento desc capacita o dos usu rios para a correta opera o do sistema gt lt cnode gt lt cnode gt lt cnode gt lt dictionary gt
170. ifica o Digital N 0210680 CA 155 Wives04 Wives Leandro Utilizando conceitos como descritores de textos para o processo de identifica o de conglomerados clustering de documentos Tese de doutorado UFRGS 2004 Wongthongtham06 Wongthongtham P Chang E Dillon T S amp Sommerville I Ontology based multi site software development Journal of Systems Architecture 2006 doi 10 1016 j sysarc 2006 06 008 Wooldridge99a Wooldridge M Intelligent Agents In Weiss Gerhard Ed Multiagent Systems A Modern Approach MIT Press 1999 pp 27 77 Wu06 Wu S Ghenniwa H Zhang Y amp Shen W Personal assistant agents for collaborative design environments In Computers in Industry 2006 doi 10 1016 j compind 2006 04 010 Yu95 Yu E Modelling Strategics Relationships for Process Reengineering PhD Thesis University of Toronto 1995 Yu02 Yu E Agent Oriented Modelling Software Versus the World In Agent Oriented Software Engineering AOSE 2001 Workshop Proceedings Montreal Canada May 29th 2001 LNCS 2222 Zipf49 Zipf G Human Behaviour and the Principle of Least Effort Addison Wesley 1949 Zowghi02 Zowghi Didar Does Global Software Development need a different Requirements Engineering Process In International Workshop on Global Software Development ICSE 2002 Orlando Florida USA 2002 Proceedings pgs 53 55 PUC Rio Certifica o Digital N 0210680 CA 156
171. ificada numa das categorias presentes no dicion rio Isto envolve escolha criteriosa das categorias e dos conjuntos de termos semanticamente relacionados a cada uma delas No contexto desta tese a an lise de conte do foi utilizada para a identifica o de omiss es em requisitos n o funcionais conforme apresentado no cap tulo 3 2 5 7 Agrupamento ou clusteriza o de documentos Atividades de recupera o da informa o e de minera o de dados est o muitas vezes associadas ao trabalho com um grande volume de documentos ou corpora de informa es textuais Um dos desafios envolve agrupar documentos com caracter sticas semelhantes ou relacionados a uma mesma rea Nesses contextos clusteriza o definida como o processo de agrupar documentos similares tendo por base as palavras ou conceitos presentes nos documentos Wives04 A literatura pesquisada aponta muitas t cnicas para o agrupamento de documentos Kowalski97 Manning99 Meadow00 Witten00 Na rea de recupera o de informa o o agrupamento de documentos possibilita o armazenamento de documentos similares em reas pr ximas da base de dados agilizando o processo de recuperar todo um grupo quando uma consulta solicita documentos relacionados a um determinado tema Para a descoberta do conhecimento na minera o de textos os grupos agilizam a identifica o de associa es entre palavras facilitando o processo de cria o de dicion rios e de tesauros
172. inclui tamb m identifica o de aspectos de depend ncia entre requisitos e compartilhamento efetivo de informa es relacionadas ao sistema em desenvolvimento Utilizamos t cnicas da rea de Processamento da Linguagem Natural PLN para implementa o dos servi os de apoio s atividades de V amp V disponibilizados atrav s de agentes de software Say o05 denominamos de interessados todos aqueles que possuem algum interesse no sistema em desenvolvimento clientes usu rios e profissionais de software e ou hardware PUC Rio Certifica o Digital N 0210680 CA Introdu o 16 Nosso principal objetivo explorar positivamente as possibilidades trazidas pela aplica o de t cnicas de processamento da linguagem natural implementadas como servi os de agentes pr ativos de software para apoio aos processos de verifica o e valida o de requisitos no contexto do processo de defini o de requisitos Com isso visamos obten o de um documento de requisitos que atenda s necessidades dos usu rios valida o e aos requisitos de qualidade esperados verifica o respeitando a distribui o de atividades entre os participantes do projeto 1 1 Desenvolvimento Distribu do de Software DDS desafios para o Processo de Requisitos Diversos relatos envolvendo estudos e experimentos identificaram nas dificuldades de comunica o os maiores desafios enfrentados pelo pessoal envolvido nas tarefas e ativid
173. informa es a ser compartilhado durante o desenvolvimento de um sistema envolve documenta o t cnica artefatos gerados nas v rias etapas do processo registros de comunica es formais e informais trocadas entre clientes usu rios e desenvolvedores dicion rios de viagem O compartilhamento efetivo dessas informa es um desafio mesmo com a utiliza o de um reposit rio Gorton96 Damian03 existem decis es associadas utilizar reposit rio central ou distribuir as informa es PUC Rio Certifica o Digital N 0210680 CA Processo de Requisitos PLN e Agentes 35 replicar a base de informa es que informa es devem ser compartilhadas como manter desenvolvedores atualizados em rela o a altera es importantes e coordena o do projeto atividades de gerenciamento e coordena o do desenvolvimento s o diretamente afetadas pela distribui o geogr fica a aten o do gerente ser compartilhada entre as v rias equipes exigindo maior disciplina e aten o O gerente precisa obter o comprometimento das v rias equipes motiv las e manter o esp rito de grupo mesmo quando parte das equipes est distante An lises de impacto motivadas por altera es em requisitos poder o implicar em modifica es no trabalho das equipes distantes Para gerar novas estimativas de prazos o gerente necessitar ter conhecimento da carga de trabalho da equipe distante Eventos como este aumentam as necessidades de
174. interoperabilidade com sistemas externos x desempenho e coer ncia nos RNF s de cadastrar usu rios conectar e desconectar e aus ncia de RNF s de documenta o e aus ncia de RNF s de processo PUC Rio Certifica o Digital N 0210680 CA Proposta para An lise de Requisitos utilizando PLN 92 Comparando documentos 1 ERS Escalas pln txt 2 ERS Exittxt Entrada do dicion rio Escore 1 Prop 1 Escore 2 Prop 2 RNFS gt requisitos n o funcionais 0 013 0 016 RNFS gt requisitos nao funcionais gt extemos 0 008 0 014 RNFS gt requisitos n o funcionais gt extemos gt comunica o sistema 0 0 001 RNFS gt requisitos nao funcionais gt extemos gt custos 0 0 RNFS gt requisitos nao funcionais gt extemos gt integra o sistemas e 0 004 0 01 RNFS gt requisitos nao funcionais gt extemos gt interoperabilidade 0 004 0 003 RNFS gt requisitos nao funcionais gt extemos gt legais LO RNFS gt requisitos nao funcionais gt processo RNFS gt requisitos nao funcionais gt processo gt entrega RNFS gt requisitos n o funcionais gt processo gt implementa o RNFS gt requisitos nao funcionais gt processo gt implementa o gt lin RNFS gt requisitos nao funcionais gt processo gt padr es RNFS gt requisitos n o funcionais gt produto RNFS gt requisitos nao funcionais gt produto ambiente operacional RNFS gt requisitos nao funcionais gt produto confiabilidade
175. ion rio de E a relat rio sobre requisitos da baseline p dicion rio RNs RES p RNF s Figura 24 Processo para an lise de conte do para RNF s 3 3 2 1 Criar dicion rio preliminar de RNF s O dicion rio de RNF s a ser utilizado para an lise do documento de requisitos gerado nesta etapa n o pretende ser um dicion rio completo o objetivo na sua constru o registrar para uma dada organiza o os RNF s necess rios gama de aplica es visualizada para a organiza o Tendo portanto como entradas cat logos p blicos de RNF s como por exemplo aqueles extra dos de Sommerville04 IEEE98 SWEBOK04 uma avalia o conduzida por especialistas da organiza o dever selecionar os RNF s que dever o constar no dicion rio Neste processo dever o ser considerados aspectos relacionados a padr es de qualidade da organiza o e aos ambientes de execu o dos sistemas entre outros importante ter em mente a utiliza o deste dicion rio ele dever ser utilizado em atividades de verifica o e valida o e n o em atividades de elicita o Essa diferen a enfatizada pois cat logos de RNF s para uso na etapa de elicita o ou modelagem de requisitos devem ser abrangentes possibilitando a quem os utiliza um mapeamento amplo dos RNF s poss veis para uma vasta gama de aplica es A Figura 25 apresenta o dicion rio inicial fortemente baseado em Sommerville04 TEEE98 S
176. ios com os requisitos registrados no documento de requisitos Kotonya e Sommerville Kotonya98 Sommerville04 estruturam as atividades do processo de requisitos nas fases de estudo de viabilidade elicita o e an lise valida o e gerenciamento de requisitos O estudo de viabilidade utiliza regras do neg cio alguns requisitos preliminares e uma descri o de alto n vel do PUC Rio Certifica o Digital N 0210680 CA Processo de Requisitos PLN e Agentes 30 sistema a ser desenvolvido apresentando a forma como o sistema dever suportar ou apoiar processos do neg cio Este estudo resulta num parecer recomendando ou n o a continuidade do projeto Na fase de elicita o e an lise de requisitos os interessados buscam obter maior conhecimento sobre o dom nio da aplica o e identificar tanto os servi os que o sistema dever prover como as restri es operacionais a respeitar ainda na fase de an lise que s o identificados e negociados os eventuais conflitos entre requisitos derivados das diferentes necessidades trazidas pelos interessados e efetuada a prioriza o dos requisitos As atividades relacionadas representa o dos requisitos em algum modelo ou linguagem padronizada s o denominadas de especifica o dos requisitos A fase de valida o busca mostrar que os requisitos correspondem ao sistema que o usu rio deseja obter Os requisitos s o checados ainda em rela o a aspectos como consist ncia completu
177. is o geral de um etiquetador morfossint tico Ap s o texto ser tokenizado a fase de classifica o gramatical tem in cio Para cada token o classificador busca no l xico as classes gramaticais poss veis Se o token n o encontrado no l xico ent o o etiquetador utiliza procedimentos espec ficos visando encontrar uma classifica o do mesmo Nos casos onde h ambiguidade ou seja o token pode receber mais de uma etiqueta o desambiguador utiliza informa es do contexto para realizar a desambigua o e definir a etiqueta mais prov vel para o token sendo analisado O modelo da l ngua utilizado pelo etiquetador pode ser baseado em regras PUC Rio Certifica o Digital N 0210680 CA Processo de Requisitos PLN e Agentes 40 em casos ou em rvores de decis o e neste caso o etiquetador denominado de simb lico ou ling stico O modelo pode utilizar representa o baseada em Markov em rvores de decis o probabil sticas ou distribui o estat stica de palavras no texto e neste caso o etiquetador denominado de probabil stico ou estat stico Neste trabalho foi utilizado o etiquetador QTAG detalhado em Mason97 e que classificado como um etiquetador probabil stico O QTAG denominado de etiquetador probabil stico porque utiliza a etiqueta mais prov vel para um termo espec fico ap s identificar no modelo de linguagem todas as poss veis etiquetas alguns termos podem ser classificados em v rias categ
178. is o geral deste documento No cap tulo 2 s o apresentados os principais desafios para a Engenharia de Requisitos no contexto do Desenvolvimento Distribu do de Software e suas implica es para atividades de valida o e verifica o de requisitos Este cap tulo tamb m relaciona trabalhos desenvolvidos com t cnicas de processamento da linguagem natural em requisitos de software uso de agentes para apoio s atividades pr prias do processo de desenvolvimento de software e t cnicas de processamento de linguagem natural que utilizamos nesta tese Nossa proposta est apresentada em dois cap tulos o cap tulo 3 apresenta os procedimentos desenvolvidos com uso de t cnicas de processamento da linguagem natural seguindo uma perspectiva de processo O cap tulo 4 detalha uma arquitetura baseada em agentes que atende aos processos propostos e vai al m incorporando caracter sticas necess rias ao atendimento de necessidades espec ficas do desenvolvimento distribu do de software Os estudos de caso realizados s o apresentados no cap tulo 5 o cap tulo 6 apresenta trabalhos relacionados e no cap tulo 7 s o relacionadas as conclus es e trabalhos futuros PUC Rio Certifica o Digital N 0210680 CA 2 Processo de Requisitos PLN e Agentes O ciclo cl ssico de desenvolvimento de um produto de software tem in cio pelo Processo de Requisitos e nesta fase que s o determinados os requisitos que o software em constru o dever
179. isitos em duplicidade e menor taxa de falsos positivos 3 3 2 Omiss es em requisitos Uma das tarefas mais dif ceis em processos de verifica o de requisitos a identifica o de omiss es Como identificar aquilo que n o est expresso nos requisitos muito dif cil viabilizar esta verifica o de forma autom tica para requisitos funcionais expressos em linguagem natural dado que cada aplica o possui caracter sticas e necessidades que a diferenciam de qualquer outra Mesmo sem termos realizado uma avalia o sistem tica e qualitativa podemos inferir que os conjuntos de requisitos funcionais em documentos de requisitos de diferentes dom nios diferem de forma significativa N o h um conjunto de refer ncia que possa ser utilizado para a verifica o de omiss es em requisitos funcionais Por outro lado sistemas de informa o costumam utilizar um conjunto reduzido de requisitos n o funcionais Acreditamos que a identifica o da presen a ou aus ncia de requisitos n o funcionais seja vi vel desde que o processo utilizado consiga resolver ou contornar dificuldades inerentes ao uso da linguagem natural no documento de requisitos Um dos problemas a ser resolvido est diretamente relacionado ao grau de detalhamento aplicado no registro dos requisitos Para sistemas com muitas funcionalidades a serem atendidas ou cujos clientes e usu rios est o geograficamente separados poss vel supor o cen rio onde um gru
180. iza o GDS e ACE por exemplo e com os quais haveria troca de informa es Ao mesmo tempo o termo sistema constou na lista inicial primeiros 30 termos e o termo externos era o 41 na lista obtida utilizando o y2 O termo sistemas externos foi inclu do na lista final em fun o dessas observa es J o termo seguran a n o constava das listas mas foi inclu do por representar um requisito n o funcional importante para aplica o em pauta Detalharemos a seguir aspectos da obten o dos termos associados ao tema de alto n vel reservas procedimentos similares foram executados para todos os demais temas de alto n vel da taxonomia inicial Para os temas sistemas externos e seguran a foram fornecidos tamb m alguns termos situados no segundo n vel da taxonomia No documento de requisitos iniciamos pela busca de contexto utilizando o radical da palavra reserva reserv Nesta busca obtivemos um total de 144 sub senten as que foram analisadas para identifica o das coloca es As coloca es obtidas foram stemizadas classificadas por ordem decrescente de frequ ncia e nesse momento desconsideradas todas as coloca es com freqii ncia igual a um A seguir calculamos os valores das medidas de associa o o escore Te a informa o m tua conforme Tabela 12 e ent o selecionamos as coloca es que atendiam aos crit rios definidos ou seja com T gt 2 e im gt 3 Finalmente cada um dos termos candidatos foi avaliado
181. iza o das associa es existentes entre requisitos e temas O rf17 visualizar Viagens Futuras O requisito funcional O requisito funcional conectado a O pacote O pagamento O viagem Opagamento Opacote Oviagem Figura 46 O requisito funcional 17 e temas associados 5 1 2 Constru o do l xico da aplica o Os resultados obtidos ap s a aplica o da t cnica proposta ao documento Exit s o muito interessantes pois este documento utiliza parcialmente a variante de Portugal e cont m portanto muitos termos ou express es que mostram explicitamente as diferen as culturais e ling sticas entre Portugal e Brasil No desenvolvimento distribu do isto de grande import ncia pois largamente sabido na rea de requisitos que termos amb guos podem levar a erros ou inconsist ncias n o s na fase de requisitos mas em todo o processo de desenvolvimento Ter estas diferen as documentadas em dicion rios de viagem ou no l xico das aplica es diminui a probabilidade da ocorr ncia de erros derivados de interpreta o incorreta A Tabela 17 apresenta as express es n o dicionarizadas detectadas pelo processo definido na Se o 3 2 1 PUC Rio Certifica o Digital N 0210680 CA Estudos de Caso 121 Tabela 17 Termos nao dicionarizados do documento Exit parcial callcentre 99 star tour 65 actual 63 mbnet frontend 57 office 57 efectuar 50 ads 34 ac o
182. ja agrupar palavras com diferentes grafias ou mesmo diferentes categorias gramaticais mas relacionados a um mesmo conceito Exemplo as palavras guardar e guarda possuem o mesmo radical guard embora perten am a classes diferentes de palavras enquanto guardar um verbo no infinitivo guarda pode ser um substantivo ou outra forma flexionada do verbo guardar Em processos onde a sem ntica deve se sobrepor morfologia o processo de stemiza o possibilita esse agrupamento A raiz ou stem resultante do processo de stemiza o n o necessariamente id ntica ao radical ling stico mas servir como uma denota o m nima n o amb gua do termo Stemming consiste em reduzir todas as palavras ao mesmo stem por meio da retirada dos sufixos permanecendo apenas um radical Chaves03 Na rea de recupera o de informa o milhares de documentos s o analisados seus termos s o extra dos e contabilizados gerando matrizes do tipo termo documento vide se o 2 4 3 Os termos extra dos s o utilizados como indexadores desses documentos muitas vezes gerando o problema de manipular uma enorme escala de ndices e gerar matrizes muito esparsas Utilizar os radicais e n o os pr prios termos uma forma de diminuir o n mero de ndices agilizar o processo de recupera o de informa es e otimizar o espa o ocupado pelos ndices al m de agrupar termos que apresentam similaridade morfol gica e proximidade conceitual Um dos
183. l Unified Process definem gloss rios como um dos artefatos a serem gerados no processo de requisitos Um gloss rio pode ser entendido como uma forma simplificada de l xico estruturado de forma linear e contendo termos e suas defini es Os termos a serem inseridos num gloss rio s o aqueles utilizados pelos participantes do processo para fazer refer ncias caracter sticas da aplica o visando facilitar o entendimento entre eles O gloss rio deve ser PUC Rio Certifica o Digital N 0210680 CA Proposta para An lise de Requisitos utilizando PLN 74 constru do durante a elabora o do modelo de neg cios ou modelo de dom nio J o L xico Ampliado da Linguagem ou LAL Leite93 uma forma mais elaborada de registro de termos pr prios do dom nio da aplica o fornecendo mais informa es que simplesmente a defini o de um termo Detalharemos o LAL segundo proposta apresentada em Leite93 Termos registrados no LAL s o tipificados e esta a primeira diferen a em rela o a um gloss rio de termos do dom nio da aplica o Termos inseridos no LAL representam s mbolos caracter sticos do dom nio da aplica o e correspondem a um de quatro tipos sujeito objeto verbo ou estado S mbolos do LAL possuem no o e denota o A no o de um s mbolo o que o define e a d2enota o registra os impactos que o s mbolo provoca ou recebe no dom nio considerado A Tabela 6 registra os quatro tipos de s mb
184. lano pr definido T cnicas de processamento da linguagem natural podem ser aplicadas aos requisitos possibilitando que parte das tarefas de V amp V seja automaticamente realizada Como exemplo citamos a atividade de verifica o de duplicidade em requisitos que pode ser automatizada com a utiliza o de medidas estat sticas de similaridade Utilizamos a linguagem i Yu95 Yu02 para modelar nossa proposta de uso de agentes para atividades de verifica o e valida o de requisitos A Figura 1 apresenta o modelo de depend ncia estrat gica dos processos de V amp V de requisitos Nesse modelo s o mostradas as metas de cada agente e as depend ncias entre agentes na consecu o desses objetivos ou metas Os principais atores cliente desenvolvedor engenheiro de requisitos gerente do PUC Rio Certifica o Digital N 0210680 CA Introdu o 22 projeto inspetor possuem rela es de depend ncia por recursos por goals metas ou por softgoals que representam a intencionalidade dos atores Os principais atores envolvidos no processo de requisitos clientes usu rios e profissionais de software visualizados na Figura 1 ocupam diferentes posi es Profissionais de software ocupam posi es que agregam responsabilidades por tarefas associadas ao gerente de projeto ao engenheiro de requisitos e aos desenvolvedores Clientes e usu rios ocupam posi es de representantes agregando responsabilidades por tarefas de
185. le deles demais dentre dentro depois desde dessa dessas desse desses desta destas deste destes detras detr s deveras dez dezenove dezesseis dezessete dezoito diante disso disto diversos do dois donde doravante dos doze duas dum duma dumas duns durante duzentos e eis ela elas ele eles em embaixo embora enfim enquanto entanto entao ent o entre entretanto essa essas esse esses esta estas este estes eu exatamente exceto exceto felizmente fora frequentemente frequentemente gra as hoje ibidem idem in inclusive inda infelizmente inicialmente isso isto ja ja jamais la l largamente lha lhas lhe lhes lho lhos logo mais mal malgrado mas me mediante melhor menos meramente mesma mesmas mesmo mesmos meu meus mil milhao mim minha minhas mui PUC Rio Certifica o Digital N 0210680 CA 205 muita muitas muitissimo muitissimo muito muitos mutuamente na nada nadinha nalgum nalguma nalgumas nalguns nao n o naquela naquelas naquele naqueles naquilo nas nela nelas nele neles nem nenhum nenhuma nessa nessas nesse nesses nesta nestas neste nestes ninguem ningu m nisso nisto no nos n s nossa nossas nosso nossos noutra noutras noutro noutros novamente nove novecentos noventa num numa numas nunca nunquinha nuns o oitenta oito oitocentos onde ontem onze ora os ou ou
186. licidade em requisitos e elaboramos uma forma de identificar omiss es em RNF s tendo como base um dicion rio de categorias requisitos n o funcionais e express es associadas O documento de requisitos avaliado em rela o a esse dicion rio fornecendo um conjunto de relat rios e tabelas para subsidiar a an lise de incompletude utiliza o de agentes na arquitetura da ferramenta de software para suportar os procedimentos propostos Na ferramenta visualizada agentes interagem e fornecem servi os Os servi os oferecidos incluem ferramentas para diversos tipos de tratamento da linguagem natural c lculo de medidas de similaridade notifica o de interessados na ocorr ncia de modifica es em requisitos Os servi os oferecidos pelos agentes destinam se a apoiar atividades de V amp V do processo de requisitos A ferramenta tamb m composta por agentes pessoais destinados a representar humanos participantes do processo de desenvolvimento visando diminuir sua carga de trabalho At onde vai nosso conhecimento da literatura pesquisada nenhum outro trabalho apresenta a utiliza o de agentes de software como apoio gera o de vis es textuais ou gr ficas de agrupamentos de requisitos constru o do l xico da aplica o ou mesmo atividades de verifica o e valida o de requisitos Nesse sentido as propostas apresentadas neste trabalho constituem uma nova abordagem mostrando a adequa o do uso de agentes como entida
187. lidade de ocorr ncia do termo x ou do termo y no documento e N corresponde ao total de termos do documento A informa o m tua compara a probabilidade da ocorr ncia conjunta de x e y com a probabilidade de observar x e y independentemente ela dada pela raz o entre o valor observado e o esperado Se houver uma associa o genu na entre x e y a probabilidade conjunta P x y ser muito maior do que P x P y e conseqiientemente im x y 0 Se n o houver nenhum relacionamento interessante entre x e y ent o P x y P x P y e assim im x y 0 A probabilidade conjunta P x y estimada normalizando se o valor de freg x y ou seja dividindo freg x y por N as probabilidades P x e P y s o calculadas tamb m normalizando se as frequ ncias O escore T considera freqii ncias n o normalizadas e portanto um indicador absoluto das coloca es indica pares que s o por si s muito freqiientes Valores de informa o m tua tendem a ser maiores quando as palavras analisadas aparecem sempre pr ximas no texto ou seja a presen a de uma delas forte indicador da presen a da outra as palavras tem pouca presen a independente Valores maiores do escore T s o indicativos de maior n mero de co ocorr ncia das palavras analisadas Para que as coloca es sejam consideradas significativas necess rio observar o patamar m nimo para cada uma delas Os valores de corte aceitos e normalmente utilizados para estas medidas de
188. litada atrav s do compartilhamento de informa es armazenadas no blackboard Isto significa que agentes podem ser inseridos dinamicamente no sistema sem que sua identidade seja conhecida a priori pelos agentes j ativos no ambiente Da mesma forma um agente pode ser removido do ambiente sem que isto cause posterga o indefinida em agentes que com ele trocavam informa es de forma s ncrona outros agentes do ambiente podem assumir o seu papel ou executar as atividades pelas quais o agente removido era respons vel Podemos dizer ent o que o uso de blackboard facilita atividades de intera o e comunica o entre agentes permitindo uma boa representa o do ambiente de desenvolvimento de software no qual humanos podem ser inclu dos ou retirados de um determinado projeto de desenvolvimento de software Esta propriedade assume importante papel para os prop sitos deste trabalho Considerando as caracter sticas abertas das aplica es a serem geradas as facilidades obtidas pela utiliza o e possibilidade de reuso de Web Services e a necessidade de utilizar um modelo de comunica o onde os agentes possam se comunicar de forma an nima a plataforma MIDAS foi escolhida para implementar a arquitetura proposta Ela atende aos principais requisitos discutidos propicia reuso em larga escala de servi os distribu dos e utiliza o blackboard como um meio de comunica o entre os agentes A arquitetura de MIDAS aplica os padr es definido
189. m a an lise de completude a identifica o de duplicidades e de depend ncias entre requisitos Utilizamos t cnicas de an lise de conte do para apoiar a identifica o de omiss es em requisitos n o funcionais Tamb m propomos uma estrat gia para a constru o ou atualiza o do l xico da aplica o utilizando t cnicas de PLN Utilizamos agentes de software para implementar servi os que incorporam as estrat gias referidas e tamb m para atuar como representantes dos participantes do projeto em desenvolvimento Palavras chave An lise de Requisitos gera o de vis es de requisitos agrupamento de requisitos verifica o e valida o em requisitos omiss es em requisitos n o funcionais processamento da linguagem natural em requisitos agentes e gerenciamento de requisitos PUC Rio Certifica o Digital N 0210680 CA Abstract Say o Miriam Leite Julio Cesar S P Advisor Requirements Verification and Validation Natural Language Processing and Software Agents Rio de Janeiro 2007 205p Ph D Thesis Departamento de Inform tica Pontificia Universidade Cat lica do Rio de Janeiro In software development process initial activities can involve requirements elicitation modeling and analysis verification and validation The use of natural language in the register of the requirements facilitates the communication among stakeholders besides offering possibilities to customers and users to validate requi
190. m termina es espec ficas Alguns exemplos com termina o ente gerente presidente termina o or gestor diretor trabalhador termina o rio usu rio funcion rio Na extra o de sintagmas PUC Rio Certifica o Digital N 0210680 CA Proposta para An lise de Requisitos utilizando PLN 80 nominais correspondendo a atores sujeitos utilizamos um conjunto de 82 padr es pois para cada termina o consideramos o singular o plural feminino e masculino na pr tica multiplicando cada termina o por quatro Exemplos de padr es utilizados s o apresentados na Tabela 8 os anexos B e C trazem a rela o completa Tabela 8 Padr es para extra o de sujeitos e atores N ente PRP N N entes PRP N N enta PRP N N entas PRP N N or PRP N N ores PRP N N ora PRP N N oras PRP N N eiro PRP N N eiros PRP N N eira PRP N N eiras PRP N N ente N N entes N N enta N N entas N N or N N ores N N ora N N oras N Nos padr es relacionados acima o s mbolo indica qualquer quantidade de caracteres Como exemplo o padr o N ente PRP N dever extrair sintagmas compostos por um nome seguido por preposi o e outro nome sendo que o primeiro nome dever ter a termina o ente Os padr es foram definidos tendo por base um dicion rio de termina es da l ngua portugu sa e revisados ap s avalia o de textos etiquetados nos nossos experimentos iniciais Extra
191. maior similaridade e o centr ide desse agrupamento ent o recalculado O processo repetido at que os centr ides n o mudem mais de posi o Como o passo inicial deste algoritmo aleat rio diferentes agrupamentos podem resultar de diferentes execu es do k means devido escolha aleat ria dos k centr ides iniciais poss vel tamb m que os agrupamentos resultantes da aplica o deste algoritmo n o resultem em agrupamentos razo veis Witten00 O problema tamb m pode decorrer da escolha de um valor k n o adequado ao conjunto de documentos que se deseja agrupar O primeiro problema a resolver ent o est relacionado defini o do n mero k de agrupamentos que se deseja obter Uma boa estimativa para k pode ser obtida atrav s de um outro algoritmo de particionamento iterativo denominado de EM Expectation Maximization Manning99 Este algoritmo da mesma forma que o k means iterativo e pode ser executado sem que seja informado o n mero de agrupamentos Neste caso o algoritmo divide os documentos em dois grupos e calcula um conjunto de valores que inclui m dia e desvio padr o para cada atributo al m do coeficiente 3 Zs z 4A sigs centr ide a m dia do conjunto de caracter sticas representativas de cada agrupamento PUC Rio Certifica o Digital N 0210680 CA Processo de Requisitos PLN e Agentes 57 LogLikelihood que um coeficiente que mede a similaridade global O n mero de grupos
192. mais conhecidos algoritmos para o processo de obten o do radical de uma palavra o algoritmo de Porter Porter80 Este algoritmo est estruturado em cinco etapas e cada uma delas gera uma transforma o no termo sendo avaliado Este algoritmo foi originalmente proposto para a l ngua inglesa e foi adaptado para a l ngua portuguesa pelo pr prio autor Na fase de experimenta o utilizamos diferentes implementa es deste algoritmo entre elas a implementa o descrita em Caldas01 e uma outra disponibilizada pelo software PreTexT PUC Rio Certifica o Digital N 0210680 CA Processo de Requisitos PLN e Agentes 49 Matsubara03 Apesar de na grande maioria das vezes essas duas implementa es retornarem o radical que possibilita o agrupamento de palavras semanticamente relacionadas em v rios casos importantes para o nosso trabalho isso n o aconteceu A Tabela 4 apresenta alguns dos resultados obtidos do processo de extra o do radical de palavras com uso dessas implementa es considerando um mesmo termo no singular e plural ou v rios termos remetendo a um mesmo conceito Tabela 4 Resultados obtidos na aplica o de dois diferentes stemmers Termo Radical Radical obtido Radical obtido com esperado com Caldas01 Matsubara03 hotel hotel hotel hotel hot is hotel hot hot avi o avi avi avia avi es avi avid avio avia o avi avia AviaCa confirma confirm confirm confi
193. mos duas outras tentativas com o k means modificando a cada vez os atributos considerados ora utilizamos como atributos aqueles termos pr ximos da m dia de freqii ncia no conjunto de documentos Manning99 Luhn58 ora limitando o conjunto de atributos aos mais freqiientes N o obtivemos resultados significativamente melhores que o anterior Uma das premissas que nos guiou nesta investiga o considera que requisitos podem estar associados a mais de um grupo ou seja os agrupamentos a serem obtidos n o ser o necessariamente disjuntos Um exemplo claro desta caracter stica resultou da an lise dos agrupamentos do documento de requisitos da rea do turismo este documento continha requisitos que deveriam ser manipulados por usu rios de diferentes reas da organiza o no processo de V amp V Alguns requisitos deveriam ser avaliados por pessoal da rea de atendimento ao cliente por tratarem de aspectos da venda de um pacote tur stico mas tamb m interessavam ao pessoal da rea financeira por tratarem de quest es relacionadas forma de pagamento utilizada pelo cliente Optamos ent o por investigar alternativas com o uso de taxonomias Taxonomias t m sido utilizadas para classifica o de documentos Bibliotecas constituem um excelente exemplo de uso de taxonomias para classifica o de PUC Rio Certifica o Digital N 0210680 CA Proposta para An lise de Requisitos utilizando PLN 65 diferentes tipos de documentos
194. mos relacionados ao processo de desenvolvimento do software como restri es de implementa o padr es a serem utilizados nas atividades e artefatos do processo de desenvolvimento requisitos de entrega do software A categoria produto agrega termos que est o associados a propriedades ou caracter sticas que o sistema deve apresentar como portabilidade usabilidade confiabilidade confidencialidade e outros E a categoria de suporte abriga termos relacionados documenta o que dever acompanhar o software e ao treinamento necess rio para o grupo de usu rios A sa da desta atividade um dicion rio preliminar de RNF s as entradas do dicion rio conter o apenas o nome e uma breve descri o de cada RNF PUC Rio Certifica o Digital N 0210680 CA Proposta para An lise de Requisitos utilizando PLN 89 3 3 2 2 Identificar termos para o dicion rio de RNF s Uma vez obtido o dicion rio preliminar de RNF s deve se agora instanci lo para uma dada organiza o Isso significa inserir para cada um dos RNF s do dicion rio entradas que registrem termos ou express es j utilizados em documentos de requisitos da baseline da organiza o Este parte do processo feita de forma semi automatizada os participantes analisam documentos da baseline da organiza o e identificam termos que s o usuais no registro de requisitos n o funcionais Este processo deve ser suportado pelo l xico da organiza o O ideal
195. nais pp 124 133 Leite91 Leite J C S P Freeman P A Requirements Validation through Viewpoint Resolution In IEEE Transactions on Software Engineering vol 17 n 12 pp 1253 1269 Leite93 Leite J C S P amp Franco A P M A Strategy for Conceptual Model Acquisition In First IEEE International Symposium on Requirements Engineering San Diego Ca IEEE Computer Society Press 1993 Proceedings pp 243 246 Leite94 Leite J C S P Engenharia de Requisitos PUC Rio Rio de Janeiro 1994 Notas de aula Leite95 Leite J C S P amp Oliveira A P A Client Oriented Requirements Baseline In Second IEEE International Symposium on Requirements Engineering RE 95 1995 Proceedings Los Alamitos IEEE Computer Society Press 1995 pp 108 115 Leite01 Leite J C S P In Qualidade e Produtividade em Software eds Kival Chaves Weber et al S o Paulo Ed Makron Books 2001 Li03 Li Y Shen W amp Ghenniwa H Collaborative and Proactive Data Agent for Distributed Design Environments In Journal of Integrated Design and Process Science june 2003 Vol 7 No 2 pp 71 85 Li03a Li Y Shen W amp Ghenniwa H Integrated description for Web service oriented agents in e Marketplaces In BASeWEB 2003 Workshop Proceedings Dispon vel em http www cs unb ca baseweb baseweb03 papers li_ghenniwa_shen_revisio n may12 pdf Acesso em 12 06 2005 Liberato97 Liberato Y G A estrutura do SN
196. nfirm reserv e confirmag reserv Esses dois padr es foram substitu dos por um nico dado que confirm reserv engloba confirma reserv V rios outros termos foram substitu dos por padr es mais gerais 5 1 1 2 Gera o de vis es categoriza o dos requisitos com uso da taxonomia enriquecida O processo de categoriza o dos requisitos teve por base a taxonomia enriquecida A cada um dos termos da taxonomia foram associados os requisitos que continham ao menos um dos padr es identificados na etapa anterior Os conjuntos assim obtidos possu am diferentes cardinalidades registradas na Tabela 14 O tema parametriza o n o relacionado inicialmente foi inclu do para ampliar a cobertura dos requisitos em rela o taxonomia Parametriza o est relacionada a informa es frequentemente modific veis no sistema por exemplo data de envio das comunica es semanais com clientes e categorias de carro para alugar A an lise de cobertura taxonomia requisitos identificou que foram relacionados 166 requisitos taxonomia com um total de 312 liga es Como PUC Rio Certifica o Digital N 0210680 CA Estudos de Caso 118 parte dos requisitos foi relacionada a mais de um termo da taxonomia a Tabela 15 apresenta o n mero de requisitos por quantidade de liga es Tabela 14 Taxonomia e Tabela 15 N mero de requisitos relacionados requisitos por liga es
197. node name rede local gt lt pnode name sistema operacional gt lt cnode gt lt cnode name confiabilidade desc caracter sticas relacionadas a propriedades d xecu o mesmo em situa es de falha gt lt cnode name integridade dos dados desc precis o e veracidade das informa es armazenadas gt lt pnode name transa es at micas gt lt cnode gt lt cnode name seguran a desc aspectos relacionados seguran a de informa es gt lt pnode name gerar log gt lt pnode name gerar um log gt lt pnode name log gt lt cnode gt lt cnode name toler ncia a falhas desc habilidade em manter a opera o em caso de falhas gt lt cnode gt lt cnode gt lt cnode name confidencialidade desc prote o no acesso ao sistema e s informa es manipuladas gt lt cnode name cadastrar usu rios desc registro e manuten o de usu rios v lidos gt lt pnode name activar utilizador gt lt pnode name ativar usu rio gt lt pnode name controle de acesso gt lt pnode name manter usu rio gt lt pnode name perfil de usu rio gt lt pnode name perfis de usu rio gt lt cnode gt lt cnode name conectar autenticar usu rios desc valida o de usu rios na conex o gt lt pnode name autentica o gt lt pnode name login gt lt pnode name logon gt lt pnode name password gt lt pnode name password acesso gt lt pn
198. nomes pr prios profiss es e pap is Em termos ling sticos podemos associar atores e sintagmas nominais Recursos correspondem a objetos que ocupam um espa o no mundo real ou virtual e s o utilizados ou gerados por PUC Rio Certifica o Digital N 0210680 CA Proposta para An lise de Requisitos utilizando PLN 78 a es Recursos e objetos podem ser identificados por substantivos e portanto tamb m podem ser lingiiisticamente identificados por sintagmas nominais O processo geral de extra o de s mbolos proposto baseado na extra o de sintagmas nominais e apresentado na Figura 22 padr es a stop list roras buscar crit rios de tags d aplicar reley ncia documento preparar para documento extrair sintagmas sintagmas selecionar processamento preparado nominais nominais s mbolos tagger stemmer s mbolos candidatos buscar no o e s mbolos candidatos impactos no o e impactos concprdan ceador Figura 22 Processo geral para extra o de s mbolos O processo de extra o de s mbolos est estruturado em quatro atividades ou sub processos Inicialmente o documento preparado para posteriormente ser manipulado por um Part of Speech tagger POS tagger Ap s a inser o das tags etiquetas s o extra dos sintagmas nominais que correspondem a padr es pr definidos estes sintagmas nominais passar o por um processo de sele o que
199. ntName msg getContent Notifica os outros agentes Logger addEntry className Running similarity tests on documentName true try calculateSimilarity documentName Logger addEntry className Similarity tests on documentName completed notifying Communicator Agent true Board writeOnBoard 1 Communicator SimilarityTest documentName this catch Exception e Logger addEntry className Error while running similarity tests on documentName false e printStackTrace PUC Rio Certifica o Digital N 0210680 CA 200 private void calculateSimilarity String documentName throws Exception RequirementDocumentDao requirementDao RequirementDocumentDao A gentServer getA pplicationContext getBean requirementDocume ntDao 1 Recupera o diret rio do perl e do pretex String perlPath resourceBundle getString perl path Wbin String pretexPath resourceBundle getString pretex path 2 Limpa os diret rios docs stembase e discover cleanDirectories pretexPath System out println path pretex pretexPath 3 Cria os arquivos de requisito RequirementDocument document requirementDao getRequirementDocumentB yName documentName Set lt Requirement gt requirements document getRequirements createRequirementFiles pretexPath requirements 4 Invoca o processo stem pl invokeStem pretexPath 5 Invoca o processo report pl invokeReport pretexPath
200. nte realiza a stemiza o dos sintagmas extra dos Isto necess rio pois nos nossos experimentos identificamos a necessidade de agrupar singular e plural feminino e masculino Por exemplo em nossos estudos de caso foram separadamente extra dos e contabilizados os sintagmas nominais gestor de escala e gestor de escalas o mesmo ocorrendo com os sintagmas cession ria e cession rio Os sintagmas candidatos s o ent o agrupados e contabilizados ap s o processo de stemiza o e adotamos o masculino singular para a representa o quando fosse o caso A ltima atividade do processo de sele o descarta os sintagmas cuja frequ ncia seja menor que quatro conforme procedimento usual na rea de extra o de terminologia Daile96 3 2 2 4 Buscar no o e impactos A busca de contexto trabalha com cada um dos s mbolos selecionados varrendo o documento buscando identificar a presen a do s mbolo e para esta tarefa foi utilizado um concordanceador modificado Quando a ferramenta identifica a presen a de um s mbolo extra do o par grafo completo pois este pode corresponder defini o ou a impactos do s mbolo Na identifica o das senten as utilizado o radical stem do s mbolo de busca os par grafos extra dos ser o agrupados junto ao s mbolo candidato e utilizados posteriormente pelo engenheiro de requisitos para inser o no l xico da aplica o Nos estudos de caso observamos que a identifica o da n
201. nuindo os problemas de comunica o entre os interessados reais No processo de verifica o uma atividade poss vel a inspe o do documento de requisitos O processo de inspe o caracteriza se pela utiliza o de uma t cnica de leitura aplic vel a um artefato buscando a localiza o de defeitos ou inconsist ncias no mesmo segundo um crit rio pr estabelecido Algumas das verifica es est o relacionadas omiss o ou duplica o de requisitos o conjunto de requisitos verificado em rela o completude inexist ncia de omiss es e em rela o exist ncia de duplicidade dos requisitos No processo de inspe o os diferentes atores envolvidos no processo de desenvolvimento v em os artefatos sob diferentes pontos de vista Tomemos como exemplo o documento de requisitos ele ser analisado atrav s da vis o de cada participante O projetista v esse documento considerando que pode utiliz lo como base para a cria o da arquitetura do software considerando as funcionalidades e restri es descritas O especialista em testes v o documento como fonte primeira para a gera o dos testes que devem assegurar que o mesmo PUC Rio Certifica o Digital N 0210680 CA Introdu o 21 atende s necessidades funcionais e n o funcionais registradas O engenheiro de requisitos v o documento buscando identificar se ele atende aos requisitos de qualidade esperados A complexidade destas tarefa
202. o o ou defini o dos s mbolos sens vel ao contexto da aplica o ou mesmo a padr es da organiza o PUC Rio Certifica o Digital N 0210680 CA Proposta para An lise de Requisitos utilizando PLN 82 3 3 Detec o de discrep ncias erros e omiss es em requisitos O apoio detec o de discrep ncias erros e omiss es em requisitos apoiado em parte pelo agrupamento de requisitos que possibilita aos participantes do processo de verifica o ou valida o trabalhar em conjuntos menores de requisitos Isto agiliza o processo por exemplo para identificar incompletude em requisitos relacionados a um determinado tema manipula se apenas o conjunto de requisitos associado a esse tema e n o todo o conjunto de requisitos do sistema Outra formas de apoio que estamos propondo est o relacionadas automa o da identifica o de duplicidade em requisitos e identifica o de omiss es em RNF s Em ambientes distribu dos de desenvolvimento usu rios clientes e engenheiros de requisitos est o dispersos geograficamente Se o processo de elicita o ocorre em diferentes locais usu rios distantes geograficamente podem passar a diferentes engenheiros de requisitos informa es que ir o gerar requisitos similares Isto s ser percebido quando os requisitos forem colocados num nico documento mas esta detec o poder ser dificultada se houver um grande n mero de requisitos Se a verifica o de duplici
203. o de documentos para apoiar a comunica o e o gerenciamento do projeto Em atividades associadas evolu o de requisitos Chang01 mostra o uso de agentes m veis para controle da evolu o de requisitos em ambientes distribu dos Wongthongtham06 utilizou agentes no contexto do desenvolvimento distribu do com agentes manipulando um reposit rio controlado que armazenava uma ontologia de termos da pr pria engenharia de software Acreditamos que o uso de agentes apropriado no contexto do Processo Distribu do de Requisitos Chang01 porque o uso de agentes em sistemas de software propicia autonomia agentes podem monitorar o ambiente detectando modifica es significativas ou ocorr ncia de eventos e comunic las aos envolvidos No contexto em pauta agentes podem monitorar mudan as em artefatos de requisitos disparando atividades do processo de verifica o e valida o flexibilidade agentes podem ser dinamicamente inseridos ou retirados do ambiente de execu o de forma transparente Como agentes pessoais podem ser utilizados e o conjunto de participantes no processo de desenvolvimento de um software evolui ao longo do processo de requisitos o conjunto de agentes deve refletir essa evolu o interatividade agentes podem se comunicar atrav s de mensagens atividades de comunica o entre interessados s o essenciais s atividades do gerenciamento de requisitos e agentes podem realizar parte dessas comunica es
204. o em rela o ao modelo utilizado para registro dos requisitos e uma avalia o sint tica verifica se o documento de requisitos respeita a sintaxe do modelo utilizado Tamb m verificado se o documento atende aos padr es estabelecidos pela organiza o ou atende a modelos de qualidade Verifica es sem nticas s o realizadas analisando se o conjunto de requisitos e buscando encontrar inconsist ncias entre pares ou conjuntos de requisitos A avalia o em rela o completude parte deste processo O objetivo desta fase garantir a qualidade do documento que ser utilizado posteriormente como guia para as demais atividades do processo de desenvolvimento do software Na valida o o conjunto de requisitos avaliado pelos clientes e usu rios e busca se confirmar se suas necessidades e expectativas est o contempladas no documento analisado Assim como na fase de elicita o importante que na valida o participem usu rios e clientes representando as diferentes vis es dos envolvidos ou atingidos pelo sistema em desenvolvimento Em caso de conflitos negocia es entre os interessados poder o solucionar o impasse ou levar a novas defini es Dependendo da t cnica utilizada para o processo de desenvolvimento a prioriza o dos requisitos junto com o cliente definir quais os requisitos a serem trabalhados em cada incremento do software a ser liberado Estas atividades resultam no comprometimento de clientes e usu r
205. oard addMessageListener Lexical this public void boardChanged Message msg Override PUC Rio Certifica o Digital N 0210680 CA 192 public void provide String service Map lt String Object gt in List lt Object gt out throws ServiceException x r Z O Servi o E build Este servi o cria um mapa de t picos a partir de uma lista de requisitos if service equals build Entrada List lt Requirement gt requirements List lt Requirement gt in get requirements Execu o TopicMap topicMap build requirements Sa da out add topicMap x o ee ee o Servi o setAssociations Este servi o cria as associa es entre os pares tema termo e os requisitos tem como entrada o tema o mapa de t picos com os requisitos e o mapa de associa es que indica para cada termo que ocorre junto ao tema a lista de requisitos relacionada A else if service equals setAssociations Entrada String theme String in get theme TopicMap topicMap TopicMap in get topicMap Map lt String Set lt String gt gt associationsMap Map lt String Set lt String gt gt in get associationsMap Execu o TopicMap newTopicMap setAssociations topicMap associationsMap theme Sa da out add newTopicMap I Methods MH PUC Rio Certifica o Digital N 0210680 CA 193 public static Topi
206. obs implementado em C e AWK pelo pesquisador Akeo Tanabe do LES DI PUC Rio A Tabela 10 relaciona agentes Web services associados software utilizado e estado atual da implementa o permitindo ao leitor uma vis o geral dos resultados obtidos at o momento na ferramenta de suporte estrat gia utilizada Tabela 10 Estado atual da implementa o da ferramenta de suporte AGENTE Analisador L xico Construtor L xico Manager Comunicador SERVI O WEB SOFTWARE ESTADO implementado convers o de Yoshikoder modificado e formatos Converter _ encapsulado implementado implementado requisitos implementado implementado e encapsulado doltagger QTAG encapsulado tokenizer gtoken encapsulado analisador ainda nao encapsulado implementado PUC Rio Certifica o Digital N 0210680 CA Proposta de uma Arquitetura de Agentes AGENTE Observador Estatistico Gerador Vis es Rastreador Validador Verificador SERVI O WEB frequencyMap metrics de build setAssociations TermDocument calculateSimilarity SOFTWARE TMNav pretext Yoshikoder ESTADO implementado implementado e encapsulado implementado e encapsulado implementado e encapsulado implementado e encapsulado ainda nao encapsulado nao implementado nao implementado encapsulado implementado e encapsulado modificado ainda nao
207. odas as funcionalidades incluindo manuten o de artefatos de requisitos agendamento das atividades de V amp V e defini o dos participantes para os processos de V amp V O engenheiro de requisitos n o tem acesso ao agendamento das atividades de V amp V mas pode efetuar manuten es nos artefatos do reposit rio e o representante de clientes e usu rios participa de atividades de V amp V mas tem acesso apenas para leitura aos artefatos do reposit rio PUC Rio Certifica o Digital N 0210680 CA Proposta de uma Arquitetura de Agentes 99 4 3 2 Uso do blackboard O blackboard uma met fora ao meio ambiente onde os agentes desempenham seus pap is Todos os agentes monitoram o ambiente identificam a ocorr ncia de eventos neste ambiente e decidem se devem executar alguma a o em fun o do ocorrido Os principais eventos de interesse dos agentes s o chegada de mensagens solicita es de servi os e modifica es no estado do documento de requisitos A comunica o entre agentes se processa atrav s deste mecanismo o agente envia uma mensagem no formato apropriado que colocada no blackboard Os agentes monitoram este ambiente e detectam a modifica o ocorrida Cada um dos agentes ent o verifica se ele o destinat rio da mensagem e em caso positivo trata a mensagem recebida de acordo com o seu papel O blackboard utilizado tamb m para manter registro do estado do documento de requisitos No estado aberto
208. ode name senha gt lt pnode name senha de acesso gt lt pnode name valida o de usu rio gt lt cnode gt lt cnode name desconectar desc encerramento de conex o gt lt pnode name desconectar gt lt pnode name encerrar sess o gt lt pnode name logoff gt lt pnode name logout gt lt cnode gt lt cnode gt lt cnode name efici ncia desc aspectos relacionados ao grau de recursos utilizados tempo de processamento gt PUC Rio Certifica o Digital N 0210680 CA 162 lt cnode name desempenho desc tempo de resposta e de processamento gt lt pnode name tempo d xecu o gt lt pnode name tempo de resposta gt lt cnode gt lt cnode name recursos desc recursos necess rios para uso e armazenamento de informa es gt lt pnode name espa o em disco gt lt pnode name mem ria principal gt lt cnode gt lt cnode gt lt cnode name manutenibilidade desc caracter sticas relacionadas ao processo de manuten o gt lt cnode name modifiabilidade desc caracter sticas relacionadas a facilidade e ao esfor o necess rios para modifica es no software gt lt cnode gt lt cnode name testabilidade desc esfor o necess rio para a verifica o da corre o gt lt cnode gt lt cnode gt lt cnode name portabilidade desc caracter sticas que indicam o grau de adapta o a d
209. oducao 1 1 Desenvolvimento Distribu do de Software DDS desafios para o Processo de Requisitos 1 2 Agentes nas Atividades de Verifica o e Valida o de Requisitos no Desenvolvimento Distribu do de Software 1 3 Contribui es deste trabalho 1 4 Vis o geral deste documento 2 Processo de Requisitos PLN e Agentes 2 1 Processo de Requisitos estrutura o das atividades 2 2 Processo de requisitos em ambientes distribu dos de desenvolvimento 2 3 An lise de Requisitos import ncia das atividades de verifica o e valida o 2 4 Verifica o e Valida o uso de PLN e Agentes de Software 2 5 Alguns m todos e t cnicas de PLN para apoio ao processo proposto 2 5 1 Part Of Speech Tagger POS tagger 2 5 2 Representa o de documentos abordagem bag of words 2 5 3 Similaridade entre documentos 2 5 4 Stemiza o 2 5 5 Concordanceador 2 5 6 An lise de conte do 2 5 7 Agrupamento ou clusteriza o de documentos 2 5 8 Recupera o de informa es medidas recall e precision 2 6 Processo de Requisitos PLN e Agentes 3 Proposta para An lise de Requisitos utilizando PLN 3 1 Gera o de vis es dos requisitos 3 1 1 Categoriza o de requisitos e gera o de vis es 3 1 2 Identifica o de termos para enriquecimento da taxonomia 3 1 3 Categorizar requisitos 3 1 4 Gerar vis es 3 2 Constru o do l xico da aplica o 3 2 1 Termos ou express es n o inclu dos em dicion rios 3 2 2 Id
210. olos e impactos correspondentes Tabela 6 S mbolos do LAL no o e impactos Leite90 Tipo do No o Impacto s mbolo Sujeito quem o sujeito a es que executa Verbo quem realiza quando acontece e quais os reflexos das a es no quais os procedimentos ambiente e novos estados decorrentes Objeto definir o objeto e identificar a es que podem ser aplicadas ao outros objetos com os quais ele se objeto relaciona Estado o que indica e a es que levaram identificar outros estados que a esse estado podem ocorrer a partir do estado que se descreve Sujeitos correspondem a entidades ativas atores com papel relevante para a aplica o um sujeito pode ser um ator um componente ou um outro sistema com o qual dever ocorrer intera o Verbos registram a es ou funcionalidades a serem desempenhadas pelos sujeitos ou pelo sistema em desenvolvimento com algum impacto ou reflexo no ambiente operacional Objetos s o entidades passivas utilizadas ou necess rias a uma a o ou conjunto de a es e estados s o caracterizados por atributos significativos que registram valores em diferentes momentos da execu o do sistema A Tabela 7 apresenta exemplo de entrada para o l xico de um sistema para bibliotecas de uma universidade PUC Rio Certifica o Digital N 0210680 CA Proposta para An lise de Requisitos utilizando PLN 75 Tabela 7 Exemplo de s mbolo de um l xico do
211. oncentrados numa regi o delimitada por dois pontos de corte Termos acima do limite superior e termos abaixo do limite inferior s o considerados pouco discriminantes por serem muito freq entes ou por serem muito raros Uma das formas de implementar o conjunto de termos que pertencem ao limiar superior agrupar artigos pronomes adv rbios preposi es e conjun es num conjunto denominado de stoplist A Figura 8 mostra limites inferior e superior para uma curva de Zipf segundo a abordagem de Luhn A freq encia gt rank Figura 8 Curva de Zipf com os cortes propostos por Luhn A regi o que engloba os termos com maior frequ ncia inclui termos como artigos o a preposi es de da conjun es e ou que est o presentes em quase todos os documentos e n o s o significativos para representa o dos documentos A regi o central inclui termos como substantivos adjetivos verbos e que podem ser utilizados para a representa o de documentos A terceira regi o inclui termos com baixa frequ ncia de ocorr ncia muitas vezes apenas uma ocorr ncia e que s o considerados ru dos PUC Rio Certifica o Digital N 0210680 CA Processo de Requisitos PLN e Agentes 45 A delimita o dessas regi es n o tarefa trivial e decis o sobre os limites est associado um certo grau de arbitrariedade Para a terceira regi o Meadow00 sugere que seja utilizado o limiar de 1 ou 2 para a freqii
212. onibilizado pela Universidade de Waikato Witten00 Trabalhamos com o k means um dos mais utilizados algoritmos de particionamento iterativo Este algoritmo utiliza como medida de similaridade entre documentos a dist ncia Euclidiana que mede a similaridade entre documentos considerando os atributos em comum Wives04 Utilizamos o k means aplicando o a um documento de requisitos de uma aplica o da rea do turismo Este documento passou por um processo de prepara o que incluiu a separa o dos requisitos em arquivos do tipo texto puro e a gera o de vetores termo documento Estes vetores registram para cada documento a fregii ncia dos t termos definidos para avalia o Os termos costumam ser aqueles mais relevantes ou aqueles de maior freqii ncia Para a execu o do algoritmo k means o n mero de agrupamentos um dos argumentos fornecidos pelo usu rio Apesar de j termos uma defini o inicial para este n mero resolvemos pesquisar uma alternativa que pudesse confirmar ou n o nossa escolha Utilizamos ent o o algoritmo EM Expectation Maximization Manning99 Este algoritmo EM inicialmente agrupa os documentos em dois grupos e calcula um conjunto de valores que inclui m dia e desvio padr o dos termos utilizados para representa o desses documentos A implementa o utilizada tamb m calcula o coeficiente LogLikelihood que mede a similaridade global Na segunda itera o o n mero de grupos incrementado e
213. orias Para casos onde ao termo sendo analisado podem ser atribu das diversas categorias a defini o da etiqueta a ser utilizada considera o contexto no qual o termo est inserido Isto significa que etiquetas de termos pr ximos ao termo em pauta tamb m s o avaliadas e ser utilizada a etiqueta correspondente sequ ncia de maior freqii ncia O QTAG utiliza um dicion rio que registra os termos da l ngua o l xico juntamente com as probabilidades associadas a cada poss vel etiqueta para o termo Inicialmente o etiquetador consulta o dicion rio obt m informa es sobre o termo sendo avaliado e as combina com informa es do contexto considerando as etiquetas dos dois termos anteriores A etapa seguinte avalia ainda o termo em pauta em rela o aos dois termos posteriores e a etiqueta de maior probabilidade de ocorr ncia escolhida Os recursos utilizados por este etiquetador s o um dicion rio de termos com etiquetas e frequ ncias associadas e uma matriz de segii ncias de etiquetas e respectivas freqii ncias Estes recursos podem ser abstra dos de um corpus anotado o que possibilita que ele seja adaptado para trabalhar com diferentes linguagens apesar de ter sido desenvolvido originalmente para a l ngua inglesa j existem modelos para os idiomas romeno e sueco Tufis98 al m do portugu s Para a l ngua inglesa a taxa de precis o das etiquetas inseridas da ordem de 96 3 Mason97 Para a l ngua portuguesa
214. orienta o a agentes tem sido apresentada como adequada para tratar problemas complexos ou de natureza intrinsecamente distribu da Jennings00 Message01 ou ainda sistemas nos quais atores desempenham diferentes pap is e interagem visando atingir diferentes objetivos Cysneiros03 O uso de agentes tem sido visto tamb m na solu o de problemas relacionados ao processo de desenvolvimento de software Dellen96 Gaeta02 Grundy05 Wongthongtham06 Documentos de requisitos e outros artefatos manipulados no processo de requisitos costumam ser escritos em linguagem natural A utiliza o de uma linguagem formal para registro dos requisitos traria a facilidade de uma verifica o autom tica mas dificultaria o processo de valida o pois clientes e usu rios precisariam conhecer a linguagem formal utilizada O uso da linguagem natural facilita a comunica o entre os participantes do processo al m de possibilitar que clientes e usu rios validem o documento de requisitos sem necessitar de conhecimento extra T cnicas de processamento da linguagem natural podem ser aplicadas a documentos de requisitos e outros artefatos apoiando atividades relacionadas aos processos de verifica o e valida o de requisitos Propomos neste cen rio a utiliza o do paradigma de agentes em apoio aos interessados em atividades relacionadas ao Processo de Requisitos tratando especificamente da verifica o e valida o dos requisitos Nossa abordagem
215. os demais procedimentos s o repetidos at obter um coeficiente timo para os indicadores utilizados Nesse PUC Rio Certifica o Digital N 0210680 CA Proposta para An lise de Requisitos utilizando PLN 64 momento a execu o encerrada e o n mero ideal de grupos fornecido No nosso caso a execu o do algoritmo EM para o documento j referido indicou cinco grupos o que corroborou nossa defini o inicial para o n mero de grupos Utilizamos como atributos todos os substantivos com frequ ncia por documento maior ou igual a quatro Daile96 e uma etapa de pr processamento gerou um conjunto de vetores que para cada requisito individual trazia a freqii ncia dos termos selecionados Trabalhamos com substantivos pois eles podem expressar fun es gramaticais como sujeito e objeto fun es sem nticas como agente e instrumento ou fun es ret ricas como t pico ou tema Thrane80 Definido o n mero ideal de grupos continuamos o experimento executando o k means para ent o obter os agrupamentos de requisitos O documento utilizado j referido era oriundo de uma aplica o na rea do turismo e possu a cento e sessenta e nove requisitos Dos cinco grupos resultantes do processo de clusteriza o um apresentava apenas dois requisitos enquanto outro apresentava cento e cinco A este ltimo grupo particularmente n o se conseguiu identificar claramente um tema que perpassasse todos os requisitos do grupo Realiza
216. os do tipo sujeito e objeto para o sistema de gest o de escalas Tabela 25 Contextos para s mbolos do sistema de gest o de escalas Tabela 26 S mbolos do tipo sujeito e objeto para o sistema Selic Tabela 27 Valores de recall e precision dos s mbolos extra dos 41 41 42 49 57 74 75 80 80 112 115 117 117 118 118 119 121 121 122 122 123 123 127 129 129 133 134 PUC Rio Certifica o Digital N 0210680 CA 1 Introdu o No processo de desenvolvimento do software atividades relacionadas ao Processo de Requisitos envolvem atividades de elicita o modelagem verifica o e valida o dos requisitos Leite94 Tais atividades pela sua pr pria natureza s o mais intensivas em comunica o que as demais atividades em um processo de desenvolvimento de software No contexto do processo de requisitos tomemos como exemplo especificamente as atividades de verifica o e valida o V amp V O processo de valida o envolve diferentes atores como por exemplo o engenheiro de requisitos representantes de clientes e usu rios e o coordenador ou gerente do processo de desenvolvimento Nas atividades de verifica o por outro lado interagem diferentes atores inspetores secret rio coordenador autor do documento Cada um desses atores participa visando atingir seus pr prios objetivos e a colabora o entre eles necess ria para atingir a meta maior associada a cada processo Na verifica o a meta en
217. os participantes do processo de requisitos compartilham uma mesma l ngua mas diferen as culturais devidas s diferentes localiza es geogr ficas provocam o uso de v rios termos para um mesmo objeto ou sujeito por exemplo celular e telem vel Termos que atendem a uma dessas caracter sticas t m forte indica o para serem registrados no l xico da aplica o evitando dificuldades na leitura de documentos originadas por desconhecimento de termos ou por ambigiiidades O processo para extra o de termos n o dicionarizados est representado na Figura 21 PUC Rio Certifica o Digital N 0210680 CA Proposta para An lise de Requisitos utilizando PLN 76 dicion rios stop list termos requisitos buscar termos n o termos n o selecionados dicionarizados _ dicionarizados selecionar termos termos e contextos extrair contextos Figura 21 Processo para extra o de termos n o dicionarizados 3 2 1 1 Buscar termos n o inclu dos em dicion rios Nesta etapa o texto tokenizado e os tokens s o utilizados como express o de busca num conjunto de dicion rios para a l ngua portuguesa Estes dicion rios n o s o dicion rios no sentido estrito do termo pois n o cont m defini es ou sin nimos para os termos Eles podem ser pensados como uma lista de termos ordenados em ordem alfab tica cada dicion rio restrito a uma nica classe gramatical de termos
218. os propostos De forma mais espec fica v rias contribui es s o observadas a partir do trabalho desenvolvido especifica o de um processo para a cria o de uma taxonomia da aplica o baseada na extra o de conceitos relevantes a partir de documentos de requisitos utiliza o de processo baseado nessa taxonomia para categoriza o de requisitos gerando agrupamento de requisitos semanticamente relacionados proposta de um processo para gera o de vis es dos requisitos Mapas textuais e gr ficos s o gerados e permitem uma melhor organiza o do trabalho nas atividades de V amp V al m de possibilitar a visualiza o de interdepend ncias entre requisitos e a navega o atrav s dos relacionamentos existentes entre a taxonomia e requisitos relacionados desenvolvimento de um processo para automatizar a constru o e atualiza o do l xico da organiza o a partir de documentos da organiza o e de artefatos gerados durante o processo de requisitos Impactos de diferen as culturais entre participantes do DDS s o minimizados quando o l xico inclui tamb m express es idiom ticas que podem levar a diferentes interpreta es devido a fatores culturais PUC Rio Certifica o Digital N 0210680 CA Introdu o 25 elabora o de t cnicas para apoio detec o de discrep ncias erros e omiss es no documento de requisitos Aplicamos medidas de similaridade entre documentos para identificar dup
219. ossa abordagem trabalha com um dicion rio constru do previamente abordando apenas requisitos n o funcionais e considerando express es utilizadas na organiza o para registro dos RNF s 6 3 Limita es e trabalhos futuros Nosso trabalho apresenta limita es que relacionamos a seguir juntamente com trabalhos futuros sugeridos para ampliar e consolidar as estrat gias propostas Verifica o de Requisitos nossa estrat gia incorpora de forma autom tica a busca por duplicidade em requisitos Tamb m ap ia a identifica o de omiss es em requisitos n o funcionais Futuramente podemos investigar com uso de t cnicas de processamento da linguagem natural a detec o autom tica de conflitos entre requisitos Em rela o aos resultados da verifica o uma poss vel amplia o envolveria a cria o de um formul rio para uso dos humanos na identifica o de erros discrep ncias e omiss es em requisitos Este formul rio deveria ser pensado de forma a viabilizar de forma autom tica a consolida o por um agente de software dos relat rios gerados pelo grupo de verificadores As tabelas para a an lise de omiss es de RNF s poderiam ser ampliadas de modo que o engenheiro de requisitos pudesse indicar as compara es que executadas de forma autom tica lhe subsidiassem de forma mais intensa a an lise de omiss es e de discrep ncias Controle das modifica es em requisitos nossa estrat gia destaca especificamente um ag
220. ou mapas de t picos Mapas de t picos podem ser caracterizados como um padr o para descrever estruturas de conhecimento e associ las a recursos de informa o Pepper00 As entidades b sicas presentes em tais mapas s o t picos de informa o associa es e ocorr ncias Um t pico pode representar uma entidade ou um objeto uma associa o relaciona dois t picos de acordo com um crit rio e uma ocorr ncia pode representar um atributo de t picos ou de associa es PUC Rio Certifica o Digital N 0210680 CA Proposta para An lise de Requisitos utilizando PLN 72 No contexto deste trabalho itens da taxonomia e requisitos foram caracterizados como t picos e associa es foram utilizadas para registrar as liga es de cada termo da taxonomia aos requisitos relacionados Denominamos relacionado a associa o entre termos da taxonomia e requisitos associados No contexto de requisitos associa es tamb m podem ser utilizadas para registro da rastreabilidade e consultadas para an lise de impacto em eventos de mudan as se o item representa por exemplo um requisito n o funcional os requisitos funcionais a ele associados tamb m devem ser avaliados quando ocorre uma altera o na pol tica ou procedimentos correlatos ao requisito n o funcional Mapas de t picos podem ser representados com uso do XML e a linguagem XTM XML Topic Maps foi criada para facilitar a troca de Topic Maps entre aplica es Pepper01
221. ove temp temp StringUtils remove temp temp StringUtils remove temp temp StringUtils remove temp temp StringUtils remove temp temp StringUtils remove temp temp StringUtils remove temp temp StringUtils remove temp temp StringUtils remove temp temp StringUtils remove temp temp StringUtils remove temp temp StringUtils remove temp temp StringUtils remove temp temp StringUtils remove temp lt temp StringUtils remove temp gt temp StringUtils remove temp temp StringUtils remove temp temp StringUtils remove temp temp StringUtils lowerCase temp E for String stopWord stopList temp StringUtils replace temp stopWord STOPWORD return temp PUC Rio Certifica o Digital N 0210680 CA 179 private void dumpText File txtFile String text throws IOException BufferedWriter writer new BufferedWriter new File Writer txtFile writer write text writer close Agente Construtor do L xico lexicalConstructor java package requisitos agents import java io Buffered Writer import java io File import java io File Writer import java io IOException import java util List import java util Map import org midas as agent board Board import org midas as agent board Message import org midas as agent board MessageListener import org midas
222. p 36 57 Dag01 Dag J N Regnell B Carlshamre P Andersson M amp Karlsson J Evaluating Automated Support for Requirements Similarity Analysis in Market Driven Development In 7th Int Workshop on Requirements Engineering Foundation for Software Quality June 4 5 2001 Interlaken Switzerland Proceedings Daile96 Daille B Study and Implementation of Combined Techniques for Automatic Extraction of Terminology In Klavans J Resnik P The Balancing ACT Combining Symbolic and Statistical Approaches to Language The MIT Press 1996 pp 49 66 Damian03 Damian D Eberlein A Shaw M amp Gaines B Facilitation in Distributed Requirements Engineering Requirements Engineering Journal 8 1 2003 pags 23 41 Damian03a Damian D amp Zowghi D RE challenges in multi site software development organizations Requirements Engineering Journal 8 3 2003 pgs 149 160 Davis93 DAVIS Alan et al Identifying and Measuring Quality in Software Requirements Specifications In IEEE CS INTERNATIONAL SOFTWARE METRICS SYMPOSIUM 1 1993 Baltimore Proceedings Los Alamitos California IEEE Computer Society Press may 1993 p 141 152 Dellen96 Delle B amp Maurer F Integrating Planning and Execution in PUC Rio Certifica o Digital N 0210680 CA 149 Software Development Process In Workshop on Enabling Technologies Infrastructure for Collaborative Enterprises WET ICE 96 Proceeding
223. po de PUC Rio Certifica o Digital N 0210680 CA Proposta para An lise de Requisitos utilizando PLN 86 engenheiros de requisitos atua buscando identificar junto a clientes e usu rios as caracter sticas e funcionalidades a serem atendidas pelo sistema a ser desenvolvido As diferentes capacidades ling sticas dos engenheiros de requisitos podem levar ao registro de requisitos em diferentes estilos e ent o teremos que lidar com a avalia o de requisitos expressos em diferentes graus de abstra o ou mesmo utilizando diferentes termos para um mesmo conceito Outro problema a ser abordado est na pr pria classifica o geral dos requisitos como requisitos n o funcionais ser o implementados atrav s de funcionalidades no sistema alguns engenheiros de requisitos os classificam incorretamente como funcionais Nos documentos de requisitos que analisamos foi freqiiente o caso de requisitos n o funcionais de controle de acesso serem classificados como requisitos funcionais Avaliar ent o a aus ncia de requisitos n o funcionais implica na avalia o de todo o conjunto de requisitos dado que eles podem estar classificados incorretamente Como avaliar de forma objetiva o conjunto de requisitos resultando em informa es claras sobre a presen a ou aus ncia de requisitos n o funcionais no documento avaliado N o existem vari veis concretas a serem medidas nem mesmo um vocabul rio padr o para uso no registro dos requisitos
224. preens o dos interessados e a completude dos requisitos Ponto de decis o Elicita o de eee requisitos Classificagao e organiza o dos requisitos gt _ gt Documenta o dos requisitos Prioriza o e negocia o dos requisitos Figura 4 Ciclo de elicita o e an lise Sommerville04 Os v rios artefatos gerados durante o processo de requisitos visam registrar as necessidades e expectativas dos interessados facilitar a comunica o com clientes e usu rios e tamb m servir como base para o desenho e implementa o do sistema Um desses artefatos denominado de Documento de Requisitos a base para o desenvolvimento do software os requisitos nele registrados delimitam a abrang ncia do software estabelecem funcionalidades requisitadas pelo conjunto de clientes e usu rios fornecem subs dios para o processo de verifica o e valida o do software constru do N o se questiona a import ncia do processo de requisitos para o sucesso de um projeto de software sem um documento de requisitos de qualidade as estimativas de custos ficam prejudicadas o cronograma de execu o passa a ser apenas uma estimativa n o h como afirmar que um projeto foi conclu do como saber se todos os requisitos foram implementados o processo de valida o do software pelos usu rios dificultado Estas duas abordagens para o processo de requisitos diferem na estrutura o das v rias atividades mas coincidem na
225. private static final Log LOGGER LogFactory getLog Lexical class 168 PUC Rio Certifica o Digital N 0210680 CA 169 Constants private static final String STOPWORD StOp WoRd MH Agent Interface II Override protected void lifeCycle throws LifeCycleException InterruptedException Se registra no BlackBoard Board addMessageListener Lexical this public void boardChanged Message msg Override public void provide String service Map lt String Object gt in List lt Object gt out throws ServiceException Extrai os requisitos de um documento texto para cada requisito cria um objeto do tipo Requirement e retorna todos em uma lista x if service equals extractRequirements Entrada File file File in get file Execu o List lt Requirement gt requirementList extractRequirements file Saida out add requirementList PO TT TT Servi o E concordance Dado um tema e um conjunto de requisitos realiza a concordancia selecionando os trechos em que o tema aparece junto com as cinco palavras anteriores e posteriores utiliza a stopList como filtro de identifica o para palavras irrelevantes else if service equals concordance PUC Rio Certifica o Digital N 0210680 CA 170 Entrada Theme theme Theme in get theme List lt String gt stopList List lt String gt in get
226. proc waitFor private void invokeStem String pretexPath throws IOException InterruptedException System out println className Rodando stem p1 Roda stem pl Runtime runtime Runtime getRuntime Process proc runtime exec cmd exe c stem bat C Perl bin 2 gt nul 1 gt nul new String new File pretexPath MH InputStream inputstream proc getInputStream InputStreamReader inputstreamreader new InputStreamReader inputstream BufferedReader bufferedreader new BufferedReader inputstreamreader String line while line bufferedreader readLine null System out printIn line proc waitFor private void createRequirementFiles String pretexPath Set lt Requirement gt requirements throws IOException System out println className Criando arquivos de requisitos for Requirement requirement requirements File reqFile new File pretexPath docs requirement getCode txt BufferedWriter writer new BufferedWriter new FileWriter reqFile writer append requirement getCode requirement getTitle n requirement getText writer close private void cleanDirectories String pretexPath System out println className Limpando Diret rios File docsDir new File pretexPath docs File docsFiles docsDir listFiles for File file docsFiles PUC Rio Certifica o Digital N 0210680 CA
227. produto gt portabilidade gt adaptabilidade gt produto gt usabilidade gt produto gt usabilidade gt flexibilidade gt produto gt usabilidade gt operabilidade gt produto gt usabilidade gt web gt suporte gt suporte gt documenta o gt suporte gt treinamento oa N 200 400 400000000W0NONOOOO Figura 48 Resultados para o documento exit Sistema Exit A an lise do relat rio gerado a partir das informa es registradas no dicion rio de RNF s para o Sistema Exit indica que devem ser verificadas as seguintes discrep ncias e ou omiss es foram detectados 16 refer ncias a express es relacionadas linguagem na categoria processo mas n o houveram refer ncias a outras categorias relacionadas a processo Deve ser verificada a aus ncia de referencias utiliza o de padr es no processo de desenvolvimento h um n mero significativo de refer ncias a sistemas externos 87 indicando intensa troca de informa es entre o sistema em desenvolvimento e outros Deve ser verificado o impacto em rela o ao desempenho esperado do sistema nao h refer ncias expl citas a RNF s de documenta o Novamente este aspecto dever ser reavaliado pois trata se de empresa certificada por modelos de qualidade PUC Rio Certifica o Digital N 0210680 CA Estudos de Caso 127 h apenas uma refer ncia a express es relacionadas usabilidade verificar este aspecto no docum
228. que s o relacionados a ele e portanto tamb m s o relevantes O processo de busca de contexto procura pelo tema da taxonomia inicial e retira para an lise PUC Rio Certifica o Digital N 0210680 CA Proposta para An lise de Requisitos utilizando PLN 67 uma sub senten a que composta pelo tema considerado e pelas palavras imediatamente sua esquerda e sua direita Para cada um dos temas da taxonomia inicial vamos ent o obter um conjunto de sub senten as que ser analisado para a extra o de coloca es ou de termos para o segundo n vel da taxonomia Este processo pode ser visualizado na Figura 13 crit rios de relev ncia taxonomia stop list y E y documento de buscar contexto contexto identificar termos selecionar termos taxonomia requisitos 5 X relevantes temos para taxonomia enriquecida candidatos Figura 13 Processo para enriquecer a taxonomia A busca de contexto trabalha com cada um dos termos da taxonomia inicial varrendo o texto do documento de requisitos e buscando identificar a presen a do termo Quando isto acontece extra da uma sub senten a composta do termo das cinco palavras sua esquerda e das cinco palavras sua direita Esta quantidade pode ser menor se por exemplo for encontrado o final do par grafo antes que esse n mero seja atingido Procedimento similar executado em rela o ao in cio do par grafo A Figura 1
229. quisitos basta que tais documentos utilizem a linguagem natural Enquanto a abordagem descrita em Boyd05 utiliza um sub conjunto restrito da l ngua natural nossa abordagem n o restringe o uso da l ngua portuguesa nos documentos que manipula Nosso objetivo identificar atores sujeitos e recursos objetos relevantes de forma a apoiar a constru o ou atualiza o do l xico da aplica o O processo criado tamb m til na constru o de um l xico para o dom nio da organiza o pois em organiza es utilizando desenvolvimento distribu do de software dificuldades derivadas de diferentes capacidades ling sticas diferen as culturais e delays de comunica o tornam mais presente a necessidade de um l xico abrangente Nossa abordagem utiliza tamb m uma stop list constitu da de termos n o relevantes para o dom nio considerado permitindo ajustes nos termos a serem extra dos e gerando resultados mais precisos na avalia o futura de documentos de um mesmo dom nio A incorpora o de um lematizador tamb m possibilitaria a extra o de sin nimos Assim como enfatizado por Harmain e Gaizauskas Hairmain00 consideramos que os resultados obtidos n o prescindem do processo de revis o e avalia o por especialistas do dom nio os sujeitos e objetos extra dos atrav s do processo proposto constituem um subs dio importante para a constru o ou atualiza o do l xico da aplica o Identifica o de duplicidade em
230. quisitos cedidos por uma organiza o que utiliza DDS tais documentos eram vers es ainda n o verificadas e validadas mas em princ pio deveriam ser completas no sentido de abarcar todas as funcionalidades e atender as restri es colocadas para o sistema Para que efetivamente a plataforma possa ser utilizada em ambientes distribu dos necess rio que os requisitos possam ser submetidos por engenheiros de requisitos localizados em ambientes geograficamente distantes A Figura 42 apresenta a interface para a manuten o do documento de requisitos requisitos podem ser inclu dos modificados ou exclu dos via Web Gera o de vis es mapas no processo de V amp V os participantes podem desejar obter uma particular vis o dos requisitos buscando avaliar o conjunto de requisitos associados a um determinado tema Para esse tipo de solicita o a plataforma prov uma interface onde o usu rio seleciona o projeto informa o tema e solicita as associa es relevantes A plataforma identifica as associa es e as avalia atrav s das medidas de informa o m tua e score T o usu rio pode ent o solicitar a gera o do mapa visual correspondente Isto pode ser visualizado na Figura 43 PUC Rio Certificagao Digital N 0210680 CA Proposta de uma Arquitetura de Agentes 109 A Rq NET gerente Microsoft Internet Explorer Ele Edit View Favorites Tools Help O O HAO Pwo fra O E Adress ht focahost s060jreqnebjneb requsts sp
231. r es da organiza o para o qual ele est sendo constru do al m de atender legisla o em vigor Restri es derivadas do contexto de opera o tamb m devem ser consideradas e portanto nesta etapa n o apenas os clientes e usu rios devem ser ouvidos Na fase de modelagem os requisitos s o registrados de acordo com um modelo tal como senten as de requisitos cen rios casos de uso est rias do usu rio O uso da linguagem natural no registro dos requisitos facilita a comunica o entre os clientes usu rios e engenheiro de requisitos e possibilita posteriormente a valida o desses mesmos requisitos por parte dos clientes e PUC Rio Certifica o Digital N 0210680 CA Processo de Requisitos PLN e Agentes 29 usu rios O uso de modelos formais para o registro de requisitos facilita atividades de verifica o mas dificulta atividades de valida o pois clientes e usu rios teriam que utilizar e compreender esses modelos formais j o uso da linguagem natural n o traz dificuldades adicionais ao processo pois ela a linguagem utilizada normalmente pelos interessados Na fase de an lise os requisitos s o verificados em rela o ao modelo sendo utilizado e em rela o ao atendimento das solicita es de clientes e usu rios Durante a verifica o busca se identificar no documento de requisitos discrep ncias erros e omiss es este processo realizado pelos profissionais de software O documento avaliad
232. r vis o textual dos agrupamentos identificados gerar mapa XTM para possibilitar vis es gr ficas Enviar notifica es notificar interessados via agente Comunicador Figura 36 Responsabilidades e colabora es do agente Validador Vis es Comunicador 4 3 4 8 Agente Comunicador O agente Comunicador do L xico respons vel pelo envio de mensagens aos participantes do processo de desenvolvimento notificando os em rela o a eventos de seu interesse como defini o de agendas para os processos de verifica o valida o ou modifica es ocorridas nos requisitos do sistema A Figura 37 ilustra as principais responsabilidades e colabora es deste agente Agente Colaboradores Comunicador Analisador Responsabilidades L xico Envio de mensagens e notifica es E o B respons vel pelas comunica es entre agentes e algagor participantes do processo de requisitos z at 0 xico Observador Figura 37 Responsabilidades e colabora es do agente Comunicador 4 3 4 9 Agente Observador O agente Observador respons vel pelo monitoramento de opera es de escrita nos artefatos de requisitos e em caso de altera o o respons vel por notificar os interessados A Figura 38 ilustra as principais responsabilidades e colabora es deste agente PUC Rio Certifica o Digital N 0210680 CA Proposta de uma Arquitetura de Agentes 105 Agente O
233. r96 Wilson97 Rosenberg98 Uma ferramenta denominada de ARM Automated Requirement Measurement extrai um conjunto de m tricas A ferramenta obt m valores indicativos de linhas de texto indicador do tamanho do documento imperativos frases indicando a o continua o frases que introduzem a especifica o de requisitos de n vel mais baixo diretivas refer ncias para tabelas figuras notas frases d bias contendo palavras amb guas incompletos os denominados TBD s to be defined e escolhas op es palavras que mostram aus ncia de defini o Os valores obtidos devem ser comparados em rela o m dia de outros documentos da organiza o apontando desvios e pontos que devem receber avalia o e talvez medidas corretivas Gervasi e Nuseibeh Gervasi02 defendem a utiliza o de m todos formais leves para a valida o autom tica de requisitos escritos em linguagem natural Um documento de requisitos com aproximadamente 250 p ginas foi analisado com a utiliza o de diversas ferramentas entre elas Circe e Cico que d o suporte extra o de modelos dos requisitos e sua valida o O trabalho realizado coletou tamb m um conjunto de m tricas sobre o documento de requisitos o sistema nele descrito e o pr prio processo de escrita do documento Em outra linha de trabalho Palmer e Liang Palmer92 buscaram t cnicas para agrupar requisitos idealizando um algoritmo que foi denominado de Two Tiered Clu
234. refer ncias para desconex o ou cadastramento de usu rios do sistema 5 3 Estudo de caso documentos E commerce entrega e E commerce vendas O documento denominado de E commerce entrega um documento de requisitos para um sistema de controle de entregas de mercadorias vendidas on line Em rela o linguagem utilizada e representa o de requisitos o documento possui as mesmas caracter sticas do documento Escalas j referido na se o anterior O total de casos de uso neste documento de vinte e seis com cinco especifica es suplementares relacionadas a requisitos n o funcionais O total de palavras neste segundo documento de quatro mil quinhentos e trinta e nove O documento E commerce vendas tamb m caracterizado como documento preliminar de requisitos para um sistema de vendas on line Parte desses casos de uso est descrita de forma sucinta em poucas linhas para posterior detalhamento Em rela o linguagem utilizada e representa o de requisitos ele possui as mesmas caracter sticas do documento Escalas Neste documento o total de casos de uso de duzentos e seis com sete especifica es suplementares relacionadas a requisitos n o funcionais O total de palavras neste segundo documento de trinta e dois mil trezentos e trinta e oito palavras Ambos os documentos foram cedidos pela Tlantic Sistemas de Informa o Este experimento foi realizado visando utiliza o do dicion rio de
235. rements without extra knowledge On the other hand in the current global economy software development for teams geographically distributed is becoming a rule In this scenario requirements verification and validation for medium or high complexity software can involve the treatment of hundreds or even thousand requirements With this complexity order it is important to provide computational support for the software engineer execute quality activities In this work we propose a strategy which combines natural language processing NLP techniques and software agents to support analysis activities We have generated textual or graphical visions from groups of related requirements visions help completeness analysis identification of duplicities and dependences among requirements We use content analysis techniques to support the identification of omissions in nonfunctional requirements Also we propose a strategy to construct the lexicon using NLP techniques We use software agents to implement web services that incorporate the related strategies and also agents to act as personal assistants for stakeholders of the software project Keywords Requirements analysis requirements clustering requirements visions requirements verification and validation lack of nonfunctional requirements requirements and natural language processing software agents and requirements management PUC Rio Certifica o Digital N 0210680 CA Sumario 1 Intr
236. requisitos PUC Rio Certifica o Digital N 0210680 CA Proposta para An lise de Requisitos utilizando PLN 90 3 3 2 3 Executar an lise de conte do para RNF s A etapa de an lise de conte do para identificar presen a ou aus ncia de RNF s em documentos de requisitos deve ser executada a cada modifica o no documento de requisitos O documento de requisitos analisado buscando se identificar a presen a de cada uma das express es registradas no dicion rio de RNF s Os resultados deste processo s o expressos em forma de tabelas a mais simples uma tabela de freqii ncia conforme pode ser visualizado na Figura 26 Palavra Frequ ncia Propor o executa executadas execu o exemplo exibe exibe as exibidas exibindo exibir existe existem existentes exist ncia exportados exportar exporta o extemos extras facilitando faixa fazendo fazer fechar feriado feriados E eed SOS ed o d L Lad LS Lnd Land Land Land a DO a ES Exportar Figura 26 Frequ ncia das palavras no documento de requisitos E gerado um relat rio apresentando para cada uma das categorias o detalhamento de frequ ncia de cada express o registrada e o escore correspondente O relat rio consolida as informa es de acordo com a hierarquia associada a cada um dos RNF s conforme apresentado na Figura 27 PUC Rio Certifica o Di
237. requisitos podem ser inseridos exclu dos ou modificados nos estados de pr verifica o ou de verifica o n o s o mais aceitas modifica es Ap s a conclus o da verifica o o estado retorna para aberto De maneira an loga no estado de pr valida o e de valida o n o s o aceitas modifica es em requisitos Solicita es de servi os s o feitas tamb m atrav s do blackboard o agente que requisita o servi o coloca a requisi o no blackboard cada agente que monitora o ambiente detecta a chegada de uma solicita o e verifica se ele que deve atender solicita o A solicita o de servi os tem um protocolo padr o que registra o nome do servi o e par metros de entrada e sa da 4 3 3 Reposit rio de artefatos e de informa es sobre projetos A organiza o deve manter um reposit rio de artefatos relacionados ao projeto entre eles o documento de requisitos Requisitos s o armazenados individualmente e eventualmente reunidos num nico documento Cada requisito possui um conjunto de atributos que o identifica e prov outras informa es Para ter acesso aos requisitos e demais artefatos utilizados ou gerados na fase de requisitos os participantes do projeto s o cadastrados Uma importante PUC Rio Certifica o Digital N 0210680 CA Proposta de uma Arquitetura de Agentes 100 informa o al m do perfil do participante o endere o eletr nico Atrav s deste endere o o particip
238. res ou vis es que possam ser associadas a caracter sticas ou propriedades do sistema tornam se necess rios Palmer92 Gruenbacher01 Diferentes vis es do documento de requisitos geradas a partir de crit rios previamente definidos possibilitam que o participante escolha um conjunto de requisitos para analisar No contexto deste trabalho denominamos vis o dos requisitos a um conjunto de requisitos com caracter sticas em comum apresentado de forma textual ou gr fica A vis o obtida pela aplica o de uma estrat gia que combina t cnicas de processamento da linguagem natural e uso de taxonomias A necessidade de vis es de requisitos maior em ambientes distribu dos de desenvolvimento onde os participantes est o geograficamente distantes e sujeitos s dificuldades de comunica o dentre outras Diferentes vis es de requisitos podem ser atribu das a diferentes participantes para os processos de verifica o e valida o Acreditamos que a identifica o de caracter sticas relevantes da aplica o associadas a vis es textuais ou gr ficas dos requisitos relacionados possa auxiliar tamb m o trabalho do gerenciamento de requisitos principalmente em ambientes distribu dos de desenvolvimento Dificuldades inerentes a este ambiente podem tornar mais trabalhosas as atividades relacionadas ao processo de verifica o e valida o de requisitos A identifica o de grupos de requisitos relacionados pode tamb m ser utiliza
239. resentado como um vetor dos termos que ocorrem no documento os vetores s o derivados de matrizes termo documento cuja estrutura similar apresentada na Tabela 3 Em matrizes termo documento colunas representam termos e linhas representam documentos Cada um dos n documentos representado por um vetor de tamanho t onde t corresponde ao n mero de termos o vetor pode representar todos os termos existentes no conjunto de documentos ou ainda todos os termos relacionados num dicion rio Os valores nas c lulas registram o peso que um determinado termo representa para cada um dos documentos que faz parte do reposit rio ou do conjunto avaliado Tabela 3 Estrutura gen rica para uma matriz termo documento termo Peso 2 peso O peso de um termo indica a relev ncia desse termo para o documento em quest o e seu valor nulo para termos que n o estejam presentes no documento Existem diversas abordagens para defini o do peso de cada termo num documento a frequ ncia uma medida presente em v rias f rmulas para o c lculo do peso Entre as abordagens mais fregiientemente utilizadas est o boolean tf abrevia o para term frequency ou ffidf abrevia o para term frequency inverse document frequency Na medida boolean o valor do peso zero se o termo n o est presente no documento ou 1 caso contr rio Esta uma medida extremamente simples de ser computada e quando utilizada
240. reserva RF31 Manter Viagem de Cliente disponibiliza as principais informa es da viagem do cliente A partir desta tela o funcion rio pode executar todas as ac es relacionadas ao processo de reserva As principais funcionalidades que poder o ser executadas s o Modificar o funcion rio respons vel pela reserva Delegar Reserva RF33 Consultar Produtos da Viagem Este caso de uso deve exibir uma lista com os produtos vinculados viagem disponibilizando informa es b sicas de cada um deles tais como o tipo do produto Avi o Hotel etc o fornecedor a situa o da reserva as datas a descri o os custos dentre outras Um produto pode ter as seguintes situa es de reserva Aguardando Reserva Aguardando Confirma o de Reserva Reserva Confirmada Reserva n o Confirmada Reserva Cancelada RF34 Efectuar Ac o Sobre Produto ac o sobre o produto da viagem As ac es sobre produtos s o as seguintes Aguardar Pagamento Quando o cliente aceita a proposta e confirma a reserva por m ainda n o efectua nenhum pagamento assim colocado o estado do pedido em aguardando pagamento RF37 Adicionar Produto Viagem oe vai ser realizado quando o funcion rio seleccionar um produto para reserv lo O sistema ir adicionar o produto Viagem do cliente Em mapas de t picos as associa es s o estabelecidas entre pares de t picos e no nosso caso cada associa
241. revisto para a tarefa O gerente de projeto depende tamb m do comprometimento dos representantes de clientes e usu rios para as atividades do processo de requisitos O engenheiro de requisitos depende dos representantes de clientes e usu rios que os requisitos sejam definidos e validados e dos inspetores para que os requisitos sejam verificados e atendam a crit rios de qualidade Representantes de clientes e usu rios dependem do engenheiro de requisitos para obter os artefatos que ser o utilizados nas atividades de V amp V e o inspetor depende do engenheiro de requisitos para obter o documento de requisitos a ser verificado Em nossa proposta argumentamos que agentes de software s o adequados para o atendimento de algumas atividades relacionadas V amp V A implementa o desta proposta envolve agentes e componentes inter relacionados para atendimento das seguintes caracter sticas ag ncia diferentes pap is a serem desempenhados pelos agentes na representa o dos interessados reais servi os de comunica o para possibilitar a troca de informa es entre usu rios e agentes de software e para notifica o dos interessados na ocorr ncia de eventos servi os de gerenciamento para possibilitar aos agentes o monitoramento de modifica es no ambiente e eventos significativos nesse contexto persist ncia de dados armazenamento de informa es relacionadas a projetos e usu rios e uma baseline para artefatos de requisitos L
242. ria de software destinada a apoiar uma equipe de desenvolvimento num ambiente geograficamente distribu do Wongthongthan06 V rios outros relatos apontam solu es para ambientes distribu dos utilizando agentes de software Gaeta02 Chang01 este ltimo especificamente numa ferramenta de suporte ao processo de requisitos num ambiente distribu do Nos experimentos realizados identificamos que diferentes t cnicas para tratamento de linguagem natural podem ser compostas e associadas a outras de forma a prover um novo tratamento para os dados Desta forma um conjunto inicial de tratamento da informa o destinado a apoiar atividades de verifica o e valida o pode ser rapidamente incrementado reutilizando algumas das t cnicas ja implementadas Web Services prov em um paradigma apropriado para o desenvolvimento de sistemas com estas caracter sticas porque s o independentes de aplica es plataformas e provedores 4 1 Adequa o de Web services e agentes Tipicamente em ambientes distribu dos de projeto os recursos de informa o s o din micos e muitas vezes heterog neos Al m disso estes ambientes de computa o normalmente s o din micos onde recursos de informa o podem ser conectados e desconectados a qualquer momento Agentes de software capturam e implementam servi os como funcionalidades e pap is Da perspectiva de agentes servi os Web s o simplesmente entidades program ticas que podem ser chamadas para
243. rm confirma o confirm confirma confirmaCa Nosso primeiro experimento utilizou um documento de requisitos para a rea do turismo e pela tabela pode se observar que nenhuma das implementa es teve sucesso no agrupamento de palavras acentuadas ou com caracteres como o cedilha Partimos ent o para a busca de um outro stemmer e localizamos um algoritmo criado especificamente para a l ngua portuguesa Esse algoritmo foi proposto por Orengo e Huick e est descrito em Orengo01 Este ltimo algoritmo um pouco mais sofisticado que o de Porter pois considera as classes morfol gicas das palavras sendo avaliadas Ao termo em an lise s o aplicados oito procedimentos seqiienciais a saber redu o do plural redu o do feminino redu o de adv rbio redu o do aumentativo e do diminutivo redu o de formas nominais redu o das termina es verbais redu o da vogal tem tica e finalmente remo o dos acentos Na redu o do plural busca se retirar o sufixo indicativo de plural normalmente a letra s Exemplo de exce o a esta regra s o as palavras que terminam em s e n o representam termos no plural exemplo cais ou palavras que terminam em ns e cujo singular termina em m exemplo itens Na redu o para o feminino substantivos e adjetivos terminados em a e s o modificados para corresponder ao g nero masculino da palavra trocando o a final por o Encontramos como exce o neste caso palavras como po
244. rtuguesa portugu s PUC Rio Certifica o Digital N 0210680 CA Processo de Requisitos PLN e Agentes 50 chinesa chin s Redu o de adv rbio retira o sufixo mente a n o ser que a palavra seja uma das exce es registradas como a palavra experimente Redu o do aumentativo e diminutivo retira sufixos como inho ou inha casinha carrinho indicativos de diminutivo e aqueles indicativos de aumentativo como o e ssimo burac o e felic ssimo A redu o de formas nominais atua sobre substantivos e adjetivos identificando aqueles cuja termina o est relacionada numa lista com 61 sufixos se sufixos s o removidos nesta etapa as pr ximas duas n o ser o executadas Na redu o das termina es verbais busca se obter o radical do verbo j que a l ngua portuguesa utiliza mais de 50 diferentes formas verbais para os verbos regulares Na remo o de vogal tem tica busca se obter o radical de palavras n o tratadas anteriormente como por exemplo a palavra menino que ser transformada no radical menin O ltimo procedimento remo o dos acentos retira acentos que poderiam diferenciar palavras com um mesmo radical como por exemplo psic logo e psicologia Cada procedimento possui um conjunto de regras e apenas uma regra em cada procedimento aplicada ao termo sendo avaliado O procedimento visa remover o sufixo mais longo poss vel no caso de redu o do plural da palavra alugu is ser tratado o sufixo is
245. s amplificada se o n mero de requisitos a ser verificado ou inspecionado da ordem de centenas ou mesmo milhares O agrupamento de requisitos contribui n o s para a organiza o do trabalho atrav s da gera o de grupos menores de requisitos relacionados mas tamb m agiliza atividades pr prias aos processos de verifica o e valida o como por exemplo verifica o da completude No processo de valida o engenheiro de requisitos e representantes do cliente e dos usu rios avaliam a SRS e interagem com o objetivo de assegurar que os requisitos ali relacionados pelo engenheiro de requisitos correspondem ao esperado por usu rios e clientes Cada representante dos usu rios traz a vis o do grupo ao qual ele pertence operacional gerencial decis rio e possui determinados interesses e necessidades em rela o ao sistema a ser desenvolvido Neste processo visualizamos o conjunto de requisitos dividido em agrupamentos que correspondem a diferentes caracter sticas facilitando para o cliente ou usu rio o processo de identificar se as funcionalidades e restri es necess rias ao atendimento de seu trabalho est o refletidas no documento sendo avaliado Consideramos que as tarefas de verifica o e valida o podem ser parcialmente automatizadas por agentes de software Nesse contexto a cada ator corresponde um agente que age em seu nome executando a es em acordo com a perspectiva de seu papel e seguindo o estabelecido em um p
246. s gt interoperabilidade gt importar dados RNFS gt requisitos nao funcionais gt extemos gt interoperabilidade gt importa o RNFS gt requisitos n o funcionais gt extemos gt interoperabilidade gt importa o de dados RNFS gt requisitos n o funcionais gt extemos gt interoperabilidade gt integra o RNFS gt requisitos n o funcionais gt extemos gt interoperabilidade gt migra o de dados RNFS gt requisitos n o funcionais gt extemos gt interoperabilidade gt sistema extemo RNFS gt requisitos nao funcionais gt extemos gt interoperabilidade gt transfer ncia de dados RNES gt requisitos n o funcionais gt extemos gt legais RNFS gt requisitos n o funcionais gt extemos gt legais gt intemacionaliza o Loto e elniniololnin alululwlul 2 BlololBlolololo Exibir apenas categorias Exportar Figura 27 Frequ ncia das categorias e express es no documento de requisitos Caso a organiza o disponha de um documento de requisitos considerado que seja considerado como modelo em termos de RNF s esse documento poder ser base para compara es conforme visualizado na Figura 28 Esses relat rios subsidiam o engenheiro de requisitos na avalia o das omiss es no documento de requisito e elabora o de outras an lises entre as quais destacamos e coer ncia entre
247. s pp 170 176 Dhavachelvan04 Dhavachelvan P Uma G V Reliability Enhancement in Software Testing An Agent Based Approach for Complex Systems Lecture Notes in Computer Science vol 3356 jan 2004 pp 282 291 El Emam00 El Emam K amp Birk A Validating the ISO IEC 15504 Measure of Software Requirements Analysis Process Capability Journal of Systems and Software 51 2 pp 119 149 Fagan86 FAGAN M E Advances in Software Inspections IEEE Transactions on Software Engineering vol SE 12 n 7 p 744 751 july 1986 Faltings00 Faltings B Intelligente Agents Software Technology for the new Millennium In Informatik 1 2000 Editorial pags 2 5 Disponivel em lt http www svifsi ch revue pages issues n001 no001 html gt Acesso em 11 12 2003 Fantechi05 Fantechi A Spinicci E A Content Analysis Technique for Inconsistency Detection in Software Requirements Documents Anais do WEROS Workshop em Engenharia de Requisitos Porto Portugal Junho 13 14 2005 pp 245 256 Ferber99 Ferber Jacques Multi Agent Systems an Introduction to Distributed Artificial Intelligence Pearson Edicational Limited 1999 Gaeta02 Gaeta M amp Ritrovato P Generalised Environment for Process Management in Cooperative Software Engineering In 26th Annual International Computer Software and Applications Conference COMPSAC 02 Proceedings Gershenson99 Gershenson J A amp Stauffer L A A taxonomy for
248. s N CPR N 5 administrador local N or N 7 habilita relat rio N N 5 Tabela 25 Contextos para simbolos do sistema de gestao de escalas administrador local Administrador Local respons vel em inserir os par metros espec ficos de sua unidade Tamb m respons vel pela atribui o de perfis aos funcion rios da unidade Leitor Local e Gestor de Escalas O usu rio com este perfil ser o respons vel em designar o administrador local do Gest o de Escalas nas lojas Este usu rio tamb m dever elencar quais s o os funcion rios que possuir o o perfil de Leitor Central Administrador Local solicita a tela de associa o Administrador Local seleciona o perfil desejado informa a funcionalidade e as opera es que deseja habilitar Este caso de uso permitir que o administrador local ou central designe senhas de acesso a utilizadores do sistema como gestores leitores etc Apenas usu rios que possuem senhas podem acessar o sistema 5 2 3 Omiss es em requisitos an lise de conte do para RNF s A an lise foi aplicada aos cinco documentos de requisitos referidos no in cio deste cap tulo e os resultados est o apresentados a seguir A Figura 49 apresenta os resultados obtidos com o documento escalas referido no in cio deste cap tulo PUC Rio Certifica o Digital N 0210680 CA Estudos de Caso 130 RNFS SISTEMA GESTOR DE ESCALAS TOTAL DE REFEREN
249. s da taxonomia centrada no processo de categoriza o que utiliza a taxonomia enriquecida O processo utilizado para categoriza o determin stico e trabalha com o reconhecimento de padr es Consultas por padr es possibilitam a identifica o de documentos que atendem a propriedades pr especificadas express es regulares padr es estendidos e radicais est o entre os tipos de padr o mais utilizados na recupera o de informa es Baeza Yates99 A Figura 15 esquematiza o processo de categoriza o crit rios de slats sepata o enriquecida documento de q requisitos categorizar isi consolidar i separar requisitos TCoUSTos _ 9 _requisitos relacionamentos requisitos individualizados requisitos categorizados relacionamentos taxonomia requisitos Figura 15 Processo para categoriza o de requisitos Separar requisitos consiste em individualizar requisitos que est o reunidos num nico documento Se n o existir uma delimita o clara do conjunto de frases que descrevem um requisito a pr pria identifica o do requisito pode ser utilizada para esta finalidade Esta etapa na verdade uma prepara o ao processo de categoriza o e pode ser dispensada se os requisitos j estiverem individualizados Para categorizar requisitos utilizamos a taxonomia enriquecida e a base para este processo utiliza os termos associados identificados pelas coloca es relevantes vej
250. s e usu rios Sommerville04 Essas meta quest es ser o respondidas pelos interessados com utiliza o de m todos e t cnicas apropriados a cada caso 2 2 Processo de requisitos em ambientes distribu dos de desenvolvimento Os desafios enfrentados no DDS t m sido avaliados segundo diferentes dimens es Segundo Par 99 times virtuais devem ser avaliados segundo as dimens es de tecnologia contexto ambiental e organizacional processo e din mica do time padr es de comunica o coopera o compartilhamento de informa es e estrat gias para gerenciamento do desenvolvimento Este framework Par 99 foi utilizado como ponto de partida para um estudo em empresas utilizando DDS os resultados desse estudo mostram que a dist ncia dificulta o comprometimento dos times e alinhamento com prop sitos assumidos Atividades sociais ou mesmo encontros casuais tamb m s o minimizadas tais atividades permitem o desenvolvimento do esp rito de equipe e diminuem a possibilidade de ocorr ncia de conflitos A dist ncia tamb m afeta atividades do PUC Rio Certifica o Digital N 0210680 CA Processo de Requisitos PLN e Agentes 33 gerenciamento do projeto a lideran a utiliza a comunica o para manter a uni o da equipe e motivar para o andamento do projeto Projetos bem sucedidos exigem planejamento detalhado maior esfor o e disciplina para seu acompanhamento gerenciamento por objetivos e uso de m todos padronizados
251. s em duplicidade Algumas modifica es nos padr es utilizados est o sendo experimentadas visando obten o de melhores taxas de recall e precision em rela o aos objetos recuperados Tamb m observamos alguns problemas decorrentes da inser o de etiquetas incorretas principalmente em rela o a objetos pois estes utilizam padr es mais gerais que aqueles utilizados para sujeitos Tabela 27 Valores de recall e precision dos s mbolos extra dos ecl suj ecl obj ec2 suj ec2 obj recall 92 100 78 78 precision 75 78 84 56 PUC Rio Certifica o Digital N 0210680 CA 6 Conclusoes Nesta tese apresentamos uma abordagem para automa o parcial de atividades associadas verifica o e valida o de requisitos Neste cap tulo estruturamos as se es de forma a apresentar na se o 6 1 um resumo das principais caracter sticas da abordagem proposta contribui es desta tese e aspectos da ferramenta para suporte abordagem Na se o 6 2 comparamos nosso trabalho com outros de alguma forma relacionados e discutidos limita es e restri es na se o 6 3 onde tamb m relacionamos trabalhos futuros 6 1 Abordagem proposta e contribui es A estrat gia proposta trabalha com requisitos escritos em linguagem natural dado que isto propicia maior envolvimento de clientes e usu rios no processo de requisitos como um todo e especificamente nas atividades de verifica o e vali
252. s foram propostos como um novo paradigma para incrementar o desenvolvimento de software numa ampla gama de aplica es Ponnurangam05 O sistema composto por agentes pessoais que interagem com o usu rio e executam tarefas espec ficas e agentes de servi o que executam em background e atendem ao usu rio de forma indireta Os agentes de servi o ou s o especializados em algum tipo de teste de software ou s o respons veis pela distribui o de recursos de forma eqiiitativa e eficiente T cnicas de processamento da linguagem natural e uso de agentes de software para apoio a atividades do processo de desenvolvimento de software portanto j t m sido apresentados na literatura Esta proposta utiliza algumas t cnicas de tratamento da linguagem natural para apoiar atividades de V amp V em requisitos e agentes de software na ferramenta de suporte 2 5 Alguns m todos e t cnicas de PLN para apoio ao processo proposto Na proposta apresentada nesta tese as estrat gias para apoio s atividades de verifica o e valida o de artefatos de requisitos utilizam diversos recursos da rea de Processamento da Linguagem Natural Nas se es a seguir descreveremos brevemente os m todos t cnicas e ferramentas dessa rea que subsidiaram a constru o da nossa estrat gia de trabalho para V amp V PUC Rio Certifica o Digital N 0210680 CA Processo de Requisitos PLN e Agentes 39 2 5 1 Part Of Speech Tagger POS tagger
253. s getRequirementDocument getName Valida o Caro user getUsername n n O documento vvproccess getRequirementDocument getName se encontra a partir de agora em processo de valida o Ann catch AddressException e TODO Auto generated catch block e printStackTrace catch MessagingException e TODO Auto generated catch block e printStackTrace catch Exception e TODO Auto generated catch block e printStackTrace private void finalization String documentName RequirementDocumentDao rdao RequirementDocumentDao A gentServer getA pplicationContext getBean requirementDocume ntDao List lt VerifyValidateProccess gt vvproccessList rdao getVerify ValidateProccessByDocumentName documentName VerifyValidateProccess vvproccess vvproccessList get vvproccessList size 1 Set lt User gt users vvproccess getUsers for User user users try Email EnviaEmail user getEmail Rq NET Notifica o sobre o Documento vvproccess getRequirementDocument getName Finaliza o Caro user getUsername n n O documento vvproccess getRequirementDocument getName teve seu processo de verifica o ou valida o finalizado Ele se encontra agora em aberto para modifia es e inser es PUC Rio Certifica o Digital N 0210680 CA catch AddressException e TODO Auto generated catch block e printStackTr
254. s no dicion rio de RNF s utilizado para o processo de identifica o de omiss es em requisitos Na inser o desses termos buscamos coloc lo junto ao conceito que melhor representasse o requisito n o funcional que o termo expressava 5 1 3 2 1 Instanciar dicion rio de RNF s para a organiza o O dicion rio instanciado n o pretende ser um cat logo de requisitos n o funcionais Como foi constru do a partir de documentos da pr pria organiza o ele pode ser inadequado se utilizado num outro contexto Procuramos evitar lacunas solicitando equipe de desenvolvimento da organiza o que revisasse a estrutura criada completando lacunas existentes A Figura 47 apresenta a estrutura utilizada para a verifica o de omiss es em requisitos do tipo RNF s resultado desse trabalho O conjunto de categorias est relacionado no anexo D PUC Rio Certifica o Digital N 0210680 CA Estudos de Caso 125 RNFS 40 requisitos nao funcionais amp extemos g comunica o sistemas extemos g custos o integra o sistemas extemos o interoperabilidade o legais amp processo g entrega g implementa o amp padr es amp produto o ambiente operacional gt confiabilidade gt confidencialidade g efici ncia g manuterubilidade o portabilidade o usabilidade amp suporte g documenta o g treinamento Figura 47 Estrutura do dicion rio de RNF s para identifica o de omi
255. s para o termo agentes mas a propriedade de autonomia apontada como fundamental para muitos autores Wooldridge99a O termo autonomia utilizado para indicar que agentes podem agir sem necessitar da interven o de usu rios humanos ou outros sistemas Aplica es utilizando agentes s o encontradas em diferentes dom nios e recentemente no dom nio da pr pria Engenharia de Software Himmelspach03 Dhavachelvan04 Grundy05 Wooldridge define agente como um sistema de computa o situado em algum ambiente e capaz de a es aut nomas sobre este ambiente de forma a PUC Rio Certifica o Digital N 0210680 CA Introdu o 19 atingir os objetivos desejados Wooldridge99a O agente monitora o ambiente atrav s de sensores e pode disparar a es que ir o atuar sobre esse mesmo ambiente a forma como isso ocorre aparenta n o determinismo Um agente tamb m visto como um elemento interativo adaptativo e aut nomo que possui seu pr prio ciclo de vida Em 2001 Jennings e Wooldridge Jennings01 apontavam que a tecnologia de desenvolvimento orientada a agentes ainda estava num est gio inicial mas que sua aceita o mostrava um futuro significativo na engenharia de software Trabalhos posteriores confirmaram essa previs o incluindo aplica es no pr prio processo de desenvolvimento de software Gaeta02 utilizou agentes no contexto do desenvolvimento distribu do de software com t cnicas de workflow e de gerenciament
256. s pela arquitetura de refer ncia WSA sendo baseada na coexist ncia de v rios containers cada um executando uma JVM Java Virtual Machine Cada m quina virtual prov um ambiente completo de execu o onde aplica es baseadas em agentes podem executar de forma concorrente no mesmo host A Figura 29 mostra a arquitetura gen rica do sistema detalhando os elementos da arquitetura do servidor de front end FES e dos containers de agentes AC Na Figura 29 o front end da plataforma Midas e o container de agentes e componentes j s o apresentados na forma como est o instanciados para o nosso trabalho Da plataforma Midas apresentaremos brevemente apenas caracter sticas importantes no contexto deste trabalho e detalharemos os aspectos dos agentes e componentes da aplica o PUC Rio Certifica o Digital N 0210680 CA Proposta de uma Arquitetura de Agentes 97 CONTAINER FRONT END MIDAS SOAP Gateway B M c E HTTP Gatewa L A A R BROKER A N T 0 C A A K G L K 0 B E o E o R G R General A Cache R I Descriptor D PROXY AGENT COMPONENT asi de dO ae A E 1588 A S A Verificador DataAcess i Oraaniza o Validador GUICompone 9 e H wie ne Je Figura 29 Arquitetura da plataforma Midas O front end Midas possui agentes internos que prov em servi os de infra estrutur
257. sa lt w POS PRP gt lt w POS N gt lt w POS N gt eusas lt w POS PRP gt lt w POS N gt lt w POS N gt ia lt w POS PRP gt lt w POS N gt lt w POS N gt ias lt w POS PRP gt lt w POS N gt lt w POS N gt ente lt w POS N gt lt w POS N gt entes lt w POS N gt lt w POS N gt enta lt w POS N gt lt w POS N gt entas lt w POS N gt lt w POS N gt or lt w POS N gt lt w POS N gt ores lt w POS N gt lt w POS N gt ora lt w POS N gt lt w POS N gt oras lt w POS N gt lt w POS N gt eiro lt w POS N gt lt w POS N gt eiros lt w POS N gt lt w POS N gt eira lt w POS N gt lt w POS N gt eiras lt w POS N gt lt w POS N gt rio lt w POS N gt lt w POS N gt rios lt w POS N gt lt w POS N gt adria lt w POS N gt lt w POS N gt drias lt w POS N gt lt w POS N gt s lt w POS N gt lt w POS N gt ses lt w POS N gt lt w POS N gt eses lt w POS N gt lt w POS N gt esa lt w POS N gt lt w POS N gt esas lt w POS N gt lt w POS N gt eus lt w POS N gt lt w POS N gt euses lt w POS N gt lt w POS N gt eusa lt w POS N gt PUC Rio Certifica o Digital N 0210680 CA lt w POS N gt eusas lt w POS N gt lt w POS N gt ia lt w POS N gt lt w POS N gt ias lt w POS N gt lt w PO
258. se a freqii ncia dos termos no documento e os do segundo n vel s o obtidos atrav s do uso de coloca es ou palavras que co ocorrem no texto com uma fregii ncia maior que o esperado pelo acaso Gera o de vis es de requisitos a literatura aponta poucas propostas com aplica o de t cnicas de visualiza o a requisitos Na rea de aspectos alguns trabalhos guardam semelhan as com o nosso em Baniassad04 apresentada uma t cnica para identifica o e an lise de aspectos em documentos de requisitos Vis es s o constru das expondo comportamentos do sistema atrav s de an lise l xica A estrat gia proposta por Silva06 para integra o de caracter sticas transversais utiliza visualiza o para mostrar relacionamentos transversais entre requisitos PUC Rio Certifica o Digital N 0210680 CA Conclus es 142 Recentemente a comunidade de Engenharia de Requisitos mostrou interesse na aplica o de t cnicas de visualiza o para requisitos a 14 TEEE International Requirements Engineering Conference 2006 colocou como um dos co eventos um workshop destinado especificamente a tratar do tema visualiza o em requisitos o International Workshop on Requirements Engineering Visualization Isto indica o grau de interesse atual da comunidade em trabalhos orientados gera o de visualiza es em requisitos Um dos trabalhos apresentados Ozkaya06 nesse evento trata do tema visualiza o de relacionamentos
259. sentada na Figura 23 medidas de stop list m trica similaridade as ao E Icular na requisitos preparar para requisitos gerar matriz modelo z r e requisitos processamento modificados termo documento de vetores Jaenulcar candidatos similaridades stemmer Figura 23 Processo para identifica o de requisitos similares Para o c lculo das similaridades utilizada uma matriz termo documento as linhas representam os requisitos da aplica o e as colunas os termos utilizados na defini o desses requisitos As c lulas de tais matrizes cont m uma m trica relacionada freq ncia do termo no documento e para o nosso caso utilizamos a freq ncia pura Tais matrizes podem apresentar problemas de alta dimensionalidade quantidade de termos e conter dados esparsos c lulas vazias ou com valor zero Para tratar esse problema utilizamos uma etapa de pr processamento descrita a seguir 3 3 1 1 Preparar para processamento O pr processamento dos documentos est baseado na utiliza o de uma stoplist e de um stemmer para obten o dos radicais stems dos termos A stop list utilizada inclui um conjunto de composto por artigos preposi es conjun es adv rbios Termos que fa am parte da stoplist ser o retirados do PUC Rio Certifica o Digital N 0210680 CA Proposta para An lise de Requisitos utilizando PLN 84 texto dos requisitos O uso do stemmer propicia o a
260. sintagmas indicam termos candidatos a s mbolos do tipo sujeito e ap s o processo de sele o que exclui aqueles com freqii ncia menor que quatro ou aqueles relacionados numa stoplist obtivemos vinte e tr s s mbolos do tipo sujeito De maneira an loga foram extra dos oitocentos e quarenta e sete sintagmas que ap s o processo de sele o resultaram em apenas trinta e dois candidatos a s mbolos do tipo objeto A Tabela 24 apresenta parte do conjunto de sujeitos e objetos selecionados e a Tabela 25 apresenta os contextos identificados para alguns dos s mbolos candidatos extra dos do documento PUC Rio Certifica o Digital N 0210680 CA Estudos de Caso 129 Tabela 24 Simbolos do tipo sujeito e objeto para o sistema de gestao de escalas Sujeito Padr o Freq Objeto Padr o Freq gestor N or N ores 101 banco de dados N PRP N 11 usu rio N rio 88 c lculo de estimativas N PRP N 10 gestor de escalas N or PRP N 68 sistema operacional N N 8 usu rio final N rio N 58 postos de servi os N PRP N 7 funcion rio N rio N 4rios 39 par metros de pesquisa N PRP N 7 administrador N or 28 solicita es de processamento N PRP N 6 colaborador N or N ores 22 lista de postos de servi os N PRP N PRP N 6 administrador central N or N 12 sistema administrador N N 5 leitor N or 8 relat rio de ocorrencias N PRP N 5 empresa N esa 7 log das ocorrencia
261. sitos neste documento s o definidos por uma ou mais senten as sendo ainda encontradas figuras ilustrativas nas descri es dos requisitos Na m dia cada requisito descrito por aproximadamente cento e oitenta palavras distribu dos em quinze linhas O documento est escrito na l ngua portuguesa parte dele na variante do Brasil A tabela 6 apresentada na se o 5 1 3 mostra exemplos de requisitos desse documento Documento cedido pela Tlantic Sistemas de Informa o Este documento passou incialmente por uma etapa de pr processamento PUC Rio Certifica o Digital N 0210680 CA Estudos de Caso 115 que o converteu do formato doc para o formato txt excluindo as figuras Sempre que poss vel as tabelas existentes no documento foram transformadas para texto Exemplos de requisitos desse documento podem ser vistos na Tabela 16 apresentada na se o 5 1 1 3 O documento tamb m foi submetido ao processo de individualiza o dos requisitos para uso nas etapas que trabalham com um requisito por documento 5 1 1 Gera o de vis es A gera o de vis es seguiu as etapas propostas no cap tulo 3 identifica o de termos para a taxonomia categoriza o dos requisitos e gera o e apresenta o das vis es 5 1 1 1 Identifica o dos termos para enriquecimento da taxonomia A taxonomia inicial foi composta pelos temas comunica o pacote viagem reservas pagamento sistemas externos e se
262. ss es 5 1 3 2 2 Executar an lise de conte do para RNF s A an lise foi aplicada ao documento e os resultados obtidos s o visualizados na Figura 48 PUC Rio Certifica o Digital N 0210680 CA Estudos de Caso 126 RNFS SISTEMA EXIT TOTAL DE REFERENCIAS A RNFS 323 gt externos 280 gt externos gt comunica o sistemas externos 11 gt externos gt custos 0 gt externos gt integra o sistemas externos 190 gt externos gt interoperabilidade 79 gt externos gt legais 0 gt processo 16 gt processo gt entrega 0 gt processo gt implementa o 16 gt processo gt implementa o gt linguagens 16 gt processo gt padr es 0 gt produto 27 gt produto gt ambiente operacional gt produto gt confiabilidade gt produto gt confiabilidade gt integridade dos dados gt produto gt confiabilidade gt seguran a gt produto gt confiabilidade gt toler ncia a falhas gt produto gt confidencialidade gt produto gt confidencialidade gt cadastrar usu rios gt produto gt confidencialidade gt conectar autenticar usu rios gt produto gt confidencialidade gt desconectar gt produto gt efici ncia gt produto gt efici ncia gt desempenho gt produto gt efici ncia gt recursos gt produto gt manutenibilidade gt produto gt manutenibilidade gt modifiabilidade gt produto gt manutenibilidade gt testabilidade gt produto gt portabilidade gt
263. stering TTC O objetivo do algoritmo agrupar um conjunto de M requisitos de forma que o n mero N de grupos seja tal que N lt lt M Os requisitos s o inicialmente agrupados considerando os verbos extra dos do documento e um thesaurus de verbos cuja constru o teve por base um trabalho anterior em requisitos de um sistema operacional Esses grupos iniciais s o ent o subdivididos em conjuntos similares utilizando a medida do coseno se o 2 5 3 PUC Rio Certifica o Digital N 0210680 CA Processo de Requisitos PLN e Agentes 38 O gerenciamento de processos distribu dos de engenharia de software apoiado por agentes foi descrito em Gaeta02 Desenvolvido no contexto do projeto GENESIS GEneralised eNvironment for procEsS management in cooperatIve Software engineering visando apoiar o gerenciamento de projetos e a comunica o entre engenheiros de software responsabiliza agentes pela manipula o de exce es pela sincroniza o de processos entre os sites distribu dos e pela monitora o e coleta de informa es relacionadas a processos A utiliza o de agentes de software para atividades de gerenciamento e controle da evolu o de requisitos em ambientes distribu dos de desenvolvimento foi relatado em Chang01 agentes m veis foram utilizados para gerenciamento e controle de vers es de documentos de requisitos distribu dos pelos diversos sites de uma organiza o Na rea de testes de software agente
264. t documenta o 0 gt suporte gt treinamento 0 Figura 49 Resultados para o documento escalas Sistema Gestor de Escalas A an lise do relat rio gerado a partir das informa es registradas no dicion rio de RNF s para o Sistema Gestor de Escalas aponta para as seguintes discrep ncias e ou omiss es n o foram detectados requisitos relacionados ao processo de desenvolvimento Como a organiza o certificada pelo CMMI n vel 2 requisitos relacionados utiliza o de padr es no processo de desenvolvimento deveriam ter sido registrados h um n mero significativo de refer ncias a sistemas externos indicando troca de informa es entre o sistema em desenvolvimento e outros j existentes Como este um fator que muito provavelmente ter impactos no desempenho do sistema esperava se que houvessem refer ncias a RNF s de desempenho o que n o aconteceu nao h refer ncias expl citas a RNF s de documenta o n o est o PUC Rio Certifica o Digital N 0210680 CA Estudos de Caso 131 previstas documenta o para usu rios e documenta o t cnica que possa servir como apoio a processos futuros de evolu o Novamente este aspecto dever ser reavaliado pois trata se de empresa certificada por modelos de qualidade ha inconsist ncias relacionadas aos requisitos de confidencialidade enquanto existem quinze refer ncias para o item de conex o e autentica o de usu rios n o existem
265. t lt String gt gt requirementsRegexMatcher String theme List lt String gt patterns List lt Requirement gt requirements Map lt String String gt requirementTexts new HashMap lt String String gt Map lt String Set lt String gt gt requirementAssociations new HashMap lt String Set lt String gt gt theme new Portuguese Stemmer stem theme try LOGGER info Procurando associa es entre os padr es e os requisitos Recupera o texto de cada requisito PUC Rio Certifica o Digital N 0210680 CA 177 for Requirement requirement requirements requirementTexts put requirement getCode requirement getText Cruza cada padrao contra os textos recuperados for String pattern patterns LOGGER debug Padr o pattern RE regex new RE theme alnum 1 blank alnum 1 4 blank pattern alnum 1 RE regex2 new RE pattern alnum 1 blank alnum 1 4 blank theme alnum 1 Set lt String gt reList new TreeSet lt String gt requirementAssociations put pattern reList for Requirement requirement requirements Recupera o texto joga todas as letras para min sculas e limpa acentos String text requirementTexts get requirement getCode text uniformizeText text Find all the matches if regex 1 match text int count regex1 split text length 1 LO
266. tada na Figura 40 um servidor central que ao mesmo tempo respons vel por prover a comunica o entre os diferentes sites da organiza o e tamb m mant m o reposit rio de informa es sobre projetos A comunica o entre as m quinas clientes servidor local e servidor central realizada via protocolo http PUC Rio Certifica o Digital N 0210680 CA Proposta de uma Arquitetura de Agentes 106 possibilitando que qualquer maquina conectada a Internet possa acessar as informa es armazenadas no servidor central com a utiliza o de um browser HTTP HTTP EA Servidor Local Container Midas Agentes Servidor Central Midas Reposit rio de HTTP Dados E Clientes via Browser Figura 40 Vis o de alto n vel da plataforma A plataforma Midas prov uma interface denominada Agent Server Manager a qual possibilita o gerenciamento do ciclo de vida dos agentes A Figura 41 apresenta a vis o do sistema multi agente criado com os agentes referidos na se o anterior atrav s desta interface poss vel tamb m a visualiza o dos servi os disponibilizados pelos agentes como pode ser observado no detalhamento do agente Lexical PUC Rio Certifica o Digital N 0210680 CA Proposta de uma Arquitetura de Agentes 107 Agent Server Manager Main Catalog Agents View Build Status pSamicos View PE ESERE Organize by Structure O Services Statistics
267. tar dados gt lt pnode name importa o gt lt pnode name importa o de dados gt lt pnode name integra o gt lt pnode name migra o de dados gt lt pnode name sistema externo gt lt pnode name transfer ncia de dados gt lt cnode gt lt cnode name legais desc leis espec ficas incidindo sobre propriedades do sistema gt lt pnode name internacionaliza o gt lt cnode gt lt cnode gt lt cnode name processo desc caracter sticas e aspectos que restringem ou guiam o processo de desenvolvimento gt lt cnode name entrega desc prazos e outras caracter sticas ou propriedades necess rios para a libera o do sistema gt lt cnode gt lt cnode name implementa o desc restri es ou padr es de ambiente e tecnologia de desenvolvimento gt lt cnode name linguagens desc linguagens a utilizar no desenvolvimento do projeto gt lt pnode name java gt lt pnode name xm1 gt lt cnode gt PUC Rio Certifica o Digital N 0210680 CA 161 lt cnode gt lt cnode name padr es desc padr es de qualidade em uso na organiza o gt lt cnode gt lt cnode gt lt cnode name produto desc caracter sticas ou propriedades que o sistema dever presentar ou atender gt lt cnode name ambiente operacional desc ambiente operacional no qual o software dever executar gt lt pnode name internet gt lt p
268. te e requisitos dao jdbc respons veis pelas funcionalidades de acesso aos reposit rios de dados e requisitos util alguns servi os implementados na linguagem Java como envio de mensagens c lculo de similaridade entre requisitos e stemiza o O sub sistema web agrega componentes respons veis pelas fun es de interface com os usu rios do sistema incluindo valida o de acesso composto pelos pacotes requisitos web adapter processos da aplica o como mudan as em PUC Rio Certifica o Digital N 0210680 CA Proposta de uma Arquitetura de Agentes 108 requisitos gera o de mapas visuais e processos de verifica o e valida o requisitos web controller respons vel pelas comunica es entre usu rio midas reposit rio requisitos web servlets e requisitos web user respons veis pelas opera es de login logout na aplica o e requisitos web util montagem de strings http para comunica o O subsistema midas constitu do pela pr pria plataforma de agentes que fornece a infra estrutura de comunica o possibilita o gerenciamento do ciclo de vida dos agentes e a manuten o do cat logo de servi os 4 5 Interface com o usu rio processos abordados A aplica o oferece interfaces para tr s processos manuten o de requisitos gera o de mapas e processo de verifica o e valida o Manuten o de documentos de requisitos nos estudos de caso que fizemos utilizamos documentos de re
269. tem stem word Retorno out add steemed Word gt 5555 Servi o E convertPdf L o conte do de um arquivo pdf e salva em um novo arquivo texto Utiliza a biblioteca YoshikoderConverter else if service equals convertPdf Entrada File pdfFile File in get pdfFile File txtFile File in get txtFile try Execu o String text Converter inhalePdf pdfFile dumpText txtFile text catch IOException e throw new ServiceException Unable to write text file txtFile getAbsolutePath e es Servi o convertDoc L o conte do de um arquivo doc e salva em um novo arquivo texto Utiliza a biblioteca YoshikoderConverter else if service equals convertDoc Entrada File docFile File in get docFile File txtFile File in get txtFile try Execu o String text Converter inhaleDoc docFile dumpText txtFile text PUC Rio Certifica o Digital N 0210680 CA 172 catch IOException e throw new ServiceException Unable to write text file txtFile getAbsolutePath e koo EEE O Servi o convertHtml L o contetido de um arquivo html e salva em um novo arquivo texto Utiliza a biblioteca YoshikoderConverter else if service equals convertHtml Entrada File htmlFile File in get htmlFile File txtFile File in get txtFile try Ex
270. tes de sintagmas nominais com termina es espec ficas Para a identifica o de recursos utilizamos um conjunto menor de padr es apenas 9 O conjunto de padr es para recursos menor pois tais padr es s o mais gerais que aqueles utilizados na identifica o de atores A detec o de erros discrep ncias e omiss es em requisitos se o 3 3 realizada atrav s da identifica o de requisitos candidatos duplicidade e de identifica o de omiss es em requisitos n o funcionais Utilizamos medidas de similaridade entre documentos para identificar pares de requisitos candidatos duplicidade Utilizamos um ndice nico para a identifica o da similaridade dado pela m dia aritm tica dos ndices do coseno Jaccard e Dice Estas m tricas s o usuais na rea de processamento de linguagem natural para identificar documentos de conte do similar Se o ndice obtido for maior que o limiar definido em 0 90 o par de requisitos indicado como candidato duplicidade e dever ser analisado pelos participantes do processo de verifica o O limiar foi definido empiricamente ap s v rios experimentos com documentos de requisitos Para a identifica o de omiss es restringimos nossa rea de atua o aos requisitos n o funcionais Utilizando t cnicas de an lise de conte do criamos um dicion rio de categorias as quais correspondem diretamente a requisitos n o funcionais extra dos de cat logos p blicos A cada uma d
271. to n vel da taxonomia Pelo processo utilizado esse conjunto reflete aqueles requisitos cuja associa o foi determinada pelo fato do texto do requisito conter ao menos um dos padr es considerados relevantes para aquele tema da taxonomia Como um mesmo requisito poder estar associado a mais de um ramo da taxonomia o n mero de associa es ser maior que o n mero de requisitos do sistema Estas associa es se representadas graficamente resultar o num grafo onde as interdepend ncias entre requisitos estar o explicitadas Essa representa o descrita a seguir 3 1 4 Gerar vis es Diferentes apresenta es das vis es dos requisitos devem ser propiciadas para que cada um dos interessados possa escolher aquela mais apropriada s suas necessidades As vis es podem ser apresentadas textualmente ou estruturadas num grafo possibilitando uma vis o mais abrangente de conjuntos de requisitos relacionados A Figura 16 apresenta o processo para gera o das vis es A atividade de expandir as listas de relacionamentos gera conjuntos lt termo PUC Rio Certifica o Digital N 0210680 CA Proposta para An lise de Requisitos utilizando PLN 71 da taxonomia gt lt requisitos relacionados e atributos gt Os atributos a serem utilizados s o selecionados dentre aqueles que est o sendo registrados no projeto em desenvolvimento por exemplo origem do requisito data de inser o e rationale A descri o dos requisitos
272. torial para representa o de documentos Salton83 Figura 10 Contextos para a palavra concordanceador Figura 11 Diagrama ilustrativo das medidas precision e recall Manning99 Figura 12 Vis o geral do processo para categoriza o dos requisitos e gera o de vis es Figura 13 Processo para enriquecer a taxonomia Figura 14 Sub senten a apresentando contexto para o termo reserva Figura 15 Processo para categoriza o de requisitos Figura 16 Processo para gera o das vis es dos requisitos Figura 17 Modelo XTM para termos da taxonomia Figura 18 Modelo XTM para requisitos funcionais Figura 19 Modelo XTM para associa es entre temas e requisitos Figura 20 Mapa visual mostrando requisitos relacionados ao tema pagamento Figura 21 Processo para extra o de termos n o dicionarizados Figura 22 Processo geral para extra o de s mbolos Figura 23 Processo para identifica o de requisitos similares Figura 24 Processo para an lise de conte do para RNF s Figura 25 Estrutura do dicion rio de RNF s para identifica o de omiss es Figura 26 Frequ ncia das palavras no documento de requisitos Figura 27 Frequ ncia das categorias e express es no documento de requisitos Figura 28 Compara o de documentos tendo por base o dicion rio de RNF s Figura 29 Arquitetura da plataforma Midas Figura 30 Responsabilidades e colabora es do agente Manager Figura 31 Responsabilidades e cola
273. tos da cole o Um dos problemas enfrentados quando se utiliza a abordagem bag of words para estrutura o de documentos considerando todos os termos presentes no conjunto de documentos a grande dimens o da matriz termo documento Cada documento representado por um vetor de termos e todos os termos presentes no conjunto de documentos devem ser representados nesses vetores A matriz gerada possivelmente uma matriz esparsa pois mesmo termos que apare am em um nico documento dever o estar representados A redu o da dimensionalidade da matriz de termos pode ser obtida com o uso dos stems dos termos vide se o 2 4 4 ou sele o dos termos a representar Uma maneira de encontrar termos pouco representativos combina as leis de Zipf Zipf49 e os cortes de Luhn Luhn58 A teoria de Zipf afirma que o produto da frequ ncia de um termo e sua classifica o rank aproximadamente constante Obt m se a frequ ncia dos termos de um conjunto de documentos gera se a classifica o desses termos em ordem descendente de fregii ncia rank e gera se um gr fico de classifica o versus frequ ncia como pode ser visualizado na Figura 7 PUC Rio Certifica o Digital N 0210680 CA Processo de Requisitos PLN e Agentes 44 frequencia rank Figura 7 Curva segundo a lei de Zipf Esta teoria foi utilizada posteriormente por Luhn Luhn58 que ponderou que os termos relevantes para a indexa o de documentos ficam c
274. tra outras outrem outro outrora outros outrossim para pela pelas pelo pelos per perante pero pois por porem por m porquanto porque porqu portanto porventura possivelmente posteriormente posto pouca poucas pouco poucos pra praquela praquelas praquele praqueles praquilo pras praticamente prela prelas prele preles preste prestes previamente primeiramente principalmente priori pro pr pronto propria pr pria proprias pr prias proprio pr prio proprios pr prios pros pr s proximo pr ximo quais quaisquer qual qualquer quando quanta quantas quanto quantos quao qu o quarenta quase quatorze quatro quatrocentos que qu quem quer qui a qui quinhentos quinze raramente realmente recentemente salvante salvo se segundo seguramente seis seiscentos seja sem sempre senao sen o sequer sessenta sete setecentos setenta seu seus sim simplesmente so s sob sobre sobremaneira sobremodo sobretudo somente sua suas tais tal talvez tambem tamb m tampouco tanta tantas tanto tantos tao t o tao so t o s tao somente t o somente te teu teus ti tirante toda todas todavia todo todos tras tr s tres treze trezentos trilhao trinta tu tua tuas tudo um um uma umas uns varias v rias varios v rios versus vezes via vice versa vinte visto voce voc voces voc s vos v s vossa vossos vulgo
275. uilder toString private static boolean isTokenValid String token boolean caseSensitive if caseSensitive token StringUtils lowerCase token if token equals STOPWORD return false if token starts With rf return false if token starts With mf return false if token equals return false if token startsWith amp return false if token equals return false if token equals return false if token starts With return false if token starts With return false if token endsWith return false return true private static String cleanToken String token String temp token temp StringUtils trim temp temp StringUtils remove temp gt temp StringUtils remove temp nem temp StringUtils remove temp temp StringUtils remove temp E temp StringUtils remove temp temp StringUtils remove temp temp StringUtils remove temp temp StringUtils remove temp temp StringUtils remove temp temp StringUtils remove temp temp StringUtils remove temp temp StringUtils remove temp temp StringUtils remove temp temp StringUtils remove temp temp StringUtils remove temp lt temp StringUtils remove temp gt temp StringUtils remove temp temp StringUtils remove temp temp StringUtils remove temp gt
276. ull Topic associationRoleTopic topicMap createTopic associationRoleTopic createTopicName Relacionado A null TTT 4 Cria t pico do tema Hf TTT Topic themeTopic topicMap createTopic themeTopic createTopicName theme null themeTopic addT ype baseThemeTopic TTT 4 Cria associa es tema subtema e subtema requisito MAMMA PARA cada subtema for String subtheme subthemes PUC Rio Certifica o Digital N 0210680 CA 196 LOGGER debug Mounting associations for subtheme subtheme 4 1 tema subtema Topic subthemeTopic topicMap createTopic subthemeTopic createTopicName theme _ subthemeTopic addType themeTopic Recupera requisitos associados Collection lt String gt associatedRequirements associationsMap get subtheme Inicializa requisito Topic requirementTopic null PARA cada requisito for String requirementId associatedRequirements LOGGER debug requirementId Locator subjectIdentifier topicMap createLocator locator baseRequirement requirementld replaceAll txt requirementTopic topicMapIndex getTopicBySubjectIdentifier subjectIdentifier Association subthemeRequirement Association topicMap createA ssociation subthemeRequirementAssociation setT ype associationTopic subtheme null subthemeRequirementAssociation createAssociationRole subthemeTopic associationRole Topic subthemeRequirementAssociation
277. utros agentes Board writeForAll Document Created this Se o documento de requisitos foi removido else if message equals Document Removed Notifica os outros agentes Board writeForAll Document Removed this Agente Estatistico statistical java package requisitos agents import java util ArrayList import java util HashMap import java util List import java util Map import java util Set PUC Rio Certifica o Digital N 0210680 CA 184 import java util Map Entry import org apache commons lang StringUtils import org apache commons logging Log import org apache commons logging LogFactory import org midas as agent board Board import org midas as agent board Message import org midas as agent board MessageListener import org midas as agent templates A gent import org midas as agent templates LifeCycleException import org midas as agent templates ServiceException import requisitos business entities FrequencyMap import requisitos business entities Requirement import requisitos business entities ThemeExcerpts import requisitos business entities ThemeMetrics OQ SuppressWarnings unchecked public class Statistics extends Agent implements MessageListener Hf Log HH private static final Log LOGGER LogFactory getLog Statistics class Constants private static final String STOPWORD stop_word Hf Agent Interf
278. vi os oferecidos por este agente incorporam ferramentas de processamento da linguagem natural parte das quais disponibilizadas livremente pela comunidade da rea Quando solicitado por outros o agente L xico executa o servi o solicitado O uso de Web services possibilitou a incorpora o r pida de v rias ferramentas de processamento da linguagem natural PUC Rio Certifica o Digital N 0210680 CA Conclus es 140 que em outras situa es necessitariam ser desenvolvidas ou obrigariam a um trabalho de adapta o Na plataforma de agentes utilizada nesta tese encontramos as propriedades de autonomia reatividade e colabora o A plataforma utilizada oferece flexibilidade para gerenciamento de agentes possibilitando dinamicamente a remo o ou inser o de agentes no ambiente de execu o Esta caracter stica possibilita que agentes pessoais representem fielmente o conjunto de participantes no processo de desenvolvimento os interessados Agentes possuem continuidade temporal monitorando e notificando de forma imediata a ocorr ncia de eventos relevantes aos interessados 6 2 Compara o com trabalhos relacionados N o encontramos na literatura pesquisada uma proposta para apoio s atividades de verifica o e valida o de requisitos que utilizasse de forma t o intensiva quanto a estrat gia proposta neste trabalho t cnicas de processamento da linguagem natural para apoio s atividades de verifica o e vali
279. volve obter respostas pergunta Estamos construindo o produto corretamente Na valida o a pergunta a ser respondida Estamos construindo o produto desejado pelos clientes e usu rios Dificuldades relacionadas s atividades de comunica o e coordena o de projetos s o exacerbadas em ambientes distribu dos de desenvolvimento de software Carmel99 Par 99 Bianchi02 Damian03 Herbsleb03 Diferen as culturais implicam em dificuldades de compreens o da linguagem natural utilizada nos documentos de requisitos e diferen as em fusos hor rios podem dificultar a comunica o s ncrona entre os interessados Nesse cen rio praticamente inexistem os encontros informais entre desenvolvedores que muitas vezes resultam no compartilhamento do conhecimento relacionado ao projeto ou mesmo em aux lio na resolu o de problemas Encontros virtuais ou troca s ncrona de informa es n o substituem o relacionamento face a face e desta forma a confian a entre os interessados e o esp rito de grupo s o afetados PUC Rio Certifica o Digital N 0210680 CA Introdu o 15 As restri es e dificuldades hoje encontradas em ambientes distribu dos de desenvolvimento t m levado muitas empresas a deslocar equipes para interagir diretamente com os clientes e usu rios evitando parte das dificuldades simplesmente pela elimina o da distribui o das atividades do processo de requisitos Zowghi02 Damian03a Lopes05 A
280. vproccessList size 1 Set lt User gt users vvproccess getUsers for User user users try Email EnviaEmail user getEmail Rq NET Notifica o sobre o Documento vvproccess getRequirementDocument getName Pr Valida o Caro user getUsername n n O documento vvproccess getRequirementDocument getName teve seu processo de verifica o conclu do e se encontra no est gio de Pr Valida o A etapa de valida o dever come ar a partir do dia formatter format vvproccess getPre Validation getDeadline a catch AddressException e TODO Auto generated catch block e printStackTrace catch MessagingException e TODO Auto generated catch block e printStackTrace catch Exception e TODO Auto generated catch block e printStackTrace private void sendValidation String documentName PUC Rio Certifica o Digital N 0210680 CA 167 RequirementDocumentDao rdao RequirementDocumentDao A gentServer getA pplicationContext getBean requirementDocume ntDao List lt VerifyValidateProccess gt vvproccessList rdao getVerifyValidateProccessB yDocumentName documentName VerifyValidateProccess vvproccess vvproccessList get vvproccessList size 1 Set lt User gt users vvproccess getUsers for User user users try Email EnviaEmail user getEmail Rq NET Notifica o sobre o Documento vvprocces
281. zar a busca em base pr pria do Novo SISTEMA EXEMPLO O requisito ir utilizar outros casos de uso para realizar a pesquisa como por exemplo o requisito RF128 Realizar Busca por Produto no GDS RF164 Reservar Produto Avia o Requisito respons vel por realizar a reserva de produtos de avia o junto aos sistemas externos que prov m este servi o O requisito ir utilizar outros casos de uso para realizar a pesquisa como por exemplo o requisito RF130 Reservar Produto no GDS RF165 Reservar Produto Hotel Requisito respons vel por realizar a reserva de produtos de avia o junto aos sistemas externos que prov m este servi o O requisito ir utilizar outros casos de uso para realizar a pesquisa como por exemplo o requisito RF136 Reservar Produto na Restel RF166 Reservar Produto Rent a Car Requisito respons vel por realizar a reserva de produtos de avia o junto aos sistemas externos que prov m este servi o O requisito ir utilizar outros casos de uso para realizar a pesquisa como por exemplo o requisito Reservar Produto em Base Pr pria RF167 Reservar Produto Fins de Semana Requisito respons vel por realizar a reserva de produtos de avia o junto aos sistemas externos que prov m este servi o O requisito ir utilizar outros casos de uso para realizar a pesquisa como por exemplo o requisito Reservar Produto em Base Pr pria RF168 Res
Download Pdf Manuals
Related Search
Related Contents
Kenwood CM040 Coffeemaker User Manual Sharp MX-B400P Owner's Manual JM01 Motorcycle GPS Tracker User Manual LT-P42A1 フルハイビジョン液晶パネル 驚異の重低音を実現! montacargas para movimentação cobre mastro News articles template summarization and categor Microsoft Windows 7 Ultimate, SP1, x32, 1pk, DSP, OEM, DVD, BUL Dans le 04, 05 et 84, la tête dans les étoiles ! - Abbaye Saint TB-KU-xxx-ACDC8K Hardware User Manual Copyright © All rights reserved.
Failed to retrieve file