You are on page 1of 9

1352 IEEE LATIN AMERICA TRANSACTIONS, VOL. 14, NO.

3, MARCH 2016

Agile Development for the Brazilian System of


IDTV with Ginga-NCL: LUAR Validation
D. H. D. Bezerra, A. M. F. Burlamaqui and D. M. T. de Sousa
Abstract In the development of the applications described in mais complexa o documento hipermdia que a descreve
NCL language, it was noticed the reusing for some document cresce. Desta forma, o documento NCL passa a possuir muitas
models and structures, enabling repetitions for common codes in linhas de cdigo, o que aumenta a probabilidade de erro, uma
the applications.Thus, due to the need to generalize the vez que o autor tende a reutilizar definies por meio da cpia
development of applications described in the NCL language was
de cdigo. Neste sentido existe uma motivao para a
created the Luar templates processing system. The Luar system
has a templates processor developed with the Lua language and a utilizao de templates, j que o uso destes evita cpia de
library to keep and aggregate the collection of templates, sharing cdigo, diminuindo a probabilidade de erros.
them between the developers.This paper has as goal to present the Neto [3] apresenta vrias razes para o desenvolvimento
evaluation of the Luar system through software engineering baseado em templates. O uso de templates possibilita as
experimental techniques. Language NCL and Lua courses were produtoras de TV seguirem um mesmo estilo de programao.
taught for undergraduate students group and compared the Pelo fato das apresentaes das interatividades seguirem o
development time of two applications utilizing the different mesmo padro de interface, baseado em templates comuns, os
languages. The result showed that development with the Luar usurios passam a utilizar mais facilmente as aplicaes. Os
language is more productive than the development purely with
templates permitem a indexao de agrupamento de
NCL. It having the development time economy of 60% to 78%
approximately, depending on the kind of application, compared documentos, criando tambm conceito de domnio de
with the authored with NCL. aplicaes similares. H ainda uma caracterstica importante
que o aumento do reuso, j que o autor se preocupa apenas
Keywords Luar, NCL, Template, Reuse, IDTV, com o preenchimento de lacunas.
Experimental Software Engineering. A partir das possibilidades, facilidades e desenvolvimento
gil propiciado pelos templates, os autores em [5] proporam e
I. INTRODUO desenvolveram um sistema de processamento de templates

O SBTVD (Sistema Brasileiro de Televiso Digital) [6] NCL, denominado Luar e referenciado como sistema Luar
permite que o telespectador interaja com a programao neste trabalho. O sistema Luar possui uma linguagem
de TV a partir de aplicaes recebidas juntamente com o fluxo inspirada em linguagens como Lua Server Pages [1] e Java
de udio/vdeo das emissoras. A interatividade no SBTVD Server Pages [9], com o objetivo de misturar a linguagem Lua
possvel graas ao Middleware Ginga [14]. O Ginga, possui ao NCL possibilitando a criao de lacunas nos documentos,
dois subsistemas principais interligados: Ginga-J e Ginga- transformando-os em templates Luar. Os templates so
1
NCL. O Ginga-J, o responsvel pela execuo e instanciados pelo processador Luar que recebe o template
padronizao das aplicaes imperativas Java. O Ginga-NCL, desejado e os dados para preenchimento das lacunas, gerando
tem a linguagem NCL (Nested Context Language) [13] como o documento NCL final de acordo com as restries de
padro de desenvolvimento, sendo responsvel pelas preenchimento.
aplicaes declarativas. [19] O principal objetivo do sistema Luar promover o
NCL possui a linguagem Lua como sua linguagem de desenvolvimento simples e gil de aplicaes descritas em
script. Lua tem uma sintaxe simples, rpida e fcil de usar, NCL. Luar permite que desenvolvedores experientes criem
sendo projetada para estender aplicaes (scripting) [18]. templates e outros desenvolvedores os utilizem ganhando
Com a criao de aplicaes interativas em NCL, notou-se simplicidade e velocidade no desenvolvimento.
a necessidade de ferramentas que propiciassem reuso e A principal diferena da proposta da linguagem Luar em
auxiliassem o desenvolvimento gil dessas aplicaes.Essa relao a outras a juno das linguagens NCL e Lua, que
necessidade foi percebida pela comunidade, que criou dispensa o aprendizado de muitos conceitos e mais uma
diferentes mtodos de desenvolvimento baseados em linguagem para o desenvolvimento e utilizao de templates
templates [5]. pelo desenvolvedor NCL.
Existem razes para o desenvolvimento baseado em Este artigo apresenta a validao do sistema Luar, realizada
templates. Segundo Santos [11], apesar de linguagens por meio da engenharia de software experimental[4], com
declarativas como NCL tornarem a criao de algumas usurios.
aplicaes interativas mais fceis, quando uma aplicao fica O restante do artigo est estruturado da seguinte forma. A
seo dois apresenta o sistema Luar. Na seo trs so
D. H. D. Bezerra, Universidade Federal de Mato Grosso, Cuiab, Brasil, abordados alguns trabalhos relacionados. A seo quatro nos
diogo@natalnet.br traz os fundamentos da engenharia de software experimental.
A. M. F. Burlamaqui, Universidade Federal do Rio Grande do Norte, Em seguida, a seo cinco apresenta a validao com os
Natal, Brasil, aquilesburlamaqui@ect.ufrn.br usurios e os resultados da mesma. Por fim, na seo seis
D. M. T. de Sousa, Instituto Federal de Educao, Cincia e Tecnologia da temos a concluso e as consideraes finais.
Paraba, Joo Pessoa, Brasil, denio@ifpb.edu.br
DUARTE BEZERRA et al.: AGILE DEVELOPMENT FOR 1353

