Você está na página 1de 5

ESUD2010

Artigos Resumidos

Documentao de Software usando XML para um ambiente


colaborativo de ensino
Vanessa C. Loureno, Francisco A. Zampirolli
Universidade Federal do ABC (UFABC)
Rua Santa Adlia, 166 09210-170 Santo Andr, SP Brasil
vanessa.lourenco, fzampirolli}@ufabc.edu.br

acompanhar o desenvolvimento de
Software em pequenos projetos de
disciplinas de Engenharia de Software
em um ambiente colaborativo que utiliza
o computador e a internet como meio de
ensino.
Este
sistema
permite
disponibilizar os projetos na Web, alm
de criar, apagar e atualizar novos
projetos.

ABSTRACT
One of the founding problems in
computer science graduate courses is the
learning of Software Engineering
discipline. This fact occured because this
discipline needs a high capacity of
abstraction
for
students
because
envolving many complex aspects of
specific didatic resources for learning and
teachers searching methods for minimize
this problem. This paper presents a
system for Software documentation that
uses XML and StAX for following the
Software development in little Software
engineering projects in the collaborate
environment that uses the computer and
internet as teaching tool. This system
permit posting the projects in the Web
and permit create, delete and update new
projects.

1. Introduo
Um problema encontrado nos cursos de
graduao em informtica o
aprendizado na disciplina Engenharia de
Software (ES). Esse fato provocado
pela necessidade de uma alta capacidade
de abstrao, desenvolvimento em
equipe, mudanas nos requisitos, entre
outros.
Engenharia de Software ensina que o
Software deve ser construdo seguindo
um processo de desenvolvimento, que
pode se iniciar com o levantamento de
requisitos com o cliente ou usurio, passa
pela anlise, projeto, codificao,
validao e implantao, dependendo do
processo que esta usando.

RESUMO
Um dos problemas encontrados nos
cursos de graduao em informtica o
aprendizado da disciplina Engenharia de
Software. Esse fato provocado pela
necessidade de uma alta capacidade de
abstrao, por parte dos alunos, pois
envolvem diversos e complexos aspectos,
para os professores, de recursos didticos
especficos para o ensino da mesma.
Buscando meios para minimizar esse
problema, este artigo apresenta um
sistema de documentao de Software,
definido em XML e StAX, utilizado para

Definir processos de ES no uma tarefa


fcil, pois envolvem diversos aspectos e
temos poucos profissionais aptos a
realizar esta tarefa. Desta forma,
necessrio oferecer algum tipo de suporte
para alunos com menos experincia. Uma
forma de apoiar os envolvidos no
desenvolvimento
de
Software

ESUD2010-VII Congresso Brasileiro de Ensino Superior a


Distncia. Novembro, 3-5, 2010, Cuiab-MT, Brasil.
Copyright 2010 UNIREDE

701

ESUD2010

Artigos Resumidos

estgios iniciais de especificao de um


sistema, at propriamente a manuteno
para que esse mesmo sistema sobreviva
ao longo do tempo. justamente a
Engenharia de Software que
tenta,
atravs dos princpios bsicos de outras
engenharias, trazer um pouco mais de
luz para essa atividade.

oferecendo
suporte
baseado
em
conhecimento, atravs de assistentes
inteligentes [1].
Os avanos das tecnologias de
comunicao
tm
viabilizado
o
desenvolvimento
de
ambientes
computacionais de aprendizado. Esses
avanos quebraram as barreiras de tempo
e espao para as interaes entre alunoaluno e aluno-professor, permitindo uma
virtualizao das tradicionais salas de
aula.

A cobrana hoje das reas de


Informtica e de Tecnologia da
Informao (TI) desenvolver sistemas
de forma rpida, com qualidade, e com
custos cada vez menores. A Engenharia
de
Software

constituda
de
metodologias, mtodos e ferramentas que
permitem aos profissionais especificar,
projetar, implementar e manter sistemas,
avaliando e garantindo os requisitos de
Software.

A aprendizagem colaborativa um
processo
importante
para
o
compartilhamento de um objetivo
comum, e sua metodologia envolve a
interao, que deve romper a lgica de
ensino tradicional para uma prtica
inovadora, promovendo uma relao
afetiva com o conhecimento, de forma
reflexiva e mais autnoma, [2] diz: "o
ensinar inexiste sem aprender e viceversa", e nessa dinmica os educandos se
modificam continuamente em sujeitos
autores e construtores dos seus saberes.

