Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe...

49
Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira Rafael Pinto Orientador: Prof. MSc Fábio Cardoso Co-orientador: Prof. MSc Marcelo Oliveira

Transcript of Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe...

Page 1: Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira.

Março/2009Engenharia do Computação

Sistema de Gestão de Manutenção

Desenvolvimento

EquipeAntônio DeyvysonDiego NascimentoPaollo MacielMarcelo PereiraRafael Pinto

Orientador: Prof. MSc Fábio CardosoCo-orientador: Prof. MSc Marcelo Oliveira

Page 2: Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira.

Março/2009Engenharia da Computação

Introdução

Mercado altamente competitivo;

Manutenção é responsável direta em garantir a disponibilidade dos

equipamentos e instalações, de modo a atender a um processo de

produção com confiabilidade, segurança e custos adequados;

Page 3: Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira.

Março/2009Engenharia da Computação

Introdução

Necessidade de estabelecimento de planos estratégicos que

prevêem ações de curto, médio e longo prazo;

Atualmente há softwares poderosos para gerenciar importantes

funções de negócios, mas na maioria dos casos, funcionam sem levar

em conta a individualidade e as necessidades específicas dos clientes;

Page 4: Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira.

Março/2009Engenharia da Computação

Justificativa

Para atender as necessidades e as individualidades dos

clientes, desenvolveu-se o software MMS, para auxiliar o gestor

e a equipe de manutenção no monitoramento, mapeamento e

coleta das informações relacionadas com as rotinas de

manutenção das máquinas.

Page 5: Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira.

Março/2009Engenharia da Computação

Objetivos

Objetivo Geral

Desenvolver de um sistema para auxiliar a gestão de

manutenção, através dos conceitos de orientação a objeto e

utilizando o padrão de desenvolvimento para aplicações web

MVC (Model-View-Controller).

Page 6: Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira.

Outubro/2008Engenharia do Computação

Sistema MMS

Tópicos

Características do Sistema

Tecnologias Utilizadas

Arquitetura do Sistema

Padrão MVC

Módulo Model

Outubro/2008Engenharia do Computação

Page 7: Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira.

Outubro/2008Engenharia do Computação

Características do Sistema

Sistema Web (Cliente/Servidor)

Plataforma .NET (Windows/Linux-Mono)

Cliente naturalmente multiplataforma

Arquitetura MVC

Acesso ao banco através de Mapeamento de Objetos – ORM

Padrão ActiveRecord

NVelocity

Outubro/2008Engenharia do Computação

Page 8: Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira.

Outubro/2008Engenharia do Computação

Tecnologias Utilizadas

ASP.NET

Linguagem C#

MonoRail (Impl. do padrão MVC)

Castle ActiveRecord (Impl. padrão ActiveRecord)

Javascript/AJAX

Linguagem HTML

Banco de dados MySql

Outubro/2008Engenharia do Computação

Page 9: Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira.

Outubro/2008Engenharia do Computação

Arquitetura do Software

PROJ ETO MMS

M C V

Active Record

Nhibernate

Nvelocity J avaScript

HTML

Banco de Dados

Page 10: Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira.

Outubro/2008Engenharia do Computação

Padrão MVC

PROJ ETO MMS

M C V

Active Record

Nhibernate

Nvelocity J avaScript

HTML

Banco de Dados

Page 11: Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira.

Outubro/2008Engenharia 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/2008Engenharia do Computação

Page 12: Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira.

Outubro/2008Engenharia 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/2008Engenharia do Computação

Page 13: Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira.

Outubro/2008Engenharia 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/2008Engenharia do Computação

Page 14: Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira.

Outubro/2008Engenharia 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/2008Engenharia do Computação

Page 15: Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira.

Outubro/2008Engenharia 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/2008Engenharia do Computação

Page 16: Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira.

Outubro/2008Engenharia 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/2008Engenharia do Computação

Page 17: Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira.

Outubro/2008Engenharia 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/2008Engenharia do Computação

Page 18: Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira.

Outubro/2008Engenharia 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)

Fácil Configuração

Outubro/2008Engenharia do Computação

Page 19: Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira.

