• Sonuç bulunamadı

KUR’ÂN-I KERİM’DEKİ SORU VE CEVAPLARIN MAKSATLARI VE METODU

1. KUR’ÂN-I KERİM’DEKİ SORU VE CEVAPLARIN MAKSATLARI

1.2. İkna Etmek

No topo da arquitetura do sistema Phoca encontra-se o m´odulo de ferramentas. Durante o desenvolvimento do sistema, este foi o m´odulo que influenciou a maior parte das decis˜oes tomadas, inclusive em rela¸c˜ao ao projeto do sistema e sua divis˜ao em m´odulos e camadas.

Neste m´odulo foram implementadas as ferramentas que permitem a intera¸c˜ao dos usu´a- rios com o sistema. ´E tamb´em neste m´odulo que se encaixam novas ferramentas que forem desenvolvidas, e mesmo plugins e m´odulos para integra¸c˜ao das funcionalidades do Phoca com ferramentas j´a utilizadas em ambientes de desenvolvimento de software, como, por exemplo, as IDEs Eclipse e NetBeans.

Duas ferramentas gr´aficas foram desenvolvidas para o sistema Phoca: um configurador de meta-modelos e um editor de documentos; tais ferramentas atendem aos casos de uso relacionados a configura¸c˜ao de meta-modelos e edi¸c˜ao de documentos. Para os outros casos de uso, foram desenvolvidas ferramentas que devem ser utilizadas diretamente na linha de comandos. Esta abordagem foi utilizada justamente porque o foco do sistema ´e fornecer as APIs que permitem a realiza¸c˜ao do controle de vers˜oes refinado e flex´ıvel para artefatos de software, sem, no entanto, obrigar os usu´arios a utilizar ferramentas propriet´arias ou uma IDE espec´ıfica do sistema. Na Figura 4.9 s˜ao mostradas as telas do editor de documentos, `a esquerda, e do configurador de meta-modelos, `a direita.

Figura 4.9. Configurador e editor de documentos do Phoca: interface gr´afica

comandos tradicionais dos sistemas de controle de vers˜oes, esta ferramenta tamb´em imple- menta comandos espec´ıficos que s˜ao utilizados devido ao fato do Phoca ser um sistema de controle de vers˜oes refinado, como o comando para atualiza¸c˜ao de links, listagem de links existentes, recupera¸c˜ao de dados relacionados `a estrutura de arquivo, compartilhamento de n´o com outro usu´ario, altera¸c˜ao do meta-modelo de documento do projeto. A descri¸c˜ao dos principais comandos disponibilizados pela ferramenta ´e listada abaixo:

• add: adiciona um novo arquivo sob controle de vers˜oes. O arquivo ´e marcado para inclus˜ao, e a inclus˜ao definitiva ´e feita ap´os a execu¸c˜ao do comando commit

• checkout: recupera uma vers˜ao do reposit´orio central, incluindo todos os n´os existen- tes. Pode ser informada uma vers˜ao do reposit´orio a ser recuperada, de qualquer uma das ramifica¸c˜oes.

• checkout structure: recupera apenas a estrutura dos arquivos do reposit´orio central. Pode ser informada uma vers˜ao do reposit´orio a ser recuperada.

• full checkout: realiza uma sincroniza¸c˜ao com o reposit´orio central, recuperando todas as vers˜oes armazenadas. Como parˆametros podem ser passadas a primeira e a ´ultima vers˜ao que devem ser recuperadas; este parˆametro deve ser numa ramifica¸c˜ao espec´ıfica. Se nenhum parˆametro for fornecido, todas as ramifica¸c˜oes s˜ao recuperadas.

• commit: salva todas as altera¸c˜oes locais no reposit´orio central, na ramifica¸c˜ao corres- pondente.

• save: salva a vers˜ao intermedi´aria de um arquivo. N˜ao interage com reposit´orio central. • load: carrega a vers˜ao intermedi´aria de um n´o, podendo corresponder a um documento

ou qualquer uma de suas partes.

• sync: realiza a sincroniza¸c˜ao de um n´o ou de um determinado diret´orio com outro usu´ario. Deve ser passado o IP do usu´ario de destino com quem ser´a feita a sincroni- za¸c˜ao, al´em da freq¨uˆencia de sincroniza¸c˜ao em segundos.

• list metamodels: lista os meta-modelos de documentos dispon´ıveis no reposit´orio central. Opcionalmente pode-se passar o tipo de arquivo a que o meta-modelo faz referˆencia.

• update metamodel: atualiza a vers˜ao do meta-modelo de documento para um ar- quivo ou conjunto de arquivos espec´ıficos. A atualiza¸c˜ao ´e enviada ao reposit´orio central. O usu´ario deve ter permiss˜ao para executar esta opera¸c˜ao. Deve ser passado como parˆametro o tipo de arquivo e a vers˜ao desejada do meta-modelo.

• update link: atualiza a vers˜ao de um n´o de liga¸c˜ao espec´ıfico. Deve ser fornecido o id do link e a nova vers˜ao do arquivo alvo desejado (a atualiza¸c˜ao do arquivo ocorre via an´alise do documento)

• list links: lista n´os de liga¸c˜ao existentes em determinado n´o ou numa determinada por¸c˜ao do reposit´orio

• update all links: atualiza todos os links de um n´o ou de um diret´orio do reposit´orio para a vers˜ao mais recente dos arquivos alvo

• update all metamodels: atualiza todos os meta-modelos de um determinado dire- t´orio do reposit´orio para a vers˜ao mais recente

A utiliza¸c˜ao das ferramentas via linha de comando ´e suficiente para testar a aplica¸c˜ao, validando suas fun¸c˜oes principais de controle de vers˜oes refinado e flex´ıvel. Entretanto, algumas funcionalidades que s˜ao oferecidas pelas APIs s˜ao dif´ıceis de serem implementadas como ferramenta de linha de comando, como, por exemplo, a edi¸c˜ao colaborativa de n´os de documentos em tempo real.

Vale ressaltar que as APIs do sistema Phoca foram desenvolvidas utilizando o padr˜ao de projeto Observer, o que facilita a constru¸c˜ao de interfaces gr´aficas de usu´ario. Isso ocorre porque este padr˜ao permite que atualiza¸c˜oes no m´odulo de Modelo sejam capturadas auto- maticamente pela interface, que pode, ent˜ao, atualizar a apresenta¸c˜ao dos dados aos usu´arios.

4.1.5.

M´odulo Proposto - integra¸c˜ao com ferramentas tradicionais