título do resumo - Anais Unicentro

Propaganda
MODELAGEM E REPRESENTAÇÃO DE SISTEMAS DE SOFTWARE
SENSÍVEL AO CONTEXTO
Wesley Greski Hazelski (PIBIC/CNPq-UNICENTRO)
Marcos Antonio Quináia (Orientador)
e-mail: [email protected]
Universidade Estadual do Centro-Oeste
Departamento Ciência da Computação - Guarapuava-PR
10303022 ENGENHARIA DE SOFTWARE
Palavras-chave: sistemas cientes de contexto, modelagem, UML, protótipo.
Resumo:
Conforme a computação evolui novas formas de comunicação surgem entre
o homem e a máquina. Uma destas formas é obter o contexto em que se
encontra a aplicação e usá-lo para fornecer serviços customizados para o
usuário. Como modelar um sistema ciente de contexto deixando que suas
características principais fiquem claras e evidentes? O objetivo deste
trabalho é contribuir para a modelagem de sistemas cientes de contexto,
diferenciando da modelagem de sistemas sem características de ciência a
contexto. Para este projeto utilizou-se a UML como linguagem de
modelagem e produziu-se um protótipo evidenciando as suas características
de ciência de contexto.
Introdução
Etimologicamente, contexto é qualquer informação que possa ser utilizada
para caracterizar a situação de uma entidade, onde entidade pode ser
pessoa, lugar ou objeto que é considerada relevante para uma interação
entre um usuário e uma aplicação, incluindo o próprio usuário e a aplicação
[DEY, 1999]. Humanos têm a capacidade de distinguir situações muito
semelhantes graças ao contexto. Uma palavra pode ter significados
diferentes quando usada em várias frases e é o contexto que permite
distinguir, por exemplo, a manga da camisa e a manga de comer; Usa-se o
contexto todo tempo de forma natural. Os sistemas de software também
podem se beneficiar do contexto para aumentar a efetividade da sua
comunicação com o usuário. A obtenção do contexto depende dos
desenvolvedores elicitarem de maneira não intrusiva, ou seja, sem que seja
necessário perguntar diretamente ao usuário as informações que precisa
obter para caracterizar o contexto.
Este trabalho tem como objetivo descobrir uma maneira de modelar e
representar os aspectos de sensibilidade ao contexto presentes em um
software de uma maneira que tais aspectos fiquem claros e evidentes.
Como estudo de caso, um sistema web de comércio de produtos foi
modelado e prototipado. Para a modelagem usou-se três dos diagramas
mais importantes da UML [BOOCH, 2005]: casos de uso, classes e
Anais do XIX EAIC – 28 a 30 de outubro de 2010, UNICENTRO, Guarapuava –PR.
sequência. Em cada diagrama foram destacadas as partes que possuem
características de sensibilidade ao contexto.
Materiais e métodos
A metodologia seguida inclui prospecto sobre computação sensível ao
contexto, diagramas da UML e o projeto e implementação de um sistema
que possui as características desejadas.
Foram criados: o diagrama de casos de uso, que contém as
funcionalidades que o sistema deve executar; o diagrama de classes, que
contém a parte estática do software; o diagrama de sequência, para cada
caso de uso.
O método utilizado para diferenciar as funcionalidades de
sensibilidade de contexto em cada diagrama foi a coloração juntamente com
a estereotipagem.
Utilizar UML junto com cores não é uma idéia recente, este método
surgiu em 1997 com Peter Coad e seus colegas [MACEDO, 2010]. Neste
trabalho esta idéia apenas foi adaptada de forma simplificada para destacar
a sensibilidade de contexto de um software. Já a estereotipagem faz parte
da linguagem de modelagem UML.
O diagrama de casos de usos da figura 1 mostra como a coloração
ajuda a destacar as partes do sistema responsáveis por guardar o contexto
do usuário, isto é, cada ação importante do usuário no sistema adiciona
alguma informação nova no perfil. O perfil por sua vez ajuda a caracterizar
um contexto.
Figura 1 – Diagrama de casos de uso
O sistema foi implementado em Java e JSP (Java Server Pages), que
por serem linguagens orientadas a objeto se tornam adequadas para
utilização junto com a UML [SIERRA, 2005].
Anais do XIX EAIC – 28 a 30 de outubro de 2010, UNICENTRO, Guarapuava –PR.
Servlets são simplesmente classes em linguagem Java, que
produzem resultados de modo semelhante a que outras classes Java fariam:
através da impressão de caracteres em formato String pelo canal de saída.
Páginas JSP, para funcionarem, devem ser transformadas em uma classe
Java (Servlet). Um contêiner controla a tarefa de traduzir as páginas JSP
para uma classe Servlet, compilar e executar [VILLAFUERTE, 2007].
Resultados e Discussão
Para a compreensão do sistema modelado, foram usados três dos principais
diagramas da UML. Em cada um deles as partes que ajudam a definir o
contexto foram destacadas utilizando-se um sistema de coloração, notas e
estereotipagem das classes envolvidas.
Cada classe ou caso de uso, que ajuda a definir contexto, foi colorido
de amarelo para se destacar dos demais como pode ser visto na figura 2.
Figura 2 – Exemplo de Coloração em classe
Nas classes onde apenas alguns atributos participavam da obtenção
de contexto esses atributos foram marcados com o estereótipo
<<contexto>>, como pode ser visto na figura 3, e as classes foram mantidas
com a coloração original.
Figura 3 – Exemplo de estereotipagem.
Os resultados obtidos com a visualização permitiram um melhor
entendimento de que se trata de um sistema sensível de contexto. Para este
entendimento utilizou-se também a documentação e as notas de texto que
em conjunto tornaram possível a compreensão do sistema como um todo.
Anais do XIX EAIC – 28 a 30 de outubro de 2010, UNICENTRO, Guarapuava –PR.
Exemplo de notas de textos possibilitados pela UML podem ser vistas na
figura 4.
Figura 4 – Exemplo de utilização de notas.
Conclusões
O sistema utilizado como estudo de caso, apresenta fatores limitadores para
uma melhor elicitação do seu contexto (e. g.: falta de webcam, para
identificar expressões faciais e microfones). Existem outros sistemas, no
entanto, que podem oferecer acesso a mais fontes de dados (e. g.: uma
webcam; algorítimos para identificar expressões faciais). Quanto maior a
fonte de dados, maior a gama de fontes de contexto, possibilitando melhor
identificação, definição e aproveitamento das características de sensibilidade
a contexto.
A UML não mostrou nenhuma restrição que impeça a modelagem de
sistemas cientes de contexto, isto é, pode-se modelar qualquer sistema que
possua características de context awareness com o uso da UML e seus
diagramas sem nenhum problema. Entretanto não é possível evidenciar as
partes do sistema que sejam cientes a contexto. Este trabalho oferece uma
contribuição na forma de evidenciar estas importantes características
tornando sua visualização mais rápida e fácil.
Agradecimentos
Agradecemos ao CNPq pelo aporte financeiro e à UNICENTRO pela
possibilidade de realização desta pesquisa.
Referências
BOOCH, G.; RUMBAUGH, J. e JACOBSON, I. The Unified Modeling
Language User Guide. 2nd edition. Ed.: Addison-Wesley. New York,
2005.
DEY, A. K. et al. Towards a Better Understanding of Context and ContextAwareness. In HUC ’99: Proceedings of the 1st international
symposium on Handheld and Ubiquitous Computing. Vol. 1707, 304307. 1999.
MACEDO, J. A. Modelando objetos com cores – UML em cores. [online]
Disponível na Internet via
http://jamacedo.wordpress.com/2010/06/11/modelando-objetos-comcores-uml-em-cores. (Acessado em 15 de junho de 2010).
SIERRA, K.; BATES, B. Use a Cabeça! Java. 2nd edição. Ed.: Alta Books.
Rio de Janeiro, 2005.
VILLAFUERTE, D. Programação WEB. Projeto Jedi, Modulo 6, lição 1, 2007.
Anais do XIX EAIC – 28 a 30 de outubro de 2010, UNICENTRO, Guarapuava –PR.
Download