MedEl: Uma solução de ELearning utilizando
tecnologia Microsoft ASP.NET
Autores: Glaucon Henrique Mauricio Maia
CoAutores: Atila Correia, Waner Tavares, Jorge Bergson, Rui Gomes,
Marcelo Iury, João Neto e José Candido
Brasil
Introdução

Crescimento da demanda por produtos e serviços na área de
educação à distância

Aplicações Web:


Atendem a uma grande gama de clientes;

Independência de localidade e configuração;

Acessibilidade via Internet
A tecnologia Microsoft:

Plataforma ASP.NET

Framework .NET

Desenvolvimento de aplicações Web robustas e de
grande escala.
Ambiente de Educação a Distância

Para comprovar a eficiência das tecnologias Microsoft .NET e
atender a demanda citada anteriormente (software de ensino a
distância para profissionais da saúde) foi desenvolvida a
aplicação MedEl (Medical E-Learning).
Metodologia

A definição da arquitetura do sistema preocupou-se com
um baixo custo de implantação e com uma fácil extensão
e manutenção da ferramenta gerada.

Para isso foram utilizados o paradigma da Orientação a
Objetos e Padrões de Projeto (Design Patterns)

No processo de análise foram realizadas entrevistas com
estudantes e professores da área (Curso de Medicina da
Universidade Federal do Ceará), facilitando:

Especificação dos requisitos adequados;

IHC mais adequada.
Orientação a Objetos

O paradigma da Orientação a Objetos (OO)
 Baseado na construção de sistemas a partir
de componentes reutilizáveis, chamados de
classes;
 Relacionamento entre dados (atributos) e
comportamentos (métodos);
 Encapsulamento;
 Herança;
 Polimorfismo.
Orientação a Objetos
O que são Classes e Objetos


Classes:
 São como “plantas” de objetos
 Contém comportamentos (métodos)
e atributos (dados)
Classe
Covered Porch
kitchen
Dining
Room
Objetos:
 São instâncias de uma
classe


Criados usando a
palavra-chave new
Executam ações
Objeto
Living Room
Bath
Office
Family
Room
Encapsulamento

Separação dos aspectos externos de um objeto,
que são acessíveis para outros objetos, dos
detalhes internos de implementação do objeto.
[Rumbaugh]

Mecanismo para “esconder” a implementação do
objeto fazendo com que outros componentes do
sistema não tenham conhecimento do conteúdo
interno dos dados armazenados no objeto.
[Yourdon]
Orientação a Objetos
Encapsulamento...

Conseqüências:




Comunicação entre os objetos é feita através de mensagens
enviadas para as operações
Implementação de um objeto pode ser mudada sem afetar as
aplicações que o usam
Facilidade de depuração, portabilidade, etc
Lei da OO

Os dados não podem ser acessados
diretamente (são encapsulados)
Orientação a Objetos
Polimorfismo

Linguagens convencionais, como Pascal e C são baseadas na
idéia de que funções têm um tipo único: são linguagens
monomórficas.

Linguagens polimórficas, por sua vez, permitem que funções de
mesmo nome, desde que pelo menos um de seus parâmetros
perfaça uma distinção (quantidade, nome ou tipo), sejam
invocadas para objetos diferentes.

Significa que a mesma operação pode se comportar
diferentemente em classes diferentes. [Rumbaugh]
Herança


Todos os objetos criados a partir da mesma classe vão
compartilhar (herdar) as características descritas por ela.
Usando a herança é possível montar uma classe nova (subclasse
ou classe-filho), definindo-a em termos de outra classe existente
(superclasse ou classe pai).
AB
AB
C
CLASSE BASE
Características
Herdadas
AB
E F
D
CLASSES DERIVADAS
Herança...

Na prática, a herança é uma maneira de evitar repetição de
código.

Especialização, você pode considerar uma subclasse um caso
especial da classe-pai.

Generalização, você pode usar a classe-pai para compartilhar os
elementos comuns, e também parte do código.
Automóvel
Generalização
Automóvel
esportivo
Porsche
Especialização
Padrões de Projeto

Padrões de Projeto:

Soluções genéricas e reutilizáveis

Aplicáveis em classes de problemas bem conhecidos.

Soluções que um dia funcionaram, tornam-se receitas para
situações similares (desde que estas soluções tenham sido
projetadas com flexibilidade).

Fornece um conjunto de interações
específicas que podem ser aplicadas para
objetos genéricos para resolver problemas
conhecidos.
Orientação a Objetos
Padrões de Projeto - MVC

Model-View-Controller (MVC):


Padrão fundamental
Desenvolvido para atuar na separação da interface do
usuário das Regras de Negócio e acesso aos Dados.
Orientação a Objetos
Padrões de Projeto - DAO

O Data Access Object (DAO)



Fornece interface flexível entre a lógica de negócio e as
fontes de dados reais.
Desenvolvedores implementam um objeto unicamente
responsável por receber informação de um armazenamento
persistente, onde quer que ele esteja.
Isto abstrai a visão do dado usada por uma
aplicação do layout da tabela, esquema XML
ou arquivo em disco.
Orientação a Objetos
Padrões de Projeto - Singleton

Utilizado quando se necessita assegurar que só pode existir uma
e somente uma instância de uma classe.

Pode utilizar construtores privados

Se a instância não existir, ela será criada a primeira vez e
sempre que o método for chamado, ele irá retornar o mesmo
objeto.
Orientação a Objetos
Padrões de Projeto – Abstract Factory


Provê uma interface para criar famílias de objetos relacionados
sem especificar suas classes concretas.
As Classes e/ou objetos que participam deste padrão são:





AbstractFactory - declara uma interface para
operações que cria objetos produto abstratos
ConcreteFactory - implementa as operações para
criar objetos produto concretos
AbstractProduct - declara uma interface para um
tipo objeto produto
Product - define um objeto produto a ser criado
pelo factory concreto correspondente
Client – usa interfaces declaradas pelas classes
AbstractFactory e AbstractProduct
Orientação a Objetos
Padrões de Projeto – Abstract Factory
Diagrama UML
Orientação a Objetos
Arquitetura da Solução

Dividida em três partes

MedElUI

MedElBusiness

MedElDAO
Orientação a Objetos
Arquitetura da Solução - MedElUI

MedElUI


ASP.NET WebForms
Navegabilidade simples e
intuitiva
Orientação a Objetos
Arquitetura da Solução - MedElBusiness

MedElBusiness



Manipular chamadas vindas
da camada de apresentação
Utiliza Facade para
interceptar as chamadas e
enviá-las para o(s) Business
correspondentes.
Implementa Interface DAO,
que implementa o padrão de
projeto Data Acess Object, é
utilizada através da Camada
de Dados.
Orientação a Objetos
Arquitetura da Solução - MedElDAO

MedElDAO



Camada flexível para
diversas formas de acesso a
dados
Banco de dados SQL Server
2000
Através de um nome,
podemos recuperar a query
SQL responsável por uma
operação.
Orientação a Objetos
Resultados



Grande produtividade da
arquitetura utilizada e da
ferramenta RAD (Visual
Studio .NET)
Um protótipo de alta
qualidade, comparável
com produtos existentes
no mercado
A arquitetura foi montada
a fim de poder ser
facilmente estendida a
outros tipos de aplicações
de e-learning.
Telas – Cadastro de Tutorial
Telas – Listagem de Tutoriais
Telas – Visualização de Tutorial2
Telas – Gerenciamento de Usuários
Contatos
www.atlantico.com.br/~ctxml
[email protected]
Download

Apresentação