II. SISTEMA LUAR


O sistema Luar foi concebido a partir da anlise das
estruturas de aplicaes NCL veiculadas pelas emissoras de
TV e na mdia, na qual verificou-se a possibilidade de agilizar
o desenvolvimento, por meio da tcnica de reuso de cdigo,
no s das aplicaes analisadas, mas tambm de outras
aplicaes pertencentes a este domnio que tem por
caracterstica geral serem aplicaes interativa escritas na Figura 2. Exemplo de cdigo Luar. Adaptado de [5]
linguagem NCL. Foi projetado ento um sistema de
processamento de templates como uma infraestrutura de reuso A Fig. 2 um exemplo simples da linguagem Luar. As
para dar suporte construo de aplicaes NCL. linhas um, dois e trs possuem cdigo NCL, sendo criada uma
A soluo apresentada por este trabalho est refletida na porta para inicializao da aplicao pela mdia "slide1". O
Fig.1, que mostra os elementos bsicos e o fluxo do sistema de cdigo de um slide e seu funcionamento de passar e voltar so
processamento de templates Luar. comuns a todos. No desenvolvimento utilizando NCL
diretamente, o desenvolvedor provavelmente copiaria e colaria
o mesmo trecho de cdigo para cada slide e trocaria alguns
atributos. Nas linhas quatro at oito existe um scriptlet Lua. O
cdigo apresenta um lao de repetio com a quantidade
repeties de acordo com o nmero de slides desejado pelo
utilizador do template. A linha seis cria o elemento <media/>
que representar cada slide, definindo o atributo "id" com
numerao de acordo com a ordem passada pelo utilizador e o
atributo "src" indicando o caminho do arquivo que representa
o slide. No mesmo contexto ainda existem scriptlets para gerar
o cdigo de passar e voltar slides implicando em uma grande
economia de cdigo.
A linguagem Luar permite a autoria de documentos NCL
em trs formas distintas: autoria baseada em templates
Figura 1. Elementos bsicos e fluxo do sistema Luar. Adaptado de [5] completos, templates componentes e autoria sem utilizao de
O sistema Luar possui trs elementos bem definidos: a templates.
biblioteca, o kernel e a linguagem. A linguagem Os templates completos tem a caracterstica de gerar toda
representada na Fig.1 pelos templates e o documento Luar. uma aplicao com apenas o preenchimento de seus atributos.
O fluxo do sistema inicia-se com a necessidade do usurio Ao utiliz-lo o autor ganha o reuso de toda uma aplicao sem
de desenvolver uma aplicao utilizando templates. Os se preocupar com qualquer detalhe de desenvolvimento em
templates so encontrados na biblioteca que mantm colees NCL.
destes. Os templates juntamente com o documento Luar, que Os templates componentes se caracterizam por serem
contm os dados para compor o template, so enviados para o cdigos independentes que podem se relacionar com outros e
kernel. A interao com o kernel se d por meio de comandos com o cdigo NCL diretamente para formar uma aplicao
que executam scripts Lua com funes especficas do sistema. NCL. O template componente por si s gera uma aplicao
A funo principal do kernel processar os templates por NCL, mas oferece apenas algumas funcionalidades.
meio do processador de templates. O processador de O kernel Luar responsvel por tornar til todo o sistema
templatesgera o documento NCL a partir do template e dos envolvendo a linguagem Luar. As funes do kernel so:
dados que recebe. O documento NCL pode ser transformado processar os templates e documentos Luar; permitir o acesso a
em um documento Luar pela adio de cdigo Lua, isso til novos templates na biblioteca de templates e fornecer
caso o desenvolvedor queira utilizar mais algum template ou informaes sobre os templates. Sua arquitetura mostrada na
processar novamente o cdigo NCL. Fig. 3.
Com o objetivo de facilitar o aprendizado e
desenvolvimento para programadores NCL, a linguagem Luar
possui uma sintaxe simples, sendo concebida com intuito de
embutir a linguagem Lua em cdigo NCL. Esta abordagem
similar a do Lua Server Pages [1], o que muda que ao invs
embutir Lua em HTML, Luar o faz em NCL.
A linguagem Lua embutida no cdigo NCL como
scriptlets, pequenos trechos de cdigo entre as tags
delimitadoras <% "cdigo Lua" %>. Assim o desenvolvedor
no necessita aprender uma nova sintaxe, apenas combinar as
duas por meio da tag <% %>. A Fig. 2 apresenta trechos do
cdigo de um passador de slides NCL.

Figura 3. Elementos bsicos e fluxo do Kernel Luar. Adaptado de [5].


1354 IEEE LATIN AMERICA TRANSACTIONS, VOL. 14, NO. 3, MARCH 2016

A iterao com o kernel realizada por meio de linhas de


