27
Brasil MedEl: Uma solução de E- MedEl: Uma solução de E- Learning utilizando Learning utilizando tecnologia Microsoft tecnologia Microsoft ASP.NET ASP.NET Autores: Glaucon Henrique Mauricio Maia Autores: Glaucon Henrique Mauricio Maia CoAutores: Atila Correia, Waner Tavares, Jorge CoAutores: Atila Correia, Waner Tavares, Jorge Bergson, Rui Gomes, Bergson, Rui Gomes, Marcelo Iury, João Neto e José Candido Marcelo Iury, João Neto e José Candido

Brasil MedEl: Uma solução de E- Learning utilizando tecnologia Microsoft ASP.NET Autores: Glaucon Henrique Mauricio Maia CoAutores: Atila Correia, Waner

Embed Size (px)

Citation preview

Page 1: Brasil MedEl: Uma solução de E- Learning utilizando tecnologia Microsoft ASP.NET Autores: Glaucon Henrique Mauricio Maia CoAutores: Atila Correia, Waner

Brasil

MedEl: Uma solução de E-MedEl: Uma solução de E-Learning utilizando Learning utilizando tecnologia Microsoft tecnologia Microsoft

ASP.NET ASP.NET Autores: Glaucon Henrique Mauricio MaiaAutores: Glaucon Henrique Mauricio Maia

CoAutores: Atila Correia, Waner Tavares, Jorge Bergson, Rui Gomes,CoAutores: Atila Correia, Waner Tavares, Jorge Bergson, Rui Gomes,

Marcelo Iury, João Neto e José CandidoMarcelo Iury, João Neto e José Candido

Page 2: Brasil MedEl: Uma solução de E- Learning utilizando tecnologia Microsoft ASP.NET Autores: Glaucon Henrique Mauricio Maia CoAutores: Atila Correia, Waner

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.

Page 3: Brasil MedEl: Uma solução de E- Learning utilizando tecnologia Microsoft ASP.NET Autores: Glaucon Henrique Mauricio Maia CoAutores: Atila Correia, Waner

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).

Page 4: Brasil MedEl: Uma solução de E- Learning utilizando tecnologia Microsoft ASP.NET Autores: Glaucon Henrique Mauricio Maia CoAutores: Atila Correia, Waner

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.

Page 5: Brasil MedEl: Uma solução de E- Learning utilizando tecnologia Microsoft ASP.NET Autores: Glaucon Henrique Mauricio Maia CoAutores: Atila Correia, Waner

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

Page 6: Brasil MedEl: Uma solução de E- Learning utilizando tecnologia Microsoft ASP.NET Autores: Glaucon Henrique Mauricio Maia CoAutores: Atila Correia, Waner

O que são Classes e Objetos

Classes: São como “plantas” de objetos Contém comportamentos (métodos)

e atributos (dados)

Objetos: São instâncias de uma classe

Criados usando a palavra-chave new

Executam açõesObjetoObjeto

kitchen

Living Room

Bath Office

DiningRoom

FamilyRoom

Covered Porch

ClasseClasse

Page 7: Brasil MedEl: Uma solução de E- Learning utilizando tecnologia Microsoft ASP.NET Autores: Glaucon Henrique Mauricio Maia CoAutores: Atila Correia, Waner

EncapsulamentoEncapsulamento

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

Page 8: Brasil MedEl: Uma solução de E- Learning utilizando tecnologia Microsoft ASP.NET Autores: Glaucon Henrique Mauricio Maia CoAutores: Atila Correia, Waner

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

Page 9: Brasil MedEl: Uma solução de E- Learning utilizando tecnologia Microsoft ASP.NET Autores: Glaucon Henrique Mauricio Maia CoAutores: Atila Correia, Waner

PolimorfismoPolimorfismo

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]

Page 10: Brasil MedEl: Uma solução de E- Learning utilizando tecnologia Microsoft ASP.NET Autores: Glaucon Henrique Mauricio Maia CoAutores: Atila Correia, Waner

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).

CLASSE BASE

CLASSES DERIVADAS

A B

AABBC

D

CaracterísticasHerdadas AABB

E F

Page 11: Brasil MedEl: Uma solução de E- Learning utilizando tecnologia Microsoft ASP.NET Autores: Glaucon Henrique Mauricio Maia CoAutores: Atila Correia, Waner

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

Automóvel esportivo

