Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouGabriel Quintal Alterado mais de 10 anos atrás
1
Outubro/2008 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira Rafael Pinto
2
Outubro/2008 Engenharia do Computação Arquitetura do Software
3
Outubro/2008 Engenharia do Computação Padrão MVC
4
Outubro/2008 Engenharia do Computação Características do MVC Arquitetura Dividida basicamente em 3 camadas (Model, View e Controller). Separa a lógica de negócios(Model) da lógica de apresentação(View). Diminui a complexidade da aplicação Facilita a manutenção do código. Outubro/2008 Engenharia do Computação
5
Outubro/2008 Engenharia do Computação Fluxo de uma aplicação MVC 1. Usuário gera um evento (Ex: aperta um botão). 2. Controller solicita dados do Model. 3. Model envia os dados para o controller. 4. Controller trata os dados e envia para a view. 5. View exibe o resultado para o usuário. Outubro/2008 Engenharia do Computação
6
Outubro/2008 Engenharia do Computação Fluxo de uma aplicação MVC 1. Usuário gera um evento (Ex: aperta um botão). 2. Controller solicita dados do Model. 3. Model envia os dados para o controller. 4. Controller trata os dados e envia para a view. 5. View exibe o resultado para o usuário. Outubro/2008 Engenharia do Computação
7
Outubro/2008 Engenharia do Computação Fluxo de uma aplicação MVC 1. Usuário gera um evento (Ex: aperta um botão). 2. Controller solicita dados do Model. 3. Model envia os dados para o controller. 4. Controller trata os dados e envia para a view. 5. View exibe o resultado para o usuário. Outubro/2008 Engenharia do Computação
8
Outubro/2008 Engenharia do Computação Fluxo de uma aplicação MVC 1. Usuário gera um evento (Ex: aperta um botão). 2. Controller solicita dados do Model. 3. Model envia os dados para o controller. 4. Controller trata os dados e envia para a view. 5. View exibe o resultado para o usuário. Outubro/2008 Engenharia do Computação
9
Outubro/2008 Engenharia do Computação Fluxo de uma aplicação MVC 1. Usuário gera um evento (Ex: aperta um botão). 2. Controller solicita dados do Model. 3. Model envia os dados para o controller. 4. Controller trata os dados e envia para a view. 5. View exibe o resultado para o usuário. Outubro/2008 Engenharia do Computação
10
Outubro/2008 Engenharia do Computação Fluxo de uma aplicação MVC 1. Usuário gera um evento (Ex: aperta um botão). 2. Controller solicita dados do Model. 3. Model envia os dados para o controller. 4. Controller trata os dados e envia para a view. 5. View exibe o resultado para o usuário. Outubro/2008 Engenharia do Computação
11
Outubro/2008 Engenharia do Computação Projeto Castle MonoRail Provê um framework MVC para.NET 2.0 Baseado no framework Ruby On Rails para linguagem ruby Compatível com Mono (Framework.NET para Linux) Outubro/2008 Engenharia do Computação
12
Outubro/2008 Engenharia do Computação Estrutura - MonoRail Outubro/2008 Engenharia do Computação
13
Outubro/2008 Engenharia do Computação Fluxo - MonoRail Outubro/2008 Engenharia do Computação
14
Outubro/2008 Engenharia do Computação Exemplo: Validação do Usuário - Evento Outubro/2008 Engenharia do Computação
15
Outubro/2008 Engenharia do Computação Exemplo: Validação do Usuário - Controller Outubro/2008 Engenharia do Computação
16
Outubro/2008 Engenharia do Computação Camada Model
17
Outubro/2008 Engenharia do Computação Métodos de Consulta Repetições de Códigos; Consultas complexas; Tratamento das consultas SQL é feita por parte do desenvolvedor; Difícil debug das consultas;
18
Outubro/2008 Engenharia do Computação ORM – Mapeamento Objeto Relacional Permite utilização de POO (Programação Orientado a Objeto); Abstração do Bando de Dados; Impedância objeto/Relacional – diferença que existe entre os modelos de dados relacionais e orientados a objeto;
19
Outubro/2008 Engenharia do Computação ORM – Mapeamento Objeto Relacional
20
Outubro/2008 Engenharia do Computação ORM – Mapeamento Objeto Relacional ORM tem por objetivo diminuir as diferenças entre objetos e tabelas de um SGBD; Oferece formas para o desenvolvedor definir como que seus objetos serão persistidos (salvos), como podem ser obtidos e manipulados do banco de dados;
21
Outubro/2008 Engenharia do Computação Tecnologias ORM As tecnologias utilizadas: NHibernate; Castle Active Record;
22
Outubro/2008 Engenharia do Computação NHibernate Ferramenta open-source; Otimizações para cada SGBD que suporta; Segurança contra SQL Injection; Suporte a Lazy Loading; Ferramenta sólida, baseada no Hibernate, utilizado pelos desenvolvedores Java.
23
Outubro/2008 Engenharia do Computação NHibernate - Implementação tab_maquina NHibernate
24
Outubro/2008 Engenharia do Computação NHibernate - Implementação
25
Outubro/2008 Engenharia do Computação NHibernate - Implementação namespace MMS.Models { using System; using NHibernate.Expression; public class Maquina { private int id; private string codigo; private DateTime dataAquisicao; private DateTime dataGarantia; private float tensaoOperacao; private float correntePartida; private float correnteNominal; private float frequencia; private float coeficientePartida; private string informacaoExtra; namespace : espaço de nome onde conterá as classes com os métodos da camada model. NHibernate
26
Outubro/2008 Engenharia do Computação NHibernate - Implementação NHibernate public int Id { get { return id; } set { id = value; } } public string Codigo { get { return codigo; } set { codigo = value; } } public DateTime DataAquisicao { get { return dataAquisicao; } set { dataAquisicao = value; } } Definição dos métodos da classe máquina
27
Outubro/2008 Engenharia do Computação NHibernate - Implementação <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly=MMS" namespace=MMS.Model">....hbm :é uma convenção usada pelo NHibernate para reconhecer automaticamente o arquivo como um arquivo de mapeamento
28
Outubro/2008 Engenharia do Computação NHibernate - Implementação <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider <property name="dialect">NHibernate.Dialect.MySQLDialect <property name="connection.driver_class">NHibernate.Driver.MySqlDataDriver <property name="connection.connection_string">Data Source=MMS.sdf <property name="show_sql">true
29
Outubro/2008 Engenharia do Computação Castle Active Record Faz parte do Castle Project; Não há necessidade de implementação de arquivos xml, para mapear as tabelas do bando de dados; Encapsulamento do NHibernate e XML; Aumento na produtividade;
30
Outubro/2008 Engenharia do Computação Active Record - Implementação tab_maquina NHibernate
31
Outubro/2008 Engenharia do Computação Active Record - Implementação namespace MMS.Models { using System; using Castle.ActiveRecord; using NHibernate.Expression; public class Maquina { private int id; private string codigo; private DateTime dataAquisicao; private DateTime dataGarantia; private float tensaoOperacao; private float correntePartida; private float correnteNominal; private float frequencia; private float coeficientePartida; private string informacaoExtra;
32
Outubro/2008 Engenharia do Computação Active Record - Implementação [PrimaryKey(id)] public int Id { get { return id; } set { id = value; } } [Property(codigo)] public string Codigo { get { return codigo; } set { codigo = value; } } [Property(data_aquisicao)] public DateTime DataAquisicao { get { return dataAquisicao; } set { dataAquisicao = value; } } XML NHibernate
33
Outubro/2008 Engenharia do Computação Active Record - Implementação <add key="hibernate.connection.driver_class" value="NHibernate.Driver.MySqlDataDriver" /> <add key="hibernate.dialect" value="NHibernate.Dialect.MySQLDialect" /> <add key="hibernate.connection.provider" value="NHibernate.Connection.DriverConnectionProvider" /> <add key="hibernate.connection.connection_string" value="Database=mms;Data Source=192.168.0.100;User Id=root;Password=" />
34
Outubro/2008 Engenharia do Computação Camada View
35
Outubro/2008 Engenharia do Computação Chamadas de Páginas Outubro/2008 Engenharia do Computação Página WEB - HTML Principal – Ex: User Shared – User_form Camada – ViewCamada – Controller UserController.cs Camada – Model User.cs
36
Outubro/2008 Engenharia do Computação Tecnologias da VIEW NVelocity Linguagem CSS Linguagem HTML Linguagem Java Script Outubro/2008 Engenharia do Computação
37
Outubro/2008 Engenharia do Computação NVelocity É uma ferramenta que possibilita gerar código a partir de templates, seja código C#, SQL, páginas Web, PostScript entre outros; O NVelocity é uma Template Language, que possibilita de uma forma simples incorporar conteúdos dinâmicos; Outubro/2008 Engenharia do Computação
38
Outubro/2008 Engenharia do Computação NVelocity Usa referências para inserir conteúdos dinâmicos; Ex: #set ( $a = Midgard ) Código para editar usuário: #set ($formTitle = "Atualização de Dados (Usuário do Sistema)") #set ($formAction = "update") #set ($updateId = "user.Id") #parse ("shared/forms/user_form.vm") Outubro/2008 Engenharia do Computação
39
Outubro/2008 Engenharia do Computação Linguagem CSS CSS é uma linguagem para estilos que define o layout de documentos; É usado para formatar conteúdos estruturados; Controle do layout de vários documentos a partir de uma simples folha de estilos; Maior precisão no controle do layout; Outubro/2008 Engenharia do Computação
40
Outubro/2008 Engenharia do Computação Linguagem CSS Aplicação de diferentes layouts para servir diferentes mídias (tela, impressora, etc.); Emprego de variadas, sofisticadas e avançadas técnicas de desenvolvimento. Outubro/2008 Engenharia do Computação
41
Outubro/2008 Engenharia do Computação Linguagem CSS Código CSS para definição de topo de página. div#top { background-image:url(../images/topo_fundo.jpg); background-color: #fff; width: 100%; height: 85px; } Outubro/2008 Engenharia do Computação
42
Outubro/2008 Engenharia do Computação Linguagem HTML Significa Hyper Text Markup Language; É a linguagem de marcação do hipertexto, na qual são escritas as páginas web; Define exatamente a estrutura da página; Outubro/2008 Engenharia do Computação
43
Outubro/2008 Engenharia do Computação Linguagem HTML Código HTML da página principal:... #submenu_begin("Administração do Sistema") #submenu_item("Cadastro de Setores" "sector" "new") #submenu_item("Cadastro de Funcionários" "employee" "new") #submenu_item("Cadastro de Usuário" "user" "new") #submenu_end()... Outubro/2008 Engenharia do Computação
44
Outubro/2008 Engenharia do Computação Linguagem JavaScript Validação dos formulários; Interação com a página; Oferece tipagem dinâmica; Oferece bom suporte a expressões; Outubro/2008 Engenharia do Computação
45
Outubro/2008 Engenharia do Computação Estrutura da View Outubro/2008 Engenharia do Computação Página Principal HTML Código CSS NVelocityJavaScript
46
Outubro/2008 Engenharia do Computação Estrutura da View Outubro/2008 Engenharia do Computação
47
Outubro/2008 Engenharia do Computação Estrutura da View Outubro/2008 Engenharia do Computação
48
Outubro/2008 Engenharia do Computação Sistema Outubro/2008 Engenharia do Computação
49
Outubro/2008 Engenharia do Computação Banco de Dados
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.