comandos. Os comandos so tratados, sendo executado o
script correspondente funo do comando tratado. Os scripts
ao serem executados produzem uma sada de acordo com sua
funo. Os scripts representam as funes de listagem de
templates, listagem de atributos dos templates, criao de
projeto Luar, remoo e incluso de templates e a gerao de
documentos NCL.
A gerao de documento exige que o script responsvel
passe o processamento do documento Luar para o processador
de templates ou o processador de aplicaes.
A gerao de um documento a partir de um template
completo solicitada ao processador de templates pelo script
de gerao de documentos. O processador de templates realiza Figura 4. Informaes do template SlideShow no GingaCDN. Adaptado de
o processamento e devolve o cdigo resultante para o script de [5].
gerao. O script escreve o cdigo no documento NCL
resultante. III. TRABALHOS RELACIONADOS
O processamento de um documento Luar sem utilizao de Os trabalhos relacionados ao sistema Luar so aqueles que
templates, ou com utilizao de templates componentes permitem, por meio de reuso de cdigo, o desenvolvimento
requisitada ao processador de aplicaes. O processador de gil de aplicaes descritas em NCL. Em [10] e [3] so
aplicaes quando detecta a incluso de um template apresentadas linguagens para definio de templates, em [16]
componente no cdigo, solicita ao processador de templates temos uma ferramenta para criao automtica de aplicativos
que trate do processamento daquele template. Ao ser para telejornais, em [7] apresentado um trabalho de autoria,
retornado o cdigo resultante, o processador de aplicaes faz baseada em templates na especificao de aplicaes descritas
um merge das rvores sintticas do cdigo recebido com o em NCL, que tm suporte a leiaute adaptativo.
cdigo que j possui. Isso acontece sucessivamente para cada A linguagem XTemplate 3.0 uma soluo para
template encontrado no documento Luar passado pelo autor de definio de templates de composio criada para facilitar a
documentos. Ao fim do processamento, o cdigo devolvido autoria de programas utilizando a linguagem NCL 3.0 [13],
ao script de gerao que escreve o cdigo no documento NCL sendo inspirada em ADLs (Linguagens de Descrio de
resultante. Arquitetura) [17].
A biblioteca Luar o elemento responsvel por agregar e Segundo Santos [10] com XTemplate possvel criar
manter uma coleo de templates que so criados e templates, chamados de templates de composio, que
compartilhados pelos autores de templates. descrevem de uma forma genrica todo o contedo de um
Para o compartilhamento e busca dos componentes e contexto NCL. Ao programador cabe apenas indicar os
templates utilizado o portal Ginga CDN [2], a partir dele os elementos que deseja utilizar. como se criasse um
autores podem disponibilizar e ter acesso a novos templates, documento NCL com "buracos" que poderiam ser preenchidos
podendo utiliz-los na autoria de novos documentos NCL. posteriormente da forma desejada.
O portal Ginga CDN um servio Web que tem o objetivo O objetivo da linguagem XTemplate 3.0 criar facilidades
de oferecer um meio de divulgao de tecnologias para um autor de documentos NCL bem especializado, que
relacionadas ao desenvolvimento de Middleware Ginga e tenha conhecimento em XPath [20] e XSLT [21] como pr-
aplicaes para TV Digital, especificamente, para a parte requisito para utilizao da linguagem. O sistema de templates
imperativa do Middleware Ginga, o Ginga-J. [2] do XTemplate 3.0 ainda estabelece uma biblioteca para
O Ginga CDN disponibiliza os templates como ferramentas. criao de bases de templates, que podem ser compartilhadas
No portal possvel categorizar o template, descrever sua a entre os desenvolvedores. [11]
funcionalidade de forma textual ou visual, imagens e vdeos, e Para que um documento NCL usando templates XTemplate
guard-lo em seu repositrio. Outros autores podem visualizar possa ser executado em uma implementao padro do
os templates e efetuarem o download pelo portal ou utilizando middleware Ginga, necessrio o processamento deste
o kernel Luar, que adicionar o template localmente em sua documento para ser criado um documento completo.
biblioteca. Ainda possvel que os autores qualifiquem os A linguagem TAL (Template Authoring Language) uma
templates para que a comunidade de autores identifiquem os linguagem de autoria para templates de documentos
mais adequados as suas necessidades. A Fig.4 apresenta hipermdia [3]. Segundo Neto [3] TAL uma linguagem
informaes de um template no portal Ginga CDN. declarativa modular que trabalha de forma independente da
linguagem de autoria alvo, sendo uma evoluo da linguagem
Xtemplate 3.0, possuindo como principal objetivo permitir
que desenvolvedores mais especializados especificassem
templates de documentos para que outros desenvolvedores
menos especializados possam criar novos documentos de
forma simples, rpida e livre de erros.
Um dos objetivos da linguagem evitar o uso de notaes
fora do contexto do modelo conceitual e do nvel de abstrao
DUARTE BEZERRA et al.: AGILE DEVELOPMENT FOR 1355

