HHD – Help the HelpDesk Análise e Projeto Henrique Borges ([email protected]) Igor Marques...

31
HHD – Help the HelpDesk Análise e Projeto Henrique Borges ([email protected]) Igor Marques ([email protected]) Jobson Ronan ([email protected])

Transcript of HHD – Help the HelpDesk Análise e Projeto Henrique Borges ([email protected]) Igor Marques...

Page 1: HHD – Help the HelpDesk Análise e Projeto Henrique Borges (hbas@cin.ufpe.br) Igor Marques (irlm@cin.ufpe.br) Jobson Ronan (jrjs@cin.ufpe.br)

HHD – Help the HelpDeskAnálise e Projeto

Henrique Borges ([email protected])Igor Marques ([email protected])Jobson Ronan ([email protected])

Page 2: HHD – Help the HelpDesk Análise e Projeto Henrique Borges (hbas@cin.ufpe.br) Igor Marques (irlm@cin.ufpe.br) Jobson Ronan (jrjs@cin.ufpe.br)

Motivação“Com o crescimento da complexidade do ambiente

tecnológico, o pessoal do Helpdesk passou a dispender muito mais tempo para encontrar soluções, uma vez que os usuários passaram a trazer questões cada vez mais sofisticadas.”

“Sistemas de Gerência de Helpdesk são necessários para proativamente detectar, corrigir e previnir problemas nos sistemas de aplicação.”

Cliff Oxford, fundador e presidente da Support Technologies

Page 3: HHD – Help the HelpDesk Análise e Projeto Henrique Borges (hbas@cin.ufpe.br) Igor Marques (irlm@cin.ufpe.br) Jobson Ronan (jrjs@cin.ufpe.br)

RoteiroVisão Geral do SistemaCasos de UsoAnálise de Casos de UsoProjeto de ArquiteturaPadrões de Projeto

Page 4: HHD – Help the HelpDesk Análise e Projeto Henrique Borges (hbas@cin.ufpe.br) Igor Marques (irlm@cin.ufpe.br) Jobson Ronan (jrjs@cin.ufpe.br)

Objetivos do SistemaUsuários podem: Realizar pedidos Acompanhar o estado do pedido Acompanhar a lista de todos os pedidos

pendentesAuxiliar no escalonamento da equipe do HelpdeskMelhorar a transparência do setor, permitindo o acompanhamento das tarefas por qualquer usuário do sistema

Page 5: HHD – Help the HelpDesk Análise e Projeto Henrique Borges (hbas@cin.ufpe.br) Igor Marques (irlm@cin.ufpe.br) Jobson Ronan (jrjs@cin.ufpe.br)

Casos de UsoAtores Usuário (abstrato)

Requester Helper

Sistema de Email Timer

Page 6: HHD – Help the HelpDesk Análise e Projeto Henrique Borges (hbas@cin.ufpe.br) Igor Marques (irlm@cin.ufpe.br) Jobson Ronan (jrjs@cin.ufpe.br)

Casos de UsoCasos de Uso do Usuário

Efetuar Logoff

Efetuar Login

Visualizar Detalhes da Solicitacao

Visualizar Estatisticas Gerais

Visualizar Solicitacoes na Fila de Espera

Visualizar Solicitacoes em Atendimento

Visualizar Solicitacoes Finalizadas

Usuario

Sistema de Email

Enviar Mensagem Sobre Solicitação

<<include>>

Page 7: HHD – Help the HelpDesk Análise e Projeto Henrique Borges (hbas@cin.ufpe.br) Igor Marques (irlm@cin.ufpe.br) Jobson Ronan (jrjs@cin.ufpe.br)

Casos de UsoCasos de Uso do Requester

Visualizar Solicitacoes Finalizadas

Usuario

Realizar uma Solicitação

Solicitar Reabertura da Solicitação

<<include>>

Avaliar Atendimento de Solicitação

<<include>>

Requester

Page 8: HHD – Help the HelpDesk Análise e Projeto Henrique Borges (hbas@cin.ufpe.br) Igor Marques (irlm@cin.ufpe.br) Jobson Ronan (jrjs@cin.ufpe.br)

