2 Conhecimento e Aprendizagem
5 Modelagem do ambiente
6.1 Diagramas do projeto da aplicação
O projeto é onde a abstração das funcionalidades do ambiente dá o seu primeiro passo em direção à realidade do software. A atividade principal do projeto é refinar o modelo de análise para que possa ser implementado com os componentes que obedecem às regras da arquitetura.
Para representar essa etapa, optou-se por utilizar uma notação estendida da UML para web, a WAE (Web Application Extension) (CONALLEN, 2003). Uma extensão da UML é expressa principalmente em termo de estereótipo, que é um mecanismo de extensibilidade da UML que amplia o vocabulário da linguagem, permitindo a criação de novos elementos que são derivados dos já existentes, mas específicos a determinados problemas (BOOCH et al., 2000:31). Optou-se pela utilização da WAE, além da UML, pelo fato que a WAE propõe-se a trazer mais representatividade aos modelos, cujo fim seja representação de sistemas para web.
A Tabela 12 apresenta os estereótipos utilizados nesta dissertação. Tabela 12 Estereótipos da WAE Estereótipo Correspondente no meta-modelo UML Descrição
Classe É uma página HTML que contém um elemento de conjunto de quadros (frames). Essa página divide a interface em regiões verticais e/ou horizontais.
Classe É uma tela estereotipada como classe.
Classe Representa uma página web dinâmica que contém
o conteúdo agrupado no servidor sempre que é solicitado.
Classe É uma página web formatada em HTML com uma mistura de dados, apresentação e possivelmente um pouco de lógica de negócios.
Classe É uma coleção de campos de entrada que são parte de uma página do cliente.
<<link> Associação É um relacionamento entre uma página cliente e um recurso do lado do servidor ou página web. O objetivo pode ser uma classe web client page ou
web server page.
<<build>> Associação É um relacionamento entre uma página de servidor e uma de cliente. Identifica a saída HTML de uma execução da página do servidor.
<<submit>> Associação É um relacionamento direcional entre um <<HTML form>> e uma página do servidor.
<<redirect>> Associação É um relacionamento direcional entre uma página do cliente ou página do servidor à outra página.
Para representar a estrutura da aplicação na fase de projeto, foram feitos vários diagramas de classes que serão mostrados nas figuras a seguir.
Figura 48. Diagrama de classes de projeto
A tela principal é construída através de quadros (Figura 48). Um deles consiste em uma página estática com um texto de apresentação ao método. O outro quadro é composto por uma página dinâmica responsável pelo processo de login no ambiente.
Após a identificação, a aplicação chama a página servidora correspondente ao perfil do usuário, por exemplo, a tela principal do professor que depois redireciona para as de coordenação, colaboração ou comunicação.
Figura 49. Diagrama de classes "Coordenação Professor - Preparação" - visão projeto
As classes de projeto da etapa de preparação, acompanhamento e finalização foram estruturadas da seguinte forma: uma página servidora que possui a lógica de negócios é chamada e cria a página cliente para ser exibida no navegador do usuário. As páginas da coordenação foram concebidas para interagir com o usuário a partir de formulários. Por exemplo, no caso da criação da sessão (Figura 49), o professor preenche o formulário (SessaoForm) com os dados e submete para a página servidora (GestaoSessaoServer) que trata a solicitação e realiza a inclusão da sessão no banco de dados.
A gestão dos grupos Jigsaw e especialistas também incorporam a criação dos componentes dos grupos, como pode ser visto na Figura 49 através das páginas servidoras ComponenteJigsawServer e ComponenteEspecServer.
Figura 50. Diagrama de classes "Coordenação Professor - Acompanhamento" - visão projeto
O diagrama da Figura 50 apresenta as classes da fase de acompanhamento, que engloba as funcionalidades de manipulação da agenda, através da inclusão de atividades por um formulário (AgendaProfessorForm); consulta aos grupos, que é realizada através da seleção do grupo que se deseja consultar no formulário
OpcaoGrupoForm; consulta aos log, que são exibidos em uma página cliente (LogClient); consulta a participação no repositório de arquivos e acessos ao ambiente.
Figura 51. Diagrama de classes "Coordenação Professor - Finalização" - visão projeto
A particularidade no diagrama de classes da etapa de finalização (Figura 51) é o processo de backup que é realizado pela página servidora BackupSessaoServer. As demais funcionalidades seguem o padrão já descrito.
A Figura 52 mostra a estrutura de coordenação disponível para o aluno. As funcionalidades expressas através da lógica de negócios das páginas servidoras, como a AgendaAlunoServer, GruposAlunosServer ou NotaGrupoServer, consistem basicamente na apresentação de consultas para os alunos em páginas clientes.
Figura 52. Diagrama de classes "Coordenação Aluno" - visão projeto
O diagrama da Figura 53 corresponde à estrutura de classes do chat. Primeiramente é chamada a página servidora (ChatAtivosServer) e dependendo da opção do usuário, a aplicação passa o controle para uma das seguintes páginas: CriarChatServer, AgendarChatServer e AbrirChatServer.
Por último é apresentado o diagrama do repositório de arquivos (Figura 54). O repositório é composto das páginas servidoras: MostrarRepositorioServer, UploadServer, PastasServer e ManutencaoPastasServer. O processo de upload é realizado pela UploadServer que recebe o arquivo através do preenchimento do formulário (UploadForm). As páginas PastasServer e ManutençãoPastasServer trabalham em conjunto para tratar da exibição, inclusão, alteração e exclusão de pastas no repositório.
Figura 54. Diagrama de classes do repositório - visão projeto
Através desses diagramas procurou-se demonstrar como as classes de análise seriam representadas sob uma perspectiva de projeto de uma aplicação Web, com a intenção de dar a base para que a estrutura da aplicação pudesse ser definida.