Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe...
Transcript of Março/2009 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe...
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
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;
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;
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.
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).
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
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
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
Outubro/2008Engenharia do Computação
Arquitetura do Software
PROJ ETO MMS
M C V
Active Record
Nhibernate
Nvelocity J avaScript
HTML
Banco de Dados
Outubro/2008Engenharia do Computação
Padrão MVC
PROJ ETO MMS
M C V
Active Record
Nhibernate
Nvelocity J avaScript
HTML
Banco de Dados
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
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
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
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
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
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
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
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
Outubro/2008Engenharia do Computação
Modelo MonoRail - Diretórios
Outubro/2008Engenharia do Computação
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
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”
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.
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.
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.
Outubro/2008Engenharia do Computação
Fluxo - MonoRail
Outubro/2008Engenharia do Computação
Outubro/2008Engenharia do Computação
Fluxo – MonoRail
Outubro/2008Engenharia do Computação
Outubro/2008Engenharia do Computação
Exemplo: Validação do Usuário - Controller
Outubro/2008Engenharia do Computação
Março/2009Engenharia da Computação
Camada Model
PROJ ETO MMS
M C V
Active Record
Nhibernate
Nvelocity J avaScript
HTML
Banco de Dados
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;
Março/2009Engenharia da Computação
Tecnologias ORM
As tecnologias utilizadas:
NHibernate;
Castle Active Record;
Março/2009Engenharia da Computação
Maquina.csXML+
Maquina.hbm.xml
Hibernate.cfg.xml
NHibernate - Implementação
tab_maquina
NHibernate
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
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
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
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;
Março/2009Engenharia da Computação
Active Record - Implementação
XML+ Maquina.csMaquina.hbm.xml
Web.config
Active Record Maquina.cs
tab_maquina
NHibernate
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
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;
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.
Março/2009Engenharia da Computação
Desenvolvimento
Classe Authentication.cs
Março/2009Engenharia da Computação
Desenvolvimento
Classe Machine.cs
Março/2009Engenharia da Computação
Desenvolvimento
Classe ServiceOrder.cs
Março/2009Engenharia da Computação
Desenvolvimento
Classe MaintenanceReport.cs
Março/2009Engenharia da Computação
Desenvolvimento
Classe CorrectiveMaintenanceReport.cs
Março/2009Engenharia da Computação
Desenvolvimento
Classe MachineStopLog.cs
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;
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.
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;
Março/2009Engenharia da Computação
Obrigado pela atenção.