Casos de UsoCasos de Uso do Helper

Visualizar Solicitacoes na Fila de Espera

Aceitar Solicitacao

<<include>>

Alterar Estado da SolicitacaoHelper

Visualizar Detalhes da Solicitacao

<<include>>

Usuario

Page 9: HHD – Help the HelpDesk Análise e Projeto Henrique Borges (hbas@cin.ufpe.br) Igor Marques (irlm@cin.ufpe.br) Jobson Ronan (jrjs@cin.ufpe.br)

Casos de UsoCaso de Uso do Relógio

Atualizar Estatisticas GeraisRelogio

Page 10: HHD – Help the HelpDesk Análise e Projeto Henrique Borges (hbas@cin.ufpe.br) Igor Marques (irlm@cin.ufpe.br) Jobson Ronan (jrjs@cin.ufpe.br)

Análise de Casos de UsoCasos de Uso Selecionados [RF-07] Enviar mensagem sobre

solicitação [RF-11] Realizar uma solicitação [RF-14] Atualizar Estatísticas Gerais

Page 11: HHD – Help the HelpDesk Análise e Projeto Henrique Borges (hbas@cin.ufpe.br) Igor Marques (irlm@cin.ufpe.br) Jobson Ronan (jrjs@cin.ufpe.br)

Análise: Enviar mensagem sobre solicitação

Diagrama de Seqüência

: ComunicacaoSistemaDeEmail : Usuario : TelaEnviarMensagem : ControladorEnviarMen...

: CadastroSolicitacoes solicitacao : Solicitacao

enviarMensagem()

enviarMensagem(usuario, idSolicitacao, mensagem)

solicitacao := procurarSolicitacao(idSolicitacao)

adicionarMensagem(mensagem)

atualizarSolicitacao(solicitacao)

msgEmail := criarMsgEmail(MensagemSolicitacao)

enviarEmail(msgEmail)

Page 12: HHD – Help the HelpDesk Análise e Projeto Henrique Borges (hbas@cin.ufpe.br) Igor Marques (irlm@cin.ufpe.br) Jobson Ronan (jrjs@cin.ufpe.br)

Análise: Enviar mensagem sobre solicitação

VOPC

Page 13: HHD – Help the HelpDesk Análise e Projeto Henrique Borges (hbas@cin.ufpe.br) Igor Marques (irlm@cin.ufpe.br) Jobson Ronan (jrjs@cin.ufpe.br)

Análise: Realizar uma solicitação Diagrama de Seqüência

: Requester : TelaNovaSolicitacao : ControladorNovaSolicit...

: Solicitacao : CadastroSolicitacoes

abrirNovaSolicitacao()abrirNovaSolicitacao(requester, solicitacao)

setRequester(requester)

cadastrarSolicitacao(Solicitacao)

Page 14: HHD – Help the HelpDesk Análise e Projeto Henrique Borges (hbas@cin.ufpe.br) Igor Marques (irlm@cin.ufpe.br) Jobson Ronan (jrjs@cin.ufpe.br)

Análise: Realizar uma solicitação VOPC

Page 15: HHD – Help the HelpDesk Análise e Projeto Henrique Borges (hbas@cin.ufpe.br) Igor Marques (irlm@cin.ufpe.br) Jobson Ronan (jrjs@cin.ufpe.br)

Análise: Atualizar Estatísticas Gerais Diagrama de Seqüência

: Relogio : InterfaceRelogio : ControladorAtualizarEst...

: CadastroSolicitacoes : CadastroEstatisticas

interrupcao()atualizarEstatisticas()

solicitacoes = listarSolicitacoes( )

estatistica = computarEstatisticas()

cadastrarEstatistica(estatistica)

Page 16: HHD – Help the HelpDesk Análise e Projeto Henrique Borges (hbas@cin.ufpe.br) Igor Marques (irlm@cin.ufpe.br) Jobson Ronan (jrjs@cin.ufpe.br)