Outubro/2008Engenharia do Computação

Modelo MonoRail - Diretórios

Outubro/2008Engenharia do Computação

Page 20: Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira.

Outubro/2008Engenharia do Computação

Diretório Content

Outubro/2008Engenharia do Computação

Contém arquivos estáticos utilizados pelo sistema

Exemplo:

• folhas de estilo• imagens• scripts

Page 21: Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira.

Outubro/2008Engenharia do Computação

Diretório Controllers

Outubro/2008Engenharia do Computação

• Diretório de desenvolvimento

• Contém as classes do módulo Controller

• Pode conter subdiretórios para organização em “Áreas”

Page 22: Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira.

Outubro/2008Engenharia do Computação

Diretório Models

Outubro/2008Engenharia do Computação

• Diretório de desenvolvimento

• Contém as classes do módulo Model

• Pode conter subdiretórios simplesmente para organização do código sem afetar no funcionamento do framework.

Page 23: Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira.

Outubro/2008Engenharia do Computação

Diretório Views

Outubro/2008Engenharia do Computação

• Diretório Funcional

• Essencial para o funcionamento da View

• Contém arquivos da View

• Para cada subdiretório existe um controller

• Alguns subdiretórios são padrões e são acessados pelo framework.

Page 24: Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira.

Outubro/2008Engenharia do Computação

Views - Subdiretórios

Outubro/2008Engenharia do Computação

• layouts – Contém arquivos de layout

• rescues – Arquivo de layout de página de recuperação de erro.

• macros – Macros Nvelocity.

Page 25: Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira.

Outubro/2008Engenharia do Computação

Fluxo - MonoRail

Outubro/2008Engenharia do Computação

Page 26: Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira.

Outubro/2008Engenharia do Computação

Fluxo – MonoRail

Outubro/2008Engenharia do Computação

Page 27: Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira.

Outubro/2008Engenharia do Computação

Exemplo: Validação do Usuário - Controller

Outubro/2008Engenharia do Computação

Page 28: Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira.

Março/2009Engenharia da Computação

Camada Model

PROJ ETO MMS

M C V

Active Record

Nhibernate

Nvelocity J avaScript

HTML

Banco de Dados

Page 29: Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira.

Março/2009Engenharia da Computação

ORM – Mapeamento Objeto Relacional

Modelo Orientado a Objetos BANCO DE DADOS

Modelo RelacionalO RM

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;

Page 30: Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira.

Março/2009Engenharia da Computação

Tecnologias ORM

As tecnologias utilizadas:

NHibernate;

Castle Active Record;

Page 31: Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira.

Março/2009Engenharia da Computação

Maquina.csXML+

Maquina.hbm.xml

Hibernate.cfg.xml

NHibernate - Implementação

tab_maquina

NHibernate

Page 32: Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira.

Março/2009Engenharia da Computação

NHibernate - Implementação