da linguagem, o que acontece na linguagem XTemplate 3.0 ao resultados so apresentados e empacotados durante a fase da
utilizar XSLT para transformao de documentos. Com isso anlise e empacotamento. [8]
TAL pode ser empregada na autoria de outras linguagens Para validao do Luar foi realizado um experimento
declarativas. seguindo as fases propostas pela engenharia de software
O iTVNews uma ferramenta que possibilita a criao experimental.
automtica de aplicativos de televiso Digital Interativa para
telejornal, como enquetes, quiz, chat e outros. [16] V. VALIDAO E RESULTADOS
A ferramenta desenvolvida em Java disponibiliza mdulos Para validar o sistema Luar foi realizado uma
de criao de aplicaes. Cada mdulo um aplicativo Java experimentao com alguns usurios de diferentes nveis de
possuindo um formulrio grfico para que jornalistas experincias na autoria de documentos NCL. As prximas
preencham os dados que devero compor a aplicao. A parte sees detalham este experimento com a sua definio,
lgica do mdulo fixa, como um template. E a parte de planejamento, execuo e anlise dos dados coletados.
apresentao varivel no sentido de cada telejornal ter uma
identidade visual prpria, como sendo diferentes templates de A. Definio
acordo com o telejornal. Apos o preenchimento dos dados do O experimento teve o objetivo de identificar o ganho de
formulrio, o mdulo cria o documento NCL da aplicao tempo de autoria utilizando Luar em relao ao NCL e
interativa escolhida. conhecer a dificuldade de aprendizagem do Luar por parte dos
O iTVNews ainda define repositrios onde os usurios do sistema.
desenvolvedores podem disponibilizar os mdulos de criao A experimentao foi motivada por comprovar que o
para os jornalistas. sistema Luar traz agilidade a autoria de documentos NCL e
O trabalho [7] traz a proposta de definio de um sua aprendizagem fcil e rpida.
elemento denominado layout em NCL, com objetivo de A proposta do experimento era que de acordo com o perfil
permitir a criao e o gerenciamento de leiautes comumentes dos autores de documentos, fosse conhecido o tempo e
usados pela comunidade. O elemento layout define as regies dificuldades gastos na aprendizagem e autoria dos documentos
onde sero adicionadas as mdias e suas caractersticas de NCL. No contexto de autoria no profissional de documentos
exibio. Assim, autores de documento que utilizam templates NCL.
precisam se preocupar com a especificao dos objetos com Os objetivos da medio foram a partir da autoria de
contedo especficos, instanciando os componentes genricos documentos NCL utilizando o Luar e no utilizando o Luar,
do template, deixando o gerenciamento das regies da tela a caracterizar:
cargo do elemento layout. Os autores perceberam que a 1. O tempo mdio de autoria de um documento NCL que
utilizao de leiautes adaptativos simplifica a definio do represente um tipo de aplicao muito utilizada;
template e diminui as chances de erros por causa de 2. O desenvolvimento de aplicaes desenvolvidas com
identificao incorreta das regies ou emprego errado de Luar, averiguando o tempo mdio de autoria desta
atributos. aplicao em relao mesma desenvolvida puramente
em NCL.
IV. ENGENHARIA DE SOFTWARE EXPERIMENTAL A partir da aprendizagem da linguagem Luar,
A Engenharia de Software Experimental (ESE) o ramo da caracterizar:
Engenharia de Software (ES) que estuda empiricamente a 1. A dificuldade que um autor iniciante leva para aprender a
prpria engenharia de software. Esse ramo de estudo tenta linguagem Luar;
provar na prtica os conceitos tericos da ES. 2. A dificuldade que um autor experiente leva para aprender
Apenas com experimentos que possvel validar as teorias. a linguagem Luar.
A partir dos resultados dos experimentos as teorias so B. Planejamento
reformuladas e corrigidas. A experimentao baseia-se no uso
de um modelo sistemtico, computvel e controlado para a O experimento foi idealizado para ser realizado com o
avaliao das atividades humanas. [8] nmero mnimo de trinta pessoas. Este consistia nos usurios
desenvolverem duas aplicaes NCL: a primeira uma
Segundo [15] a engenharia de software experimental de
modo geral divide o estudo experimental em cinco fases: a aplicao de apresentao de slides (SlideShow); a segunda
definio, o planejamento, a execuo a anlise e o aplicao foi a aplicao Copa, para demonstraes de
informaes de um evento de futebol. As mesmas aplicaes
empacotamento do estudo.
A definio a primeira fase do processo experimental. logo aps deveriam ser implementadas com o Luar. No
Nesta fase so identificados os objetivos, os objetos e os desenvolvimento de ambas aplicaes, tanto em NCL e Luar,
foram aferidas o tempo gasto na autoria destas para realizar as
grupos de estudo, sendo levado em considerao motivao,
a proposta, as perspectivas, o domnio e o escopo do comparaes e verificar as hipteses.
experimento. [4] Na experimentao foi necessrio a ministrao de cursos
O planejamento tem como objetivo gerar um documento NCL e Luar para os usurios. Na aprendizagem do Luar foi
para guiar a execuo e anlise do experimento. pedido para os usurios quantificarem a dificuldade que
tiveram para aprender a usar o sistema.
A execuo do experimento deve seguir o documento
elaborado no planejamento. Na execuo os dados do Os dados foram coletados a partir de um formulrio
experimento so coletados para serem analisados e avaliados preenchido pelos usurios ao fim do experimento. O
formulrio coletou dados sobre o usurio e sua formao,
na fase de anlise e interpretao. Aps a execuo, os
1356 IEEE LATIN AMERICA TRANSACTIONS, VOL. 14, NO. 3, MARCH 2016

sobre a experincia do usurio quanto a desenvolvimento de


