A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Outubro/2008 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira.

Apresentações semelhantes


Apresentação em tema: "Outubro/2008 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira."— Transcrição da apresentação:

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


Carregar ppt "Outubro/2008 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira."

Apresentações semelhantes


Anúncios Google