Porsche

Generalização

Especialização

Page 12: Brasil MedEl: Uma solução de E- Learning utilizando tecnologia Microsoft ASP.NET Autores: Glaucon Henrique Mauricio Maia CoAutores: Atila Correia, Waner

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).

Orientação a Objetos

Fornece um conjunto de interações específicas que podem ser aplicadas para objetos genéricos para resolver problemas conhecidos.

Page 13: Brasil MedEl: Uma solução de E- Learning utilizando tecnologia Microsoft ASP.NET Autores: Glaucon Henrique Mauricio Maia CoAutores: Atila Correia, Waner

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

Page 14: Brasil MedEl: Uma solução de E- Learning utilizando tecnologia Microsoft ASP.NET Autores: Glaucon Henrique Mauricio Maia CoAutores: Atila Correia, Waner

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.

Orientação a Objetos

Isto abstrai a visão do dado usada por uma aplicação do layout da tabela, esquema XML ou arquivo em disco.

Page 15: Brasil MedEl: Uma solução de E- Learning utilizando tecnologia Microsoft ASP.NET Autores: Glaucon Henrique Mauricio Maia CoAutores: Atila Correia, Waner

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

Page 16: Brasil MedEl: Uma solução de E- Learning utilizando tecnologia Microsoft ASP.NET Autores: Glaucon Henrique Mauricio Maia CoAutores: Atila Correia, Waner

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:

Orientação a Objetos

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

Page 17: Brasil MedEl: Uma solução de E- Learning utilizando tecnologia Microsoft ASP.NET Autores: Glaucon Henrique Mauricio Maia CoAutores: Atila Correia, Waner

Padrões de Projeto – Abstract Factory

Diagrama UML

Orientação a Objetos

Page 18: Brasil MedEl: Uma solução de E- Learning utilizando tecnologia Microsoft ASP.NET Autores: Glaucon Henrique Mauricio Maia CoAutores: Atila Correia, Waner

Arquitetura da Solução

Dividida em três partes

MedElUI

MedElBusiness

MedElDAO

Orientação a Objetos

Page 19: Brasil MedEl: Uma solução de E- Learning utilizando tecnologia Microsoft ASP.NET Autores: Glaucon Henrique Mauricio Maia CoAutores: Atila Correia, Waner

Arquitetura da Solução - MedElUI

MedElUI

ASP.NET WebForms

Navegabilidade simples e intuitiva

Orientação a Objetos

Page 20: Brasil MedEl: Uma solução de E- Learning utilizando tecnologia Microsoft ASP.NET Autores: Glaucon Henrique Mauricio Maia CoAutores: Atila Correia, Waner

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

Page 21: Brasil MedEl: Uma solução de E- Learning utilizando tecnologia Microsoft ASP.NET Autores: Glaucon Henrique Mauricio Maia CoAutores: Atila Correia, Waner

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

Page 22: Brasil MedEl: Uma solução de E- Learning utilizando tecnologia Microsoft ASP.NET Autores: Glaucon Henrique Mauricio Maia CoAutores: Atila Correia, Waner

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.

Page 23: Brasil MedEl: Uma solução de E- Learning utilizando tecnologia Microsoft ASP.NET Autores: Glaucon Henrique Mauricio Maia CoAutores: Atila Correia, Waner

Telas – Cadastro de Tutorial

Page 24: Brasil MedEl: Uma solução de E- Learning utilizando tecnologia Microsoft ASP.NET Autores: Glaucon Henrique Mauricio Maia CoAutores: Atila Correia, Waner

Telas – Listagem de Tutoriais

Page 25: Brasil MedEl: Uma solução de E- Learning utilizando tecnologia Microsoft ASP.NET Autores: Glaucon Henrique Mauricio Maia CoAutores: Atila Correia, Waner

Telas – Visualização de Tutorial2

Page 26: Brasil MedEl: Uma solução de E- Learning utilizando tecnologia Microsoft ASP.NET Autores: Glaucon Henrique Mauricio Maia CoAutores: Atila Correia, Waner

Telas – Gerenciamento de Usuários

Page 27: Brasil MedEl: Uma solução de E- Learning utilizando tecnologia Microsoft ASP.NET Autores: Glaucon Henrique Mauricio Maia CoAutores: Atila Correia, Waner

Contatos

www.atlantico.com.br/~ctxml

[email protected]