aplicaes em NCL e tambm desenvolvimento de aplicaes
em geral.
C. Execuo
O experimento foi executado com estudantes de graduao
em cursos relacionados a rea de computao. A motivao
para os estudantes participarem foi a necessidade de horas
extras curriculares no currculo para integralizao do curso.
Os cursos foram ministrados em duas instituies: na Figura 7. Experincia de trabalho com o desenvolvimento para TV.
Universidade Federal do Rio Grande do Norte e na
Universidade do Estado do Rio Grande do Norte. Tendo
durao de 16 horas. Ao total trinta e um alunos participaram
da experimentao.
O perfil dos participantes do experimento apresentado nas
Fig. 5, 6, 7, 8, e 9 por meio de grficos. As informaes so
relativas a cada participante, visando colher dados sobre a
formao acadmica, o nvel de conhecimento em NCL, o
nvel de conhecimento em programao, se j trabalhou com
desenvolvimento de TV e se j trabalhou com
desenvolvimento de aplicaes em geral. Figura 8. Nvel de conhecimento geral em programao.
possvel observar que os participantes no geral possuem
um conhecimento bsico de programao e no possuem
conhecimento em NCL. Dentro do grupo escolhido apenas
nove tiveram algum contato com a linguagem NCL ou a
dominam. Para o experimento todos os participantes que
indicaram possuir um conhecimento ao menos bsico em
desenvolvimento para TV (NCL) so considerados
experientes.
O grupo composto em sua maior parte (vinte e sete
participantes) de estudantes do curso de cincia da
computao. Possuindo ainda dois estudantes de ps- Figura 9. Experincia de trabalho com desenvolvimento em geral.
graduao em cincia da computao. Todo o grupo estava
estudando em instituies pblicas. D. Anlise e Interpretao
Aps as medies se faz necessrio analisar os dados
coletados. Os objetivos deste experimento so analisar a
agilidade de desenvolvimento e facilidade de aprendizagem do
sistema Luar.
A agilidade de desenvolvimento foi verificada pela
comparao do tempo de desenvolvimento das aplicaes
SlideShow e Copa. Ambas desenvolvidas em NCL e
depois com o Luar. O experimento foi conduzido de forma
que a ordem de qual linguagem utilizar primeiro no
impactasse nos dados. Foi explicado aos participantes a lgica
Figura 5. Cursos. genrica para desenvolver as aplicaes. A autoria diferente
de acordo a linguagem utilizada (NCL puro ou Luar).
A seguir apresentada na Fig. 10 o grfico com o tempo de
desenvolvimento da aplicao SlideShow. Com o Luar
possvel fazer esta aplicao utilizando apenas o template
completo LSlideShow. Assim, essa um tipo de aplicao
que objetiva validar os conceitos de template completo do
sistema Luar.

Figura 6. Nvel de conhecimento em NCL.

Figura 10. Tempo de desenvolvimento da aplicao SlideShow pelos


participantes.
DUARTE BEZERRA et al.: AGILE DEVELOPMENT FOR 1357

Graus de Liberdade: 21
Significncia (p-value): 0,0000
Experientes
Mdia: 21,666
Desvio Padro: 11,157
Erro Padro: 3,719
Confiana: 99,99%
Figura 11. Tempo de desenvolvimento da aplicao SlideShow pelos
paticipantes iniciantes.
Varivel T: 5,825
Graus de Liberdade: 8
Significncia (p-value): 0,0000
A negao da hiptese nula no Teste T depende da
significncia obtida no experimento e do nvel de significncia
estabelecida (). Em todos os testes foram estabelecidos
=0,0001. Como a significncia obtida em todos testes foram
de 0,0000 podemos rejeitar a hiptese nula com 99,99% (1-)
de confiana. Sendo possvel afirmar que a utilizao dos
Figura 12. Tempo de desenvolvimento da aplicao SlideShow pelos
participantes experientes. templates completos do Luar agiliza o desenvolvimento de
aplicaes NCL.
A Fig. 10 apresenta o grfico do tempo de desenvolvimento A aplicao Copa tinha o objetivo de validar o conceito
da aplicao SlideShow por todos os participantes. A mdia de templates componentes do sistema Luar. Ela utiliza trs
deste tempo apresentado pelo grfico de 46,6 minutos e templates componentes como j descrito na seo 4.1.2.
desvio padro de 24 minutos em NCL. Com o Luar a mdia
ficou em 10,4 minutos e desvio padro de 7,3 minutos.
A Fig. 11 mostra o grfico do tempo de desenvolvimento da
aplicao SlideShow realizada pelos participantes sem
experincia no desenvolvimento em NCL. A mdia deste
grupo ficou em 54,7 minutos e desvio padro de 22,7 usando
NCL, contra 12,5 minutos e desvio padro de 7,4 utilizando o
Luar. Figura 13. Tempo de desenvolvimento da aplicao Copa pelos
Na Fig. 12 apresentado o grfico do tempo de participantes.
desenvolvimento da aplicao SlideShow pelos
desenvolvedores com alguma experincia em NCL. A mdia
dos desenvolvedores experientes ficou em 26,9 e desvio
padro de 14,2 utizando NCL. A mdia e o desvio padro
utilizando Luar foram 5,2 e 3,6 respectivamente.
Em todos os casos de medies de tempo demonstrados
anteriormente foram realizados o Test T de Student [12]. Foi
utilizado o Teste T Pareado para verificar a diferena mdia Figura 14. Tempo de desenvolvimento da aplicao Copa pelos
entre as duas amostras: tempo de desenvolvimento com NCL participantes iniciantes.
e tempo de desenvolvimento com o Luar. Ainda foi definido a
hiptese nula como sendo Tanto o desenvolvimento com
NCL e com templates completos Luar levam o mesmo tempo
e a hiptese alternativa como O desenvolvimento com os
templates completos Luar mais gil do que com NCL. Com
o Teste T possvel negar uma hiptese em favor da outra. Os
dados obtidos foram:
Geral Figura 15. Tempo de desenvolvimento da aplicao Copa pelos
Mdia: 35,193 participantes experientes
Desvio Padro: 18,412 Como apresentado anteriormente na aplicao SlideShow,
Erro Padro: 3,307 as Figs. 13, 14 e 15 mostram os grficos do tempo de
Confiana: 99,99% desenvolvimento da aplicao Copa de todos os
Varivel T: 10,944 participantes, dos participantes sem experincia em NCL e dos
Graus de Liberdade: 30 participantes com alguma experincia em NCL
Significncia (p-value): 0,0000 respectivamente.
Iniciantes A mdia de todos participantes foi de 121,8 minutos e
Mdia: 42,136 desvio padro de 41,8 minutos com NCl. Com o Luar a mdia
Desvio Padro: 17,591 foi de 46,9 minutos e desvio padro 18,7. Os desenvolvedores
Erro Padro: 3,75 iniciantes tiveram uma mdia 136,9 e desvio padro 39,8 com
Confiana: 99,99% NCL. Utilizando o Luar a mdia foi de 52,3 minutos e o
Varivel T: 11,235 desvio padro de 19,5 minutos. A mdia e desvio padro dos
1358 IEEE LATIN AMERICA TRANSACTIONS, VOL. 14, NO. 3, MARCH 2016

