medel: uma solução de e-learning utilizando tecnologia microsoft asp.net
Post on 30-Dec-2015
26 Views
Preview:
DESCRIPTION
TRANSCRIPT
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
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)
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
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
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
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]
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
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
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.
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.
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.
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:
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
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
ctxml@atlantico.com.br
top related