Segundo a ACM Survey apud Avison


Fitzgerld,
metodologia
de
desenvolvimento de Software definida
como um conjunto recomendado de
fases, procedimentos, normas, tcnicas,
ferramentas,
documentao,
gerenciamento e treinamento usados para
desenvolver um sistema [4].

A Educao a Distncia tem por objetivo


o desenvolvimento de ambientes e
metodologias
que
propiciem
o
aprendizado remoto. As pesquisas nesta
rea
tm
carter
nitidamente
multidisciplinar, unindo esforos das
Cincias da Educao, Psicologia,
Engenharia e da Cincia da Computao.

3. Ensino a Distncia (EaD)


Para [5], EaD substitui a proposta
tradicional de assistir regularmente e
presencialmente uma aula, por uma nova
proposta, atravs da qual os docentes e
alunos interagem mediante situaes noconvencionais, em espaos e tempos que
no compartilham.

Este artigo esta organizado da seguinte


forma: nas sees 2 e 3 so apresentados
a engenharia de Software e o ensino a
distncia, na seo 4 apresentada a
arquitetura do DocESoft e finalmente na
seo 5 so apresentados as discusses e
trabalhos futuros.

Peters [6] coloca que a criao de


universidades de ensino a distncia esto
modificando, lentamente, a educao
superior de modo geral, principalmente
no que diz respeito a:

2. Engenharia de Software

Propiciar a educao superior a


estudantes adultos que trabalham;
Permitir o desenvolvimento e a
expanso da educao continuada, sem

Segundo Sommerville a Engenharia de


Software uma disciplina que se ocupa
de todos os aspectos da produo de
Software [3]. Isso engloba desde os

702

ESUD2010

Artigos Resumidos

que haja necessidade de interrupo das


atividades profissionais;
Admitir um nmero maior de
estudantes nas universidades e
Melhorar o custo benefcio da
educao superior.
Neste contexto o sistema desenvolvido,
DocESoft, atende aos requisitos de
ensino a distncia, pois permite a alunos
e professores disponibilizar os projetos
na web, alm de criar, apagar e atualizar
novos projetos, fazendo com que todos
possam acompanhar o desenvolvimento
dos mesmos.

4. Arquitetura do DocESoft
A arquitetura do DocESoft apresentada
na Figura 1. Esta figura mostra os
projetos armazenados em XML, que so
validados por um esquema DTD ou XSD.
Estes projetos podem ser editados na
Web, atravs de formulrios visualizados
por Folhas de Estilo XSL e Linguagens
Web, como JSP e PHP. O contedo em
XML ento processado pelas folhas de
estilo gerando documentos (HTML,
LaTeX, etc.) e no futuro poder gerar
cdigos em diversas outras linguagens
(C,
Java,
etc.).

Figura 1. Arquitetura do DocESoft

Na arquitetura apresentada na Figura 1 os


projetos desenvolvidos nas disciplinas de
ES podem ser visualizados por todos os
alunos, mas somente podem ser editados
pelos seus respectivos autores. As Folhas
de Estilo transformam os projetos XML
em HTML, sendo assim, visualizados por
navegadores Web para consulta ou
edio, como descrito na subseo 4.1.

construir os documentos XML de forma


compreensvel, o que proporciona maior
facilidade no aprendizado para os
estudantes.
Quando um projeto selecionado vamos
para a tela de visualizao de projetos, a
qual o projeto relacionado a um XSL
que responsvel por transformar o
contedo XML de uma forma de fcil
visualizao. Os autores e supervisores
do projeto podem acessar a parte de
edio de projetos se estiverem logados
no site. Nessa tela um XSL responsvel
por deixar todas as informaes
relevantes do arquivo XML em caixas de
texto para que seus respectivos autores e
supervisores possam editar totalmente o

4.1.O DocESoft
Como resultados, o DocESoft est sendo
utilizado em projetos de graduao em
disciplinas de ES, auxiliando os alunos
na documentao de seus projetos em
XML sem terem o conhecimento da
linguagem. Alm de o DocESoft

703

ESUD2010

Artigos Resumidos

contedo do seu projeto. Desta forma um


nico arquivo XML relacionado a dois

XSL para visualizao e edio dos


projetos.

Figura 2. Documento XML visualizado por um navegador

Algumas aplicaes por serem muito