nam espace MMS. Models{

using S ystem ;using NH ibernate.Expression;

public class Maquina{

private int id;private string codigo;private DateTim e dataAquisicao;

public int I d{

get { return id; }set { id = value; }

}

public string Codigo{

get { return codigo; }set { codigo = value; }

}

public DateT im e DataAquisicao{

get { return dataAquisicao; }set { dataAquisicao = value; }

}}

M aqu in a.cs

Page 33: Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira.

Março/2009Engenharia da Computação

NHibernate - Implementação

XMLM ach in e.h b m .xm l

<?xml version="1.0" encoding="utf-8" ?><hibernate-mapping xmlns="urn: nhibernate-mapping-2.2"

assembly=“MMS" namespace=“MMS. Model">

<class name=“tab_ maquina"><id name=“id">

<generator class=“increment" / ></id><property name=“codigo" / ><property name=“data_ aquisicao" / >

</ class>

</hibernate-mapping>

.hbm :é uma convenção usada pelo NHibernate para reconhecer automaticamente o arquivo como um arquivo de mapeamento

Page 34: Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira.

Março/2009Engenharia da Computação

Castle Active Record

PROJ ETO MMS

M C V

Active Record

Nhibernate

Nvelocity J avaScript

HTML

Banco de Dados

Page 35: Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira.

Março/2009Engenharia da Computação

Castle Active Record

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;

Page 36: Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira.

Março/2009Engenharia da Computação

Active Record - Implementação

XML+ Maquina.csMaquina.hbm.xml

Web.config

Active Record Maquina.cs

tab_maquina

NHibernate

Page 37: Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira.

Março/2009Engenharia da Computação

Active Record - Implementação

M aqu ina.csM aqu in a.csnam espace MMS. Models{

using S ystem ;using Castle.ActiveRecord;using NH ibernate.Expression;

public class Maquina{

private int id;private string codigo;private DateT im e dataAquisicao;

[Pr im aryKey(“id” ) ]public int I d{

get { return id; }set { id = value; }

}

[Property(“codigo”) ]public string Codigo{

get { return codigo; }set { codigo = value; }

}

[Property(“data_ aquisicao”) ]public DateT im e DataAquisicao{

get { return dataAquisicao; }set { dataAquisicao = value; }

}}

}

XML

NHibernate

Page 38: Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira.

Março/2009Engenharia da Computação

Desenvolvimento

Alguns dos principais requisitos funcionais:

MMS_CCS_RF_001 – Cadastro das Máquinas;

MMS_CCS_RF_004 – Cadastro de Técnicos;

MMS_CCS_RF_005 – Cadastro de Supervisores;

MMS_CCS_RF_006 – Abertura de Ordem de Serviço;

MMS_CCS_RF_007 – Fechamento de Ordem de Serviço;

MMS_RS_RF _005 – Relatório de MTBF por máquina;

MMS_RS_RF _007 – Relatório de MTTR;

MMS_RS_RF _008 – Relatório de DownTime;

Page 39: Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira.

Março/2009Engenharia da Computação

Desenvolvimento

Authentication.cs

MMSSecurity.cs

User.cs

State.cs

MachineStopLog.cs

MMSLogger.cs

AssemblyLine.cs

Machine.cs

MachineGroup.cs

MachineModel.cs

MachineType.cs

Manufacturer.cs

StageAssemblyLine.cs

CorrectiveMaintenanceReport.cs

FailureMode.cs

MaintenanceReport.cs

PredictiveMaintenanceReport.cs

PreventiveMaintenanceReport.cs

ServiceOrder.cs

Classes desenvolvidas na camada Model.

Page 40: Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira.

Março/2009Engenharia da Computação

Desenvolvimento

Classe Authentication.cs

Page 41: Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira.

Março/2009Engenharia da Computação

Desenvolvimento

Classe Machine.cs

Page 42: Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira.

Março/2009Engenharia da Computação

Desenvolvimento

Classe ServiceOrder.cs

Page 43: Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira.

Março/2009Engenharia da Computação

Desenvolvimento

Classe MaintenanceReport.cs

Page 44: Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira.

Março/2009Engenharia da Computação

Desenvolvimento

Classe CorrectiveMaintenanceReport.cs

Page 45: Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira.

Março/2009Engenharia da Computação

Desenvolvimento

Classe MachineStopLog.cs

Page 46: Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira.

Março/2009Engenharia da Computação

Plano de Teste

Objetivo

Descrever as atividades e o planejamento de execução dos testes, bem como as estratégias a serem tomadas durante a execução.

Tipo de Teste

Caixa-Preta;

Page 47: Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira.

Março/2009Engenharia da Computação

Conclusão

Implementação dos requisitos; Contribuição para:

Integração de sistemas; Redução de Custos; Conhecimento alcançado sobre as

tecnologias estudadas;

Criação de protótipo funcional.

Page 48: Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira.

Março/2009Engenharia da Computação

Trabalhos Futuros

A evolução do sistema MMS, com novas implementações e módulos:

Módulo de elaboração do FMEA (Análise do Modo e

Efeito da Falha);

Módulo para controle de reposição dos equipamentos

e componentes utilizados durante as manutenções;

Módulo de abertura de Ordem de Serviço

automaticamente;

Page 49: Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira.

Março/2009Engenharia da Computação

Obrigado pela atenção.