Home
Tese - PUC-Rio
Contents
1. PUC Rio Certifica o Digital N 0711275 CA Construindo a nova arquitetura 58 de dados Recursos Dados que ser o manipulados pela fun o Estes dados podem ser provenientes de par metros da fun o ou de consultas ao banco de dados Epis dios Devem descrever detalhadamente cada trecho de c digo da fun o de acesso ao banco de dados Restri es Aspectos n o funcionais que podem atrapalhar o funcionamento da fun o Podem aparecer no contexto recursos ou epis dios Por exemplo restri es de chave prim ria Exce o Identificar comportamentos excepcionais que podem ocorrer na fun o e seu respectivo tratamento Tabela 7 Heur sticas para cria o de cen rios que descrevem acessos ao banco de dados ad d GTitulo Inserir usu rio no banco de dados Gobjetivo Inserir os dados do usu rio no banco de dados do sistema Contexto Cadastrar usu rio Atores Conectar ao banco de dados GRecursos dados do usu rio n function inserir_usuario_bd nome sobrenome email instituicao login senha Epis dio 1 CONECTAR AO BANCO DE DADOS local conexao conectar bd GEpis dio 2 Montar query de inser o de usu rio no banco de dados com os valores passados por par metro local stmt insert login se anstituieno N N a login senha N into usuario nome sobrenome email instituicao v
2. Figura 36 Exemplo de fun o mapeada atrav s do LAL Figura 37 Exemplo de arquivo mapeado atrav s do LAL Figura 38 Arquitetura do novo C amp L Figura 39 Grupo correspondente ao m dulo usu rio Figura 40 Grupo correspondente ao m dulo projeto Figura 41 Grupo correspondente ao m dulo administra o de colaboradores Figura 42 Grupo correspondente ao m dulo l xico Figura 43 Grupo correspondente ao m dulo cen rio Figura 44 Relacionamentos entre os cen rios do grupo correspondente ao m dulo usu rio Figura 45 Relacionamentos entre os cen rios do grupo correspondente ao m dulo projeto Figura 46 Relacionamentos entre os cen rios do grupo correspondente ao m dulo colaboradores Figura 47 Relacionamentos entre os cen rios do grupo correspondente ao m dulo l xico Figura 48 Relacionamentos entre os cen rios do grupo correspondente ao m dulo cen rio Figura 49 Relacionamentos entre os cen rios raiz Figura 50 Cen rio integrador do software C amp L Figura 51 Exemplo de texto sendo visualizado Figura 52 Exemplo de texto com o elo software Figura 53 Exemplo de texto com o elo engenharia de software Figura 54 Exemplo de texto sendo visualizado Figura 55 Vetor de identificadores ordenado Figura 56 Passos da aplica o do algoritmo antigo Figura 57 Passos da aplica o do algoritmo novo Figura 58 Montagem d
3. Tela de login do sistema PUC Rio Certifica o Digital N 0711275 CA Software C amp L 29 2 Cadastro de Usu rio Windows Internet Explorer DER y E http pes inf puc rio br cel aplicacao add_usuario php novo true Favor preencher os dados abaixo Nome E mail Login Senha Senha AR confirma o Veja o c digo fonte Internet 100 Figura 10 Formul rio de cadastro de usu rio tamb m atrav s da tela de login que o usu rio pode solicitar uma nova senha Ao clicar no atalho Esqueci senha o usu rio direcionado a uma nova tela onde deve informar seu login e e mail Ao confirmar que realmente quer mudar sua senha e se o campo login e e mail foram preenchidos corretamente o sistema ir substituir a senha do usu rio por uma nova gerada randomicamente e a enviar por e mail para o usu rio O usu rio poder alterar a senha para uma de sua escolha no pr ximo acesso ao software Ap s realizar o cadastro no sistema o usu rio levado p gina principal do software Figura 11 Nesta p gina encontram se diversos elementos importantes para a sua utiliza o Estes elementos s o o menu de projetos menu principal menu de l xicos e cen rios e rea de trabalho O primeiro destes elementos que destacamos o menu de projetos localizado na parte superior direita da p gina principal Este menu exibe os projetos criados pelo usu rio identificados por um a
4. o impacto classifica o e sin nimo 3 Usu rio submete o formul rio preenchido Restri o Os campos nome no o e classifica o n o podem ser deixados em branco 4 Sistema cadastra o novo s mbolo do l xico 5 Sistema comunica ao usu rio que a inclus o foi realizada com sucesso Exce o Se o nome do l xico escolhido ou algum de seus sin nimos j estiver cadastrado no sistema como nome de outro l xico ou sin nimo ent o o sistema deve exibir uma mensagem de erro identificando o que o ocasionou PUC Rio Certifica o Digital N 0711275 CA Re arquitetura do software C amp L 74 T tulo EXIBIR S MBOLO DO L XICO E SEUS RELACIONAMENTOS Objetivo Exibir as informa es de um s mbolo do l xico juntamente com seus relacionamentos utilizando elos para permitir o acesso a outros s mbolos referenciados pelo que esta sendo exibido e permitir o acesso a outros elementos do projeto que referenciem o s mbolo exibido Contexto S mbolo do l xico cadastrado no sistema Recursos dados do l xico nomes e sin nimos de s mbolos do l xico e t tulos de cen rios do projeto Atores usu rio sistema Epis dios 1 O usu rio seleciona um s mbolo do l xico do projeto exibido no menu lateral 2 O sistema monta a rede de relacionamentos em torno do s mbolo selecionado 3 Sistema exibe as informa es do s mbolo e os relacionamentos mapeados atrav s de elos T tulo ALTERAR S MBOLO DO L
5. then GEpis dio 27 Se a tabela cenarios ainda n o foi completamente percorrida e a tabela lexicos e sinonimos tamb m n o foi completamente percorrida ent o CONTAR PALAVRAS do t tulo do cen rio e CONTAR PALAVRAS do nome do l xico ou sin nimo if contar palavras cenarios 5 TITULO lt contar palavras lexicos e sinonimos i NOME then GEpis dio 28 Se o t tulo do cen rio atual possui um n mero menor ou igual de palavras que o nome do termo do l xico ent o procuraremos a ocorr ncia deste l xico no texto nome lexico lexicos e sinonimos i NOME GEpis dio 29 Uma express o regular criada com o nome do termo do l xico atual Esta express o regular impede que erros sejam causados por causa da pontua o e espa os em branco expressao regular 2 p s nome lexico Sp s if string gfind texto expressao regular nil then GEpis dio 30 Se uma ocorr ncia da express o regular encontrada no texto ent o a express o substitu da pelo c digo wzzxk kxy onde o ser substitu do por um n mero que identificar a posi o do nome do termo do l xico ou sin nimo na tabela lexicos e sinonimos texto string gsub texto expressao regular GL e WZZR e RYT TRAN i Epis dio 31 feita um verifica o para saber se o termo encontrado um termo do l xico ou um sin nimo de um termo do l xico if lexicos_e_sinonimos i LEXIC O
6. facilitando o entendimento manuseio e evolu o de c digo escrito por terceiros No trabalho Christoph04 sugerida a ado o da estrutura de cen rios Leite00 para padronizar o uso de coment rios no c digo fonte Segundo o autor o uso de cen rios ajudaria na organiza o e uniformidade dos coment rios facilitando a enumera o das funcionalidades e n o funcionalidades do software 1 4 Organiza o do Documento No Cap tulo 2 detalharemos as duas t cnicas de representa o de conhecimento utilizadas neste trabalho o LAL e cen rios No Cap tulo 3 apresentaremos a vers o anterior do software C amp L a forma como foi desenvolvida sua arquitetura e uma descri o detalhada de seu funcionamento No Cap tulo 4 explicaremos o m todo baseado no uso de cen rios e nossa proposta de mapeamento do espa o de nomes atrav s do LAL No Cap tulo 5 detalharemos passo a passo a aplica o do m todo proposto na re arquitetura do software C amp L No Cap tulo 6 faremos uma compara o do trabalho realizado com os trabalhos relacionados apresentaremos algumas conclus es e listaremos alguns trabalhos que precisam ser estudados PUC Rio Certifica o Digital N 0711275 CA Representa es utilizadas 16 2 Representa es utilizadas Este Cap tulo apresenta em detalhes duas t cnicas de representa o muito utilizadas no contexto de engenharia de requisitos Cen rios e L xico Ampliado da Linguagem Estas
7. o cadastrar projeto direciona o usu rio para um pequeno formul rio que deve ser preenchido para a cria o de um novo projeto Ap s criar um novo projeto o usu rio deve clicar no bot o Atualizar que fica localizado do lado direito do menu de projetos para que o novo projeto apare a no menu para sele o Ao selecionarmos um projeto do menu de projetos quatro novas op es aparecem no menu principal s o elas adicionar cen rio adicionar l xico remover projeto e info A op o remover projeto permite que o projeto selecionado seja exclu do Ao excluirmos um projeto todos os s mbolos do l xico e cen rios vinculados a este projeto tamb m ser o exclu dos Ao clicarmos na op o Adicionar cen rio o usu rio redirecionado para um formul rio de inclus o de cen rio Figura 12 que deve ser preenchido para adi o de um PUC Rio Certifica o Digital N 0711275 CA Software C amp L 31 novo cen rio ao projeto O mesmo acontece com a op o Adicionar l xico S que neste caso o usu rio redirecionado para um formul rio de adi o de s mbolo do l xico Figura 12 Conforme os s mbolos do l xico e os cen rios s o inclu dos eles v o aparecendo no menu de l xicos e cen rios que se encontra no lado esquerdo da p gina principal do sistema Quando o usu rio seleciona um s mbolo do l xico ou cen rio presente no menu de l xicos e cen rios a ferramenta monta automaticamente
8. o de exclus o para o usu rio 2 Usu rio confirma exclus o 3 Sistema exclui o projeto os s mbolos do l xico cen rios e arquivos XML vinculados ao projeto 4 Sistema comunica ao usu rio que a exclus o foi efetuada com sucesso T tulo GERAR XML DO PROJETO Objetivo Permitir que o usu rio crie um XML contendo todas as informa es referentes ao projeto seus s mbolos do l xico e cen rios e os relacionamentos entre eles Contexto Usu rio deve selecionar um projeto do menu de projetos Recursos dados do projeto cen rios e s mbolos do l xico pertencentes ao projeto Atores usu rio sistema Epis dios 1 Usu rio seleciona a op o Gerar XML do projeto 2 Sistema atribui automaticamente a data de cria o e n mero de vers o para o XML que ser gerado Usu rio escolhe se deseja visualizar o XML formatado atrav s de um arquivo XSL ou sem nenhum tipo de formata o Sistema gera XML com todas as informa es referentes ao projeto Sistema armazena o XML gerado no banco de dados Sistema exibe o XML gerado para o usu rio 79 Titulo ALTERAR PROJETO Objetivo Permitir que o usu rio altere a descri o de um projeto j cadastrado atrav s da edi o de um formul rio contendo a descri o previamente cadastrada Contexto Projeto deve ter sido cadastrado pelo usu rio usu rio deve ser administrador Recursos descri o do projeto Atores usu rio sistema Epis di
9. o e impacto O segundo princ pio afirma que para se fazer a descri o de no o e impacto deve se utilizar o m nimo poss vel de termos externos a linguagem e ao utilizarmos termos externos linguagem devemos escolher os mais frequentes e de significado claro pertencentes a um vocabul rio restrito da linguagem natural Por exemplo se tratando da l ngua inglesa o projeto Collins Willis90 construiu um vocabul rio com 700 palavras que formariam o n cleo da l ngua inglesa Segundo os pesquisadores 70 de todos os textos escritos em ingl s utilizam apenas estas palavras Podemos ver na Figura 2 um exemplo de s mbolo do l xico baseado no sistema para agendar reuni es apresentado em Leite98 que segue os dois princ pios apresentados acima As palavras que est o sublinhadas s o s mbolos do LAL que foram utilizados na descri o da no o e do impacto do s mbolo Agendador de Reuni es PUC Rio Certifica o Digital N 0711275 CA Representa es utilizadas 19 Nome Agendador de Reuni es No o 1 Sistema para organizar reuni es Classifica o Sujeito Impactos 1 Produz uma data de reuni o e um local de reuni o para um pedido de reuni o 2 Produz um conflito s rio ou um conflito normal para um pedido de reuni o 3 Produz uma nova tentativa de agendamento se n o houver local de reuni o dispon vel Figura 2 Exemplo de um s mbolo do LAL Leite98 Ao seguirmos o p
10. r if string gfind texto expressao_regular nil then Epis dio 36 Caso encontremos uma ocorr ncia do cen rio atual no texto um atalho ser criado e armazenado no tabela tabela links cenario na mesma posi o que o cen rio atual ocupa na tabela cen rios link lt a title N Cen rioN href visao exibe cenario lp id projeto id projeto amp titulo titulo cenario N gt titulo cenario lt aD gt table insert tabela links cena rio Jy link GEpis dio 37 A express o substitu da pelo c digo wzczxk kxyyc onde o ser substitu do por um n mero que identificar a posi o do t tulo do cen rio na tabela cenarios texto string gsub texto expressao regular g1 Myzczxk kxyyc r s Zn end if j 5 1 end if elseif tam lexicos e sinonimos i l then GEpis dio 38 Se a tabela de termos do l xico chegou ao fim e a tabela de cen rios ainda possui cen rios que ainda n o foram procurados ent o devemos continuar percorrendo apenas a tabela cen rios titulo cenario cenarios j TITULO GEpis dio 39 Uma express o regular criada com o t tulo do cen rio atual Esta express o regular impede que erros sejam causados por causa da pontua o e espa os em branco PUC Rio Certifica o Digital N 0711275 CA Re arquitetura do software C amp L 102 expressao regular 2 p s titulo cenario Zp s if string gfind
11. Leite08 comprovaram que seu uso neste contexto promissor 1 3 Trabalhos relacionados Em um trabalho precursor sobre o uso de coment rios como forma de documenta o Knuth84 introduz o termo programa o liter ria Este termo identifica um m todo de desenvolvimento de programas bem documentados utilizando a id ia de que os programas devem ser considerados uma obra liter ria Neste trabalho Knuth diz que devemos mudar nossa atitude tradicional na constru o de programas segundo ele em vez de imaginarmos que nossa principal tarefa instruir o computador sobre o que fazer devemos nos concentrar em explicar a seres humanos o que queremos que o computador fa a Para dar suporte a sua id ia Knuth desenvolveu um ambiente de programa o liter ria chamado WEB Neste ambiente os programadores devem programar em WEB uma linguagem que mistura documenta o com implementa o produzindo um nico arquivo Este arquivo ser processado posteriormente por dois programas weave e tangle dando origem a dois novos arquivos um contendo c digo que poder ser executado e outro descrito em linguagem natural que servir de documenta o Em um trabalho relacionado Cassino96 Cassino prop e um framework para facilitar o desenvolvimento de ferramentas de suporte programa o liter ria A motiva o para cria o deste framework veio da populariza o da id ia de programa o liter ria que fez surg
12. Utiliza as fun es inserir usuario bd selecionar usuario bd Sin nimo s Figura 36 Exemplo de fun o mapeada atrav s do LAL 4 2 3 Modelo para inclus o de arquivo A Tabela 10 mostra o modelo a ser seguido para inclus o de um arquivo no LAL Na Figura 37 podemos ver um exemplo de arquivo descrito atrav s deste modelo No exemplo mostrado foram gerados elos para as fun es declaradas dentro do arquivo Nome Nome do arquivo No o Identificar a rela o entre as fun es definidas dentro do arquivo Classifica o Um arquivo sempre classificado como objeto Impactos Identificar as fun es definidas dentro do arquivo Tabela 10 Descri o de um arquivo atrav s do LAL PUC Rio Certifica o Digital N 0711275 CA Construindo a nova arquitetura 63 modelo usuario lua Cont m as fun es relacionadas a camada modelo do m dulo usu rio Classifica o objeto As seguintes fun es s o definidas dentro do arquivo cadastrar usuario checar login checar usuario alterar usuario lembrar senha Impacto s Sin nimo s Figura 37 Exemplo de arquivo mapeado atrav s do LAL O LAL deve ser nico para cada aplica o mas neste trabalho propomos a constru o de dois um para definir os s mbolos espec ficos da aplica o e outro para mapear o espa o de nomes Por m podemos enxergar claramente a possibilidade d
13. edi o de cen rios e l xicos descritos em linguagem natural semi estruturada Seu desenvolvimento foi realizado ao longo de anos PUC Rio Certifica o Digital N 0711275 CA Introdu o 13 de maneira incremental e com a participa o de alunos da gradua o e da p s gradua o Silva04 Este modo de desenvolvimento agregou bastante conhecimento ao grupo de engenharia de requisitos da PUC Rio GrupoERO09 e a todos que se envolveram direta ou indiretamente no processo Por m a falta de uma arquitetura definida de padroniza o e pouca documenta o fez do C amp L um software opaco a n vel de c digo O problema de falta de documenta o n o restrito ao C amp L Este um problema comum na comunidade de desenvolvimento de software livre Isso ocorre devido a informalidade destes projetos e a import ncia que os usu rios finais d o apenas ao fato da instala o do software ser gratuita sem se preocupar em cobrar dos desenvolvedores algum tipo de documenta o O resultado que as nicas fontes de informa o dispon veis sobre o software s o normalmente o c digo fonte f runs e listas de e mail contendo mensagens trocadas entre os integrantes do projeto Esta falta de documenta o acaba sendo um obst culo a de entrada de novos participantes no desenvolvimento manuten o e evolu o do software Como a entrada de novos membros algo fundamental para projetos deste tipo deve se fazer um esfor o para
14. elementos do espa o de nomes e permite o foco em elementos espec ficos facilitando a identifica o de seus relacionamentos O XML formatado fornecer PUC Rio Certifica o Digital N 0711275 CA Construindo a nova arquitetura 60 uma lista de todos os elementos do espa o de nomes permitindo que o usu rio navegue entre eles atrav s de elos Cada elemento do espa o de nomes vari veis fun es e arquivos dever ser inserido no LAL de acordo com um modelo diferente A seguir detalharemos cada um destes modelos 4 2 1 Modelo para inclus o de vari vel A Tabela 8 mostra o modelo a ser seguido para inclus o de uma vari vel no LAL Na Figura 35 podemos ver um exemplo de vari vel descrita atrav s deste modelo podemos observar que o software gerou automaticamente elos para a fun o e o arquivo onde a vari vel foi declarada Nome Nome da vari vel No o Identificar sua localiza o em que arquivo linha e fun o declarada Identificar seu escopo tipo e descrever sua utilidade Classifica o Uma vari vel sempre classificada como objeto Impactos Identificar quais outros elementos utilizam a vari vel Tabela 8 Descri o de uma vari vel atrav s do LAL PUC Rio Certifica o Digital N 0711275 CA Construindo a nova arquitetura Classifica o Impacto s Sin nimo s 61 senha criptografada Localiza o Arquivo modelo usu
15. nome do projeto nome no o classifica o impacto e sin nimos banco de dados Epis dios 1 Receber os dados do s mbolo do l xico e o nome do projeto repassados pela CAMADA L XICO 2 Conectar ao banco de dados Restri o Banco de dados deve estar dispon vel 3 Inserir dados do s mbolo do l xico no banco de dados 4 Inserir sin nimos do s mbolo do l xico no banco de dados 5 Desconectar do banco de dados 6 Informar a camada CONTROLE L XICO que os dados foram inseridos Exce o O nome do s mbolo do l xico informado j existe no banco de dados Informamos a camada CONTROLE L XICO que n o foi poss vel inserir os dados porque o nome j existe Titulo REMOVER S MBOLO DO L XICO PUC Rio Certifica o Digital N 0711275 CA Re arquitetura do software C amp L 90 Objetivo Remover um s mbolo do l xico do projeto do usu rio atrav s da remo o de seus dados do banco de dados Contexto Dados do s mbolo devem estar cadastrados no sistema Atores CONTROLE L XICO Recursos nome do s mbolo nome do projeto em que est cadastrado banco de dados Epis dios 1 Receber o nome do s mbolo e do projeto da camada CONTROLE L XICO 2 Conectar ao banco de dados Restri o Banco de dados deve estar dispon vel 3 Remover s mbolo do l xico do banco de dados 4 Desconectar do banco de dados 5 Informar a camada CONTROLE L XICO que o s mbolo foi removido Titulo ALTERAR S MBOLO DO L
16. o Digital N 0711275 CA Construindo a nova arquitetura 50 Recursos Identificar as informa es que devem estar dispon veis durante a execu o do cen rio Se o cen rio utilizar o banco de dados do sistema ele deve aparecer na descri o de seus recursos Epis dios Descri o em ordem cronol gica de a es e decis es com a participa o dos atores e o uso dos recursos que se executadas corretamente levam a satisfa o do objetivo do cen rio Restri es Identificar requisitos n o funcionais associados a recursos contexto e epis dios que possam interferir na correta execu o do cen rio Exce o Identificar comportamentos excepcionais que possam impedir a correta execu o do cen rio e detalhar o seu tratamento Tabela 4 Heur sticas para constru o de um cen rio da camada de modelo Na Figura 28 podemos observar o cen rio cadastrar usu rio um exemplo de cen rio da camada de modelo resultante da retirada da interface e do enfoque na descri o mais detalhada da funcionalidade modelada T tulo CADASTRAR USU RIO Objetivo Cadastrar usu rio no sistema atrav s da inser o de seus dados no banco de dados Contexto EXIBIR FORMUL RIO DE CADASTRO DE USU RIO Recursos dados do usu rio nome sobrenome e mail institui o login e senha banco de dados Atores CONTROLE USU RIO Epis dios l Receber os dados do usu rio repassados pela camada de CON
17. que o atalho que ser inserido se encontra for i link in pairs tabela links lexico do expressao regular p s wzzxk i kxy Sp s texto string gsub texto expressao regular 1 link 2 end GEpis dio 48 A tabela links cen rios percorrida e os c digos inseridos anteriormente nos texto s o substitu dos pelos links armazenados na tabela O n mero que est no meio do c digo corresponde a posi o na tabela de links que o atalho que ser inserido se encontra for i link in pairs tabela links cenario do expressao regular S p s wzczxk i kxyyc Sp s texto string gsub texto expressao regular 1 link 2 end GEpis dio 49 O texto com os links retornado para o usu rio cgilua put texto end PUC Rio Certifica o Digital N 0711275 CA Conclus o 104 6 Conclus o O termo transpar ncia muitas vezes utilizado no contexto da ci ncia da computa o no sentido de ocultar informa es e processos Por exemplo neste contexto tornar uma funcionalidade transparente para o usu rio significa deix la dispon vel sem que o usu rio precise saber como ela funciona apenas que faz o que o usu rio espera Nesse sentindo transpar ncia utilizada para enfatizar a facilidade de uso sem que haja preocupa o com detalhes que poderiam demandar investimento de tempo pelos usu rios Neste trabalho utilizamos o termo transpar ncia no sentido real da palav
18. rio a camada de controle ir repassar a requisi o para o cen rio exibir p gina inicial ou para o exibir p gina de erro da camada de vis o Titulo CONTROLE USUARIO Objetivo Intermediar a comunica o entre a camada de vis o e a camada de modelo Contexto novo usuario html lembrar senha html alterar dados usuario lp index html erro lp p gina principal lp sucesso lp Atores camada de modelo e camada de vis o Recursos dados do usu rio informa es para as p ginas de erro informa es para as p ginas de sucesso Epis dios 1 Sea requisi o recebida for para cadastrar usu rio ent o CHECAR LOGIN Se login dispon vel ent o CADASTRAR USU RIO sen o EXIBIR PAGINA DE ERRO Se os dados foram cadastrados corretamente ent o EXIBIR PAGINA PRINCIPAL DO SISTEMA sen o EXIBIR P GINA DE ERRO Se a requisi o recebida for para autenticar o usu rio ent o CHECAR DADOS DO USU RIO Se os dados estiverem corretos ent o criar sess o para identificar o usu rio e EXIBIR P GINA PRINCIPAL DO SISTEMA sen o EXIBIR P GINA DE ERRO Se a requisi o recebida for para alterar os dados do usu rio ent o ALTERAR DADOS DO USU RIO Se os dados forem alterados com sucesso ent o EXIBIR PAGINA DE SUCESSO sen o EXIBIR PAGINA DE ERRO Se a requisi o recebida for para lembrar senha ent o VERIFICAR LOGIN E E MAIL DO USU RIO Se login e e mail estiverem corretos ent o LEMBRAR SENHA DO USU RIO s
19. s de um outro cen rio o que nos permite decompor um cen rio facilitando seu entendimento Outro fator que contribui para a compreens o de cen rios al m do uso da linguagem natural e descri o de situa es bem definidas a exist ncia de relacionamentos De acordo com Breitman00 cen rios est o ligados a outros PUC Rio Certifica o Digital N 0711275 CA Representa es utilizadas 22 cen rios atrav s de elos formando uma complexa rede de relacionamentos Estes elos podem ser de quatro tipos distintos subcen rio pr condi o exce o e restri o Um cen rio dito subcen rio de outro quando aparece em pelo menos um de seus epis dios Este relacionamento til quando e Detectamos um comportamento comum em v rios cen rios Quando isto acontece podemos isolar este comportamento em um novo cen rio reduzindo a redund ncia de informa es e H um curso de a o alternativo ou condicional complexo dentro de um sistema Quando isto ocorre podemos separar este comportamento em um novo cen rio para um maior detalhamento facilitando sua compreens o e Desejamos melhorar a descri o de uma situa o quando um objetivo importante e bem definido encontrado dentro de um cen rio Diante desta situa o podemos utilizar um novo cen rio para destacar e detalhar o novo objetivo detectado A pr condi o um relacionamento definido dentro do componente contexto de um cen rio Um cen
20. utiliza o de recursos Essas senten as devem aparecer em sequ ncia cronol gica e serem sempre o mais simples poss vel Restri es S o aspectos n o funcionais que qualificam restringem o correto funcionamento do software Estes aspectos podem estar relacionados ao contexto recursos ou epis dios Exce es Situa es que impedem que o objetivo do cen rio seja alcan ado O tratamento para tais situa es deve ser descrito Tabela 2 Representa o de cen rios adotada 40 Na Figura 21 podemos ver a titulo de exemplo a descri o do cen rio Recuperar senha do usu rio de acordo com a representa o de cen rios adotada pelo m todo Este cen rio descreve a situa o onde o usu rio solicita a recupera o de sua senha de acesso ao sistema Como descrito na subse o 2 2 podemos aliar as t cnicas de cen rios e LAL Um exemplo disto pode ser visto nesta mesma figura onde as palavras sublinhadas fazem parte do LAL do dom nio do C amp L constru do no passo anterior PUC Rio Certifica o Digital N 0711275 CA Construindo a nova arquitetura 41 T tulo RECUPERAR SENHA DO USUARIO Objetivo Permitir que o usu rio recupere sua senha Ao solicitar recupera o de sua senha o usu rio preencher um formul rio com seu login e e mail Ap s a verifica o dos dados o sistema ir substituir a senha antiga por uma nova senha rand mica e envi la para o e mai
21. 22 Processo de integra o de cen rios 4 1 3 1 Divis o dos cen rios em grupos A forma o dos grupos de cen rios deve ser feita considerando uma vis o modular do sistema Cen rios que modelem funcionalidades comuns do sistema devem ser colocados no mesmo grupo Um cen rio que n o se encaixar em nenhum outro grupo pode ser considerado um grupo por si s Um exemplo da forma o de um grupo pode ser visto na Figura 23 Neste exemplo todos os cen rios est o relacionados pois manipulam informa es sobre o usu rio PUC Rio Certifica o Digital N 0711275 CA Construindo a nova arquitetura T tulo CADASTRAR USU RIO Objetivo Permitir que o usu rio utilize o sistema cadastrando seus dados no banco de dados atrav s do preenchimento de um formul rio com os seguintes campos nome sobrenome e mail institui o login e senha Contexto Usu rio n o possui cadastro no sistema Recursos dados do usu rio nome sobrenome e mail institui o login e senha Atores usu rio sistema Epis dios 1 Usu rio clica no atalho Cadastre se na p gina principal do sistema Sistema exibe um formul rio de cadastro contendo os seguintes campos para o usu rio preencher nome sobrenome e mail institui o login senha e confirmar senha Usu rio submete formul rio preenchido Restri o Todos os campos do formul rio devem ser preenchidos O campo confirmar senha deve possuir a mesma cadeia de cara
22. Certifica o Digital N 0711275 CA Re arquitetura do software C amp L 99 local tabela links lexico local tabela links cenario if tipo lexico or tam cenarios 0 then GEpis dio 10 Se n o h cen rios cadastrados no projeto ent o apenas a lista de l xicos e sin nimos ser percorrida for index lexico in pairs lexicos e sinonimos do QEpis dio 11 A vari vel nome lexico recebe o nome do termo do l xico ou sin nimo que est sendo verificado no momento local nome lexico lexico NOME GEpis dio 12 Uma express o regular montada com o nome do termo do l xico ou sin nimo Esta express o regular evita erros devido a pontua o e espa os em branco na hora da busca local expressao regular ZSp s nome lexico p s if string find texto expressao regular nil then local nome lexico link GEpis dio 13 Se alguma ocorr ncia da express o regular for encontrada no texto ent o esta express o substitu da pelo c digo wzzxk kxy onde o ser substitu do por um n mero que identificar a posi o do termo do l xico ou sin nimo na tabela l xicos e sin nimos texto string gsub texto expressao regular ii EEA AA A Index Rey 2d GEpis dio 14 Verifica se a express o encontrada realmente um termo do l xico ou um sin nimo de um termo do l xico if lexico LEXICO nil then GEpis dio 15 Se a express o encontrada for um s
23. Computer Journal vol 27 n 2 pp 97 111 PUC Rio Certifica o Digital N 0711275 CA Refer ncias bibliogr ficas 110 Lamport86 L Lamport LaTeX a document preparation system Addison Wesley Publishing Company 1986 Leite93 Leite J C S P and Franco A P M A Strategy for Conceptual Model Acquisition First International Symposium on Requirements Engineering IEEE Computer Society Press 1993 pp 243 246 Leite94 Leite J C S P Engenharia de requisitos Notas de aula Dispon vel em http livrodeengenhariaderequisitos googlepages com ERNOTASDEAULA paf Leite96 Leite J C S P ACM Software Engineering Notes Vol 21 N 2 Pags 39 44 1996 Working Results on Software Re Engineering Leite98 Leite J C S P and Leonardi M C Business Rules as Organizational Polices 9th IWSSD Proceedings of the International Workshop of Specification and Design IEEE Computer Society Press pp 68 76 1998 Leite00 Leite J C S P Hadad G D S Doorn J H Kaplan G N A Scenario Construction Process Requirements Engineering Journal Vol 5 N 1 2000 Pages 38 61 Leite06 J C S P Leite Transpar ncia Desafios para a Engenharia de Software Sexta Feira May 19th 2006 http jcspl wordpress com 2006 05 19 transparencia desafios para aengenharia de software Leite08 Leite J C S P Serrano M Almentero E K Taming the Namespace Problem Pontif cia Universidade Cat lica do R
24. Contexto Figura 4 Modelo entidade relacionamento para um cen rio 0 1 Objetivo Recursos O atributo restri o usado para caracterizar aspectos n o funcionais que podem fazer com que o objetivo de um cen rio n o seja alcan ado na qualidade desejada Estes aspectos n o funcionais podem estar relacionados ao contexto recursos e epis dios Uma exce o pode interromper o curso normal de um cen rio Cada exce o deve ser descrita por uma senten a simples que deve especificar a causa da interrup o e como trat la Um outro cen rio pode ser utilizado para este fim O contexto descrito atrav s da localiza o geogr fica localiza o temporal e precondi es Cada um desses elementos pode ser descrito por uma ou mais senten as simples ligadas pelos conectores l gicos e e ou Os epis dios s o sequenciais e podem ser simples condicionais ou opcionais Os simples s o os necess rios para completar o cen rio Os condicionais s o aqueles cuja ocorr ncia depende de uma condi o espec fica As condi es internas de um cen rio podem ocorrer devido a pr condi es alternativas restri es de atores ou recursos e epis dios anteriores E por fim os epis dios opcionais s o os que podem ocorrer ou n o dependendo de condi es que n o podem ser explicitamente detalhadas Independente de seu tipo um epis dio pode ser descrito atrav s de uma senten a simples ou atrav
25. Digital N 0711275 CA Construindo a nova arquitetura 44 2 pr condi o subcen rio exce o ou restri o O mapeamento dos relacionamentos baseado nas compara es entre pr condi es recursos ou restri es de um cen rio e t tulo objetivo ou epis dios de outro Se um cen rio utiliza em um dos seus epis dios outro cen rio ent o dizemos que este cen rio subcen rio do primeiro A seguir citamos as compara es que devem ser feitas para detectar os relacionamentos entre cen rios e Contexto de um cen rio e t tulo dos outros cen rios e Recursos de um cen rio e t tulo dos outros cen rios e Recursos de um cen rio e objetivo dos outros cen rios e Recurso de um cen rio e epis dios dos outros cen rios e Epis dios de um cen rio e t tulo dos outros cen rios e Exce o de um cen rio e t tulo dos outros cen rios Podemos utilizar os relacionamentos identificados para estabelecer uma ordem entre os cen rios do grupo Por exemplo se atrav s da execu o de um cen rio alcan amos um estado que aparece como pr condi o em outro ent o h um relacionamento e tamb m uma ordem entre estes dois cen rios O mesmo pode acontecer com um recurso que produzido por um cen rio e utilizado por outro Al m disso restri es que aparecem em epis dios e recursos podem ser satisfeitas por outro cen rio estabelecendo uma ordem entre eles As restri es presentes em um cen rio nos fornecem pi
26. Exibir campo Sobrenome Exibir campo E mail Exibir campo Institui o Exibir campo Login Exibir campo Senha Exibir campo Confirmar senha Ao clicar no bot o cadastrar o sistema ser redirecionado para CONTROLE USUARIO Restri o Antes de submeter o formul rio VERIFICAR FOMUL RIO DE CADASTRO DO USU RIO Figura 27 Exemplo de cen rio da camada de vis o 4 1 4 1 2 Camada de modelo Ap s a separa o da parte relacionada interface com o usu rio dos cen rios iniciais produzidos na subse o 4 1 2 a parte restante referente camada de modelo do sistema Sem a presen a da interface com o usu rio podemos focar mais nas funcionalidades do sistema e aumentar seu n vel de detalhamento As heur sticas para isto podem ser encontradas na Tabela 4 detalhadas para cada elemento do cen rio T tulo Identificador do cen rio da camada de modelo Deve ser nico Objetivo Descrever qual a finalidade da funcionalidade modelada pelo usu rio Contexto Identificar as pr condi es necess rias para a execu o do cen rio Por exemplo se necess ria a execu o de um cen rio da camada de vis o preenchimento de um formul rio Atores Identificar os atores envolvidos no cen rio Note que o usu rio n o mais um ator v lido para este cen rio Neste caso os atores podem ser outras partes do sistema ou componentes externos PUC Rio Certifica
27. XICO Objetivo Permitir que o usu rio altere os dados de um s mbolo do l xico cadastrado no sistema atrav s da edi o de um formul rio preenchido com suas informa es cadastradas Contexto S mbolo do l xico cadastrado no sistema Recursos novos dados do s mbolo do l xico Atores usu rio sistema Epis dios 1 O usu rio seleciona um s mbolo do l xico do projeto exibido no menu lateral 2 O usu rio seleciona a op o Alterar s mbolo 3 Sistema exibe um formul rio preenchido com dos dados do l xico selecionado 4 Usu rio faz as altera es que deseja nas informa es do s mbolo e submete o formul rio Restri o O campo no o n o pode ser deixado em branco 5 O sistema comunica ao usu rio que as altera es no s mbolo foram feitas com sucesso T tulo REMOVER S MBOLO DO L XICO PUC Rio Certifica o Digital N 0711275 CA Re arquitetura do software C amp L 75 Objetivo Permitir que o usu rio remova um s mbolo do l xico do projeto selecionado Contexto S mbolo do l xico cadastrado no sistema Recursos dados do s mbolo do l xico Atores usu rio sistema Epis dios 1 O usu rio seleciona um s mbolo do l xico do projeto exibido no menu lateral 2 O usu rio seleciona a op o Remover s mbolo 3 Sistema solicita a confirma o da exclus o 4 Usu rio confirma a exclus o 5 Sistema comunica o usu rio que a exclus o do s mbolo f
28. XICO Objetivo Alterar os dados de um s mbolo do l xico cadastrado no projeto atrav s de uma atualiza o de seus dados cadastrados no banco de dados Contexto S mbolo do l xico cadastrado no sistema Atores CONTROLE L XICO Recursos dados alterados do s mbolo do l xico nome do projeto banco de dados Epis dios 1 Receber os dados do s mbolo do l xico alterados e o projeto a que pertence 2 Conectar ao banco de dados Restri o Banco de dados deve estar dispon vel 3 Alterar os dados do s mbolo no do banco de dados 4 Desconectar do banco de dados 5 Informar a camada CONTROLE L XICO que o s mbolo foi alterado Titulo RECUPERAR DADOS DO S MBOLO E MONTAR SEUS RELACIONAMENTOS Objetivo Recuperar os dados do s mbolo do l xico do banco de dados e criar elos nos textos recuperados dos campos no o e impacto atrav s da identifica o da ocorr ncia de nomes ou sin nimos de outros s mbolos do l xico nestes textos PUC Rio Certifica o Digital N 0711275 CA Re arquitetura do software C amp L 91 Contexto Atores CONTROLE L XICO Recursos nome do s mbolo nome do projeto nome dos s mbolos do projeto sin nimos dos s mbolos do l xico Epis dios 1 Receber o nome do s mbolo e do projeto da CAMADA CONTROLE 2 Recuperar o nome dos s mbolos do l xico do projeto 3 Recuperar os sin nimos dos s mbolos do l xico do projeto 4 COLOCAR ELOS NO TEXTO impacto 5 COLOCAR ELOS NO TEX
29. arquivo XML gerado para o usu rio T tulo GERAR GRAFO DO PROJETO Objetivo Gerar um grafo do projeto a partir de um dos arquivos XML do projeto onde os cen rios e s mbolos do l xico ser o representados como n s e seus relacionamentos como arestas Contexto Um arquivo XML do projeto deve ter sido gerado Recursos arquivo XML Atores usu rio sistema ferramenta de constru o de grafos Epis dios 1 Usu rio seleciona a op o Gerar grafo do projeto 2 Sistema mostra uma lista com as vers es de arquivo XML geradas para o projeto selecionado 3 Usu rio seleciona uma das vers es 4 Sistema chama a ferramenta de constru o de grafos e passa como par metro o arquivo XML escolhido A ferramenta de constru o de grafos constr i o grafo do projeto e o exibe para o usu rio T tulo INCLUIR COLABORADOR NO PROJETO Objetivo Permitir a inclus o de colaboradores para ajudar na constru o e evolu o do projeto A inclus o feita atrav s de uma lista contendo os usu rios PUC Rio Certifica o Digital N 0711275 CA Re arquitetura do software C amp L 72 cadastrados no sistema Os colaboradores podem possuir os seguintes n veis de acesso gerente usu rio participativo e usu rio passivo O gerente possui todos os privil gios do administrador do projeto exceto adicionar outros usu rios colaboradores como n vel de acesso de gerente Os usu rios participativos podem sugerir altera es que podem s
30. cadastre um novo projeto no sistema atrav s da inclus o dos seguintes dados do projeto no banco de dados nome descri o e data da inclus o Os campos nome e descri o devem ser informados pelo usu rio atrav s do preenchimento de um formul rio O sistema deve preencher automaticamente o campo data da inclus o com a data atual Contexto Usu rio deve estar autenticado no sistema Recursos dados do projeto nome descri o e data da inclus o Atores usu rio sistema Epis dios l Sistema exibe um formul rio de cadastro de projeto contendo os campos nome e descri o Usu rio submete o formul rio preenchido Restri o todos os campos devem estar preenchidos Sistema armazena a data atual como data da inclus o do projeto Sistema insere os seguintes dados no banco de dados nome descri o e data da inclus o Sistema avisa que o projeto foi inserido com sucesso e o redireciona para p gina principal Exce o O usu rio j possui um projeto com o mesmo nome informado O usu rio avisado que deve escolher um novo nome para o projeto Titulo REMOVER PROJETO Objetivo Permitir que o usu rio remova um projeto seus cen rios s mbolos do l xico e arquivos XML vinculados Contexto Projeto cadastrado anteriormente pelo usu rio usu rio deve ser administrador Recursos dados do projeto Atores sistema usu rio Epis dios 1 O sistema exibe os dados do projeto e solicita uma confirma
31. comparecer 09 requisitar reuni Contexto o cen rio REQUISITAR REUNI O deve ter sido executado EB L xico ERES sistema participantes reuni o agendador de re lista de participantes assunto datas preferenciais hor rios preferenciais locais assunto E preferenciais confito normal Exce o EM n o houver uma data de reuni o hor rio de reuni o e local de reuni o comum em que todos os confito serio ga participantes possam comparecer ent o o sistema deve REALIZAR NOVA TENTATIVA DE AGENDAMENTO data de reuni o 1 O sistema informa o assunto e requisita aos participantes suas datas preferenciais hor rios data preferencia preferenciais e locais preferenciais para a reuni o 2 hor rio de reuni 2 O sistema analisa as datas de reuni o hor rios de reuni o e locais de reuni o fornecidos pelos hor rio preferent SENTA participantes Restri o Todos os participantes da reuni o devem fornecer os dados requisitados lista de participe local de reuni o local preferenciz organizar reuni C participantes Alterar Cen rio Remover Cen rio 23 pedido de reuni O reuni o O sistema cen rios que referenciam este cen rio 0 Ontologia COMUNICAR DATA DA REUNIAO Veja o c digo fonte 3 sistema define a data de reuni o o hor rio de reuni o e o local de reuni o 4 COMUNICAR DATA DA REUNIAO O internet Figura 13 Exemplos de atalhos criados pelo C amp L A primeira o
32. de de Eca cen rios e L xico o A r E Pag E Toos Administrador Projeto Sistema organizador de reuni es x Adicionar Cen rio Adicionar S mbolo Info Adicionar Projeto Remover Projeto Alterar Cadastro Fale Conosco Sair Ajuda en rios 8 Sistema organizador c Sistema organizador de reuni es E Cen rios OELEK CKCH 20 02 2009 a0 L xico ERES sistema criado para intermediar a organiza o de reuni es entre diversos participantes A Ontologia Voc um administrador deste projeto Adicionar usu rio n o cadastrado neste projeto Adicionar usu rios j existentes neste projeto Verificar pedidos de altera o de Cen rios Verificar pedidos de altera o de termos do L xico Verificar pedidos de altera o de Conceitos Verificar pedidos de altera o de Rela es Gerar grafo deste projeto Gerar XML deste projeto Recuperar XML deste projeto Gerar ontologia deste projeto Gerar DAML da ontologia do projeto Hist rico em DAML da ontologia do projeto Validador de Ontologias na Web Visualizador de Ontologias na Web Para usar Ontologias Geradas pelo C amp L Hist rico em DAML da ontologia do projeto gt Botao Direito do Mouse gt Copiar Atalho Veja o c digo fonte O Internet Figura 14 Menu info PUC Rio Certifica o Digital N 0711275 CA Software C amp L 34 Selecione os usu rios Windows Internet Explorer DAER e httpijfpes inf puc rio br celfaplicaca
33. devem ser mapeados atrav s de relacionamentos entre os cen rios que os descrevem Aliada ao HTML a linguagem de script JavaScripijJavaScript09 tamb m muito utilizada no desenvolvimento das interfaces para sistemas Web pois permite uma intera o mais din mica com o usu rio Da mesma forma que o restante do sistema a parte codificada em JavaScript tamb m deve ser documentada atrav s de cen rios Para fazer esta documenta o o c digo JavaScript utilizado deve ser separado em fun es e colocado em um arquivo com extens o js espec fico para este fim Para cada fun o JavaScript deve ser criado um cen rio a fim de descrev la Este cen rio deve possuir a estrutura mostrada na Tabela 6 A liga o entre os cen rios da camada de vis o e os que descrevem as fun es JavaScript deve ser feita atrav s de um dos relacionamentos poss veis entre cen rios subcen rio exce o restri o ou pr condi o T tulo Identificador da fun o JavaScript Objetivo Descri o da finalidade da fun o Contexto Em que ocasi es a fun o chamada Quais outras fun es a chamam Atores Outras fun es JavaScript utilizadas pela que est sendo descrita ou o pr prio usu rio caso interaja com a fun o Recursos Dados necess rios para a execu o da fun o par metros dados recuperados de p ginas HTML atrav s de objetos document PUC Rio Certifica o Digital N 07112
34. edi o de um formul rio contendo as informa es previamente cadastradas Contexto Usu rio deve ter sido previamente cadastrado no sistema Autenticar usu rio no sistema Recursos novos dados do usu rio Atores usu rio e sistema Epis dios 1 Usu rio seleciona a op o Alterar dados do menu principal 2 Sistema exibe um formul rio com os seguintes campos j preenchidos permitindo sua edi o nome sobrenome e mail institui o 3 Usu rio submete o formul rio preenchido com os novos dados Restri o O formul rio n o pode conter campos em branco 4 Sistema atualiza os dados do usu rio no banco de dados 5 Sistema avisa que os dados do usu rio foram alterados com sucesso e o redireciona para a p gina principal T tulo SAIR DO SISTEMA Contexto Usu rio deve ter acessado o sistema Recursos dados do usu rio Atores usu rio sistema Epis dios 1 Usu rio seleciona a op o sair do sistema Objetivo Permitir que o usu rio saia do sistema mantendo a integridade das mudan as realizadas 2 O sistema encerra a sess o atual do usu rio mantendo a integridade das mudan as realizadas 3 O sistema redireciona o usu rio para a p gina principal Figura 39 Grupo correspondente ao m dulo usu rio PUC Rio Certifica o Digital N 0711275 CA Re arquitetura do software C amp L T tulo CADASTRAR PROJETO Objetivo Permitir que o usu rio
35. eliminar ou se isto n o for poss vel pelo menos reduzir ao m ximo este obst culo 1 2 Abordagem Proposta Neste trabalho exploramos um m todo de desenvolvimento para software livre baseado no uso de cen rios Leite00 O resultado da aplica o deste m todo ser um documento nico o c digo fonte onde teremos os cen rios integrados com o c digo facilitando sua leitura e entendimento trazendo assim mais transpar ncia para o software Este m todo foi refinado durante sua aplica o na re engenharia Leite96 do software C amp L migrando da plataforma PHP PHPO9 para a plataforma Lua Kepler Kepler09 e adotando o framework MVC Para produzir uma documenta o complementar aos cen rios inclusos no c digo fonte utilizamos a t cnica LAL Leite 93 para mapear o espa o de nomes do software C amp L O conceito de espa o de nomes muito utilizado em diferentes reas da ci ncia da computa o No nosso caso em particular a n vel de c digo fonte o espa o de nomes nos fornece um contexto onde nomes s o atribu dos a identificares nicos que compor o o c digo fonte do software vari veis fun es objetos Leite08 PUC Rio Certifica o Digital N 0711275 CA Introdu o 14 As duas t cnicas utilizadas neste trabalho cen rios e LAL foram escolhidas porque s o objeto de estudo do grupo de engenharia de requisitos da PUC Rio GrupoERO9 h alguns anos e trabalhos como Christoph04 Silva03 e
36. integra o baseada no processo descrito em Leite00 com algumas modifica es para atender as particularidades de nosso m todo A integra o feita atrav s da cria o de um novo cen rio o cen rio de integra o Este cen rio uma descri o artificial com o nico prop sito de facilitar o entendimento de um conjunto de cen rios Sua id ia principal estabelecer uma rela o entre os cen rios dispersos dando uma vis o global do sistema e ainda assim preservar o uso da linguagem natural adotada nos cen rios Para a constru o do cen rio de integra o utilizaremos um processo que tem como base a integra o por generaliza o A id ia deste processo relacionar um grupo de cen rios atrav s da cria o de um novo cen rio criado artificialmente que descreva as mesmas situa es que os cen rios pertencentes PUC Rio Certifica o Digital N 0711275 CA Construindo a nova arquitetura 42 ao grupo com um grau de abstra o maior O processo proposto composto de tr s passos Figura 22 Formar grupos de cen rios identificar cen rios raiz e criar cen rio integrador A seguir detalharemos cada um destes passos Cen rio raiz di raiz 20 9o90 gt g Cen rio c13 dt dio dl 1 Formar grupos de cen rios Cen rio raiz c13 cen rio raiz 2 Identificar cen rio raiz integrador c13 3 Criar cen rio integrador Figura
37. modelo e depois encaminhar a resposta para a camada de vis o Na Figura 32 podemos ver um trecho do cen rio controle usu rio j implementado PUC Rio Certifica o Digital N 0711275 CA Construindo a nova arquitetura 56 ETitulo Controle usu rio GObjetivo Intermediar a comunica o entre a camda de vis o e controle do m dulo usu rio EContexto cadastrar usuario html alterar dados lp lembrar senha html index html principal lp Atores CHECAR LOGIN CADASTRAR USUARIO CHECAR USUARIO LEMBRAR SENHA GRecursos dados do usu rio D Epis dio 1 Importa o arquivo modelo_usuario lua e habilita o uso de sess es dofile modelo modelo usuario lua cgilua enablesession gt lt html gt lt head gt lt head gt lt body gt lt lua if cgilua POST comando cadastrar then GEpis dio 2 Se o comando for cadastrar CHECAR LOGIN local ha usuario checar login usuario cgilua POST login if ha usuario then cgilua put Login j existente por favor escolha outro login else GEpis dio 3 Se o login n o se encontra no banco de dados ent o CADASTRAR USUARIO local id usuario cadastrar usuario cgilua POST nome cgilua POST sobrenome cgilua POST email cgilua POST instituicao cgilua POST login cgilua POST senha GEpis dio 4 Cria uma sess o e salva o id do usu rio nela cgilua enablesession Figura 32 Trecho de cen rio da camada de controle
38. nil then GEpis dio 32 Se o elemento encontrado for um sin nimo ent o o termo do l xico a que este sin nimo corresponde armazenado na vari vel nome lexico link Caso PUC Rio Certifica o Digital N 0711275 CA Re arquitetura do software C amp L 101 contr rio se o elemento encontrado for um termo do l xico ent o ele armazenado na vari vel nome l xico nome lexico link lexicos e sinonimos 1i LEXICO else nome lexico link nome lexico end GEpis dio 33 Um atalho para o termo encontrado criado e colocado na tabela links lexico na mesma posi o que o l xico atual ocupa na tabela lexicos e sin nimos Isto permitir que identifiquemos a que c digo wzzxk kxy do texto este atalho corresponde link lt a title N L xicoN href visao exibe lexico l p id projeto id projeto s amp nome nome lexico link N gt nome lexico lt aD table insert tabela links lexi co i link end if i it I else if Epis dio 34 Se o t tulo do cen rio atual possui um maior de palavras que o nome do l xico atual ent o procuraremos a ocorr ncia do t tulo deste cen rio no texto titulo_cenario cenarios j TITULO Epis dio 35 Uma express o regular criada com o t tulo do cen rio atual Esta express o regular impede que erros sejam causados por causa da pontua o e espa os em branco expressao_regular p s titulo cenario p s ne
39. nome e no caso de cen rios este identificador seu t tulo PUC Rio Certifica o Digital N 0711275 CA Re arquitetura do software C amp L 92 O desejado que o C amp L identifique automaticamente a ocorr ncia destes identificadores no texto dos elementos que est o sendo exibidos e que caso encontre algum identificador o substitu a por um elo para o elemento correspondente Estes elos representam os relacionamentos que podem ocorrer entre dois cen rios entre dois s mbolos do l xico ou entre um cen rio e um s mbolo do l xico Os identificadores dos elementos podem ser compostos de v rias palavras Neste caso o C amp L deve dar prefer ncia aos identificadores compostos de mais palavras Para exemplificar suponhamos que exista um projeto com apenas um s mbolo do l xico cadastrado cujo nome seja software e que estejamos visualizando o texto da Figura 51 Engenharia de software uma rea da inform tica voltada para a especifica o desenvolvimento e manuten o de sistemas Figura 51 Exemplo de texto sendo visualizado Neste caso o termo software deveria ser substitu do por um elo para o s mbolo software Figura 52 Elo para o s mbolo software Engenharia de software uma rea da inform tica voltada para a especifica o desenvolvimento e manuten o de sistemas Figura 52 Exemplo de texto com o elo software Suponhamos que mais adiante o usu rio cadastre um
40. novo s mbolo de nome engenharia de software no projeto e que novamente estejamos visualizando o texto da Figura 51 Agora o C amp L deve substituir o termo engenharia de software por um elo para o s mbolo engenharia de software e n o ter amos mais uma refer ncia ao termo software Figura 53 PUC Rio Certifica o Digital N 0711275 CA Re arquitetura do software C amp L 93 Elo para o s mbolo engenharia de software t Engenharia de software uma rea da inform tica voltada para a especifica o desenvolvimento e manuten o de sistemas N o h mais elo para o s mbolo software Figura 53 Exemplo de texto com o elo engenharia de software 5 2 6 2 Algoritmo antigo Para facilitar mostraremos atrav s de um exemplo o funcionamento do algoritmo utilizado pelo C amp L antes da re engenharia e o erro que ocorria Neste exemplo iremos considerar um projeto com os seguintes s mbolos do l xico cadastrados engenheiro engenheiro de software engenheiro de software experiente software e engenharia de software Vamos considerar tamb m que estamos visualizando o texto apresentado na Figura 54 O engenheiro de software experiente um engenheiro de software com no m nimo cinco anos de experi ncia na pr tica da engenharia de software Figura 54 Exemplo de texto sendo visualizado O primeiro passo do algoritmo criar um vetor colocar os id
41. opera o PUC Rio Certifica o Digital N 0711275 CA Re arquitetura do software C amp L 73 T tulo VERIFICAR ALTERA ES SUGERIDAS PELOS COLABORADORES Objetivo Permitir que o administrador ou gerente do projeto acate ou rejeite as altera es referentes a s mbolos do l xico e cen rios sugeridas pelos usu rios participativos Contexto Usu rio deve ter sido autenticado como administrador ou gerente do projeto Recursos lista de altera es sugeridas e justificativas Atores usu rio sistema Epis dios 1 Usu rio seleciona a op o Verificar altera es sugeridas 2 O sistema exibe uma lista com todas as altera es sugeridas tanto para l xicos quanto para cen rios Abaixo de cada altera o sugerida da lista s o exibidas duas op es Aceitar e Rejeitar 3 O usu rio seleciona uma das duas op es para cada altera o e clica no bot o Processar 4 O sistema realmente efetua as altera es acatadas e rejeita as que n o foram acatadas pelo usu rio 5 Sistema exibe uma tela de sucesso do processamento das altera es T tulo CADASTRAR S MBOLO DO L XICO Objetivo Permitir que o usu rio inclua um s mbolo do l xico em um projeto Contexto Projeto cadastrado no sistema Recursos dados do l xico Atores usu rio sistema Epis dios 1 Usu rio seleciona a op o Novo s mbolo do l xico 2 O sistema exibe um formul rio com os seguintes campos nome no
42. os cen rios iniciais e o l xico ampliado da linguagem Conforme o desenvolvimento do novo C amp L foi avan ando pudemos migrar os cen rios para a nova ferramenta A partir da utilizamos o novo C amp L para evoluir os cen rios iniciais e os s mbolos do l xico 5 2 Aplica o do m todo na constru o do novo C amp L Detalharemos a aplica o do m todo proposto passo a passo nas subse es a seguir PUC Rio Certifica o Digital N 0711275 CA Re arquitetura do software C amp L 66 5 2 1 Descri o das situa es do sistema atrav s de cen rios A seguir apresentamos a descri o das situa es do software C amp L com o uso do modelo de cen rios apresentado anteriormente Os termos sublinhados ou s o refer ncias a outros cen rios ou a s mbolos do l xico T tulo CADASTRAR USU RIO Objetivo Cadastrar usu rio no sistema atrav s da inser o de seus dados no banco de dados Contexto Usu rio n o possui cadastro no sistema Recursos dados do usu rio nome sobrenome e mail institui o login e senha banco de dados Atores camada de controle Epis dios 1 Receber os dados do usu rio repassados pela camada de controle 2 Conectar ao banco de dados Restri o Banco de dados deve estar dispon vel 3 Inserir dados do usu rio no banco de dados 4 Desconectar do banco de dados 5 Informar a camada de controle que os dados foram inseridos com sucesso no ba
43. rio agendar reuni o apresentado na Figura 5 Cada cen rio e s mbolo do l xico representar um n e os relacionamentos ser o identificados pelas arestas O grafo obtido pode ser visualizado na Figura 6 As arestas direcionadas identificam quem referencia e quem referenciado Neste exemplo temos os relacionamentos de subcen rio pr condi o e exce o que est o explicitados na Figura atrav s do nome junto aresta PUC Rio Certifica o Digital N 0711275 CA Representa es utilizadas 24 Figura 6 Grafo de relacionamentos entre cen rios e s mbolos do l xico PUC Rio Certifica o Digital N 0711275 CA Software C amp L 25 3 Software C amp L Este cap tulo apresenta a vers o anterior do software Cen rios amp L xicos C amp L que passou por um processo de re engenharia durante este trabalho Ao longo do cap tulo descreveremos seu processo de desenvolvimento e a evolu o do software desde sua cria o at atualmente Tamb m detalharemos sua arquitetura e os problemas decorrentes do seu processo de desenvolvimento que tornaram o seu c digo fonte dif cil de entender e consequentemente de manter e evoluir Por fim explicaremos cada uma das funcionalidades oferecidas pelo C amp L e como utiliz las 3 1 Introdu o O C amp L Silva05 um software para edi o de s mbolos do l xico e cen rios Este software disponibiliza um ambiente em que usu rios podem inte
44. rio e p e o foco do cursor nele enchido rio gin er if formulario nome value ltrim 1 alert O campo formulario nome name deve ser preenchido formulario nome focus return false F Epis dio 2 Verificar se o campo sobrenome est vazio ou se cont m apenas espa os em branco Se o campo estiver vazio emite um alerta para o usu rio e p e o foco do cursor nele if formulario sobrenome value ltrim alert O campo formulario sobrenome name deve ser pree formulario sobrenome focus return false nchido Figura 30 Trecho de uma fun o JavaScript documentada atrav s de um cen rio PUC Rio Certifica o Digital N 0711275 CA Construindo a nova arquitetura 55 lt ETitulo Exibir p gina de cadastro de novo usuario Gobjetivo Permitir que o usu rio informe seus dados pessoais para cadastro no sistema Para tanto a p gina exibida conter um formul rio com os seguintes campos nome sobrenome e mail institui o login senha e confirmar senha EContexto Usu rio clica no bot o Cadastrar se na p gina principal do sistema GAtores usu rio ainda n o cadastrado no sistema eRecursos scripts js e estilo css gt lt head gt lt script src js scripts js type text javascript gt lt script gt lt link rel stylesheet type text css href css estilo css gt lt title gt Cadastro de Usu rio lt title gt lt met
45. s do preenchimento de um formul rio com os seguintes campos nome sobrenome e mail institui o login e senha Contexto Usu rio n o possui cadastro no sistema Recursos dados do usu rio nome sobrenome e mail institui o login e senha Atores usu rio sistema Epis dios 1 Usu rio clica no atalho Cadastre se na p gina principal do sistema 2 Sistema exibe um formul rio de cadastro contendo os seguintes campos para o usu rio preencher nome sobrenome e mail institui o login senha e confirmar senha Usu rio submete formul rio preenchido Restri o Todos os campos do formul rio devem ser preenchidos O campo confirmar senha deve possuir a mesma cadeia de caracteres alfanum ricos informada no campo senha Sistema insere os dados do novo usu rio no banco de dados 5 Sistema avisa que usu rio foi cadastrado com sucesso e o redireciona para p gina principal Exce o O login informado pelo usu rio j se encontra no banco de dados do sistema O usu rio alertado e informado que deve escolher novo login Figura 24 Exemplo de cen rio raiz 4 1 3 3 Criar cen rio integrador O cen rio integrador um cen rio artificialmente criado apenas para estabelecer uma rela o entre os cen rios raiz permitindo uma vis o global do sistema Come aremos a constru o deste cen rio pelos seus epis dios Para isto precisaremos ordenar os cen rios raiz identificados da mesma form
46. uso da interface Por exemplo para poder preencher determinado campo de um formul rio devo antes ter preenchido um determinado campo em um outro formul rio Exce o Detalhar comportamentos excepcionais da interface e seu tratamento Por exemplo ao retornar para uma p gina atrav s do bot o voltar do navegador a p gina n o carregar corretamente Tabela 3 Heur sticas para constru o de um cen rio da camada de vis o 48 A Figura 27 apresenta um exemplo de cen rio da camada de vis o extra do do cen rio cadastrar usu rio Este cen rio descreve uma p gina contendo um formul rio de cadastro de usu rio Podemos observar que a comunica o entre a camada de vis o e a camada de controle realizada no epis dio 8 utilizando o subcen rio controle usu rio PUC Rio Certifica o Digital N 0711275 CA Construindo a nova arquitetura 49 Titulo EXIBIR P GINA DE CADASTRO DE NOVO USU RIO Objetivo Permitir que o usu rio informe seus dados pessoais para cadastro no sistema Para tanto a p gina exibida conter um formul rio com os seguintes campos nome sobrenome e mail institui o login senha e confirmar senha Contexto Pode ser acessado atrav s do elo Cadastrar se na p gina principal do sistema Atores usu rio ainda n o cadastrado no sistema Recursos scripts js e estilo css Epis dios t E a 4 5 6 e 8 Exibir campo Nome
47. usu rio inclua um s mbolo do l xico em um projeto Contexto Projeto cadastrado no sistema Recursos dados do l xico Atores usu rio sistema Epis dios 1 Usu rio seleciona a op o Novo s mbolo do l xico 2 O sistema exibe um formul rio com os seguintes campos nome no o impacto classifica o e sin nimo Usu rio submete o formul rio preenchido Restri o Os campos nome no o e classifica o n o podem ser deixados em branco Sistema cadastra o novo s mbolo do l xico Sistema comunica ao usu rio que a inclus o foi realizada com sucesso Exce o Se o nome do l xico escolhido ou algum de seus sin nimos j estiver cadastrado no sistema como nome de outro l xico ou sin nimo ent o o sistema deve exibir uma mensagem de erro identificando o que o ocasionou 81 Titulo ALTERAR S MBOLO DO L XICO Objetivo Permitir que o usu rio altere os dados de um s mbolo do l xico cadastrado no sistema atrav s da edi o de um formul rio preenchido com suas informa es cadastradas Contexto S mbolo do l xico cadastrado no sistema Recursos novos dados do s mbolo do l xico Atores usu rio sistema Epis dios 1 O usu rio seleciona um s mbolo do l xico do projeto exibido no menu lateral 2 O usu rio seleciona a op o Alterar s mbolo 3 Sistema exibe um formul rio preenchido com dos dados do l xico selecionado Usu rio faz as altera es que deseja na
48. 75 CA Construindo a nova arquitetura Epis dios Devem descrever detalhadamente cada trecho de c digo da fun o Restri es Aspectos n o funcionais que podem atrapalhar o funcionamento da fun o Podem aparecer no contexto recursos ou epis dios Exce o Identificar comportamentos excepcionais que podem ocorrer na fun o e seu respectivo tratamento 0 Tabela 6 Heur sticas para descrever fun es JavaScript 54 A Figura 30 apresenta um trecho de c digo JavaScript documentado com uso de cen rios Este trecho corresponde fun o verificar formulario usuario respons vel por validar o formul rio contendo os dados do usu rio antes que ele seja submetido para a camada de controle Na Figura 31 podemos ver um trecho do cen rio Exibir p gina de cadastro de novo usu rio implementado eT tulo Validar formul rio de cadastro de usu rio Gobjetivo Assegurar que o formul rio de cadastro de usu rio seja pre da maneira correta Econtexto O formul rio de cdastro preenchido e submetido pelo usu GAtores cadastro usuario html Recursos dados do usu rio nome sobrenome e mail institui o lo senha e confirmar senha RA function verificar formulario usuario formulario document frmCadastro GEpis dio 1 Verificar se o campo nome est vazio ou cont m apenas espa os em branco Se o campo estiver vazio emite alerta para o usu
49. PUC Rio Certifica o Digital N 0711275 CA Eduardo Kinder Almentero Re engenharia do software C amp L para plataforma Lua Kepler utilizando princ pios de transpar ncia Disserta o de Mestrado Disserta o apresentada como requisito parcial para obten o do t tulo de Mestre pelo Programa de P s Gradua o em Inform tica da PUC Rio Orientador Julio Cesar Sampaio do Prado Leite Rio de Janeiro 08 abril de 2009 PUC Rio Certifica o Digital N 0711275 CA Eduardo Kinder Almentero Re engenharia do software C amp L para plataforma Lua Kepler utilizando princ pios de transpar ncia Disserta o apresentada como requisito parcial para obten o do t tulo de Mestre 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 Departamento de Inform tica PUC Rio Prof Carlos Jos Pereira de Lucena Departamento de Inform tica PUC Rio Prof Roberto lerusalimschy Departamento de Inform tica PUC Rio Prof Jos Eugenio Leal Coordenador Setorial do Centro T cnico Cient fico PUC Rio Rio de Janeiro 08 de abril de 2009 PUC Rio Certifica o Digital N 0711275 CA Todos os direitos reservados proibida a reprodu o total ou parcial do trabalho sem autoriza o da universidade do autor e do orientador Eduardo Kinder Almentero Graduou se em Bacharelado em In
50. RIO Objetivo Permitir que o usu rio recupere sua senha Ao solicitar recupera o de sua senha o usu rio preencher um formul rio com seu login e e mail Ap s a verifica o dos dados o sistema ir substituir a senha antiga por uma nova senha rand mica e envia la para o e mail do usu rio Contexto Usu rio deve ter sido previamente cadastrado no sistema Recursos login e e mail do usu rio Atores usu rio e sistema Epis dios 1 Usu rio clica no atalho Esqueceu a senha na p gina inicial do sistema 2 O sistema exibe um formul rio contendo os campos e mail e login para o usu rio preencher 3 O usu rio submete o formul rio preenchido Restri o Todos os campos devem ser preenchidos 4 O sistema verifica se o login e e mail informado s o iguais aos do cadastro do usu rio 5 Sistema gera uma nova senha rand mica e a envia para o e mail do usu rio 6 Sistema exibe um aviso informando que a senha foi alterada e que o usu rio deve verificar o e mail informado para obter a nova senha Exce o O login e e mail informado pelo usu rio n o est o corretos O sistema informar ao usu rio que o login e a senha n o est o corretos e permitir que ele tente mais duas vezes Caso erre mais duas vezes o usu rio ter que esperar por 20 minutos para tentar novamente T tulo ALTERAR DADOS DO USU RIO Objetivo Permitir que o usu rio altere seus dados armazenados no sistema atrav s da
51. TO no o Encaminhar os dados do s mbolo do l xico j com os elos montados a camada CONTROLE L XICO 5 2 6 Operacionaliza o dos cen rios Se fossemos mostrar todos os cen rios operacionalizados nesta subse o ter amos que mostrar o c digo fonte de todo o software o que a tornaria muito extensa por isso decidimos mostrar um exemplo atrav s da operacionaliza o do cen rio exibir s mbolo do l xico e seus relacionamentos que um dos principais do software Este cen rio abrange a principal caracter stica do C amp L que uma estrat gia de rastreamento autom tico Say o06 Esta estrat gia se baseia na identifica o autom tica dos relacionamentos entre s mbolos do l xico e cen rios e a montagem de elos que s o fundamentais na implementa o da estrat gia pois permitem a navega o entre os s mbolos e cen rios relacionados Antes de mostrarmos a operacionaliza o do cen rio iremos apresentar o problema que resolvido por ele Depois mostraremos o algoritmo que era utilizado antes da re engenharia do C amp L e a falha que apresentava Por fim apresentaremos o novo algoritmo que foi implementado no novo C amp L 5 2 6 1 Apresenta o do problema Um projeto do C amp L pode possuir v rios elementos cadastrados que podem ser s mbolos do l xico ou cen rios Estes elementos possuem seus identificadores nicos dentro do projeto No caso de s mbolos do l xico este identificador o seu
52. TROLE USUARIO Conectar ao banco de dados Restri o Banco de dados deve estar dispon vel Inserir dados do usu rio no banco de dados Desconectar do banco de dados Informar a camada de CONTROLE USUARIO que os dados foram inseridos com sucesso no banco de dados Exce o O login informado pelo usu rio j se encontra no banco de dados do sistema Informar a camada de CONTROLE USU RIO que os dados n o foram inseridos porque o login j existe Figura 28 Exemplo de cen rio da camada de modelo PUC Rio Certifica o Digital N 0711275 CA Construindo a nova arquitetura 4 1 4 1 3 Camada de controle 51 Para cada grupo de cen rios formado na subse o 4 1 3 1 um novo cen rio dever ser criado Estes cen rios representar o a camada de controle e ser o respons veis pela intermedia o entre os cen rios que comp em a camada de vis o e os que comp em a camada de modelo de cada grupo A heur stica para cria o destes cen rios pode ser vista na Tabela 5 T tulo Identificador da camada de controle que est sendo descrita Deve ser nico Objetivo O objetivo da camada de controle fixo E sempre intermediar a comunica o entre a camada de vis o e a camada de modelo Contexto Atores Descrever a partir de quais p ginas da camada de vis o a camada de controle pode ser acionada Identificar com quais outros cen rios este se relaciona Recursos Ident
53. a de software lt a gt Quarto passo Vetor engenheiro de software experiente engenheiro de software 8 ienai i de software experiente lt a gt um lt azengenheiro de software lt a gt com no m nimo cinco anos de experi ncia na pr tica da lt azengenharia de software lt a gt Quinto passo Vetor engenheiro de software experiente engenheiro de software O lt azengenheiro de a experiente lt a gt um lt azengenheiro de o aaa com no m nimo cinco anos de experi ncia na pr tica da lt a zengenharia de sofwares a gt Figura 56 Passos da aplica o do algoritmo antigo Podemos ver que no segundo e quarto passo a tag HTML lt a gt aqui simplificada sem seus atributos apenas a t tulo de exemplo inserida para criar PUC Rio Certifica o Digital N 0711275 CA Re arquitetura do software C amp L 95 o elo fez com que o algoritmo funcionasse corretamente Entretanto no quinto passo a palavra software aparece no meio do termo engenheiro de software experiente consequentemente sem a tag lt a gt para diferenci la Por isso criado um elo dentro de outro elo o que ocasiona um erro Este erro demorou muito para ser percebido pois uma situa o que ocorre raramente no uso normal do software 5 2 6 3 Algoritmo novo Assim como feito anteriormente tamb m usaremos um exemplo para explicar o funcionamento do novo algoritmo Para evidenciar as diferen as entre os dois
54. a http equiv Content Type content text html charset iso 8859 1 gt lt head gt lt body gt lt div align center bgcolor Hffffff gt lt form name frmCadastro method post action controle controle usuario 1lp onSubmit return verificar formulario usuario gt lt table width 457 gt lt tr gt lt td align left gt lt span align left class pes gt C amp L Cen rios e L xicos lt span gt lt td gt lt tr gt lt table gt lt table class tableestilo cellpadding 20 gt lt tr gt lt td gt lt table cellpadding 5 gt lt tr gt lt td class labelestilo colspan 4 align center gt lt span class titulo gt Cadastro de novo usu rio lt br gt lt br gt lt br gt lt span gt lt td gt lt tr gt lt tr gt nS a Epis dio 1 Exibir campo Nome gt lt td class labelestilo gt Nome lt td gt lt td colspan 3 gt lt input class inputestilo id nome name nome maxlength 60 size 40 type text gt lt td gt lt tr gt lt tr gt Figura 31 Trecho de cen rio da camada de vis o operacionalizado 4 1 4 2 2 Operacionaliza o da camada de controle Cada cen rio da camada de controle dar origem a um novo arquivo Este arquivo possuir a extens o pr pria da linguagem utilizada A implementa o deste cen rio ser basicamente atrav s de uma estrutura de sele o que identificar a requisi o recebida determinar quais a es dever o ser executadas na camada
55. a que ordenamos os cen rios de cada grupo Os cen rios raiz devem aparecer nos epis dios do cen rio integrador na ordem obtida O objetivo de se fazer isto dar uma id ia das funcionalidades oferecidas pelo sistema e a ordem em que elas ocorrem atrav s dos epis dios do cen rio integrador O t tulo objetivo e contexto devem seguir o modelo de cen rios apresentado anteriormente Como este um cen rio criado artificialmente n o h necessidade de descrevermos os recursos e os atores conforme Leite 00 Na Figura 25 podemos ver um exemplo de cen rio integrador Neste exemplo o caractere delimita um grupo de epis dios n o sequenciais e os epis dios entre colchetes s o opcionais PUC Rio Certifica o Digital N 0711275 CA Construindo a nova arquitetura 46 T tulo Sistema C amp L Objetivo Permitir a colabora o entre diversos usu rios na elabora o de projetos utilizando cen rios e s mbolos do l xico fomecendo meios para facilitar a integra o com outras ferramentas Contexto Usu rio deseja elicitar a linguagem e as situa es de um dom nio de aplica o espec fico Recursos Atores Epis dios 1 Se o usu rio ainda n o possuir cadastro ent o CADASTRAR USUARIO sen o ACESSAR SISTEMA Usu rio pode CADASTRAR PROJETO ou SELECIONAR PROJETO se j houver algum cadastrado Usu rio pode INCLUIR COLABORADOR NO PROJETO Usu rio pode CADASTRAR SIMBOLO DO LEXICO no projeto Usu r
56. acesso de administrador ou gerente as seguintes op es surgiriam al m das anteriores gerar XML do projeto gerenciar colaboradores do projeto e verificar altera es propostas Titulo GERAR GRAFO DO PROJETO Objetivo Gerar um grafo do projeto a partir de um dos arquivos XML do projeto onde os cen rios e s mbolos do l xico ser o representados como n s e os seus relacionamentos como arestas Contexto Um arquivo XML do projeto deve ter sido gerado Recursos arquivo XML Atores usu rio sistema ferramenta de constru o de grafos Epis dios 1 Usu rio seleciona a op o Gerar grafo do projeto Sistema mostra uma lista com as vers es de arquivo XML geradas para o projeto selecionado Usu rio seleciona uma das vers es Sistema chama a ferramenta de constru o de grafos e passa como par metro o XML escolhido A ferramenta constr i o grafo e o exibe para o usu rio Figura 40 Grupo correspondente ao m dulo projeto PUC Rio Certifica o Digital N 0711275 CA Re arquitetura do software C amp L Titulo INCLUIR COLABORADOR NO PROJETO 80 Objetivo Permitir a inclus o de colaboradores para ajudar na constru o e evolu o do projeto A inclus o feita atrav s de uma lista contendo os usu rios cadastrados no sistema Os colaboradores podem possuir os seguintes n veis de acesso gerente usu rio participativo e usu rio passivo O gerente possui todos os privil gio
57. ada fun o N s utilizamos cen rios para anotar n o s fun es mas tamb m arquivos e c digo HTML Al m disto a utiliza o de cen rios muito mais abrangente pois n o se limita apenas a um cabe alho Os cen rios atrav s de seus epis dios detalham passo a passo o funcionamento de todo o c digo Estes padr es permitem a transforma o autom tica destes coment rios em p ginas HTML naveg veis No nosso trabalho isto s poss vel se houver um esfor o extra para que os cen rios inclusos no c digo sejam manualmente cadastrados na ferramenta C amp L Em Staa00 s o definidos padr es para documenta o de c digo atrav s de coment rios para facilitar sua compreens o Nosso trabalho tamb m utiliza padr es como forma de documenta o estes padr es s o os cen rios Esta padroniza o visa uniformizar o estilo de programa o facilitando o entendimento manuseio e evolu o de c digo escrito por terceiros 6 2 Dificuldades encontradas Encontramos dificuldades no in cio da codifica o do novo C amp L devido a falta de documenta o e exemplos do uso da linguagem Lua para desenvolvimento de sistemas Web Diferente de outras linguagens como Java e PHP que podemos obter respostas para a grande maioria de nossas d vidas de v rias fontes diferentes atrav s de simples consultas na Web as nicas fontes de documenta o dispon veis s o a p gina do pr prio projeto Kepler e listas de discuss
58. algoritmos utilizaremos o mesmo exemplo do algoritmo antigo O primeiro passo do novo algoritmo assim como o antigo montar um vetor com todos os identificadores dos elementos cadastrados no projeto e orden los de acordo com seu n mero de palavras Tamb m devemos criar um vetor auxiliar inicialmente vazio Este vetor ser utilizado no decorrer do algoritmo Ap s a cria o do vetor auxiliar iremos percorrer o vetor ordenado a partir do identificador com maior n mero de palavras at os com menor n mero de palavras procurando a ocorr ncia deles no texto Caso seja encontrada uma ocorr ncia o identificador do s mbolo do l xico ser colocado no vetor auxiliar e sua ocorr ncia no texto ser substitu da pelo c digo xzzxk kxy onde o dever ser substitu do pela posi o que o identificador ocupar no vetor auxiliar Caso o identificador seja o t tulo de um cen rio o procedimento ser o mesmo s mudar o c digo utilizado que dever ser wzczxk kxyyc onde o deve ser substitu do pela posi o que o identificador ocupar no vetor auxiliar Os passos da aplica o deste algoritmo podem ser vistos na Figura 57 PUC Rio Certifica o Digital N 0711275 CA Re arquitetura do software C amp L 96 Primeiro passo Vetor engenheiro de software experiente engenheiro de software engenharia de software engenheiro software Vetor auxiliar engenheiro de software experiente O xzzxkTk xy um engenheiro d
59. alues N nome N N sobrenome N N email N GEpis dio 3 Executar a query para inser o de usu rio no banco de dados local cursor erro conexao execute stmt GEpis dio 4 Tratamento de eventuais erros que possam ocorrer com a conex o if not cursor then error erro SQL stmt end GEpis dio 5 Fechar a conex o com o banco de dados conexao close end Figura 34 Cen rio que descreve acesso ao banco de dados implementado PUC Rio Certifica o Digital N 0711275 CA Construindo a nova arquitetura 59 4 2 Mapeamento do espa o de nomes Para produzir uma anota o auxiliar propomos a aplica o da t cnica LAL no mapeamento do espa o de nomes durante e ap s a escrita do c digo fonte Esta proposta baseada no trabalho apresentado em Leite08 Espa o de nomes um conceito aplicado em diferentes reas da inform tica Sua principal id ia proporcionar um contexto em que nomes s o atribu dos a identificadores nicos A ger ncia do espa o de nomes para evitar a prolifera o de nomes um problema que traz diferentes tipos de solu o em diferentes contextos Neuman89 Achermann0O0 Nosso interesse particular a n vel de c digo fonte N s entendemos que a equipe de engenheiros de software deve ter controle sobre o espa o de nomes do c digo que produzir independente da infra estrutura utilizada Para que este controle seja poss vel deve ser feita uma
60. ar usu rio no sistema Recursos novos dados do usu rio Atores usu rio e sistema Epis dios 1 Usu rio seleciona a op o Alterar dados do menu principal 2 Sistema exibe um formul rio com os seguintes campos j preenchidos permitindo sua edi o nome sobrenome e mail institui o 3 Usu rio submete o formul rio preenchido com os novos dados Restri o O formul rio n o pode conter campos em branco 4 Sistema atualiza os dados do usu rio no banco de dados 5 Sistema avisa que os dados do usu rio foram alterados com sucesso e o redireciona para a p gina principal T tulo SAIR DO SISTEMA Contexto Usu rio deve ter acessado o sistema Recursos dados do usu rio Atores usu rio sistema Epis dios 1 Usu rio seleciona a op o sair do sistema Objetivo Permitir que o usu rio saia do sistema mantendo a integridade das mudan as realizadas 2 O sistema encerra a sess o atual do usu rio mantendo a integridade das mudan as realizadas 3 O sistema redireciona o usu rio para a p gina principal Figura 23 Exemplo de um grupo de cen rios 4 1 3 2 Identifica o dos cen rios raiz O primeiro passo para a identifica o do cen rio raiz de cada grupo o mapeamento dos relacionamentos existentes entre os cen rios que comp em o grupo Estes relacionamentos podem ser de quatro tipos como visto no cap tulo PUC Rio Certifica o
61. are based on the use of scenarios The result of applying this method is a single document the source code in which the scenarios will be integrated within the code making it easier to read and understand thus bringing more transparency to the software This method was refined during its application to reengineer the C amp L software In order to produce additional documentation besides the scenarios embedded in the code we used the LEL Language Extended Lexicon technique to map the namespace of the new C amp L Keywords Requirements Engineering Software Transparency Scenario Language Extended Lexicon PUC Rio Certifica o Digital N 0711275 CA Sum rio 1 Introdu o 1 1 Defini es do Problema 1 2 Abordagem Proposta 1 3 Trabalhos relacionados 1 4 Organiza o do Documento 2 Representa es utilizadas 2 1 L xico Ampliado da Linguagem LAL 2 2 Cen rios 3 Software C amp L 3 1 Introdu o 3 2 Arquitetura 3 3 Funcionamento 4 Construindo a nova arquitetura 4 1 M todo de desenvolvimento 4 1 1 Constru o do LAL 4 1 2 Descri o das situa es do sistema atrav s de cen rios 4 1 3 Integra o dos cen rios 4 1 4 Refinamento dos cen rios 4 2 Mapeamento do espa o de nomes 4 2 1 Modelo para inclus o de vari vel 4 2 2 Modelo para inclus o de fun o 4 2 3 Modelo para inclus o de arquivo 5 Re arquitetura do software C amp L 5 1 Arquitetura do novo C amp L
62. ario lua linha 13 Fun o cadastrar usuario Escopo local Tipo string Utilidade Armazena a senha criptografada objeto utilizada pela fun o cadastrar usuario Figura 35 Exemplo de vari vel descrita atrav s do LAL 4 2 2 Modelo para inclus o de fun o A Tabela 9 mostra o modelo a ser seguido para inclus o de uma fun o no LAL Na Figura 36 podemos ver um exemplo de fun o descrita atrav s deste modelo Neste exemplo o software gerou elos para o arquivo onde a fun o foi declarada para seus par metros valor de retorno e para outras fun es que s o utilizadas por ela Nome Nome da fun o No o Identificar sua localiza o nome do arquivo e linha onde foi declarada Identificar seus par metros e valor de retorno Descrever sua utilidade Classifica o Uma fun o sempre classificada como verbo Impactos Identificar outros elementos que a utilizam Identificar as fun es que ela utiliza Tabela 9 Descri o de uma fun o atrav s do LAL PUC Rio Certifica o Digital N 0711275 CA Construindo a nova arquitetura 62 cadastrar usuario Localiza o Arquivo modelo usuario lua linha 11 Par metros nome sobrenome email inst tuicao login senha Valor de retorno id usuario Utilidade Cadastrar o usu rio no sistema sujeito Utilizada pela camada de controle arquivo controle usuario lp
63. as de apoio a programa o liter ria e exemplifica a instancia o deste framework atrav s do desenvolvimento de uma ferramenta chamada nome A documenta o final apresentada em LaTeX Lamport86 Acreditamos que esta forma de documenta o menos din mica do que a que propomos que permite a navega o atrav s de elos Al m disto como os cen rios s o inclusos no c digo em forma de coment rios eles podem ser compilados e executados juntamente com o c digo Assim s precisamos de um programa para extrair os cen rios para a documenta o n o h a necessidade de extra o do c digo fonte O trabalho Christoph04 prop e o uso de cen rios Leite00 como forma de anotar o c digo Estes cen rios podem ser constru dos antes depois ou concomitantemente com o c digo A forma de anota o abordada gen rica isto pode ser aplicada a softwares com qualquer arquitetura cabe ao desenvolvedor adapt la as suas necessidades PUC Rio Certifica o Digital N 0711275 CA Conclus o 106 Em nosso trabalho utilizamos o mesmo modelo de cen rios Leite00 mas diferente de Christoph04 nosso m todo restrito a sistemas que pode ser descritos segundo o framework MVC Al m disto em nossa proposta os cen rios s o constru dos antes do c digo fonte e ent o refinados durante o processo de escrita do c digo Os padr es JavaDoc e PHPDoc utilizam cabe alhos com tags pr definidas para anotar c
64. assim mais transpar ncia para o software Este m todo foi refinado durante sua aplica o na re engenharia do software C amp L Para produzir uma documenta o complementar aos cen rios inclusos no c digo fonte utilizamos a t cnica LAL L xico Ampliado da Linguagem para mapear o espa o de nomes do novo software C amp L Palavras chave Engenharia de requisitos Transpar ncia de software Cen rio L xico Ampliado da Linguagem PUC Rio Certifica o Digital N 0711275 CA Abstract Almentero Eduardo Kinder Leite Julio Cesar Sampaio do Prado Advisor Reengineering the C amp L software towards Lua Kepler platform using principles of transparency Pontif cia Universidade Cat lica do Rio de Janeiro 2009 112p Disserta o de Mestrado Departamento de Inform tica Pontif cia Universidade Cat lica do Rio de Janeiro Transparency is a keyword present in different contexts such as the economic and the political ones and currently one of the new contexts in which it stands is software Free open source software is a good example of transparency where the great advantage is that one can access the source code and then choose the characteristics he she wants but in this way we will be serving only those who understand the source code Understanding software source code can be an arduous task especially if no technique has been used for facilitate reading In this work we explore a method for developing free softw
65. astrado no sistema Recursos novos dados do cen rio Atores usu rio sistema Epis dios 1 O usu rio seleciona um cen rio do projeto exibido no menu lateral O usu rio seleciona a op o Alterar cen rio Sistema exibe um formul rio preenchido com os dados do cen rio selecionado Usu rio faz as altera es que deseja nas informa es do cen rio e submete o formul rio Restri o Os campos objetivo contexto recursos atores e epis dios n o podem ser deixados em branco O sistema comunica ao usu rio que as altera es no cen rio foram feitas com sucesso 82 T tulo EXIBIR CEN RIO E SEUS RELACIONAMENTOS Objetivo Exibir as informa es de um cen rio juntamente com seus relacionamentos utilizando elos para permitir o acesso a outros elementos referenciados pelo cen rio que esta sendo exibido e permitir o acesso a outros elementos do projeto que referenciem o cen rio exibido Contexto Cen rio cadastrado no sistema Recursos dados do cen rio nomes e sin nimos de s mbolos do l xico e t tulos de cen rios do projeto Atores usu rio sistema Epis dios 1 O usu rio seleciona um cen rio do projeto exibido no menu lateral 2 O sistema monta a rede de relacionamentos em torno do cen rio selecionado 3 Sistema exibe as informa es do cen rio e os relacionamentos mapeados atrav s de elos T tulo REMOVER CEN RIO Objetivo Permitir que o usu rio remova um cen rio d
66. bir combobox Classifica o com as op es sujeito verbo estado e objeto Exibir campo Impacto Exibir campo Sin nimo s Ao clicar no bot o cadastrar o formul rio ser submetido e o sistema ser redirecionado para o CONTROLE L XICO Restri o Antes de submeter o formul rio VERIFICAR FORMUL RIO DE CADASTRO DE L XICO T tulo EXIBIR S MBOLO DO L XICO E SEUS RELACIONAMENTOS Objetivo Permitir a visualiza o dos dados de um s mbolo do l xico Para tanto a p gina exibida conter as seguintes informa es nome no o impacto classifica o e sin nimos Os campos no o e impacto podem conter elos para outros s mbolos do l xico Contexto Pode ser acessado atrav s da sele o de um s mbolo do l xico do menu lateral Atores usu rio autenticado no sistema Recursos script js e estilo css Epis dios 1 9 Exibir nome do s mbolo Exibir no o do s mbolo j com os elos montados Exibir classifica o do s mbolo Exibir impacto do s mbolo Exibir sin nimos do s mbolo Exibir bot o Alterar s mbolo Exibir bot o Remover s mbolo Ao clicar no bot o Alterar s mbolo o formul rio ser submetido com o comando alterar e o sistema ser redirecionado para o CONTROLE USU RIO Ao clicar no bot o Remover s mbolo o formul rio ser submetido com o comando remover e o sistema ser redirecionado para o CONTROLE USU RIO PUC Rio C
67. bstitu da pelo c digo wzzxk kxy onde o ser substitu do por um n mero que identificar a posi o do nome do termo do l xico na tabela l xicos texto string gsub texto expressao regular FS HTAR culo KAY OMG if lexicos e sinonimos i LEXICO nil then QEpis dio 45 Se o elemento encontrado for um sin nimo ent o o termo do l xico a que este sin nimo corresponde armazenado na vari vel nome lexico link Caso contr rio se o elemento encontrado for um termo do l xico ent o ele armazenado na vari vel nome l xico nome lexico link lexicos e sinonimos i LEXICO else nome lexico link nome lexico end QEpis dio 46 Um atalho para o termo do l xico encontrado criado e armazenado no tabela tabela links lexico na mesma posi o que o l xico atual link lt a title N L xicoN href visao exibe lexico lp id pr ojeto id projeto sgnome nome 1 exico link N gt nome lexico lt a gt ne i table insert tabela links lexico i link PUC Rio Certifica o Digital N 0711275 CA Re arquitetura do software C amp L 103 end if contador contador 1 end while end if end if contador 1 GEpis dio 47 A tabela links lexico percorrida e os c digos inseridos anteriormente nos texto s o substitu dos pelos links armazenados na tabela O n mero que se encontra no meio do c digo corresponde a posi o na tabela de links
68. cao login senha criptografada GEpis dio 3 SELECIONAR USUARIO NO BANCO DE DADOS usuarios selecionar usuario bd login GEpis dio 4 Recupera o id do usu rio que acabou de ser inserido e o retorna for index usuario in pairs usuarios do id usuario usuario ID USUARIO return id usuario end end Figura 33 Cen rio da camada modelo operacionalizado Um comportamento complexo que deve ser destacado dos cen rios desta camada s o os acessos ao banco de dados Quando for necess rio fazer um acesso ao banco de dados um novo cen rio e consequentemente uma nova fun o devem ser criadas A Tabela 7 apresenta as heur sticas gerais para descri o de cada um dos elementos destes novos cen rios Um exemplo de comportamento comum que pode ser destacado a conex o e desconex o com o banco de dados que s o realizadas por todos os cen rios que o acessam Na Figura 34 podemos ver um trecho de cen rio que faz acesso ao banco de dados implementado onde esta separa o foi feita T tulo Identificador do cen rio Deve ser nico Objetivo Descri o da finalidade do cen rio Neste caso existem tr s op es Inserir um novo dado no banco de dados e remover ou consultar um dado j existente Contexto Identificar os cen rios da camada de modelo que utilizam o cen rio Atores Identificar outras fun es que sejam utilizadas pela descrita Por exemplo a fun o de conex o com o banco
69. cen rio original gerado na subse o 4 1 2 e criar um novo cen rio somente para descrev la Na Tabela 3 descrevemos as heur sticas gerais para constru o dos cen rios da camada de vis o detalhando as para cada elemento do cen rio T tulo Identificador da interface que est sendo descrita Deve ser nico Objetivo Descri o da finalidade da interface A finalidade de uma interface pode ser por exemplo exibir dados est ticos para o usu rio a t tulo de informa o ou pode ser exibir um formul rio para ser preenchido PUC Rio Certifica o Digital N 0711275 CA Construindo a nova arquitetura Contexto Descri o de como a interface descrita pode ser acessada Atrav s de uma URL ou de um elo em outra interface por exemplo Atores Identificar os tipos de usu rios que podem acessar a interface Um sistema pode ter diversos n veis de usu rio como administrador e usu rio comum por exemplo E a interface pode ser acessada s por determinados n veis Recursos Identificar recursos externos utilizados pela interface como por exemplo javascript css applet Java anima o em flash etc Epis dios Cada epis dio deve descrever em detalhes um componente da interface Por exemplo uma interface pode possuir diversos tipos de menu que devem ser descritos detalhadamente cada um por um epis dio Restri es Identificar as restri es presentes no
70. che Software Foundation Dispon vel em http www apache org Acesso em 02 02 2009 Archermann00 Achermann F Nierstrasz O Explicit Namespaces In Modular programming Languages volume 1897 of LNCS Biggerstaff94 Biggerstaff T J Bharat G M Webster D E Program Understanding and the Concept Assignment Problem Commun ACM 37 5 72 82 1994 Blank05 Blankenhorn D Open Source Transparency Buscado em 28 outubro 2008 URL http mooreslore corante com archives 2005 04 19 0pe n source transparency php Breitman00 Breitman K K Leite J C S P Scenario Evolution A Close View on Relationships In 4 International Conference on Requirements Engineering ICRE 00 Schaumburg illinois 2000 IEEE Computer Society pp 102 111 Brooks77 Brooks R Towards a theory of the cognitive processes in computer Programming In International Journal of Man Machine Studies Vol 9 pp 737 75 1977 Carroll94 Carroll J Alpert S Karat J Van Deusen M Rosson M Raison d etre Capturing design history and rationale in multimedia narratives In Human Factors in Computing Systems CHI94 Boston USA ACM Press 1994 pp 192 197 Cassino96 Cassino C Uma Ferramenta para Programa o Liter ria Modular Tese de Mestrado Pontif cia Universidade Cat lica do Rio de Janeiro Departamento de Inform tica Rio de Janeiro 1996 PUC Rio Certifica o Digital N 0711275 CA Refer ncias bibliog
71. ciado por outros s mbolos e por cen rios Sin nimos s mbolo l xico simbolos do l xico l xicos s mbolos Figura 20 Exemplo de uma entrada do LAL 4 1 2 Descri o das situa es do sistema atrav s de cen rios Neste passo ser o constru dos os primeiros cen rios que descrever o o funcionamento do sistema Para tanto deve ser feito um levantamento das situa es que comp em o sistema e cada situa o identificada deve ser mapeada de acordo com a representa o de cen rios definida em Leite00 A Tabela 2 resume a representa o de cen rios adotada descrevendo o uso de cada entidade representativa do cen rio PUC Rio Certifica o Digital N 0711275 CA Construindo a nova arquitetura T tulo Identificador do cen rio Deve ser nico Objetivo Descri o da finalidade do cen rio Deve ser descrito tamb m como este objetivo alcan ado Contexto Descri o do estado inicial do cen rio Deve ser descrito atrav s de pr condi es localiza o geogr fica ou temporal Atores S o entidades envolvidas diretamente com o software Um ator para ser v lido deve aparecer em pelo menos um dos epis dios Recursos S o entidades passivas utilizadas pelo software Um Recurso para ser v lido deve aparecer em pelo menos um dos epis dios Epis dios Senten as sequenciais que correspondem a a es e decis es com participa o dos atores e
72. criados pelo C amp L Figura 14 Menu info Figura 15 Tela para adicionar colaboradores ao projeto Figura 16 Exemplo de visualiza o do c digo Figura 17 Exemplo de XML gerado pelo C amp L Figura 18 Exemplo de grafo gerado pelo C amp L Figura 19 Exemplo de foco no grafo gerado pelo C amp L Figura 20 Exemplo de uma entrada do LAL Figura 21 Exemplo de descri o de uma situa o do sistema Figura 22 Processo de integra o de cen rios Figura 23 Exemplo de um grupo de cen rios Figura 24 Exemplo de cen rio raiz Figura 25 Exemplo de cen rio integrador Figura 26 Processo de refinamento dos cen rios em camadas Figura 27 Exemplo de cen rio da camada de vis o Figura 28 Exemplo de cen rio da camada de modelo Figura 29 Exemplo de cen rio da camada de controle Figura 30 Trecho de uma fun o JavaScript documentada atrav s de um cen rio Figura 31 Trecho de cen rio da camada de vis o operacionalizado 18 19 19 21 23 24 26 28 28 29 30 31 32 33 34 35 36 37 37 39 41 42 43 45 46 47 49 50 52 54 55 PUC Rio Certifica o Digital N 0711275 CA Figura 32 Trecho de cen rio da camada de controle operacionalizado Figura 33 Cen rio da camada modelo operacionalizado Figura 34 Cen rio que descreve acesso ao banco de dados implementado Figura 35 Exemplo de vari vel descrita atrav s do LAL
73. cteres alfanum ricos informada no campo senha 4 Sistema insere os dados do novo usu rio no banco de dados 5 Sistema avisa que usu rio foi cadastrado com sucesso e o redireciona para p gina principal Exce o O login informado pelo usu rio j se encontra no banco de dados do sistema O usu rio alertado e informado que deve escolher novo login Titulo ACESSAR O SISTEMA Objetivo Permitir que o usu rio utilize o sistema se identificando atrav s do preenchimento de um pequeno formul rio com seu login e senha Contexto Usu rio deve ter sido previamente cadastrado no sistema Recursos login senha Atores usu rio sistema Epis dios 1 Sistema exibe a p gina inicial para o usu rio contendo um formul rio com dois campos login e senha Usu rio submete o formul rio com os campos preenchidos Restri o Nenhum dos campos pode ser deixado em branco O sistema carrega os projetos que o usu rio participa e o redireciona para a p gina principal Exce o O login e senha informada pelo usu rio n o est o corretos O sistema permite que o usu rio tente novamente por mais duas vezes Se o usu rio errar seu login e senha por mais duas vezes ele ter que esperar 20 minutos para tentar novamente 43 T tulo RECUPERAR SENHA DO USU RIO Objetivo Permitir que o usu rio recupere sua senha Ao solicitar recupera o de sua senha o usu rio preencher um formul rio com seu login e e mail Ap
74. das ao controle da intera o entre os usu rios nos projetos O quarto grupo Figura 42 corresponde ao m dulo l xico do sistema Os cen rios que comp em este grupo s o cadastrar s mbolo do l xico exibir s mbolo do l xico e seus relacionamentos alterar s mbolo do l xico e remover s mbolo do l xico Estes cen rios descrevem situa es relacionadas a s mbolos do l xico O quinto e ltimo grupo Figura 43 corresponde ao m dulo cen rio Este grupo formado pelos cen rios cadastrar cen rio exibir cen rio e seus relacionamentos alterar cen rio e remover cen rio Estes cen rios foram colocados no mesmo grupo pois descrevem situa es relacionadas a cen rios PUC Rio Certifica o Digital N 0711275 CA Re arquitetura do software C amp L T tulo CADASTRAR USU RIO Objetivo Permitir que o usu rio utilize o sistema cadastrando seus dados no banco de dados atrav s do preenchimento de um formul rio com os seguintes campos nome sobrenome e mail institui o login e senha Contexto Usu rio n o possui cadastro no sistema Recursos dados do usu rio nome sobrenome e mail institui o login e senha Atores usu rio sistema Epis dios 1 Usu rio clica no atalho Cadastre se na p gina principal do sistema Sistema exibe um formul rio de cadastro contendo os seguintes campos para o usu rio preencher nome sobrenome e mail institui o login senha e confirmar senha Usu ri
75. de XML gerado pelo C amp L Uma das ferramentas integradas ao C amp L atrav s do XML a de constru o de grafos Lecesne07 Figura 18 Esta ferramenta pode ser acessada atrav s da op o gerar grafo do projeto Ao selecionar esta op o ser o listadas todas as vers es do XML geradas previamente para que o usu rio selecione a que deseja para gerar o grafo A ferramenta de visualiza o de grafos tem uma s rie de caracter sticas interessante dentre elas podemos destacar a diferencia o entre cen rios e s mbolos do l xico atrav s de cores cen rios s o marcados com a cor laranja e os s mbolos com a cor azul possibilidade de escolher visualizar apenas cen rios ou apenas s mbolos ou ambos e possibilidade de focar em um elemento Figura 19 destacando os elementos com que se relaciona e seus relacionamentos enquanto os outros ficam em segundo plano PUC Rio Certifica o Digital N 0711275 CA Software C amp L hitp ipes inf puc rio bricel aplicacao grafo grafo php xmiSource Graph xml Windows Internet Explorer Fixar tudo Soltar tudo Zoom 1 Foartugo Soitat tudo Zoom Q s Figura 19 Exemplo de foco no grafo gerado pelo C amp L 37 PUC Rio Certifica o Digital N 0711275 CA Construindo a nova arquitetura 38 4 Construindo a nova arquitetura Neste cap tulo detalharemos o m todo de desenvolvimento proposto e mostraremos um ex
76. duas t cnicas s o utilizadas pelo m todo proposto que ser detalhado no Cap tulo 4 2 1 L xico Ampliado da Linguagem LAL O LAL Leite93 uma t cnica criada para ajudar na elicita o e representa o da linguagem utilizada na aplica o Esta t cnica baseada na id ia de que cada aplica o possui uma linguagem espec fica Portanto a principal tarefa dos engenheiros de requisitos na constru o do LAL focar na identifica o de s mbolos peculiares ao dom nio em que a aplica o est inserida e seus significados sem se preocupar com o entendimento do problema A identifica o destes s mbolos e de seus significados ajuda na compreens o do Universo de Informa o Udl da aplica o Os s mbolos do LAL s o descritos atrav s de uma no o e um impacto A no o explica o significado literal do s mbolo e o impacto descreve os efeitos do uso ou ocorr ncia do s mbolo no dom nio sob estudo Podemos classificar os s mbolos do l xico gramaticalmente como sujeito verbo estado ou objeto A Tabela 1 criada com base na tabela existente no software C amp L sintetiza estes tipos mostrando uma breve descri o de cada um de acordo com a no o e o impacto PUC Rio Certifica o Digital N 0711275 CA Representa es utilizadas 17 No o Impacto Sujeito Quem o sujeito Quais a es podem ser executadas por este sujeito Verbo Quem executa a a o Quais os reflex
77. e integra o deles mas este assunto n o ser abordado neste trabalho PUC Rio Certifica o Digital N 0711275 CA Re arquitetura do software C amp L 64 5 Re arquitetura do software C amp L Neste cap tulo apresentamos as tecnologias utilizadas na constru o do novo C amp L e a sua nova arquitetura Tamb m mostraremos passo a passo a aplica o do m todo proposto na sua constru o 5 1 Arquitetura do novo C amp L e tecnologias utilizadas Escolhemos a linguagem Lua lerusalimschy03 para implementa o da ferramenta Esta escolha foi motivada por tr s motivos principais O primeiro deles que Lua prov um excelente suporte a programa o funcional e acreditamos que o uso de fun es se adequa mais a descri o por cen rios proposta pelo nosso m todo O Segundo motivo que Lua uma linguagem cada vez mais utilizada e acreditamos que suas principais caracter sticas livre r pida extens vel e pequena dentre outras sejam bastante teis quando aplicadas ao desenvolvimento de sistemas Web E por ltimo o C amp L faz muitas compara es baseadas em express es regulares para determinar o relacionamento entre elementos Lua oferece um excelente suporte ao uso de express es regulares e compara es entre strings Lua n o foi projetada para desenvolvimento de sistema Web por isso utilizamos a plataforma Kepler Kepler09 Esta plataforma disponibiliza uma s rie de m dulos que facilitam o desenvolvim
78. e s mbolo do l xico PUC Rio Certifica o Digital N 0711275 CA Software C amp L 32 A op o info do menu principal de projetos leva o usu rio a uma nova tela que cont m informa es sobre o projeto como nome data da cria o e descri o e um menu com as seguintes op es Figura 14 adicionar usu rio n o cadastrado ao projeto adicionar usu rios j existentes ao projeto verificar pedidos de altera o de cen rios e s mbolos do l xico gerar grafo do projeto gerar XML do projeto e recuperar XML do projeto As outras op es do menu que n o foram citadas s o relacionadas gera o autom tica de ontologias parte do C amp L que ainda se encontra em desenvolvimento As op es deste menu exceto a gera o de grafo do projeto s o restritas ao administrador do projeto C amp L Cen rios e L xico Windows Internet Explorer g v L httpilipes inf puc rio brjcelfaplicacao index php vital x gt dr de cer Cen rios e L xico l m D o Eh Page G Toos Administrador Projeto Sistema organizador de reuni es Atualizar Adicionar Cen rio Adicionar S mbolo Info Adicionar Projeto Remover Projeto Alterar Cadastro Fale Conosco Sair Ajuda A Teste informa es sobre o cen rio E Cen rios S agendar reuni o agendar reuni o E comunicar data Objetivo Marcar uma reuni o no melhor dia hor rio e local para que todos os participantes possam 1 9 realizar nova ter
79. e sin nimos de s mbolos do l xico e t tulos de cen rios do projeto Atores usu rio sistema Epis dios 1 O usu rio seleciona um cen rio do projeto exibido no menu lateral 2 O sistema monta a rede de relacionamentos em torno do cen rio selecionado 3 Sistema exibe as informa es do cen rio e os relacionamentos mapeados atrav s de elos T tulo ALTERAR CEN RIO Objetivo Permitir que o usu rio altere os dados de um cen rio cadastrado no sistema atrav s da edi o de um formul rio preenchido com suas informa es cadastradas Contexto Cen rio cadastrado no sistema Recursos novos dados do cen rio Atores usu rio sistema Epis dios 1 O usu rio seleciona um cen rio do projeto exibido no menu lateral 2 O usu rio seleciona a op o Alterar cen rio 3 Sistema exibe um formul rio preenchido com os dados do cen rio selecionado 4 Usu rio faz as altera es que deseja nas informa es do cen rio e submete o formul rio Restri o Os campos objetivo contexto recursos atores e epis dios n o podem ser deixados em branco 5 O sistema comunica ao usu rio que as altera es no cen rio foram feitas com sucesso T tulo REMOVER CEN RIO Objetivo Permitir que o usu rio remova um cen rio do projeto selecionado Contexto Cen rio cadastrado no sistema Recursos dados do cen rio Atores usu rio sistema Epis dios PUC Rio Certifica o Digital N 0711275 CA Re arqu
80. e software com no m nimo cinco anos de experi ncia na pr tica da engenharia de software Vetor engenheiro de software experiente engenheiro de software engenharia de software engenheiro software Vetor auxiliar engenheiro de software experiente engenheiro de software O xzzxkTkxy um xzzxk2kxy com no m nimo cinco anos de experi ncia na pr tica da engenharia de software Terceiro passo Vetor engenheiro de software experiente engenheiro de software Vetor auxiliar engenheiro de software experiente engenheiro de software engenharia de software O xzzxeTkxy um xzzxk2kxy com no m nimo cinco anos de experi ncia na pr tica da xzzxk 3kxy Quarto passo Vetor engenheiro de software experiente nheiro de software engenharia de software engenheiro software Vetor auxiliar engenheiro de software experiente engenheiro de software engenharia de software O xzzxkTkxy um xzzxk2h44 com no m nimo cinco anos de experi ncia na pr tica da xzzxk 3y Quinto passo Vetor engenheiro de software experiente engenheiro de software engenharia de software engenheiro software Vetor auxiliar engenheiro de software experiente engenheiro de software engenharia de software O xzzxk1kxy um xzzxk2kxy com no m nimo cinco anos de experi ncia na pr tica da xzzxk3kxy Figura 57 Passos da aplica o do algoritmo novo PUC Rio Certifica o Digital N 0711275 CA Re arq
81. e tecnologias utilizadas 5 2 Aplica o do m todo na constru o do novo C amp L 5 2 1 Descri o das situa es do sistema atrav s de cen rios 5 2 2 Divis o dos cen rios em grupos 5 2 3 Identificar os cen rios raiz 5 2 4 Construir cen rio integrador 12 12 13 14 15 16 16 20 25 25 26 27 38 38 39 39 41 46 59 60 61 62 64 64 65 66 77 82 85 PUC Rio Certifica o Digital N 0711275 CA 5 2 5 Refinamento dos cen rios 5 2 6 Operacionaliza o dos cen rios 6 Conclus o 6 1 Compara o com trabalhos relacionados 6 2 Dificuldades encontradas 6 3 Trabalhos Futuros Refer ncias bibliogr ficas 86 91 104 105 106 107 108 PUC Rio Certifica o Digital N 0711275 CA Lista de figuras Figura 1 Modelo entidade relacionamento do LAL Figura 2 Exemplo de um s mbolo do LAL Leite98 Figura 3 Exemplo de um grafo de relacionamentos Figura 4 Modelo entidade relacionamento para um cen rio Figura 5 Exemplo de cen rio Figura 6 Grafo de relacionamentos entre cen rios e s mbolos do l xico Figura 7 Mapa do relacionamento entre arquivos C amp LO9 Figura 8 P gina inicial do sistema Figura 9 Tela de login do sistema Figura 10 Formul rio de cadastro de usu rio Figura 11 P gina principal do sistema Figura 12 Formul rios de inclus o de cen rio e s mbolo do l xico Figura 13 Exemplos de atalhos
82. e valida o autom tica de cen rios Hsia94 at um modelo informal como o mostrado em Carroll94 O modelo que adotamos para este trabalho intermedi rio ele visa descrever uma situa o espec fica do software atrav s de uma linguagem natural semi estruturada Leite00 A estrutura desde modelo composta das seguintes entidades t tulo objetivo contexto recursos atores epis dios exce es e o atributo restri o como mostra a Figura 4 Atores e cen rios s o uma lista T tulo objetivo contexto e exce o s o senten as declarativas simples Os epis dios s o senten as escritas em linguagem simples que d o uma descri o operacional do comportamento da situa o modelada pelo cen rio Um cen rio deve satisfazer um objetivo o caminho para alcan ar este objetivo descrito passo a passo pelos seus epis dios Os epis dios representam o curso principal das a es de um cen rio mas tamb m incluem varia es e outras alternativas poss veis Uma exce o pode ocorrer durante a execu o dos epis dios sinalizando que existe um empecilho para satisfazer o objetivo O tratamento para a exce o n o precisa necessariamente satisfazer o objetivo principal PUC Rio Certifica o Digital N 0711275 CA Representa es utilizadas 21 identificado 1 por satisfaz 1 possui Exce es descrito por ais S tratada por limitado por gt 1
83. emplo da sua aplica o na re arquitetura do software C amp L Tamb m mostraremos o mapeamento do espa o de nomes que foi realizado utilizando a pr pria ferramenta 4 1 M todo de desenvolvimento Um dos principais problemas do desenvolvimento de software livre a documenta o do projeto Isto se deve ao fato de que a maioria dos projetos deste tipo conta com a participa o de uma grande quantidade de desenvolvedores muitas vezes espalhados por diversos pa ses Aliado a isto temos a falta de cobran a de uma documenta o de qualidade por parte dos usu rios dos softwares que d o import ncia apenas ao fato do software ser gratuito Entender o c digo fonte de um software sem que nenhuma t cnica tenha sido utilizada para facilitar sua leitura e sem dispor de documenta o uma tarefa trabalhosa e custosa Biggerstaff94 Meyrhauser94 Brooks77 A utiliza o de cen rios integrados com o c digo fonte Silva03 Christoph04 uma t cnica que visa melhorar sua apresenta o de maneira estruturada e uniforme facilitando sua leitura e entendimento Esta t cnica de apresenta o melhora sem d vida a leitura e o entendimento do c digo fonte do software mas tamb m exige um esfor o extra do desenvolvedor para realizar sua anota o Para abordar estas quest es propomos um m todo de desenvolvimento baseado no refinamento de cen rios A aplica o deste m todo tem como resultado um documento nico o c digo
84. en o EXIBIR P GINA DE ERRO Se a nova senha for enviada com sucesso para o usu rio ent o EXIBIR P GINA DE SUCESSO sen o EXIBIR P GINA DE ERRO Se a requisi o recebida for para sair do sistema ent o a sess o referente ao usu rio exclu da e EXIBIR PAGINA INICIAL Figura 29 Exemplo de cen rio da camada de controle 4 1 4 2 Operacionaliza o dos cen rios De maneira geral o processo de operacionaliza o dos cen rios de um sistema deve ser acompanhado de seu refinamento O desenvolvedor deve utilizar os epis dios constru dos anteriormente apenas como um guia para implementa o Ap s a constru o do c digo fonte o cen rio deve ser refinado PUC Rio Certifica o Digital N 0711275 CA Construindo a nova arquitetura 53 para que descreva de forma adequada e detalhada o que foi implementado incluindo as modifica es realizadas A seguir descreveremos as particularidades da operacionaliza o dos cen rios de cada camada 4 1 4 2 1 Operacionaliza o da camada de vis o Para cada um dos cen rios que descreve uma interface deve ser criado um novo arquivo Esteve arquivo pode possuir a extens o html caso apenas a linguagem de marca o HTML HTML 09 seja utilizada na sua constru o ou pode possuir uma extens o pr pria da linguagem de implementa o utilizada caso utilize trechos desta linguagem no interior do arquivo Os elos existentes entre os arquivos que comp em a interface
85. en rios documentando seu c digo fonte o que o tornou mais transparente a n vel de c digo e consequentemente mais f cil de se PUC Rio Certifica o Digital N 0711275 CA Conclus o 105 evoluir Esperamos que o software mais transparente a n vel de c digo atraia mais desenvolvedores interessados em participar de alguma forma do projeto E finalmente acreditamos que esta experi ncia bem sucedida servir de est mulo para futuros projetos de desenvolvimento de sistemas Web com o uso de Lua 6 1 Compara o com trabalhos relacionados Em Knuth84 proposta a linguagem WEB que mistura uma linguagem de implementa o com coment rios Com o uso de dois programas espec ficos poss vel extrair de um arquivo WEB o c digo que ser compilado e a documenta o Mas segundo o pr prio autor esta linguagem foi propositalmente projetada para ser complexa de modo que n o pudesse ser usada por qualquer um apenas por cientistas da computa o Nosso objetivo ao desenvolver este trabalho foi totalmente o oposto Adotamos o uso de cen rios em linguagem natural como forma de anota o e de tecnologias como o framework MVC e Lua para torn lo simples e f cil de ser usado por qualquer um Mas diferente de Knuth84 n o possu mos uma ferramenta que extraia de forma autom tica a documenta o do c digo fonte Seguindo a mesma linha o trabalho exposto em Cassino96 prop e um framework para constru o de ferrament
86. entificadores dos elementos cadastrados no projeto neste vetor e orden los pelo n mero de palavras Figura 55 Vetor engenheiro de software experiente engenheiro de software engenharia de software engenheiro software Figura 55 Vetor de identificadores ordenado Depois da ordena o o algoritmo percorre o vetor come ando do termo composto de mais palavras e cada termo do vetor encontrado no texto substitu do por um elo para o elemento correspondente Figura 56 PUC Rio Certifica o Digital N 0711275 CA Re arquitetura do software C amp L 94 Primeiro passo Vetor engenheiro de software experiente engenheiro de software engenharia de software engenheiro software O lt a engenheiro de software experiente lt a um engenheiro de software com no m nimo cinco anos de experi ncia na pr tica da engenharia de software Segundo passo Vetor engenheiro de software experiente engenheiro de software engenharia de software engenheiro software 8 lt abengenheiro de software experiente lt a gt um lt azengenheiro de software lt a gt com no m nimo cinco anos de experi ncia na pr tica da engenharia de software Terceiro passo engenheiro de software engenharia de software engenheiro software O lt azengenheiro de software experiente lt a gt um lt azengenheiro de software lt a gt com no m nimo cinco anos de experi ncia na pr tica da lt azengenhari
87. ento de c digo Lua para Web Dentre os m dulos podemos destacar o CGlLua que permite a cria o de p ginas din micas para Web e a manipula o de dados provenientes de formul rio o LuaSQL que fornece uma interface simples para intera o de Lua com alguns dos principais sistemas gerenciadores de banco de dados e por ltimo o Xavante que um poderoso servidor Web HTTP 1 1 que usa uma arquitetura modular baseada em tratadores URI mapeados Para a constru o da nova arquitetura adotamos o framework MVC pois acreditamos que a divis o em camadas proporcionada por ele favorece a organiza o e entendimento do c digo fonte do software proporcionando uma maior transpar ncia a n vel de c digo Em nossa arquitura existe a divis o f sica PUC Rio Certifica o Digital N 0711275 CA Re arquitetura do software C amp L 65 do sistema em camadas e a divis o l gica em m dulos Cada um dos m dulos est distribu do pelas camadas de vis o controle e modelo como mostra a Figura 38 EEE e Modelo M dulo Usu rio M dulo Projeto M dulo Colaboradores M dulo L xico M dulo Cen rio Controle M dulo Usu rio M dulo Projeto M dulo Colaboradores M dulo L xico M dulo Cen rio E Navegador kd d Figura 38 Arquitetura do novo C amp L Como ferramenta de apoio aplica o do m todo proposto utilizamos o pr prio C amp L No princ pio utilizamos a vers o antiga para construir
88. enumera o e descri o dos identificadores utilizados cadeias de caracteres para nomear vari veis fun es par metros arquivos mantendo um rastro para sua localiza o no c digo fonte Existem ferramentas no mercado que fazem a analise est tica e din mica do c digo fonte Semantic Designs Estas ferramentas ir o nos fornecer listas de identificadores elos e grafos Nossa proposta construir uma rede de conceitos rastre vel que mapeia o espa o de nomes e ao mesmo tempo fornece defini o e rastros fluxogramas est ticos Propomos a utiliza o do LAL pois acreditamos que esta uma representa o razo vel para mapearmos e descrevermos os identificadores utilizados no c digo fonte de um software Nossa proposta utilizar o C amp L para dar suporte ao mapeamento feito atrav s do LAL Para tanto os elementos do espa o de nomes devem ser inseridos no software como s mbolos do l xico seguindo um modelo pr definido Feito isto podemos utilizar todas as funcionalidades oferecidas pelo software para o rastreamento e visualiza o dos elementos do espa o de nomes O rastreamento obtido atrav s dos elos gerados automaticamente pela ferramenta Eles permitem a navega o entre os diferentes elementos que se relacionam A visualiza o pode ser feita atrav s da ferramenta de constru o de grafos ou do XML formatado do projeto O grafo gerado nos dar uma vis o global de todos os relacionamentos entre todos os
89. er aceitas ou n o pelo gerente ou administrador O usu rio passivo s pode visualizar os itens do projeto Contexto O usu rio dever estar autenticado como administrador do projeto Recursos login dos usu rios cadastrados no sistema dados do projeto selecionado Atores usu rio sistema Epis dios 1 Usu rio seleciona a op o Adicionar colaborador ao projeto 2 Sistema exibe uma tela com login de todos usu rios cadastrados no sistema e com os n veis de acesso poss veis 3 Usu rio seleciona um usu rio da lista e o inclui na lista de colaboradores do projeto Restri o O usu rio deve selecionar um n vel de acesso para o usu rio escolhido 4 Sistema inclui usu rio como colaborador e permite que ele acesse o projeto 5 Sistema emite um aviso informando o sucesso da opera o T tulo REMOVER COLABORADOR DO PROJETO Objetivo Permitir a remo o de um colaborador do projeto Contexto Usu rio deve estar autenticado como gerente ou administrador do projeto Recursos lista de colaboradores do projeto dados do projeto Atores sistema usu rio Epis dios 1 Sistema seleciona a op o Remover colaborador do projeto 2 Sistema exibe uma lista com os colaboradores do projeto permitindo que eles sejam removidos 3 Usu rio remove os colaboradores que desejar e clica em confirmar atualiza es 4 Sistema atualiza a lista de colaboradores 5 Sistema emite um aviso informando o sucesso da
90. ertifica o Digital N 0711275 CA Re arquitetura do software C amp L 88 T tulo EXIBIR P GINA DE ALTERA O DOS DADOS DO S MBOLO DO L XICO Objetivo Permitir que o usu rio altere os dados do s mbolo do l xico Para isto ser exibido um formul rio com os dados do s mbolo do l xico j preenchido permitindo a edi o dos campos no o impacto classifica o e sin nimos Contexto Pode ser acessado atrav s do atalho Alterar s mbolo da p gina de exibi o dos dados do s mbolo do l xico Atores usu rio autenticado no sistema Recursos script js e estilo css Epis dios 1 Exibir campo nome j preenchido 2 Exibir campo no o j preenchido permitindo sua edi o 3 Exibir campo classifica o j preenchido permitindo sua edi o 4 Exibir campo impacto j preenchido permitindo sua edi o 5 Exibir campo sin nimo j preenchido permitindo sua edi o 6 Ao clicar no bot o Alterar o formul rio ser submetido com o comando alterar e o sistema ser redirecionado para o CONTROLE USU RIO Restri o Antes de submeter o formul rio VERIFICAR FORMUL RIO DE ALTERA O DE S MBOLO DO L XICO 5 2 5 2 Cen rio da camada de controle Titulo CONTROLE L XICO Objetivo Intermediar a comunica o entre a camada de vis o e a camada de modelo do m dulo l xico Contexto novo l xico html alterar dados l xico lp erro lp p gina principal lp sucesso lp Ator
91. es camada de modelo e camada de vis o Recursos dados do l xico informa es para as p ginas de erro informa es para as p ginas de sucesso Epis dios 1 Se a requisi o recebida for para cadastrar s mbolo do l xico ent o CHECAR NOME DO L XICO Se nome dispon vel ent o CADASTRAR S MBOLO DO L XICO 2 Se o s mbolo for cadastrado corretamente ent o EXIBIR P GINA DE SUCESSO sen o EXIBIR P GINA DE ERRO PUC Rio Certifica o Digital N 0711275 CA Re arquitetura do software C amp L 89 3 Se a requisi o recebida for para remover s mbolo ent o REMOVER S MBOLO DO L XICO 4 Se o s mbolo for removido com sucesso ent o EXIBIR P GINA DE SUCESSO sen o EXIBIR P GINA DE ERRO 5 Se a requisi o recebida for para alterar s mbolo do l xico ent o ALTERAR S MBOLO DO L XICO 6 Se a requisi o recebida for para exibir dados do s mbolo e seus relacionamentos ent o RECUPERAR DADOS DO S MBOLO E MONTAR SEUS RELACIONAMENTOS Ap s a recupera o dos dados EXIBIR S MBOLO DO L XICO E SEUS RELACIONAMENTOS 5 2 5 3 Cen rios da camada modelo Titulo CADASTRAR S MBOLO DO L XICO Objetivo Cadastrar s mbolo do l xico no projeto do usu rio atrav s da inser o de seus dados no banco de dados Contexto necess rio o preenchimento do formul rio presente em EXIBIR P GINA DE CADASTRO DE NOVO S MBOLO DO L XICO Atores CONTROLE L XICO Recursos dados do s mbolo do l xico
92. fonte onde teremos cen rios integrados com o pr prio c digo facilitando sua leitura e entendimento Al m disto o m todo utiliza a id ia de integra o de cen rios por generaliza o para proporcionar uma vis o global do sistema facilitando o entendimento e ger ncia dos grupos de cen rios que compor o o sistema PUC Rio Certifica o Digital N 0711275 CA Construindo a nova arquitetura 39 41 1 Constru o do LAL O primeiro passo do m todo a descri o dos s mbolos que possuem significado espec fico dentro do dom nio utilizando a t cnica LAL apresentada na subse o 2 1 O processo de constru o do LAL composto pelas seguintes fases identifica o dos s mbolos identifica o da sem ntica dos s mbolos e valida o junto ao usu rio Mais detalhes sobre estas fases e heur sticas para a constru o do LAL podem ser encontradas em Leite94 Na Figura 20 podemos ver um exemplo de entrada do LAL Este s mbolo foi extra do do LAL do dom nio de aplica o do C amp L As palavras sublinhadas tamb m fazem parte do LAL Nome S mbolo do l xico No o S o palavras chave que possuem um significado espec fico no contexto em que est o inseridas S o descritas atrav s de sua no o e impacto Classifica o Objeto Impactos Pode ser cadastrada em um projeto Pode ser removida de um projeto Pode ser alterada Pode referenciar outros simbolos do l xico Pode ser referen
93. form tica na Universidade do Estado do Rio de Janeiro UERJ em 2007 Desde 2007 participa do grupo de pesquisa de engenharia de requisitos da PUC Rio coordenado pelo professor Julio Leite e trabalha no Laborat rio de Engenharia de Software LES Ficha Catalogr fica Almentero Eduardo Kinder Re engenharia do software C amp L para plataforma Lua Kepler utilizando princ pios de transpar ncia Eduardo Kinder Almentero orientador Julio Cesar Sampaio do Prado Leite 2009 112 f 30 cm Disserta o Mestrado em Inform tica Pontif cia Universidade Cat lica do Rio de Janeiro Rio de Janeiro 2009 Inclui bibliografia 1 Inform tica Teses 2 Engenharia de Requisitos 3 Transpar ncia de Software 4 Cen rio 5 L xico Ampliado da Linguagem Leite Julio Cesar Sampaio do Prado Il Pontif cia Universidade Cat lica do Rio de Janeiro Departamento de Inform tica III Titulo CDD 004 PUC Rio Certifica o Digital N 0711275 CA Agradecimentos A meus pais Emilio e Meire pelo incentivo motiva o e carinho Sem voc s nada disto seria poss vel Ao professor Julio Leite pela enorme paci ncia dedica o confian a e pelo conhecimento compartilhado ao longo destes anos Aos integrantes do Grupo de Requisitos da PUC Rio Antonio de Padua Maur cio Claudia Fillipe Herbet Vera e Elizabeth pelas suas valios ssimas opini es e sugest es sempre construtivas Aos am
94. gy for Conceptual Model Acquisition Cen rios Enhancing a Requirements Baseine with Scenanos Outros e C L Uma ferramenta para Edi o e Visualiza o de Cen rios e L xicos e Processo de constru o de Ontologias baseado no L xico Projetos publicados Gera o de Ontologias subsidiada pela Engenharia de Requisitos s e Casos de Teste Transparencias Cen rios e Relacionamento entre Cen rios Cen rios e L xicos Arquitetura e CAL Uma ferramenta para Edi o e Visualiza o de Cen nios e L ncos e Manual do Usu rio CESS Figura 8 P gina inicial do sistema Para come ar a utilizar o C amp L preciso cadastrar se no sistema O cadastro pode ser feito atrav s do atalho Cadastrar se presente na p gina de login do sistema Figura 9 que acessada atrav s de um clique no logo do C amp L que se encontra na p gina inicial Ap s acessar o atalho o usu rio ser direcionado a uma tela contendo um formul rio b sico de cadastro Figura 10 Dentre as informa es solicitadas est o o login e senha que o usu rio utilizar para acessar o sistema posteriormente atrav s da tela de ogin gt Entre com seu Login e Senha Windows Internet Explorer DEAR E http pes inf puc rio br cel aplicacao login php url index php bi amp en rios Entre com seu Login e Senha Login Cadastrar se Esqueci senha Veja o c digo fonte Internet 100 Figura 9
95. ica Te rica e Aplicada RITA 13 1 57 86 2006 Silva03 Silva L F Say o M Leite J C S P Breitman K K Enriquecendo o C digo com Cen rios XVII Brazilian Symposium on Software Engineering SBES20083 Manaus AM 2008 Silva04 Silva L F Leite J C S P Breitman K K Ensino de engenharia de software Relato de experi ncias Workshop de Educa o em Inform tica WEI 2004 12 Salvador 2004 pp 994 10055 PUC Rio Certifica o Digital N 0711275 CA Refer ncias bibliogr ficas 112 Silva05 L F Silva J C S P Leite K K Breitman C amp L uma Ferramenta de Apoio Engenharia de Requisitos Revista de Inform tica Te rica e Aplicada RITA Vol XIIl N mero 1 Junho 2005 ISSN 0103 4308 Staa00 Staa A Programa o Modular Desenvolvendo Programas Complexos de Forma Organizada e Segura Ap ndice 4 Campus 2000 Willis90 Willis D 1990 The Lexical Syllabus London Collins ELT
96. ificar os dados que s o recebidos e repassados pela camada Epis dios Identificar cada tipo diferente de requisi o que pode ser recebida pela camada e como ela tratada e repassada Explicar como feita a valida o dos dados recebidos pela camada Restri es Identificar as restri es existentes para o repasse das requisi es Por exemplo uma requisi o deve possuir um formato espec fico de dado para que possa ser repassada Exce o Detalhar comportamentos excepcionais da camada de controle e seu tratamento Por exemplo no caso de uma requisi o que n o pode ser repassada Tabela 5 Heur sticas para constru o de um cen rio da camada de controle Na Figura 29 vemos um exemplo de cen rio na camada de controle A intermedia o proporcionada pela camada pode ser vista nos epis dios 1 e 2 No epis dio 1 a camada de controle recebe uma requisi o para cadastrar um PUC Rio Certifica o Digital N 0711275 CA Construindo a nova arquitetura 52 usu rio Esta requisi o dividida em duas partes Primeiro enviada uma requisi o a camada de modelo atrav s do cen rio checar login para saber se o login esta dispon vel Se o login estiver dispon vel a camada de controle envia a requisi o para cadastrar o usu rio atrav s do cen rio cadastrar usu rio Dependendo do resultado comunicado pela camada de modelo sobre a execu o deste cen
97. igos Andrew Evelin Camila Isela Baldoino Elder e Manoel pela ajuda indispens vel pela motiva o e pelo companheirismo durante toda essa jornada PUC Rio Certifica o Digital N 0711275 CA Resumo Almentero Eduardo Kinder Leite Julio Cesar Sampaio do Prado Re engenharia do software C amp L para plataforma Lua Kepler utilizando princ pios de transpar ncia Pontif cia Universidade Cat lica do Rio de Janeiro 2009 112p Disserta o de Mestrado Departamento de Inform tica Pontif cia Universidade Cat lica do Rio de Janeiro A transpar ncia um termo chave que est presente em diversos contextos como o econ mico e pol tico e atualmente um dos novos contextos em que se apresenta a transpar ncia de software Software livre um bom exemplo de transpar ncia de software onde a grande vantagem que podemos acessar o c digo fonte e ent o escolher entre suas caracter sticas as que desejamos por m esta possibilidade est direcionada somente aqueles que entendem seu c digo fonte Entender o c digo fonte de um software poder ser uma tarefa rdua especialmente se nenhuma t cnica foi utilizada para facilitar sua leitura Neste trabalho exploramos um m todo de desenvolvimento para software livre baseado no uso de cen rios O resultado da aplica o deste m todo ser um documento nico o c digo fonte onde teremos os cen rios integrados com o c digo facilitando sua leitura e entendimento trazendo
98. igos fonte CVS CVS09 O C amp L possui por volta de onze mil linhas de c digo distribu das em noventa e cinco arquivos Na Figura 7 pode se ver um mapeamento de alguns dos arquivos que comp em o software PUC Rio Certifica o Digital N 0711275 CA Software C amp L 27 O envolvimento de diversos grupos com os mais variados n veis de conhecimento em programa o a falta da defini o de padr es e de uma arquitetura no in cio do desenvolvimento refletiram negativamente na qualidade do c digo fonte do C amp L Seu c digo apresenta v rios estilos de programa o falta de padroniza o e uso de mais de um de idioma na escolha dos nomes de vari veis e fun es mistura entre as diversas linguagens utilizadas no desenvolvimento do software PHP HTML JavaScript e SQL dentre outros problemas O uso dos cen rios como forma de documenta o apesar de se ser utilizado apenas em parte do c digo ajuda bastante na sua compreens o Ainda assim o c digo do C amp L dif cil de entender e consequentemente de evoluir 3 3 Funcionamento A descri o das funcionalidades que apresentaremos a seguir foi feita com base no uso do software C amp L que pode ser acessado atrav s do endere o C amp LO9 Acessando a p gina inicial do C amp L C amp L09 mostrada na Figura 8 o usu rio encontra um pequeno texto explicativo do software e tem a sua disposi o uma s rie de elos Estes elos levam a artigos e apresenta es q
99. in nimo ent o o nome lexico link deve armazenar o nome do termo do l xico a que pertence o sin nimo Isto feito para que possamos criar um atalho para o termo do l xico a que o sin nimo corresponde nome lexico link lexico LEXICO else QEpis dio 16 Se a express o encontrada for um termo do l xico ent o o nome lexico link deve armazenar o nome do termo do l xico nome lexico link nome lexico end GEpis dio 17 Criar o atalho para a express o encontrada no texto link lt a title N L xicoN href visao exibe lexico lp id projeto id pro jeto gnome nome lexico link N gt nome lexico cetisfas GEpis dio 18 Inserir o atalho criado na tabela links lexico na mesma posi o que o elemento encontrado ocupa na tabela lexicos e sinonimos Isto permitir que identifiquemos a que c digo wzzxk kxy do texto este atalho corresponde table insert tabela links lexico index link end if end for else if tam lexicos e sinonimos 0 and tam cenarios gt 0 then GEpis dio 19 Se n o h l xicos no projeto ent o apenas a lista de cen rios ser percorrida for index cenario in pairs cenarios do GEpis dio 20 A vari vel nome cenario recebe o t tulo do cen rio que est sendo verificado no momento nome cenario cenario TITULO GEpis dio 21 Uma express o regular montada com o t tulo do cen rio Esta express o regular evita erros devido pontua o e espa
100. io de Janeiro Departamento de Inform tica Rio de Janeiro 2008 Lecesne07 Lecesne Pierre Carlos Eduardo Desenho de grafos em um ambiente Web 2007 Projeto final de gradua o Pontif cia Universidade Cat lica do Rio de Janeiro Departamento de Inform tica Rio de Janeiro 2007 LuaDoc LuaDoc Dispon vel em http Avww tecgraf puc rio br tomas luadoc luadoc html PUC Rio Certifica o Digital N 0711275 CA Refer ncias bibliogr ficas 111 Meyrhauser94 Meyrhauser A and Vans A M Program Understanding A Survey CS94 120 Department of Computer Science Colorado State University August 1994 MySQLO9 MySQL Dispon vel em http mysqgl com Acesso em 10 03 2009 Neuman89 Neuman B C 1989 The need for closure in large distributed systems SIGOPS Oper Syst Rev 23 4 Oct 1989 28 30 Oliveira07 Oliveira A P et al Engenharia de requisitos intencional tornando o software mais transparente Tutorial presented at SBES 07 http www sbbd sbes2007 ufpb br tuto3 pdf PHP09 PHP Hypertext Preprocessor Dispon vel em http php net Acesso em 20 01 2009 PHPDoc09 PHPDoc Dispon vel em http www phpdoc org Acesso em 13 03 2009 Semantic Designs09 Dispon vel em http www semdesigns com producis DMS DMSTTollkit ntml Home SoftwareReengineering Acesso em 10 03 2009 Say o06 Say o M Leite J C S P Rastreabilidade de Requisitos Revista de Inform t
101. io pode CADASTRAR CENARIO no projeto Usu rio pode SAIR DO SISTEMA Figura 25 Exemplo de cen rio integrador 4 1 4 Refinamento dos cen rios Para que o uso de cen rios realmente ajude tanto no desenvolvimento do software quanto na sua documenta o necess rio que o m todo proposto se adapte a arquitetura definida para o sistema Nesta disserta o nos restringiremos a sistemas que podem ser descritos segundo o framework MVC Descreveremos a seguir como derivar os cen rios pertencentes s tr s camadas do framework aqui identificadas como camada M modelo camada C controle e camada V vis o a partir dos cen rios originais produzidos no primeiro passo Figura 26 PUC Rio Certifica o Digital N 0711275 CA Construindo a nova arquitetura 47 Camada M Camada 1 Cen rios do sistema 2 Cen rios divididos em camadas Figura 26 Processo de refinamento dos cen rios em camadas 4 1 4 1 Divis o dos cen rios em camadas Nesta se o iremos detalhar como feito o refinamento dos cen rios em camadas Cada camada possuir uma heur stica diferente para constru o de seus cen rios Estas heur sticas ser o detalhadas para cada uma das entidades que comp em o cen rio 4 1 4 1 1 Camada de vis o A maioria dos cen rios que possuem como um de seus atores o usu rio devem possuir uma interface de intera o com ele Para um maior detalhamento desta interface devemos separ la do
102. ir um grande n mero de ferramentas de ap io a m todos semelhantes O raz o principal para o surgimento de tantas ferramentas foi o uso de diferentes linguagens Cada ferramenta estava atrelada ao uso de uma linguagem espec fica Para demonstrar seu uso foi desenvolvida uma ferramenta sobre o framework proposto Esta ferramenta dividida em dois programas Um que extrai do arquivo fonte o c digo escrito pelo usu rio e gera um arquivo que ser posteriormente compilado para gerar o software desejado e outro que processa o arquivo adicionando informa es e formata es para transform lo em um arquivo que possa ser processado por um formatador de textos e assim obter a PUC Rio Certifica o Digital N 0711275 CA Introdu o 15 documenta o final Todo o processamento realizado pela ferramenta baseado no uso de marcas pr estabelecidas no arquivo fonte A id ia de uso de marcas no c digo fonte est por tr s da cria o do padr o JavaDoc JavaDoc09 Este padr o utiliza uma serie de marcadores para realizar a padroniza o de coment rios no c digo Java e posteriormente produzir automaticamente um conjunto de p ginas HTML naveg veis contendo as informa es comentadas Esta padroniza o tamb m pode ser encontrada para as linguagens Lua LuaDoc e PHP PHPDoc Em Staa00 s o estabelecidas regras para padronizar a utiliza o de coment rios Esta padroniza o visa uniformizar o estilo de programa o
103. istema comunica o usu rio que os dados do projeto foram atualizados com sucesso e o redirecionam para a p gina principal do sistema T tulo REMOVER PROJETO Objetivo Permitir que o usu rio remova um projeto seus cen rios s mbolos do l xico e arquivos XML vinculados PUC Rio Certifica o Digital N 0711275 CA Re arquitetura do software C amp L 70 Contexto Projeto cadastrado anteriormente pelo usu rio usu rio deve ser administrador Recursos dados do projeto Atores sistema usu rio Epis dios 1 O sistema exibe os dados do projeto e solicita uma confirma o de exclus o para o usu rio 2 Usu rio confirma exclus o 3 Sistema exclui o projeto os s mbolos do l xico cen rios e arquivos XML vinculados ao projeto 4 Sistema comunica ao usu rio que a exclus o foi efetuada com sucesso T tulo SELECIONAR PROJETO Objetivo Permitir que o usu rio trabalhe com um projeto espec fico previamente cadastrado no sistema O Sistema ir carregar os dados referentes ao projeto e exibir no menu lateral todos os s mbolos do l xico e cen rios j cadastrados no projeto Contexto Usu rio deve possuir um projeto cadastrado ou ser colaborador de um Recursos projetos criados pelo usu rio e projetos em que o usu rio colaborador Atores usu rio sistema Epis dios 1 O sistema exibe uma lista dos projetos acess veis para o usu rio destacando o seu n vel de acesso em cada um deles 2 U
104. itetura do software C amp L 77 1 O usu rio seleciona um cen rio do projeto exibido no menu lateral 2 O usu rio seleciona a op o Remover cen rio 3 Sistema solicita a confirma o da exclus o 4 Usu rio confirma a exclus o 5 Sistema comunica o usu rio que a exclus o do cen rio foi realizada com sucesso 5 2 2 Divis o dos cen rios em grupos Foram formados cinco grupos a partir dos cen rios que descrevem as situa es do sistema O primeiro grupo Figura 39 formado pelos cen rios cadastrar usu rio recuperar senha do usu rio acessar o sistema alterar dados do usu rio e sair do sistema Estes cen rios foram colocados no mesmo grupo pois considerando uma vis o modular do sistema pertenceriam ao m dulo usu rio j que todos descrevem situa es relacionadas aos dados do usu rio O segundo grupo Figura 40 formado pelos cen rios cadastrar projeto alterar projeto remover projeto selecionar projeto gerar XML do projeto e gerar grafo do projeto Estes cen rios descrevem situa es relacionadas a projetos do sistema e corresponderiam ao m dulo projeto por isso foram colocados no mesmo grupo O terceiro grupo Figura 41 formado pelos cen rios incluir colaborador no projeto remover colaborador do projeto e verificar altera es sugeridas pelos colaboradores corresponde ao m dulo de ger ncia de colaboradores As situa es descritas pelos cen rios destes grupos est o relaciona
105. jeto Usu rio pode CADASTRAR CENARIO no projeto Usu rio pode SAIR DO SISTEMA Figura 50 Cen rio integrador do software C amp L 5 2 5 Refinamento dos cen rios A seguir mostraremos os cen rios divididos em camadas seguindo o framework MVC obtidos atrav s do refinamento dos cen rios constru dos inicialmente Como o n mero de cen rios resultante deste refinamento muito grande mostraremos apenas alguns cen rios de cada camada do software Os cen rios que mostraremos a seguir s o resultantes do refinamento dos seguintes cen rios pertencentes ao m dulo l xico cadastrar s mbolo do l xico exibir s mbolo do l xico e seus relacionamentos alterar s mbolo do l xico remover s mbolo do l xico 5 2 5 1 Cen rios da camada de vis o T tulo EXIBIR P GINA DE CADASTRO DE NOVO S MBOLO DO L XICO Objetivo Permitir que o usu rio informe os dados do s mbolo do l xico para seu cadastro no projeto Para tanto a p gina exibida conter um formul rio com os seguintes campos nome no o classifica o impacto e sin nimo Contexto Pode ser acessado atrav s da op o Novo s mbolo no menu superior da p gina principal Atores usu rio autenticado no sistema Recursos script js e estilo css PUC Rio Certifica o Digital N 0711275 CA Re arquitetura do software C amp L 87 Epis dios 1 Exibir campo Nome Exibir campo No o Exi
106. l N 0711275 CA Re arquitetura do software C amp L 69 Epis dios 1 Sistema exibe um formul rio de cadastro de projeto contendo os campos nome e descri o 2 Usu rio submete o formul rio preenchido Restri o todos os campos devem estar preenchidos 3 Sistema armazena a data atual como data da inclus o do projeto 4 Sistema insere os seguintes dados no banco de dados nome descri o e data da inclus o 5 Sistema avisa ao usu rio que o projeto foi inserido com sucesso e o redireciona para p gina principal Exce o O usu rio j possui um projeto com o mesmo nome informado O usu rio avisado que deve escolher um novo nome para o projeto T tulo ALTERAR PROJETO Objetivo Permitir que o usu rio altere a descri o de um projeto j cadastrado atrav s da edi o de um formul rio contendo a descri o previamente cadastrada Contexto Projeto deve ter sido cadastrado pelo usu rio usu rio deve ser administrador Recursos descri o do projeto Atores usu rio sistema Epis dios 1 Sistema exibe para o usu rio um formul rio contendo os campos nome data de inclus o e descri o do projeto j preenchidos e permite a edi o apenas do campo descri o 2 Usu rio submete o formul rio com a nova descri o do projeto Restri o O campo descri o n o pode estar vazio e nem conter apenas espa os em branco 3 Sistema atualiza a descri o do projeto no banco de dados 4 S
107. l do usu rio Contexto Usu rio deve ter sido previamente cadastrado no sistema Recursos login e e mail do usu rio Atores usu rio e sistema Epis dios l Usu rio clica no atalho Esqueceu a senha na p gina inicial do sistema 2 O sistema exibe um formul rio contendo os campos e mail e login para o usu rio preencher O usu rio submete o formul rio preenchido Restri o Todos os campos devem ser preenchidos O sistema verifica se o login e e mail informado s o iguais aos do cadastro do usu rio 5 Sistema gera uma nova senha rand mica e a envia para o e mail do usu rio 6 Sistema exibe um aviso informando que a senha foi alterada e que o usu rio deve verificar o e mail informado para obter a nova senha Exce o O login e e mail informado pelo usu rio n o est o corretos O sistema informar ao usu rio que o login e a senha n o est o corretos e permitir que ele tente mais duas vezes Caso erre mais duas vezes o usu rio ter que esperar por 20 minutos para tentar novamente Figura 21 Exemplo de descri o de uma situa o do sistema 4 1 3 Integra o dos cen rios Mesmo diante de sistemas de m dio porte a quantidade de cen rios que o descrevem pode ser grande chegando s centenas Com isso se os engenheiros de requisitos se prenderem muito aos detalhes podem acabar perdendo a vis o global do sistema Para evitar que isto aconte a propomos a integra o de cen rios Nossa id ia de
108. l usuario php y lt php session_start include funcoes cenericas php include httprequest inc chkUser index php Conecta ao SGBD r bd connect or die Erro ao conectar ao scentar aqueles qu q DELETE FROM participa WHERE id usuario SESSION id_usuario_corrente SION id_projeto_corrente S AND id projeto S mysql_query q or die Erro ao executar a query de DELETE S unt Susuarios Numero de usua i lt Sn sel i uario selecionado ERT INTO participa id usuario id p ALUES Susuarios Si SESSION id projeto corrente mysql query Sq or die Erro ao cadastrar usuario NaM e E A Hm w H v O Internet R 100 Figura 16 Exemplo de visualiza o do c digo poss vel representar todas as informa es de um projeto criado no C amp L em um arquivo gerado automaticamente no formato XML atrav s da op o gerar XML do projeto Este arquivo pode ser exibido como um arquivo comum XML Figura 17 ou como uma p gina HTML naveg vel criada atrav s de uma transforma o do XML em HTML XSLT Uma vez criado o arquivo XML de um projeto este ficar dispon vel para todos os usu rios do sistema Esta caracter stica facilita a integra o do C amp L com outras ferramentas Na Figura 17 podemos visualizar um exemplo de XML gerado pelo C amp L PUC Rio Certifica o Digital N 0711275 CA Software C a
109. mp L http lpes inf puc rio bricel aplicacao mostraXML php id projeto 597 amp versao 7 Windows Internet E E http lipes inf puc rio brjcel aplicacao mostra amp ML php id projeto 597 amp wersao 7 36 DOK lt xml version 1 0 encoding ISO 8859 1 gt lt projeto gt A lt nome gt Sistema organizador de reuni es lt nome gt lt cenario gt lt titulo id agendar reuniao gt Agendar Reuni o lt titulo gt lt objetivo gt lt sentenca gt lt texto Marcar uma lt texto gt texto referencia_lexico reuniao gt reuni o lt texto gt lt texto gt no melhor dia hor rio e local para que todos os lt texto gt lt texto referencia lexico participantes gt participantes lt texto gt lt texto gt possam comparecer lt texto gt lt sentenca gt lt PT gt lt objetivo gt lt contexto gt lt sentenca gt lt texto gt 0 cen rio lt texto gt lt texto referencia cenario requisitar reuniao gt requisitar reuni o lt texto gt lt texto gt deve ter sido executado lt texto gt lt sentenca gt lt PT gt lt contexto gt lt atores gt lt sentenca gt lt texto referencia lexico sistema gt sistema lt texto gt lt texto gt lt texto gt lt texto referencia lexico participantes gt participantes lt texto gt texto referencia lexico reuniao gt reuni o lt texto gt lt sentenca gt lt PT gt lt atores gt O internet Figura 17 Exemplo
110. nco de dados Exce o O login informado pelo usu rio j se encontra no banco de dados do sistema Informar a camada de controle que os dados n o foram inseridos porque o login j existe T tulo ALTERAR DADOS DO USU RIO Objetivo Permitir que o usu rio altere seus dados armazenados no sistema atrav s da edi o de um formul rio contendo as informa es previamente cadastradas Contexto Usu rio deve ter sido previamente cadastrado no sistema AUTENTICAR USU RIO NO SISTEMA Recursos novos dados do usu rio Atores usu rio e sistema Epis dios PUC Rio Certifica o Digital N 0711275 CA Re arquitetura do software C amp L 67 1 Sistema exibe um formul rio com os seguintes campos j preenchidos permitindo sua edi o nome sobrenome e mail institui o 2 Usu rio submete o formul rio preenchido com os novos dados Restri o O formul rio n o pode conter campos em branco 3 Sistema atualiza os dados do usu rio no banco de dados 4 Sistema avisa que os dados do usu rio foram alterados com sucesso e o redireciona para a p gina principal T tulo ACESSAR O SISTEMA Objetivo Permitir que o usu rio utilize o sistema se identificando atrav s do preenchimento de um pequeno formul rio com seu login e senha Contexto Usu rio deve ter sido previamente cadastrado no sistema Recursos login senha Atores usu rio sistema Epis dios 1 Sistema exibe para o usu rio um formul ri
111. o Pouqu ssima documenta o foi encontrada de outras fontes e os exemplos s o bem escassos e limitados Quando o nosso trabalho de re engenharia do C amp L come ou o projeto Kepler ainda estava em uma vers o beta Durante a codifica o na vers o beta encontramos falhas em alguns dos m dulos do ambiente Para resolv los interagimos com a comunidade de desenvolvimento e outros usu rios atrav s da lista de discuss o reportando os problemas encontrados Acompanhamos as PUC Rio Certifica o Digital N 0711275 CA Conclus o 107 solu es adotadas e o lan amento da nova vers o do ambiente j com as corre es Destacamos que a comunidade de desenvolvimento interage bastante com os usu rios e trabalha arduamente no sentido de resolver os problemas que aparecem o mais rapidamente poss vel mas mesmo assim ainda leva um tempo consider vel Durante a constru o da nova arquitetura tivemos dificuldade em manter a integridade entre os cen rios cadastrados no C amp L e os cen rios inclusos do c digo fonte Toda vez que evolu amos o cen rio do c digo fonte t nhamos que evoluir o mesmo cen rio cadastrado no C amp L e vice versa Desta forma toda altera o teve que ser feita duas vezes o que gerou um consider vel trabalho extra 6 3 Trabalhos Futuros Como descrito na subse o anterior uma das dificuldades encontradas no decorrer deste projeto foi manter a integridade dos cen rios inclusos no c digo f
112. o projeto selecionado Contexto Cen rio cadastrado no sistema Recursos dados do cen rio Atores usu rio sistema Epis dios 1 O usu rio seleciona um cen rio do projeto exibido no menu lateral 2 O usu rio seleciona a op o Remover cen rio 3 Sistema solicita a confirma o da exclus o 4 Usu rio confirma a exclus o 5 Sistema comunica o usu rio que a exclus o do cen rio foi realizada com sucesso Figura 43 Grupo correspondente ao m dulo cen rio 5 2 3 Identificar os cen rios raiz Neste passo primeiro iremos determinar o relacionamento entre os cen rios pertencentes aos grupos identificados e a partir dos relacionamentos identificados estabeleceremos uma ordem entre estes cen rios O cen rio raiz ser o cen rio que n o dependa de nenhum outro cen rio do seu grupo No primeiro grupo identificamos os relacionamentos mostrados na Figura 44 Com base nestes relacionamentos podemos determinar que o cen rio cadastrar usu rio deve preceder todos os outros Com isto identificamos o cen rio cadastrar usu rio como cen rio raiz deste grupo PUC Rio Certifica o Digital N 0711275 CA Re arquitetura do software C amp L 83 pr condi o Figura 44 Relacionamentos entre os cen rios do grupo correspondente ao m dulo usu rio Os relacionamentos identificados no segundo grupo podem ser vistos na Figura 45 Podemos observar que o cen rio raiz deste g
113. o contendo dois campos login e senha 2 Usu rio submete o formul rio com os campos preenchidos Restri o Nenhum dos campos pode ser deixado em branco 3 O sistema carrega os projetos que o usu rio participa e o redireciona para a p gina principal Exce o O login e senha informada pelo usu rio n o est o corretos O sistema permite que o usu rio tente novamente por mais duas vezes Se o usu rio errar seu login e senha por mais duas vezes ele ter que esperar 20 minutos para tentar novamente T tulo RECUPERAR SENHA DO USU RIO Objetivo Permitir que o usu rio recupere sua senha Ao solicitar recupera o de sua senha o usu rio preencher um formul rio com seu login e e mail Ap s a verifica o dos dados o sistema ir substituir a senha antiga por uma nova senha rand mica e envi la para o e mail do usu rio Contexto Usu rio deve ter sido previamente cadastrado no sistema Recursos login e e mail do usu rio Atores usu rio e sistema Epis dios PUC Rio Certifica o Digital N 0711275 CA Re arquitetura do software C amp L 68 1 O sistema exibe um formul rio contendo os campos e mail e login para o usu rio preencher 2 O usu rio submete o formul rio preenchido Restri o Todos os campos devem ser preenchidos 3 O sistema verifica se o login e e mail informado s o iguais aos do cadastro do usu rio 4 Sistema gera uma nova senha rand mica e a envia para o e mail do usu rio 5 Sis
114. o rel usuario php A Selecione os usu rios para participar do projeto Sistema organizador de reuni es Mantenha CTRL pressionado para selecionar m ltiplas op es Participantes Eduardo rafaraco gt E ibpa rpithan rafaelrro rafaelmartins breno Veja o c digo fonte a O Internet R100 Figura 15 Tela para adicionar colaboradores ao projeto Disponibilizar o c digo fonte de um software interessante pois permite que o usu rio interessado visualize como foi codificada cada situa o Mas em c digos muito extensos como a maioria dif cil relacionar as situa es do software com os trechos correspondentes do c digo fonte Uma caracter stica importante do C amp L que pode ser encontrada no final de cada p gina que comp e o sistema prop e uma solu o para este problema Esta solu o o elo Veja o c digo fonte Esta caracter stica interessante pois permite que visualizemos o c digo de um evento espec fico do software Na Figura 16 pode se ver um exemplo desta caracter stica Nesta Figura exibido o c digo fonte da funcionalidade mostrada na Figura 15 este c digo foi exibido ap s um clique no elo Veja o c digo fonte PUC Rio Certifica o Digital N 0711275 CA Software C amp L 35 http pes inf puc rio bricelfaplicacao showSource php file rel usuario php Windows Int DER http fipes inf puc rio brfcelfaplicacao showSource php file re
115. o submete formul rio preenchido Restri o Todos os campos do formul rio devem ser preenchidos O campo confirmar senha deve possuir a mesma cadeia de caracteres alfanum ricos informada no campo senha Sistema insere os dados do novo usu rio no banco de dados Sistema avisa que usu rio foi cadastrado com sucesso e o redireciona para p gina principal Exce o O login informado pelo usu rio j se encontra no banco de dados do sistema O usu rio alertado e informado que deve escolher novo login Titulo ACESSAR O SISTEMA Objetivo Permitir que o usu rio utilize o sistema se identificando atrav s do preenchimento de um pequeno formul rio com seu login e senha Contexto Usu rio deve ter sido previamente cadastrado no sistema Recursos login senha Atores usu rio sistema Epis dios 1 Sistema exibe a p gina inicial para o usu rio contendo um formul rio com dois campos login e senha 2 Usu rio submete o formul rio com os campos preenchidos Restri o Nenhum dos campos pode ser deixado em branco 3 O sistema carrega os projetos que o usu rio participa e o redireciona para a p gina principal Exce o O login e senha informada pelo usu rio n o est o corretos O sistema permite que o usu rio tente novamente por mais duas vezes Se o usu rio errar seu login e senha por mais duas vezes ele ter que esperar 20 minutos para tentar novamente 78 Titulo RECUPERAR SENHA DO USU
116. oi realizada com sucesso T tulo CADASTRAR CEN RIO Objetivo Permitir que o usu rio inclua um cen rio em um projeto Contexto Projeto cadastrado no sistema Recursos dados do cen rio Atores usu rio sistema Epis dios 1 Usu rio seleciona a op o Novo cen rio 2 O sistema exibe um formul rio com os seguintes campos t tulo objetivo contexto recursos atores epis dios e exce o 3 Usu rio submete o formul rio preenchido Restri o Os campos t tulo objetivo contexto recursos atores e epis dios n o podem ser deixados em branco 4 Sistema cadastra o novo cen rio no projeto 5 Sistema comunica ao usu rio que a inclus o do cen rio foi realizada com sucesso Exce o Se o t tulo escolhido para o cen rio escolhido j estiver cadastrado no sistema como t tulo de outro cen rio ou nome sin nimo de um l xico ent o o sistema deve exibir uma mensagem de erro identificando o que o ocasionou T tulo EXIBIR CEN RIO E SEUS RELACIONAMENTOS Objetivo Exibir as informa es de um cen rio juntamente com seus relacionamentos utilizando elos para permitir o acesso a outros elementos PUC Rio Certifica o Digital N 0711275 CA Re arquitetura do software C amp L 76 referenciados pelo cen rio que esta sendo exibido e permitir o acesso a outros elementos do projeto que referenciem o cen rio exibido Contexto Cen rio cadastrado no sistema Recursos dados do cen rio nomes
117. onte e os cen rios cadastrados no software C amp L Para resolver este problema pretendemos estender o C amp L permitindo que os cen rios sejam importados automaticamente do c digo fonte para dentro do software A navegabilidade entre os cen rios que comp em o software s poss vel quando se utiliza o C amp L para visualiz los Um de nossos projetos futuros a cria o de um ambiente de programa o que desse suporte a utiliza o de cen rios permitindo a navega o atrav s dos cen rios no pr prio c digo fonte Pretendemos tamb m fazer a integra o entre o LAL do dom nio da aplica o e o LAL do espa o de nomes Esta integra o permitir um rastreamento que possibilitar a identifica o dos conceitos do dom nio da aplica o que deram origem aos nomes que comp em o espa o de nomes Um dos benef cios desta integra o seria a possibilidade de verificar se os nomes foram escolhidos adequadamente Por fim dois trabalhos importantes que pretendemos realizar futuramente s o a utiliza o do m todo por outras pessoas e a realiza o de experimentos comparativos Com isto esperamos determinar o n vel de complexidade do m todo proposto e se h algum ganho com a sua utiliza o comparado com o desenvolvimento sem o uso de nenhum m todo e com o aux lio de outros m todos PUC Rio Certifica o Digital N 0711275 CA Refer ncias bibliogr ficas 108 Refer ncias bibliogr ficas Apache09 The Apa
118. operacionalizado 4 1 4 2 3 Operacionaliza o da camada de modelo Os cen rios da camada de modelo devem ser implementados atrav s de fun es Uma fun o deve ser criada para cada um dos cen rios que comp em a camada Se um cen rio descrever uma funcionalidade muito complexa ele pode ser desmembrado em um ou mais cen rios Tamb m podem ser criados novos cen rios para descrever um comportamento comum a muitos cen rios reduzindo assim a redund ncia Em ambos os casos existir uma liga o entre os cen rios originais e os novos Esta liga o deve ser mapeada atrav s de um dos relacionamentos poss veis entre cen rios subcen rio pr condi o restri o exce o A Figura 33 apresenta o trecho de um cen rio da camada de modelo implementado PUC Rio Certifica o Digital N 0711275 CA Construindo a nova arquitetura 57 a GTitulo Cadastrar usu rio Gobjetivo Cadastrar os dados informados pelo usu rio EContexto Exibir p gina de cadastro de novo usu rio GAtores inserir usuario bd selecionar usuario bd GRecursos banco de dados dados do usu rio nome sobrenome institui o login senha l function cadastrar_usuario nome sobrenome email instituicao login senha Epis dio 1 Criptografa a senha fornecida no formul rio do usu rio senha criptografada md5 sum senha GEpis dio 2 INSERIR USUARIO NO BANCO DE DADOS inserir usuario bd nome sobrenome email institui
119. os l Sistema exibe para o usu rio um formul rio contendo os campos nome data de inclus o e descri o do projeto j preenchidos mas permite a edi o apenas do campo descri o Usu rio submete o formul rio com a nova descri o do projeto Restri o O campo descri o n o pode estar vazio e nem conter apenas espa os em branco Sistema atualiza a descri o do projeto no banco de dados Sistema comunica o usu rio que os dados do projeto foram atualizados com sucesso e o redirecionam para a p gina principal do sistema T tulo SELECIONAR PROJETO Objetivo Permitir que o usu rio trabalhe com um projeto espec fico previamente cadastrado no sistema Sistema ir carregar os dados referentes ao projeto e exibir no menu lateral todos os s mbolos do l xico e cen rios j cadastrados Contexto Usu rio deve possuir um projeto cadastrado ou ser colaborador de um Recursos projetos criados pelo usu rio e projetos em que o usu rio colaborador Atores usu rio sistema Epis dios 1 O sistema exibe uma lista dos projetos acess veis para o usu rio destacando o seu n vel de acesso em cada um deles Usu rio seleciona um dos projetos da lista Os cen rios e s mbolos do l xico previamente cadastrados s o exibidos em um menu lateral As seguintes op es de tornam dispon veis para o usu rio cadastrar l xico cadastrar cen rio e gerar grafo do projeto Caso o usu rio possua n vel de
120. os desta Quando ela acontece a o no ambiente Quais os procedimentos Quais estados s o envolvidos na a o alcan ados ap s a execu o da a o Objeto Definir o objeto e Quais a es podem ser identificar com quais aplicadas a este objeto outros objetos ele se relaciona Estado O que este estado Quais outros estados e significa a es que podem Quais as a es levaram ocorrer a partir deste a este estado estado Tabela 1 Descri o dos tipos de entrada do LAL Na Figura 1 podemos ver o Modelo Entidade Relacionamento constru do para o LAL Leite00 O modelo possui cinco entidades principais LAL s mbolo nome no o e impacto O LAL composto de um ou mais s mbolos cada s mbolo identificado por um nome ou frase definido por sua no o e possui um impacto PUC Rio Certifica o Digital N 0711275 CA Representa es utilizadas 18 LAL 1 possui N 0 N S mbolo 0 N 1 definido possui por N N No o Impacto E R 1 Brand 1 referencia referencia Figura 1 Modelo entidade relacionamento do LAL Adicionalmente a descri o de no o e impacto dos s mbolos do LAL segue dois princ pios o da circularidade e do vocabul rio m nimo O primeiro afirma que os s mbolos do l xico devem utilizar ao m ximo a refer ncia a outros s mbolos do pr prio dom nio na descri o de sua no
121. os elos do algoritmo novo Figura 59 Relacionamentos entre os cen rios do algoritmo 56 57 58 61 62 63 65 78 79 80 81 82 83 83 84 84 85 85 86 92 92 93 93 93 94 96 97 98 PUC Rio Certifica o Digital N 0711275 CA Lista de tabelas Tabela 1 Descri o dos tipos de entrada do LAL Tabela 2 Representa o de cen rios adotada Tabela 3 Heur sticas para constru o de um cen rio da camada de vis o Tabela 4 Heur sticas para constru o de um cen rio da camada de modelo Tabela 5 Heur sticas para constru o de um cen rio da camada de controle Tabela 6 Heur sticas para descrever fun es JavaScript Tabela 7 Heur sticas para cria o de cen rios que descrevem acessos ao banco de dados Tabela 8 Descri o de uma vari vel atrav s do LAL Tabela 9 Descri o de uma fun o atrav s do LAL Tabela 10 Descri o de um arquivo atrav s do LAL 17 40 48 50 51 54 58 60 61 62 PUC Rio Certifica o Digital N 0711275 CA Introdu o 12 1 Introdu o A transpar ncia um termo chave que est presente em diversos contextos como o econ mico e pol tico e atualmente um dos novos contextos em que se apresenta a transpar ncia de software Sabemos que a comunica o atrav s do software realizada de maneira opaca por m torna se essencial que o software em si seja transparente para que todos pos
122. os em branco na hora da busca expressao regular 2 p s nome cenario Zp s if string find texto expressao regular nil PUC Rio Certifica o Digital N 0711275 CA Re arquitetura do software C amp L 100 Epis dio 22 Se alguma ocorr ncia de express o regular for encontrada no texto ent o um atalho montado com o nome do cen rio link lt a title N Cen rioN href N visao exibe cenario lp id projeto id projeto stitulo titulo cenario amp c omando exibirW gt titulo cenario lt aD gt Epis dio 23 O atalho montado montado inserido na tabela links cenario na mesma posi o que o t tulo do cen rio encontrado ocupa na tabela cenarios table insert tabela links cenario index link GEpis dio 24 A express o substitu da pelo c digo wzczxk kxyyc onde o ser substitu do por um n mero que identificar a posi o do t tulo do cen rio na tabela cen rios texto string gsub texto expressao regular GP WZOZARN dose RAYO T EA end if end for elseif tam total gt 0 then GEpis dio 25 Se h l xicos e cen rios no projeto ent o tanto a tabela cenarios quanto a lexicos e sinonimos ser o percorridas i 1 j contador 1 while contador lt tam total do GEpis dio 26 Verifica se a tabela cenarios e a tabela lexicos e sinonimos j foram percorridas if i lt tam lexicos e sinonimos and j lt tam cenarios
123. p o permite a adi o de um colaborador que n o possui cadastro no sistema Neste caso o pr prio administrador do projeto ir preencher o formul rio de cadastro do colaborador que deseja adicionar O usu rio cadastrado estar automaticamente vinculado ao projeto como colaborador A segunda op o permite que o administrador adicione usu rios j cadastrados no sistema como colaboradores do projeto Isto feito atrav s da sele o dos usu rios de uma lista como pode ser visto na Figura 15 As altera es feitas por colaboradores do projeto n o s o realmente efetivadas sem a autoriza o do administrador do projeto Para visualizar as PUC Rio Certifica o Digital N 0711275 CA Software C amp L 33 altera es sugeridas pelos colaboradores e decidir se as autoriza ou n o os administradores contam com as op es verificar pedidos de altera o de cen rios e s mbolos do l xico Ao clicar em uma destas op es ser exibida uma lista com as altera es sugeridas pelos colaboradores do projeto e suas justificativas Se o administrador quiser acatar a modifica o sugerida basta selecionar a op o aprovar que as altera es ser o realmente efetivadas Caso contr rio basta selecionar a op o remover da lista para ignor las C amp L Cen rios e L xico Windows Internet Explorer El Ea e http fpes inf puc rio br cel aplicacao index php SA jha Eas PF f ii au B 0 Et A E k
124. r ficas 109 Christoph04 Christoph R H 2004 Engenharia de Software para Software Livre Tese de Mestrado Pontif cia Universidade Cat lica do Estado do Rio de Janeiro Departamento de Inform tica Brasil C amp L09 C amp L Cen rios e L xicos Dispon vel em http pes inf puc rio br cel Acesso em 14 03 2009 CVS09 Concurrent Version System Dispon vel em http Avww nongnu org cvs Acesso em 14 03 2009 Fst02 Free Software Foundation Europe Carta de Direitos Fundamentais da UE Dispon vel em http www fsfeurope org documents fp6 recommendation pt pdf Acesso em 28 novembro 2006 GrupoERO09 Grupo de Engenharia de Requisitos da PUC Rio Dispon vel em http Ayww er les inf puc rio br grupoER Acesso em 10 03 2009 Hsia94 Hsia P et al Formal Approach to Scenario Analysis IEEE Software vol 11 no 2 1994 pp 33 41 Ierusalimschy03 lerusalimschy R Programming in Lua Published by Lua org ISBN 85 903798 1 7 Paperback 288 pages Distributed by Ingram and Baker amp Taylor December 2003 Available in http Anww lua org pil 2008 JavaDoc09 JavaDoc Dispon vel em http java sun com j2se javadoc Acesso em 13 03 2009 JavaScript09 JavaScript Dispon vel em http Anww w3schools com JS Acesso em 15 0302009 Kepler09 Kepler Project Dispon vel em http keplerproject org Acesso em 15 03 2009 Knuth84 Knuth D E Literate Programming The
125. ra que trazer luz ao que est oculto A transpar ncia de software um temo muito abrangente Oliveira0O7 por isso neste trabalho procuramos focar especificamente na transpar ncia do c digo fonte Para atendermos ao requisito de transpar ncia de c digo n o basta disponibilizar o c digo fonte do software tamb m devemos fornecer meios que facilitem sua compreens o Ao procurarmos trabalhos relacionados na literatura descobrimos que a documenta o de c digo fonte baseada na ado o de estruturas pr definidas que armazenam descri es em linguagem natural inseridas no c digo fonte Estas estruturas s o padronizadas para que permitam a atua o de ferramentas automatizadas na extra o tanto do c digo quanto da documenta o Nossa principal contribui o com este trabalho um m todo de desenvolvimento baseado no refinamento de cen rios O objetivo deste m todo produzir um documento nico o c digo fonte onde teremos a nossa disposi o a documenta o em forma de cen rios integrados com o c digo e o c digo propriamente dito Este m todo tamb m utiliza o framework MVC para uma melhor organiza o do c digo e o LAL para uma documenta o complementar Outra contribui o importante foi o novo C amp L resultado do processo de re engenharia realizado Um software livre desenvolvido inteiramente no ambiente Lua Kepler com sua arquitetura dividda em camadas de acordo com o framework MVC e com c
126. ragir para construir manter evoluir e gerenciar projetos contendo cen rios e s mbolos do l xico O primeiro prot tipo do C amp L foi desenvolvido durante a disciplina Princ pios de Engenharia de Software oferecida pela PUC Rio ao curso de Engenharia de Computa o no primeiro semestre de 2002 O software atual o resultado da evolu o deste prot tipo por estudantes da gradua o mestrado e doutorado do Departamento de Inform tica da PUC Rio ao longo de seis anos O C amp L foi desenvolvido desde o in cio com a filosofia de software livre e seu c digo fonte est dispon vel para quem quiser baix lo No ano de 2007 o C amp L passou por um processo de manuten o e atualiza o realizado pelos integrantes do grupo de engenharia de requisitos da PUC Rio GrupoERO9 Este processo corrigiu algumas de suas funcionalidades e adicionou uma nova ferramenta para gera o de grafos desenvolvida por um aluno da PUC Rio em seu projeto final de gradua o Lecesne07 PUC Rio Certifica o Digital N 0711275 CA Software C amp L 26 3 2 Arquitetura Figura 7 Mapa do relacionamento entre arquivos C amp L09 O desenvolvimento do C amp L foi realizado utilizando se software livre s o eles PHP PHP09 vers o 4 como linguagem de implementa o o banco de dados MySQL MySQLO9 o servidor Web Apache http Server Apache03 e a ferramenta de controle de vers o e gerenciamento dos c d
127. relacionamentos em torno do s mbolo selecionado 3 Sistema exibe as informa es do s mbolo e os relacionamentos mapeados atrav s de elos Figura 42 Grupo correspondente ao m dulo l xico PUC Rio Certifica o Digital N 0711275 CA Re arquitetura do software C amp L T tulo CADASTRAR CEN RIO Objetivo Permitir que o usu rio inclua um cen rio em um projeto Contexto Projeto cadastrado no sistema Recursos dados do cen rio Atores usu rio sistema Epis dios 1 Usu rio seleciona a op o Novo cen rio 2 O sistema exibe um formul rio com os seguintes campos t tulo objetivo contexto recursos atores epis dios e exce o Usu rio submete o formul rio preenchido Restri o Os campos t tulo objetivo contexto recursos atores e epis dios n o podem ser deixados em branco Sistema cadastra o novo cen rio no projeto Sistema comunica ao usu rio que a inclus o do cen rio foi realizada com sucesso Exce o Se o t tulo escolhido para o cen rio j estiver cadastrado no sistema como t tulo de outro cen rio nome de um s mbolo ou sin nimo ent o o sistema deve exibir uma mensagem de erro identificando o que o ocasionou T tulo ALTERAR CEN RIO Objetivo Permitir que o usu rio altere os dados de um cen rio cadastrado no sistema atrav s da edi o de um formul rio preenchido com suas informa es cadastradas Contexto Cen rio cad
128. rinc pio da circularidade automaticamente criamos uma rede de relacionamento entre os s mbolos do LAL Esta rede de relacionamentos permite um rastreamento interno dos s mbolos e pode ser mapeada atrav s de um grafo A Figura 3 mostra o grafo de relacionamento do s mbolo Agendador de Reuni es Figura 3 Exemplo de um grafo de relacionamentos PUC Rio Certifica o Digital N 0711275 CA Representa es utilizadas 20 2 2 Cen rios A necessidade de facilitar a comunica o entre engenheiros e clientes motivou a pesquisa e o desenvolvimento de m todos que ajudassem na intera o de todos os participantes durante o processo de defini o dos requisitos de um sistema Para elicitar os requisitos os engenheiros devem entender modelar e conhecer o dom nio da aplica o do software Os clientes devem interagir com os engenheiros para verificar se o entendimento foi correto e validar seus modelos propostos O uso de cen rios na engenharia de requisitos ajuda tanto na compreens o do sistema que ser desenvolvido quanto na valida o do conhecimento do engenheiro pelo cliente Isto facilitado pelo fato de que os cen rios s o descritos em linguagem natural e modelam situa es do sistema Isto faz com que clientes se sintam mais a vontade em interagir com os engenheiros e entendam melhor o processo de descobrimento dos requisitos Existem v rios modelos de cen rios desde o mais formal que permite a gera o
129. rio que age como pr condi o para outro deve aparecer no seu contexto Este relacionamento nos permite a defini o de uma sequ ncia entre os cen rios e a especifica o de est gios que devem ser completados antes da execu o de outros Uma rela o de exce o acontece quando um cen rio aparece no componente exce o de outro cen rio Este relacionamento nos permite descrever o tratamento de uma exce o utilizando outro cen rio o que nos permite um maior detalhamento Quando um cen rio utilizado para detalhar aspectos n o funcionais que restringem o funcionamento correto de outro cen rio temos o relacionamento de restri o Este relacionamento ocorre quando um cen rio aparece no atributo restri o de outro O atributo restri o pode ser utilizado nos campos contexto recursos e epis dios O processo de constru o de cen rios est intimamente ligado ao L xico Ampliado da Linguagem t cnica abordada na se o anterior Podemos relacionar os cen rios com outros cen rios e tamb m com os s mbolos do l xico do dom nio em quest o Desta forma al m de elos entre cen rios teremos elos entre cen rios e s mbolos do l xico facilitando a compreens o do cen rio atrav s do entendimento dos termos pr prios da linguagem da aplica o PUC Rio Certifica o Digital N 0711275 CA Representa es utilizadas 23 A Figura 5 nos mostra um exemplo de cen rio baseado no modelo apresentado As palavras
130. rupo o cen rios cadastrar projeto pois n o possui nenhuma pr condi o dentro do seu grupo pr condi o pr condi o pr condi o pr condi o pr condi o Figura 45 Relacionamentos entre os cen rios do grupo correspondente ao m dulo projeto De acordo com os relacionamentos identificados entre os cen rios do grupo correspondente ao m dulo ger ncia de colaboradores Figura 46 podemos identificar como cen rio raiz o cen rio incluir colaborador no projeto pois este cen rio n o possui nenhuma pr condi o dentro de seu grupo PUC Rio Certifica o Digital N 0711275 CA Re arquitetura do software C amp L 84 pr condi o pr condi o Figura 46 Relacionamentos entre os cen rios do grupo correspondente ao m dulo colaboradores Na Figura 47 pode se observar os relacionamentos entre os cen rios do grupo referente ao m dulo l xico O cen rio raiz deste grupo o cen rio cadastrar s mbolo do l xico pois n o possui nenhuma pr condi o entre os cen rios de seu grupo Figura 47 Relacionamentos entre os cen rios do grupo correspondente ao m dulo l xico O cen rio raiz do grupo correspondente ao m dulo cen rio o cen rio cadastrar cen rio Isto porque como podemos observar na Figura 48 este cen rio n o possui nenhuma pr condi o entre os cen rios do grupo PUC Rio Certifica o Digital N 0711275 CA Re arq
131. s 11 function colocar elos id projeto texto tipo GEpis dio 1 SELECIONAR TODOS OS LEXICOS DO BANCO DE DADOS local lexicos selecionar todos lexicos bd id projeto GEpis dio 2 SELECIONAR TODOS OS SIN NIMOS DO BANCO DE DADOS local sinonimos selecionar sinonimos projeto bd id projeto GEpis dio 3 SELECIONAR TODOS OS CEN RIOS DO BANCO DE DADOS local cenarios selecionar todos cenarios bd id projeto QEpis dio 4 Criar uma tabela nica contendo nome dos termos do l xico e seus si nimos for index sinonimo in pairs sinonimos do table insert lexicos sinonimo end local lexicos e sinonimos lexicos QEpis dio 5 ORDENAR TABELA sinonimos sinonimos ordenar tabela sinonimos 1 table maxn sinonimos lexico QEpis dio 6 ORDENAR TABELA cen rios cenarios ordenar tabela cenarios 1 table maxn cenarios cenario GEpis dio 7 ORDENAR TABELA lexicos e sinonimos lexicos e sinonimos ordenar tabela lexicos e sinonimos 1 table maxn lexicos e sinonimos lexico QEpis dio 8 Obter o tamanho da tabela lexicos e sinonimos da tabela cen rios e o total que corresponde a soma dos tamanhos das duas tabelas local tam lexicos e sinonimos flexicos e sinonimos local tam cenarios fcenarios local tam total tam lexicos e sinonimos tam cenarios GEpis dio 9 Criar tabelas que ir o armazenar os links criados para termos do l xico e para cen rios PUC Rio
132. s a verifica o dos dados o sistema ir substituir a senha antiga por uma nova senha rand mica e envia la para o e mail do usu rio Contexto Usu rio deve ter sido previamente cadastrado no sistema Recursos login e e mail do usu rio Atores usu rio e sistema Epis dios 1 Usu rio clica no atalho Esqueceu a senha na p gina inicial do sistema 2 O sistema exibe um formul rio contendo os campos e mail e login para o usu rio preencher 3 O usu rio submete o formul rio preenchido Restri o Todos os campos devem ser preenchidos 4 O sistema verifica se o login e e mail informado s o iguais aos do cadastro do usu rio 5 Sistema gera uma nova senha rand mica e a envia para o e mail do usu rio 6 Sistema exibe um aviso informando que a senha foi alterada e que o usu rio deve verificar o e mail informado para obter a nova senha Exce o O login e e mail informado pelo usu rio n o est o corretos O sistema informar ao usu rio que o login e a senha n o est o corretos e permitir que ele tente mais duas vezes Caso erre mais duas vezes o usu rio ter que esperar por 20 minutos para tentar novamente T tulo ALTERAR DADOS DO USU RIO Objetivo Permitir que o usu rio altere seus dados armazenados no sistema atrav s da edi o de um formul rio contendo as informa es previamente cadastradas Contexto Usu rio deve ter sido previamente cadastrado no sistema Autentic
133. s do administrador do projeto exceto adicionar outros usu rios colaboradores como n vel de acesso de gerente Os usu rios participativos podem sugerir altera es que podem ser aceitas ou n o pelo gerente ou administrador O usu rio passivo s pode visualizar os itens do projeto Contexto O usu rio dever estar autenticado como administrador do projeto Recursos login dos usu rios cadastrados no sistema dados do projeto selecionado Atores usu rio sistema Epis dios 1 Usu rio seleciona a op o Adicionar colaborador ao projeto 2 Sistema exibe uma tela com login de todos usu rios cadastrados no sistema e com os n veis de acesso poss veis 3 Usu rio seleciona um usu rio da lista e o inclu na lista de colaboradores do projeto Restri o O usu rio deve selecionar um n vel de acesso para o usu rio escolhido Sistema inclui usu rio como colaborador e permite que ele acesse o projeto Sistema emite um aviso informando o sucesso da opera o Titulo REMOVER COLABORADOR DO PROJETO Objetivo Permitir a remo o de um colaborador do projeto Contexto Usu rio deve estar autenticado como gerente ou administrador do projeto Recursos lista de colaboradores do projeto dados do projeto Atores sistema usu rio Epis dios 1 Sistema seleciona a op o Remover colaborador do projeto 2 Sistema exibe uma lista com os colaboradores do projeto permitindo que eles sejam removidos 3 Us
134. s informa es do s mbolo e submete o formul rio Restri o O campo no o n o pode ser deixado em branco O sistema comunica ao usu rio que as altera es no s mbolo foram feitas com sucesso T tulo REMOVER S MBOLO DO L XICO Objetivo Permitir que o usu rio remova um s mbolo do l xico do projeto selecionado Contexto S mbolo do l xico cadastrado no sistema Recursos dados do s mbolo do l xico Atores usu rio sistema Epis dios 1 O usu rio seleciona um s mbolo do l xico do projeto exibido no menu lateral 2 O usu rio seleciona a op o Remover simbolo 3 Sistema solicita a confirma o da exclus o 4 Usu rio confirma a exclus o 5 Sistema comunica o usu rio que a exclus o do s mbolo foi realizada com sucesso T tulo EXIBIR S MBOLO DO L XICO E SEUS RELACIONAMENTOS Objetivo Exibir as informa es de um s mbolo do l xico juntamente com seus relacionamentos utilizando elos para permitir o acesso a outros s mbolos referenciados pelo que esta sendo exibido e permitir o acesso a outros elementos do projeto que referenciem o s mbolo exibido Contexto S mbolo do l xico cadastrado no sistema Recursos dados do l xico nomes e sin nimos de s mbolos do l xico e t tulos de cen rios do projeto Atores usu rio sistema Epis dios 1 O usu rio seleciona um s mbolo do l xico do projeto exibido no menu lateral 2 O sistema monta arede de
135. sam ter o conhecimento sobre o que exatamente o software faz Fsf02 Neste cen rio a Transpar ncia de Software torna se um tema cada vez mais requisitado seja pelos indiv duos pela sociedade ou pelas organiza es j que o direito de ser informado e ter acesso a informa o se constitui em um princ pio democr tico No futuro a transpar ncia vai ser um requisito exigido para toda aplica o pois este um conceito que est em processo de institucionaliza o cabe portanto que pesquisas sejam realizadas no sentido de atender esta demanda para aqueles que usam o software ou s o de alguma maneira afetados por ele Leite06 Software livre um bom exemplo de transpar ncia de software onde a grande vantagem a acessibilidade do c digo que nos permite escolher dentre as caracter sticas do software as que desejamos Blank05 Por m esta possibilidade est direcionada somente aqueles que possuem o conhecimento da programa o A engenharia de software deve ent o propor mecanismos para tratar este novo requisito n o funcional a partir da utiliza o de m todos t cnicas e ferramentas apropriadas A pesquisa sobre os meios para tornar o software mais transparente deve ser realizada com enfoque no ponto de vista do usu rio onde deve estar claro o que o software est fazendo ou pode fazer 1 1 Defini es do Problema O C amp L um software livre que propicia ao seu usu rio um ambiente colaborativo que auxilia
136. stas sobre a ordem sempre que apontam para a necessidade de algum recurso ou para condi es que devem ser previamente satisfeitas Determinada a ordem entre os cen rios podemos identificar o cen rio raiz do grupo O cen rio raiz o cen rio que n o depende de nenhum outro cen rio do grupo para sua correta execu o As pr condi es recursos e restri es dos grupos n o s o obtidas apenas do cen rio raiz e sim de todos os cen rios do grupo Para estabelecer as pr condi es do grupo devemos reunir todas as pr condi es dos cen rios que pertencem ao grupo e eliminar as que s o satisfeitas pelos cen rios do pr prio grupo Os recursos e restri es s o obtidos da mesma maneira Na Figura 24 podemos ver o cen rio raiz identificado do grupo de cen rios mostrado na Figura 23 Neste caso o cen rio cadastrar usu rio pr condi o para os cen rios acessar o sistema e lembrar senha do usu rio O cen rio acessar sistema por sua vez pr condi o para os cen rios alterar dados do usu rio e sair do sistema Desta forma o nico cen rio que n o possui como pr condi o um cen rio deste grupo o cadastrar usu rio portanto este o cen rio raiz PUC Rio Certifica o Digital N 0711275 CA Construindo a nova arquitetura 45 T tulo CADASTRAR USU RIO Objetivo Permitir que o usu rio utilize o sistema cadastrando seus dados no banco de dados atrav
137. sterisco do lado esquerdo do seu nome e os projetos que participa em colabora o com outros usu rios estes identificados pela aus ncia do asterisco atrav s deste menu que o usu rio selecionar com qual projeto deseja trabalhar no momento PUC Rio Certifica o Digital N 0711275 CA Software C amp L 30 CAL Cen rios e L xico Windows Internet Explorer E E hetpilicos r pe to bejenljacicasoindex pho Fie gdt view Favortes Toce Heb w A a Cenirios olisko Projeto Solocsono um Propet s Avsea Adicionar Projeto Alterar Cadastro Fale Conosco Sair Ajuda Nenhum projeto Selecione um projeto acima ou crie um novo projeto selecionado Veja o c digo fonte Figura 11 P gina principal do sistema Logo abaixo do menu de projetos h outro menu que chamaremos de menu principal As op es exibidas por este menu ir o mudar caso um projeto seja selecionado pelo usu rio As seguintes op es ser o exibidas se nenhum projeto foi previamente selecionado adicionar projeto alterar cadastro fale conosco e ajuda A op o alterar cadastro levar o usu rio a uma nova tela contendo um formul rio j preenchido com as informa es do usu rio cadastradas no software permitindo que sejam alteradas A op o fale conosco permite que o usu rio entre em contato com o grupo respons vel pela manuten o e evolu o do C amp L A op o ajuda exibe uma p gina com os t picos de ajuda da ferramenta A op
138. su rio seleciona um dos projetos da lista 3 Os cen rios e s mbolos do l xico previamente cadastrados s o exibidos em um menu lateral 4 As seguintes op es de tornam dispon veis para o usu rio cadastrar l xico cadastrar cen rio e gerar grafo do projeto 5 Caso o usu rio possua n vel de acesso de administrador ou gerente as seguintes op es surgiriam al m das anteriores GERAR XML DO PROJETO gerenciar colaboradores do projeto e verificar altera es propostas T tulo GERAR XML DO PROJETO PUC Rio Certifica o Digital N 0711275 CA Re arquitetura do software C amp L 71 Objetivo Permitir que o usu rio crie um arquivo XML contendo todas as informa es referentes ao projeto seus s mbolos do l xico e cen rios e os relacionamentos entre eles Contexto Usu rio deve selecionar um projeto do menu de projetos Recursos dados do projeto cen rios e s mbolos do l xico pertencentes ao projeto Atores usu rio sistema Epis dios 1 Usu rio seleciona a op o Gerar XML do projeto 2 Sistema atribui automaticamente a data de cria o e n mero de vers o para o arquivo XML que ser gerado 3 Usu rio escolhe se deseja visualizar o arquivo XML formatado atrav s de um arquivo XSL ou o arquivo XML sem formata o 4 Sistema gera o arquivo XML com todas as informa es referentes ao projeto 5 Sistema armazena o arquivo XML gerado no banco de dados 6 Sistema exibe o
139. sublinhadas escritas em letras mai sculas s o outros cen rios utilizados pelo cen rio principal As palavras sublinhadas escritas em letras min sculas s o s mbolos pertencentes ao L xico Ampliado da Linguagem referenciados pelo cen rio T tulo Agendar reuni o Objetivo Marcar a reuni o no melhor dia hor rio e local para que todos os participantes possam comparecer Contexto O cen rio REQUISITAR REUNI O deve ter sido executado Atores Sistema participantes da reuni o Recursos lista de participantes assunto datas preferenciais hor rios preferenciais locais preferenciais Epis dios 1 O sistema informa o assunto e requisita aos participantes suas datas preferenciais hor rios preferenciais e locais preferenciais para a reuni o 2 O sistema analisa as datas de reuni o hor rios de reuni o e locais de reuni o fornecidos pelos participantes Restri o Todos os participantes da reuni o devem fornecer os dados requisitados 3 Sistema define a data de reuni o o hor rio de reuni o e o local de reuni o 4 COMUNICAR DATA DA REUNI O Exce o Se n o houver uma data de reuni o hor rio de reuni o e local de reuni o comum em que todos os participantes possam comparecer ent o o sistema deve REALIZAR NOVA TENTATIVA DE AGENDAMENTO Figura 5 Exemplo de cen rio Utilizando a id ia apresentada anteriormente podemos criar um grafo que representa os relacionamentos do cen
140. te todos os s mbolos do l xico sin nimos de s mbolos e cen rios de um determinado projeto O subcen rio organizar tabela organiza uma tabela de acordo com o n mero de palavras de seus elementos E o subcen rio contar palavras para determina o n mero de palavras um elemento espec fico O relacionamento entre o cen rio e seus subcen rios pode ser visto na Figura 59 PUC Rio Certifica o Digital N 0711275 CA Re arquitetura do software C amp L 98 Figura 59 Relacionamentos entre os cen rios do algoritmo I GTitulo Colocar elos no texto objetivo Substituir a ocorr ncia de nomes de termos do l xico e seus sin nimos ou de t tulos de cen rios j cadastrado no projeto por um atalho que leve para defini o do termo ou para descri o do cen rio Para tanto cada elemento cadastrado no projeto termos do l xico e cen rios procurado no texto caso alguma ocorr ncia seja encontrada criado um atalho no texto para defini o deste elemento Contexto O usu rio deve possuir um projeto com pelo menos um elemento cadastrado gAtores selecionar todos lexicos bd selecionar sinonimos projeto bd selecionar todos cenarios bd ordenar tabela contar palavras Recursos Identificador do projeto par metro id projeto texto em que os elementos ser o procurados par metro texto tipo de elemento que foi selecionado pelo usu rio termo do l xico ou cen rio par metro tipo e banco de dado
141. tema exibe um aviso informando que a senha foi alterada e que o usu rio deve verificar o e mail informado para obter a nova senha Exce o O login e e mail informado pelo usu rio n o est o corretos O sistema informar ao usu rio que o login e o e mail n o est o corretos e permitir que ele tente mais duas vezes Caso erre mais duas vezes o usu rio ter que esperar por 20 minutos para tentar novamente T tulo SAIR DO SISTEMA Objetivo Permitir que o usu rio saia do sistema mantendo a integridade das mudan as realizadas Contexto Usu rio deve ter acessado o sistema Recursos dados da sess o Atores usu rio sistema Epis dios 1 Usu rio seleciona a op o sair do sistema 2 O sistema encerra a sess o atual do usu rio mantendo a integridade das mudan as realizadas 3 O sistema redireciona o usu rio para a p gina principal T tulo CADASTRAR PROJETO Objetivo Permitir que o usu rio cadastre um novo projeto no sistema atrav s da inclus o dos seguintes dados do projeto no banco de dados nome descri o e data da inclus o Os campos nome e descri o devem ser informados pelo usu rio atrav s do preenchimento de um formul rio O sistema deve preencher automaticamente o campo data da inclus o com a data atual Contexto Usu rio deve estar autenticado no sistema Recursos dados do projeto nome descri o e data da inclus o Atores usu rio sistema PUC Rio Certifica o Digita
142. texto expressao regular nil then GEpis dio 40 Caso seja encontrada uma ocorr ncia do cen rio atual no texto um atalho ser criado e armazenado no tabela tabela links cenario na mesma posi o que o cen rio atual ocupa na tabela cen rios link lt a title N Cen rioN href visao exibe cenario lp id p rojeto id projeto atitulo tit ulo cenario N gt titulo cenario lt a gt table insert tabela_links_cenario j link Epis dio 41 A express o substitu da pelo c digo wzczxk kxyyc onde o ser substitu do por um n mero que identificar a posi o do t tulo do cen rio na tabela cenarios texto string gsub texto expressao_regular Teo fazendo kryyct ME end if elseif tam cenarios j 1 then GEpis dio 42 Se a tabela de cen rios chegou ao fim e a tabela lexicos e sinonimos ainda possui elementos que ainda n o foram procurados ent o devemos continuar percorrendo apenas a tabela lexicos e sinonimos nome lexico lexicos e sinonimos i NOME GEpis dio 43 Uma express o regular criada com o termo do l xico atual Esta express o regular impede que erros sejam causados por causa da pontua o e espa os em branco expressao regular 2p s nome lexico Sp s if string gfind texto expressao regular nil then QEpis dio 44 Caso seja encontrada uma ocorr ncia do termo do l xico atual no texto A express o su
143. u rio remove os colaboradores que desejar e clica em confirmar atualiza es 4 Sistema atualiza a lista de colaboradores 5 Sistema emite um aviso informando o sucesso da opera o T tulo VERIFICAR ALTERA ES SUGERIDAS PELOS COLABORADORES Objetivo Permitir que o administrador ou gerente do projeto acate ou rejeite as altera es referentes a s mbolos do l xico e cen rios sugeridas pelos usu rios participativos Contexto Usu rio deve ter sido autenticado como administrador ou gerente do projeto Recursos lista de altera es sugeridas e justificativas Atores usu rio sistema Epis dios 1 Usu rio seleciona a op o Verificar altera es sugeridas 2 O sistema exibe uma lista com todas as altera es sugeridas tanto para l xicos quanto para cen rios Abaixo de cada altera o sugerida da lista s o exibidas duas op es Aceitar e Rejeitar 3 O usu rio seleciona uma das duas op es para cada altera o e clica no bot o Processar 4 O sistema realmente efetua as altera es acatadas e rejeita as que n o foram acatadas pelo usu rio 5 Sistema exibe uma tela de sucesso do processamento das altera es Figura 41 Grupo correspondente ao m dulo administra o de colaboradores PUC Rio Certifica o Digital N 0711275 CA Re arquitetura do software C amp L T tulo CADASTRAR S MBOLO DO L XICO Objetivo Permitir que o
144. ue explicam os conceitos envolvidos no software e como utiliz lo Al m disto podemos encontrar elos para download do c digo fonte completo e scripts para constru o da estrutura do banco de dados H tamb m outros elos interessantes dentre eles destacamos uma lista de projetos criados e tornados p blicos pelos seus administradores um manual de utiliza o os casos de teste utilizados e o relacionamento entre os diversos cen rios que s o utilizados para sua documenta o PUC Rio Certifica o Digital N 0711275 CA Software C amp L 28 A CAL Editor de Cen rios e L xicos Windows Internet Explorer JE iepiiipes mt puerto befcoy Flo Cit Viw Fovotes Toos Hep de Sr o de Conii e L nk ocal Foi inicialmente desenvolvido como um trabalho acad mico e hoje evolui para um projeto de Software Livre Sua responsabilidade do Grupo de Engenharia de Requisitos da Puc Rio O objetivo desse projeto estudar e anahsar t cnicas de evolu o de software amp atrav s de um experimento pr tico en rios A aplica o utilizada como projeto inicial a ser evolu do foi uma ferramenta de Edi o de Cen rios e L xico disponibilizada em httpspringfieid genesis puc no br 81 pes Downloads Cligue na Figura acima para acessar o sistema O c digo fonte desta nova vers o Artigos A lista de bugs encontrados e melhonias sugeridas e O banco de dados para teste da nova vers o da aplica o e L xicos A Strate
145. uitetura do software C amp L 85 pr condi o pr condi o pr condi o Figura 48 Relacionamentos entre os cen rios do grupo correspondente ao m dulo cen rio 5 2 4 Construir cen rio integrador O primeiro passo para a constru o do cen rio integrador a identifica o dos relacionamentos entre os cen rios raiz e sua ordem Podemos observar na Figura 49 os relacionamentos entre os cen rios raiz identificados Com base na ordem determinada atrav s destes relacionamentos e o modelo apresentado na subse o 4 1 3 3 criamos o cen rio integrador para o software C amp L Este cen rio pode ser visto na Figura 50 Figura 49 Relacionamentos entre os cen rios raiz PUC Rio Certifica o Digital N 0711275 CA Re arquitetura do software C amp L 86 T tulo Sistema C amp L Objetivo Permitir a colabora o entre diversos usu rios na elabora o de projetos utilizando cen rios e simbolos do l xico fomecendo meios para facilitar a integra o com outras ferramentas Contexto Usu rio deseja elicitar a linguagem e as situa es de um dom nio de aplica o espec fico Recursos Atores Epis dios l Se o usu rio ainda n o possuir cadastro ent o CADASTRAR USUARIO sen o ACESSAR SISTEMA Usu rio pode CADASTRAR PROJETO ou SELECIONAR PROJETO se j houver algum cadastrado Usu rio pode INCLUIR COLABORADOR NO PROJETO Usu rio pode CADASTRAR SIMBOLO DO LEXICO no pro
146. uitetura do software C amp L 97 Ap s a execu o destes cinco passos teremos um texto com c digos e o vetor auxiliar com os identificadores correspondentes a estes c digos Para finalizar basta substituir os c digos por elos para os elementos correspondentes como mostra a Figura 58 O xzzxeTkxy um xzzxk2kxy com no m nimo cinco anos de experi ncia na pr tica da xzzxk3log LL O lt azengenheiro de software experiente lt a gt um lt azengenheiro de software lt a gt com no m nimo cinco anos de experi ncia na pr tica da lt a engenharia de software lt a Figura 58 Montagem dos elos do algoritmo novo A grande diferen a do algoritmo novo para o antigo a substitui o das ocorr ncias dos identificadores no texto por c digos Desta forma ao realizarmos uma nova busca no texto j n o consideramos mais os identificadores que j foram encontrados como acontecia anteriormente 5 2 6 4 Implementa o do algoritmo A seguir mostraremos a operacionaliza o do cen rio Colocar atalhos no texto respons vel pela descri o do algoritmo apresentado na subse o anterior Este cen rio faz uso do relacionamento de subcen rios para destacar algumas funcionalidades e recuperar dados do banco de dados Os subcen rios selecionar todos os l xicos do banco de dados selecionar sin nimos do banco de dados e selecionar cen rios do banco de dados recuperam respectivamen
147. uma rede de relacionamentos identificando quais cen rios e s mbolos do l xico s o referenciados no corpo do elemento selecionado e quais s mbolos do l xico e cen rios referenciam o elemento selecionado Os relacionamentos identificados s o utilizados para criar dois tipos de rastreamento o rastreamento para frente e o rastreamento para tr s O rastreamento para frente utiliza atalhos no corpo do elemento selecionado para permitir que o usu rio navegue entre os elementos referenciados O rastreamento para tr s utilizado para criar atalhos que ficam dispostos abaixo do elemento selecionado permitindo que o usu rio navegue entre os elementos que o referenciam Como existem dois tipos de elementos poss veis cen rios e s mbolos do l xico a ferramenta faz uma distin o dos atalhos criando atalhos escritos em letras mai sculas para cen rios e em letras min sculas para s mbolos do l xico Um exemplo desta caracter stica do C amp L pode ser visto na Figura 13 gt Adicionar Can rio Windows Internet Explorer C Adicionar L xico Windows Internet Explorer B hrrpulipes n pue eia be jcelfaphenenafodd cenario php projetom 74 E hitejjoes ed guria du jeljak ahi Jero gt prostom Adicionar Cen rio Adicionar Simbolo Projeto Projeto Titulo Nome Sin nimos Objetivo Contexto Adiconar Simbolo Veja as regras do LiL Fechar Figura 12 Formul rios de inclus o de cen rio
Download Pdf Manuals
Related Search
Related Contents
広報かなん10月号(PDF:4.2MB) Transmissor de Posição HART Wireless FHT-41007-DAM Sony SNC-CS50N Security Camera User Manual A01435_A01436_ Strada EE Manual DE Panasonic ES8243A men's shaver 4 RF Specifications - Electronics Datasheets CareDirector Youth 8.0.1 Fundamentals User Guide Copyright © All rights reserved.
Failed to retrieve file