desenvolvedores experientes foram de 84,7 e 14,7 usando os grficos do ganho de tempo de desenvolvimento por todos
NCL e 33,6 minutos e 6,8 usando Luar, respectivamente. usurios, pelos usurios iniciante e pelos usurios experientes.
A aplicao Copa exigiu mais tempo para sua autoria do
que a aplicao SlideShow. Esta exigncia de mais tempo
acontece porque esta uma aplicao com mais detalhes. A
aplicao Copa possui dois passadores de imagens, uma
verso reduzida em tamanho da aplicao SlideShow. Ainda
tem um grupo de botes e duas imagens com notcias e agenda
da copa a ser descrito no documento NCL. O sistema Luar
conseguiu novamente agilizar a codificao desta aplicao Figura 16. Ganho do tempo de desenvolvimento pelos participantes.
por meio dos templates componentes LButtonGroup,
LPictureGallery e LSidebar facilitando a autoria e
ganhando tempo para o autor.
Tambm foi realizado o Test T de Student [12] com a
medio do tempo de desenvolvimento da aplicao Copa. Foi
utilizado o Teste T Pareado para verificar a diferena mdia
entre as duas amostras: tempo de desenvolvimento com NCL
e tempo de desenvolvimento com o Luar. Ainda foi definido a Figura 17. Ganho do tempo de desenvolvimento pelos participantes iniciantes.
hiptese nula como sendo Tanto o desenvolvimento com
NCL e com templates componentes Luar levam o mesmo
tempo e a hiptese alternativa como O desenvolvimento
com os templates componentes Luar mais gil do que com
NCL. Os dados obtidos foram:
Geral
Mdia: 74,87
Desvio Padro: 31,865 Figura 18. Ganho do tempo de desenvolvimento pelos participantes
Erro Padro: 5,723 experientes.
Confiana: 99,99%
Varivel T: 13,082 A mdia do ganho de tempo utilizando Luar em relao ao
Graus de Liberdade: 30 NCL na aplicao SlideShow de 78,5% com desvio padro
Significncia (p-value): 0,0000 de 7,5%. J na aplicao Copa o ganho mdio menor, de
Iniciantes 60,4% com desvio padro de 10%. Com esses dados
Mdia: 84,59 possvel afirmar que a utilizao de templates completos torna
Desvio Padro: 32,398 a autoria mais gil do que utilizando os templates
Erro Padro: 6,907 componentes. Mesmo apresentando um ganho menor a
Confiana: 99,99% utilizao de templates componentes ainda traz um ganho
Varivel T: 12,246 considervel de tempo, uma economia de mais da metade do
Graus de Liberdade: 21 que usando NCL puro. Assim, a partir dos dados possvel
Significncia (p-value): 0,0000 afirmar que a infraestrutura de reuso idealizada pelo sistema
Experientes Luar agiliza e diminui o esforo de codificao dos autores
Mdia: 51,111 NCL.
Desvio Padro: 12,544 O ganho de tempo mdio dos usurios iniciantes foi de
Erro Padro: 4,181 77,3% com desvio padro de 7,8% na aplicao SlideShow e
Confiana: 99,99% 60,6% de ganho mdio e desvio padro de 11% na aplicao
Varivel T: 12,223 Copa. Os usurios experientes tiveram uma mdia de ganho
Graus de Liberdade: 8 de tempo de 81,4% com desvio padro de 6,4% na aplicao
Significncia (p-value): 0,0000 SlideShow e 59,9% de ganho mdio de tempo com desvio
Nos testes foram estabelecidos =0,0001. Como a padro de 7,3% na aplicao Copa.
significncia obtida em todos testes foram de 0,0000 podemos Ao ser tratado o ganho de tempo no existe diferena
rejeitar a hiptese nula com99,99% (1-) de confiana. Sendo considervel entre o resultado obtido dos usurios experientes
possvel afirmar que a utilizao dos templates componentes e iniciantes. Esta observao faz sentido quando tratado o
do Luar agiliza o desenvolvimento de aplicaes NCL. ganho ao invs do tempo puro. Os usurios que possuem
Como relatado anteriormente, ainda existe a necessidade de algumas dificuldades de aprendizagem devem reproduzir essas
uma verificao com relao ao ganho de tempo das dificuldades tanto na aprendizagem do NCL quanto a do Luar.
aplicaes SlideShow, que utiliza templates completos, e Por outro lado, um usurio que tem facilidade de
Copa, que utiliza templates componentes. aprendizagem reproduzir essa facilidade em ambas
Na verificao o ganho foi definido como sendo 100- linguagens.
((y*100)/x), onde y o valor do tempo de autoria usando Luar
e x o tempo de autoria usando NCL. A seguir so apresentados
DUARTE BEZERRA et al.: AGILE DEVELOPMENT FOR 1359