Análise: Atualizar Estatísticas Gerais VOPC

Estatistica

InterfaceRelogio

interrupcao()

CadastroEstatisticas

cadastrarEstatistica()

<<entity collection>>

0..*1 0..*1

ControladorAtualizarEstatisticas

atualizarEstatisticas()computarEstatisticas()

1

1

1

1

1

1

1

1

CadastroSolicitacoes

listarSolicitacoesEmEspera()atualizarSolicitacao()cadastrarSolicitacao()procurarSolicitacao()listarSolicitacoes()

<<entity collection>>

1

1

1

1

Solicitacao

setHelper()setRequester()

adicionarMensagem()

1

0..*

1

0..*

Page 17: HHD – Help the HelpDesk Análise e Projeto Henrique Borges (hbas@cin.ufpe.br) Igor Marques (irlm@cin.ufpe.br) Jobson Ronan (jrjs@cin.ufpe.br)

Mapeamento entre Classes de Análise e Elementos de Projeto

Classes de Análise Elementos de Projeto<<capsule>> TelaAceitarSolicitacao<<protocol>> ProtocoloAceitarSolicitacao<<capsule>> TelaEnviarMensagem<<protocol>> ProtocoloEnviarMensagem<<capsule>> TelaNovaSolicitacao<<protocol>> ProtocoloNovaSolicitacao<<capsule>> Relogio<<protocol>> AtivacaoPeriodica<<capsule>> FachadaISubsistemaComunicacaoEmailFachadaComunicacaoEmailProtocoloComunicacaoEmail

ContaUsuario UsuarioContaHelper HelperContaRequester Requester

CadastroSolicitacoesIRepositorioSolicitacoesRepositorioSolicitacoesBDRCadastroUsuariosIRepositorioUsuariosRepositorioUsuariosBDRCadastroEstatisticaIRepositorioEstatisticaRepositorioEstatisticaBDRFabricaRepositorioFabricaRepositorioBDR

TelaAceitarSolicitacao

TelaEnviarMensagem

TelaNovaSolicitacao

InterfaceRelogio

ComunicacaoSistemaDeEmail

<<entity collection>> CadastroSolicitacoes

<<entity collection>> CadastroContasUsuario

<<entity collection>> CadastroEstatisticas

Page 18: HHD – Help the HelpDesk Análise e Projeto Henrique Borges (hbas@cin.ufpe.br) Igor Marques (irlm@cin.ufpe.br) Jobson Ronan (jrjs@cin.ufpe.br)

Projeto de ArquiteturaPrincípios seguidos Divisão em Camadas Inversão de Controle

Page 19: HHD – Help the HelpDesk Análise e Projeto Henrique Borges (hbas@cin.ufpe.br) Igor Marques (irlm@cin.ufpe.br) Jobson Ronan (jrjs@cin.ufpe.br)

Projeto de ArquiteturaVisão dos pacotes

controle

ui

subsistemaComunicacaoEmail

<<subsystem>>

usuarios

ISubsistemaComunicacaoEmail

util<<global>>

solicitacoesestatisticas

persistencia

comm

Page 20: HHD – Help the HelpDesk Análise e Projeto Henrique Borges (hbas@cin.ufpe.br) Igor Marques (irlm@cin.ufpe.br) Jobson Ronan (jrjs@cin.ufpe.br)

Projeto de ArquiteturaPacote ui

ProtocoloNovaSolicitacao(from comm)

<<protocol>>

TelaNovaSolicitacao

abrirNovaSolicitacao()

<<capsule>>

+protooloNovaSolicitacao

<<port>>

ProtocoloEnviarMensagem(from comm)

<<protocol>>

TelaEnviarMensagem

enviarMensagem()

<<capsule>>

+protocoloEnviarMensagem

<<port>>

ProtocoloAceitarSolicitacao(from comm)

<<protocol>>

TelaAceitarSolicitacao

aceitarSolicitacao()

<<capsule>>

+protocolAceitarSolicitacao

<<port>>