complexas exigem sistemas capazes de
decidir por eles mesmos o que precisa ser
feito. Esses sistemas so conhecidos
como agentes, que podem ser vistos
como sistemas capazes de aes
autnomas em algum ambiente. Um
agente tipicamente percebe seu ambiente
atravs de sensores e tem disponvel um
repertrio de aes que podem ser
executadas para modificar o ambiente, o
qual pode responder de forma no
determinstica execuo de suas aes
[8].

5. Discusses e trabalhos futuros


O meta-modelo apresentado ser
ampliado de modo a permitir a gerao
de cdigo automtico, utilizando como
ponto de partida o OCL (Object
Constranint Language) [7] e o XMI.
Pretende-se assim criar um ADS, que ir
agregar artefatos, como: diagramas,
formulrios,
questionrios,
tarefas,
checklists, templates, linguagens formais,
etc. Tambm temos como meta coletar e
analisar informaes, definidas por estes
artefatos, para avaliar sobre a evoluo
na qualidade dos resultados dessa
experimentao.

Russel e Norvig definem agentes como


tudo o que pode ser considerado capaz
de perceber seu ambiente por meio de
sensores e agir sobre eles por intermdio
de atuadores [9]. A tecnologia de
agentes inteligentes tem sido utilizada
em, por exemplo, filtros para sistemas de
mensagens, controle de trfego areo,
mecanismo
para
recuperao
de
informao na Internet, educao,

A arquitetura do DocESoft permite a


utilizao do padro XMI para garantir a
interoperabilidade com outros ambientes
de desenvolvimento de Software e
repositrios de dados e proporciona
perspectiva para o tratamento formal de
meta-modelos para a gerao automtica
de cdigo.

704

ESUD2010
entretenimento,
entre outros.

Artigos Resumidos

comrcio

eletrnico,

6. Peters, O. A Educao a Distncia em


Transio. Traduzido por Leila
Ferreira de Souza Mendes. So
Leopoldo: Ed. da Unisinos, 2003.

Sistemas multiagentes tm mostrado um


potencial
bastante
adequado
ao
desenvolvimento de sistemas de ensino,
devido ao fato de a natureza do problema
de ensino-aprendizagem ser facilmente
resolvido de forma cooperativa [10].
Assim, um agente um sistema de
computador encapsulado que est situado
em algum ambiente e que capaz de ser
flexvel e de ter aes autnomas que
permitem atingir os seus objetivos.

7.

OMG (2001) Object Management


Group. Unified Modeling Language
Specification, Version 1.4. Disponvel
em http://cgi.omg.org/docs/formal/0109-67.pdf, acesso: Setembro 2009.

8. Wooldridge, M.: Intelligent Agents.


In: Multiagent Systems - A Modern
Approach to Distributed Artificial
Intelligence, London, The MIT Press,
p. 27-77, April 1999.

5. Referncias

9. Russell, S. Norvig, P. Inteligncia


Artificial. Rio de Janeiro: Elsevier,
2004.

1. Falbo, R. A; Menezes, C. S; Rocha, A.


R. C. Assist-Pro: Um Assistente
Baseado em Conhecimento para
Apoiar a Definio de Processos de
Software.
Disponvel
em
http://www.inf.ufes.br/~falbo/downloa
d/pub/sbes99.pdf. Acesso em agosto
de 2009.

10.Silveira,
Ricardo
Azambuja.
Modelagem Orientada a Agentes
Aplicada a Ambientes Inteligentes
Distribudos de Ensino JADE - Java
Agent framework for Distance
learning Environments Porto Alegre:
PPGC da UFRGS, 2000. Tese de
Doutorado

2. Freire, P. Pedagogia da autonomia saberes


necessrios

prtica
educativa. So Paulo: Paz e Terra,
2003.
3. Sommerville, Ian. Engenharia de
Software. So Paulo: Pearson Addison
Wesley, 2005
4. Ramsin, R. and Paige, R. F. 2008.
Process-centered review of object
oriented
Software
development
methodologies. ACM Comput. Surv.
40, 1, Article 3 (February 2008), 89
pages.
DOI
=
10.1145/1322432.1322435
http://doi.acm.org/10.1145/1322432.1
322435
5. Litwin, E. Educao a Distncia:
Temas e debates de uma nova agenda
educativa. Porto Alegre: Artmed,
2001.

705

Você também pode gostar