V. CONCLUSO
Neste trabalho, foi estudado e analisado o sistema de
processamento de templates Luar, destinado construo de
aplicaes interativas em NCL. Os resultados da avaliao
experimental foram satisfatrios. Com o experimento foi
possvel observar que o sistema Luar traz benefcios para
Figura 19. Aprendizagem do Sistema Luar pelos participantes. desenvolvedores experientes e iniciantes. O Luar agiliza o
desenvolvimento em relao ao desenvolvimento com NCL e
sua aprendizagem rpida e simples.

REFERNCIAS
[1] A. Burdinuk, Open Lua server pages (openlsp), Lua Server Pages,
http://luasp.org/, 2011.
[2] A. Lvio, Home, Ginga CDN. http://gingacdn.lavid.ufpb.br/, 2012.
[3] C. de S. S. Neto, L. F. G. Soares and C. S. de Souza, TAL -
Figura 20. Aprendizagem do Sistema Luar pelos participantes iniciantes. Linguagem para Autoria de Templates de Documentos Hipermidia,
WebMedia - Simpsio Brasileiro de Sistemas Multimdia e Web, Belo
Horizonte, MG, 2010.
[4] C. Wohlin, Experimentation in Software Engineering: An
Introduction, Kluwer Academic, 2000.
[5] D. H. D. Bezerra, D. M. T. Sousa, G. L. de S. Filho, A. M. F.
Burlamaqui and I. R. M. Silva, Luar: a language for agile development
of NCL templates and documents, Proceedings of the 18th Brazilian
symposium on Multimedia and the web (WebMedia '12), ACM, New
York, NY, USA, p.395-402, 2012.
Figura 11. Aprendizagem do Sistema Luar pelos participantes experientes. [6] Frum SBTVD, O que o ISDB-TB, Frum do Sistema Brasileiro
de TV Digital, http://www.forumsbtvd.org.br/materias.asp?id=20,
Ao tratar de aprendizagem foi pedido que os usurios 2008.
quantificassem em uma escala de dificuldade de zero a dez, [7] G. F. Amorim, J. A. F. dos Santos and D. C. M. Saade, Adaptive
onde dez difcil de aprender e zero fcil de aprender, os layouts for authoring NCL programs. Proceedings of the 19th
Brazilian symposium on Multimedia and the web (WebMedia '13),
conceitos de templates completos e templates componentes do ACM, New York, NY, USA, p.205-208, 2013.
sistema Luar. Os grficos a seguir apresentam os dados [8] G. H. Travassos, D. Gurov and E. Amaral, Introduo Engenharia de
coletados. Software Experimental, Relatrio Tcnico, ES-590/02, COPPE/UFRJ,
A mdia da dificuldade de aprendizagem do conceito de 2002.
[9] H. Bergsten, Java Server Pages. O'Reilly Media, 2000.
templates completos pelos participantes foi de 1,77 pontos [10] J. A. F. Santos and D. C. M. Saade, Linguagem XTemplate 3.0:
com desvio padro de 0,76 pontos. J o conceito de templates Facilitando a Autoria de Programas NCL para TV Digital Interativa.
componentes teve a mdia de 2,74 pontos com desvio padro WebMedia - Simpsio Brasileiro de Sistemas Multimdia e Web,
de 0,77 pontos. Fortaleza, CE, 2009.
[11] J. A. F. Santos and D. C. M. Saade, XTemplate 3.0: Adding Semantics
Os usurios iniciantes tiveram uma mdia de dificuldade de to Hypermedia Compositions and Providing Document Structure
aprendizagem do conceito de templates completos de 2,0 Reuse, ACM Symposium on Applied Computing - ACM SAC, 2010.
pontos com desvio padro de 0,61 pontos. Para o conceito de [12] J. F. Box, Guinness, gosset, fisher, and small samples, Statistical
templates componentes a mdia foi de 2,95 pontos com desvio Science, 1987.
[13] L.F.G. Soares, M.F. Moreno and C. de S. S. Neto, Ginga-NCL:
padro de 0,72 pontos. Declarative Middleware for Multimedia IPTV Services, IEEE
Os usurios experientes ficaram com mdia de dificuldade Communications Magazine, Vol. 48, p.74-81, Junho, 2010.
de aprendizagem do conceito de templates completos de 1,22 [14] L. F. G. Soares, TV Interativa se faz com Ginga, Revista da
pontos com desvio padro de 0,83 pontos. Para o conceito de Sociedade Brasileira de Engenharia de Televiso, 105, Junho, 2009.
[15] M. O. Barros, C. M. L. Werner and G. H. Travassos, Um estudo
templates componentes a mdia foi de 2,22 pontos com desvio experimental sobre a utilizao de modelagem e simulao no apoio
padro de 0,66 pontos. gerncia de projetos de software, Anais do XVI de Engenharia de
A partir dos dados apresentados, possvel verificar que o Software, 1999.
Luar um sistema fcil de aprender. O conceito de templates [16] M. Sousa, T. Tavares and E. Porto, iTVnews: Uma Ferramenta para
Construo de Aplicaes Telejornalsticas em TVDI, Anais do XVII
completos mais fcil do que o de templates componentes Simpsio Brasileiro de Sistemas Multimdia e Web WebMedia,
para entender. O conceito de templates componentes ainda Florianpolis, SC, 2011.
sim possui facilidade na aprendizagem tendo uma mdia de [17] P. C. Clements, A Survey of Architecture Description Languages,
2,74 pontos de dificuldade. Proceedings of the 8th International Workshop on Software
Specifications & Design, ACM, New York, NY, USA, 1996.
Os usurios experientes conseguiram aprender os conceitos [18] R. Ierusalimschy, W. C. Filho and L. H. de Figueiredo, Lua-an
do sistema Luar com mais facilidade do que os iniciantes. extensible extension language, Software Practice and Experience, vol.
Mesmo assim no existe uma diferena grande na dificuldade 26, p.635-652, Junho, 1996.
de aprendizagem entre os usurios experientes e iniciantes. [19] V. J. Silva, N. S. Viana and V. F. de Lucena Jr., Architecture for
Integrating Healthcare Services to the Brazilian Digital TV System,
Isso mostra que o sistema Luar simples de aprender por IEEE Latin America Transactions, Vol. 13, No. 1, Janeiro, 2015.
qualquer perfil de usurio, desde o iniciante at o mais [20] W3C, XML Path Language (XPath), W3C,
experiente. http://www.w3.org/TR/xpath/, 1999.
[21] W3C, XSL Transformation. W3C, http://www.w3.org/TR/xslt, 1999.
1360 IEEE LATIN AMERICA TRANSACTIONS, VOL. 14, NO. 3, MARCH 2016

Diogo Henrique Duarte Bezerra bacharel em Cincia da


Computao pela Universidade do Estado do Rio Grande do
Norte (UERN), Natal, Rio Grande do Norte, Brasil, em
2010 e obteve o ttulo de mestre em Informtica pela
Universidade Federal da Paraba (UFPB), Joo Pessoa,
Paraba, Brasil, em 2012. Atualmente Doutorando, em
Engenharia da Computao pela Universidade Federal do
Rio Grande do Norte (UFRN), professor da Universidade
Federal de Mato Grosso (UFMT) e suas pesquisas se concentram na rea de
Sistemas Multimdia, Sistemas Distribudos e Engenharia de Software, com
nfase nos seguintes temas: TV Digital Interativa, Computao em Nuvem e
Reso de Software.

Aquiles Medeiros Filgueira Burlamaqui bacharel em


Cincia da Computao pela Universidade Federal do Rio
Grande do Norte (2003) e mestre em Sistemas e
Computao pela Universidade Federal do Rio Grande do
Norte (2004). Doutor pela Universidade Federal do Rio
Grande do Norte (2007), professor da Universidade Federal
do Rio Grande do Norte e pesquisador do Laboratrio Team
da Rede NatalNet de Laboratrios, atuando principalmente
nos seguintes temas: Ambientes Virtuais Colaborativos Massivos, TV Digital
Interativa, Sistemas Web, Aplicaes de Robtica, Realidade Virtual e
Engenharia de Software.

Dnio Mariz Timteo de Sousa Bacharel em Cincia da


Computao pela Universidade Federal da Paraba (1989),
especialista em Informtica na Educao pela UFMG
(1993), mestre em Cincias da Computao pela
Universidade Federal da Paraba (1998) e doutor em
Cincias da Computao pela UFPE (2004). Seu foco de
trabalho e pesquisa envolve alocao de recursos em redes,
anlise de trfego, avaliao de desempenho e sistemas de
gerenciamento de mdias. Dnio trabalhou como pesquisador colaborador do
GPRT/CIN/UFPE de 2001 a 2007, onde coordenou vrios projetos de
pesquisa em parceria com instituies nacionais e internacionais. professor
do Instituto Federal de Educao Cincia e Tecnologia da Paraba (IFPB)
desde 1991. Desde 2007 tambm professor do Programa de Ps-Graduao
em Informtica da UFPB e pesquisador do LAVID (Laboratrio de
Aplicaes de Vdeo Digital) da UFPB.