Page 21: HHD – Help the HelpDesk Análise e Projeto Henrique Borges (hbas@cin.ufpe.br) Igor Marques (irlm@cin.ufpe.br) Jobson Ronan (jrjs@cin.ufpe.br)

Projeto de ArquiteturaPacote comm

TelaAceitarSolicitacao(from ui)

<<capsule>>TelaEnviarMensagem

(from ui )

<<capsule>>

AtivacaoPeriodica

<<out signal>> interrupcao()

<<protocol>>

ProtocoloAceitarSolicitacao

<<out signal>> aceitarSolicitacao()<<in signal>> solicitacaoAceita()

<<protocol>>

+protocolAceitarSolicitacao

<<port>>

ProtocoloEnviarMensagem

<<out signal>> enviarMensagem()<<in signal>> MensagemEnviada()

<<protocol>>

+protocoloEnviarMensagem

<<port>>

Fachada(from controle)

<<capsule>>

+interrupcao~<<port>>

+protocoloAceitarSolicitacao~

<<port>>

+protocoloEnviarMensagem~

<<port>>

ProtocoloNovaSolicitacao

<<out signal>> novaSolicitacao()<<in signal>> novaSolicitacaoCriada()

<<protocol>>

+protooloNovaSolicitacao~

<<port>>

TelaNovaSolicitacao(from ui)

<<capsule>>

+protooloNovaSolicitacao

<<port>>

Page 22: HHD – Help the HelpDesk Análise e Projeto Henrique Borges (hbas@cin.ufpe.br) Igor Marques (irlm@cin.ufpe.br) Jobson Ronan (jrjs@cin.ufpe.br)

Projeto de ArquiteturaPacote controle

ControladorAceitarSolicitacao

aceitarSol icitacao()criarMensagemSolici tacaoAceita()

ControladorNovaSolicitacao

abrirNovaSolicitacao()

ControladorEnviarMensagem

enviarMensagem()criarMsgEmail()

ControladorAtualizarEstatisticas

atualizarEstatisticas()computarEstatisticas()

Relogio<<capsule>>

AtivacaoPeriodica(from comm)

<<protocol>>

<<port>>

+interrupcao

ProtocoloAceitarSolicitacao(from comm)

<<protocol>>

ProtocoloEnviarMensagem(from comm)

<<protocol>>

ProtocoloNovaSolicitacao(from comm)

<<protocol>>

Fachada

getInstance()

<<capsule>>+interrupcao~

<<port>> +protocoloAceitarSolici tacao~

<<port>>

+protocoloEnviarMensagem~

<<port>>

+protooloNovaSolicitacao~<<port>>

Page 23: HHD – Help the HelpDesk Análise e Projeto Henrique Borges (hbas@cin.ufpe.br) Igor Marques (irlm@cin.ufpe.br) Jobson Ronan (jrjs@cin.ufpe.br)

Projeto de ArquiteturaSubsistema de comunicação por e-mail Contexto do subsistema

MensagemEmailorigem : Stringdestinatario : Stringdescricao : String

<<entity>>

ControladorEnviarMensagem

ISubsistemaComunicacaoEmail

enviarEmail()

ControladorAceitarSolicitacao

FachadaComunicacaoEmail<<singleton>>

Page 24: HHD – Help the HelpDesk Análise e Projeto Henrique Borges (hbas@cin.ufpe.br) Igor Marques (irlm@cin.ufpe.br) Jobson Ronan (jrjs@cin.ufpe.br)

Projeto de ArquiteturaSubsistema de comunicação por e-mail Diagrama de classesISubsistemaComunicacaoEmail

enviarEmail()

MensagemEmailorigem : Stringdestinatario : Stringdescricao : String

ProtocoloComunicacaoEmail

enviarEmail()

FachadaComunicacaoEmail<<singleton>>

Page 25: HHD – Help the HelpDesk Análise e Projeto Henrique Borges (hbas@cin.ufpe.br) Igor Marques (irlm@cin.ufpe.br) Jobson Ronan (jrjs@cin.ufpe.br)

Projeto de ArquiteturaPacote estatísticas

EstatisticatotalSolicitacoesAtendidas : IntegertempoAtendimentoCompleto : IntegertempoEmFilaDeEspera : IntegertempoEmAtendimento

IRepositorioEstatisticas

CadastroEstatisticas

cadastrarEstatistica() 1

0..*

1

0..*

RepositorioEstatisticasBDR(from persistencia)

Page 26: HHD – Help the HelpDesk Análise e Projeto Henrique Borges (hbas@cin.ufpe.br) Igor Marques (irlm@cin.ufpe.br) Jobson Ronan (jrjs@cin.ufpe.br)

Projeto de ArquiteturaPacote usuarios

Requester Helpernome : Stringcargo : String

Usuariologin : Stringsenha : String

getSenha()

IRepositorioUsuarios<<Interface>>

CadastroUsuarios

procurarUsuario()

1 0..*1 0..*

RepositorioUsuariosDBR(from persistencia)

Page 27: HHD – Help the HelpDesk Análise e Projeto Henrique Borges (hbas@cin.ufpe.br) Igor Marques (irlm@cin.ufpe.br) Jobson Ronan (jrjs@cin.ufpe.br)

Projeto de ArquiteturaPacote solicitacoes

RepositorioSolicitacoesBDR(from persistencia)

IRepositorioSolicitacoes

CadastroSolicitacoes

listarSolicitacoesEmEspera()atualizarSolicitacao()cadastrarSolicitacao()procurarSolicitacao()listarSolicitacoes()

MensagemSolicitacaodescricao

Helper(from usuarios)Solicitacao

setHelper()setRequester()adicionarMensagem()adicionarMensagem()

1 0..*1 0..*

1

0..*

1

-mensagens

0..*

10..1

1

-helper

0..1

Requester(from usuarios)

11

1 -requester

1

Page 28: HHD – Help the HelpDesk Análise e Projeto Henrique Borges (hbas@cin.ufpe.br) Igor Marques (irlm@cin.ufpe.br) Jobson Ronan (jrjs@cin.ufpe.br)

Projeto de ArquiteturaPacote persistencia

RepositorioEstatisticasBDR RepositorioSolicitacoesBDRRepositorioUsuariosDBR

FabricaRepositorio(from uti l)

<<abstract factory>>

IRepositorioEstatisticas(from estatisticas)

<<Interface>>IRepositorioSolicitacoes

(from solici tacoes)

<<Interface>>IRepositorioUsuarios

(from usuarios)

<<Interface>>

FabricaRepositorioBDR

<<cria>> <<cria>> <<cria>>

Page 29: HHD – Help the HelpDesk Análise e Projeto Henrique Borges (hbas@cin.ufpe.br) Igor Marques (irlm@cin.ufpe.br) Jobson Ronan (jrjs@cin.ufpe.br)

Padrões de ProjetoPadrões Estruturais Façade PDCPadrões Criacionais Singleton Abstract Factory Factory Method

Page 30: HHD – Help the HelpDesk Análise e Projeto Henrique Borges (hbas@cin.ufpe.br) Igor Marques (irlm@cin.ufpe.br) Jobson Ronan (jrjs@cin.ufpe.br)

Padrões de ProjetoContexto dos padrões Abstract Factory e Factory Method

CadastroEstatisticas(from estatisticas)

IRepositorioEstatisticas

(from estatisticas)

CadastroSolicitacoes(from solici tacoes)

IRepositorioSolicitacoes

(from solicitacoes)

CadastroUsuarios(from usuarios)

IRepositorioUsuarios

(from usuarios)

FabricaRepositorio(from util)

<<abstract factory>>

<<usa>>

<<usa>><<usa>>

<<cria>>

<<cria>><<cria>>

Page 31: HHD – Help the HelpDesk Análise e Projeto Henrique Borges (hbas@cin.ufpe.br) Igor Marques (irlm@cin.ufpe.br) Jobson Ronan (jrjs@cin.ufpe.br)

Dúvidas???