INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO AMAZONAS TECNOLOGIA EM DESENVOLVIMENTO DE SOFTWARE Sistema de Gestão de Organizações Empresariais Aluno: Domingos Coelho Júnior Orientador: Profº Esp. Marcelo Chamy Machado Roteiro • • • • • • • • • Introdução; Especificação do problema; Objetivos Motivação Metodologia de desenvolvimento; Desenvolvimento; Aplicação; Conclusões; Referências Bibliográficas. Domingos Coelho Júnior Introdução • Informação • Comunicação • Empresa • Comunicação empresarial interna Domingos Coelho Júnior Comunicação Interna • Importância – – – – Conceito Temas Responsáveis Canal de comunicação Domingos Coelho Júnior Comunicação Interna • Falhas – Despreparo de gestores • Comunicar diretrizes e estratégias • Dias perdidos – Falta de motivação dos funcionários • Ausência de feedback • Decisões sem comunicação Domingos Coelho Júnior Comunicação Interna • Boas práticas – Os empregados são parceiros – Os empregados são os melhores porta-vozes – A empresa está inserida em um mercado competitivo Domingos Coelho Júnior Especificação do problema • Ausência de comunicação interna – Problema pequeno • Comunicação falha ou obscura – Chefes não comunicam de forma clara as diretrizes e estratégias • Formalizar decisões • Estabelecer um processo de trabalho Domingos Coelho Júnior Objetivo Geral • Construir uma ferramenta de apoio à comunicação interna para otimizar o acompanhamento das informações em organizações empresariais. Domingos Coelho Júnior Objetivos Específicos • Desenvolver uma tramitação de documentos de maneira eletrônica, evitando a tramitação física. • Gerenciar o envio e o recebimento de mensagens eletrônicas entre os usuários do sistema. • Desenvolver uma agenda eletrônica de compromissos, permitindo gravar compromissos e horários de cada usuário, podendo ser delegada a utilização e atualização de agenda pessoal para um outro usuário. • Permitir a troca de mensagens instantâneas entre os usuários do sistema, através de um mensageiro. Domingos Coelho Júnior Motivação • Software existentes de alto custo e grau de complexidade. • Dificuldade em comunicar-se internamente. • Agregar diversos serviços em uma única ferramenta. Domingos Coelho Júnior Metodologia de desenvolvimento • Linguagem de programação: Visual Basic 2005 • Microsoft .Net Framework 2.0 • SGBD: MySQL • Modelagem: UML • Processo de desenvolvimento: Scrum Domingos Coelho Júnior Ferramentas utilizadas Domingos Coelho Júnior Análise da aplicação • Requisitos funcionais – – – – Tramitação de documentos Mensagem eletrônica Mensagem instantânea Agenda eletrônica • Requisitos não-funcionais – Interface intuitiva e amigável – Evitar cansaço visual Domingos Coelho Júnior Análise da aplicação • Diagrama de casos de uso Domingos Coelho Júnior Modelagem da aplicação • Projeto lógico da base de dados Domingos Coelho Júnior Modelagem da aplicação • Diagrama de classes Domingos Coelho Júnior Arquitetura da aplicação Servidor Cliente Cliente Cliente Domingos Coelho Júnior Cliente Cliente Arquitetura da aplicação Domingos Coelho Júnior Arquitetura da aplicação O MVC baseia-se em 2 princípios fortes: - O Controller Despacha as Solicitações ao Model; - A View observa o Model Domingos Coelho Júnior Arquitetura da aplicação Caso de uso: Cadastrar um novo documento no sistema. Visão Janela de interação com o usuário, com os campos de inserção e regras da camada de apresentação. Domingos Coelho Júnior Arquitetura da aplicação Caso de uso: Cadastrar um novo documento no sistema. Private Sub btnTramitar_Clicou() Handles btnTramitar.Clicou Dim qtde_tramites As Integer = 0 Dim enviados As Integer = 0 'Obtem a quantidade de documentos selecionados For Each linha As DataGridViewRow In Me.grdDocumentos.Rows If linha.Cells.Item(1).Value = True Then qtde_tramites += 1 End If Next 'Verifica se foi selecionado algum documento If qtde_tramites = 0 Then MsgBox("Selecione pelo menos um documento!", MsgBoxStyle.Exclamation, "Sisgoe") Exit Sub End If 'Verifica se foi selecionado o destinatário If Me.cbxDestinatario.SelectedIndex < 0 Then MsgBox("Selecione o destinatário!", MsgBoxStyle.Exclamation, "Sisgoe") Exit Sub End If 'Verifica se foi informado o texto de tramitação If Me.txtTexto.Text.Trim.Length = 0 Then MsgBox("Escreva o texto de tramitação!", MsgBoxStyle.Exclamation, "Sisgoe") Exit Sub End If 'Usa o cursor de espera Me.UseWaitCursor = True 'Chamada a um método da classe controladora que enviará o trâmite Dim enviou As Boolean = Me.oTramite.EfetuarTramite(Me.txtTexto.Text, Me.cbxDestinatario.SelectedValue, Me.chkAcompanhar.Checked, qtde_tramites, Me.grdDocumentos) 'Volta a usar o cursor normal Me.UseWaitCursor = False 'Atualiza a tela de tramitar iniciarTelaTramitar(enviou) End Sub Domingos Coelho Júnior Arquitetura da aplicação Caso de uso: Cadastrar um novo documento no sistema. For Each linha As DataGridViewRow In pGrid.Rows If linha.Cells.Item(1).Value = True Then mensagem.Mensagem = "Tramitando documento " & (enviados + 1) & " de " & qtde_tramites Controlador Valida os dados, efetua as regras de negócios e faz chamada ao model para a inserção dos dados. Me.DocumentoID = linha.Cells.Item(0).Value ' Salvando o tramite If Me.Save(True) Then oDocumento.Read(linha.Cells.Item(0).Value) oDocumento.UsuarioAtual = Me.UsuarioDestino ' Atualizando o usuario atual do documento If oDocumento.Save(False) Then ' Se o usuario desejar acompanhar este documento, ' cadastrar na tabela de acompanhamentos If pAcompanhar Then oAcompanhamento = New clsAcompanhamento oAcompanhamento.DocumentoID = linha.Cells.Item(0).Value oAcompanhamento.UsuarioID = My.Settings.UsuarioAtualID oAcompanhamento.Situacao = "A" If oAcompanhamento.Save(True) Then enviados += 1 Else clsAcesso.CancelarTransacao() mensagem.Close() MsgBox("Problema ao tramitar os documentos. Não foi possível efetuar o cadastramento do acompanhamento." & vbCrLf & "Verifique se você já está acompanhando o processo " & oDocumento.Numero & "/" & oDocumento.Ano & " e tente novamente.", MsgBoxStyle.Critical) EfetuarTramite = False Exit Function End If Else ' O usuario não deseja acompanhar este documento enviados += 1 End If Else ' Não atualizou o usuario atual do documento clsAcesso.CancelarTransacao() mensagem.Close() MsgBox("Problema ao tramitar os documentos. Não foi possível indicar o destinatário.", MsgBoxStyle.Critical) EfetuarTramite = False Exit Function End If Else ' Não salvou o tramite Exit For End If End If Next Domingos Coelho Júnior Arquitetura da aplicação Caso de uso: Cadastrar um novo documento no sistema. Public Function Save(Optional ByVal pNovo As Boolean = False) As Boolean Dim oComando As IDbCommand Dim Resultado As Long Model Insere os dados no banco de dados e efetua o envio dos arquivos anexos ao servidor. oComando = clsAcesso.getNewCommand oComando.CommandType = CommandType.StoredProcedure If pNovo Or Me.ID = 0 Then oComando.CommandText = _spInsert AdicionaParametro(oComando, "ID", TipoDeDados.Longo, Me.ID, ParameterDirection.Output) pNovo = True Else oComando.CommandText = _spAtualiza AdicionaParametro(oComando, "ID", TipoDeDados.Longo, Me.ID, ParameterDirection.Input) End If AdicionarParametros(oComando) Try Resultado = clsAcesso.ExecutaComando(oComando) Catch ex As Exception Resultado = False clsErro = ex.Message End Try If (Resultado) And (pNovo) Then Me.ID = oComando.Parameters(0).Value End If Save = Resultado oComando = Nothing If Resultado Then Me.AfterSave(pNovo) End If End Function Domingos Coelho Júnior Arquitetura da aplicação Caso de uso: Cadastrar um novo documento no sistema. DELIMITER $$ DROP PROCEDURE IF EXISTS `sisgoe`.`Documento_Insert` $$ CREATE DEFINER=`root`@`localhost` PROCEDURE `Documento_Insert`( IN UsuarioEntrada INTEGER, IN Numero INTEGER, IN Ano INTEGER, IN DataHoraEntrada DATETIME, IN DocumentoOrigem VARCHAR(100), IN Assunto VARCHAR(100), IN Detalhamento VARCHAR(1000), IN UsuarioAtual INTEGER, IN TipoDocumentoID INTEGER, OUT ID INT ) BEGIN INSERT INTO tabDocumento (docDocumentoID, docUsuarioEntrada, docNumero, docAno, docDataHoraEntrada, docDocumentoOrigem, docAssunto, docDetalhamento, docUsuarioAtual, docSituacao, docTipoDocumentoID) VALUES(NULL, UsuarioEntrada, Numero, Ano, DataHoraEntrada, DocumentoOrigem, Assunto, Detalhamento, UsuarioAtual, 'A', TipoDocumentoID); SET ID=@@identity; INSERT INTO tablistadocumento (lisListaDocumentoID, lisDocumentoID, lisUsuarioID) VALUES(NULL, ID, UsuarioEntrada); END $$ DELIMITER ; Domingos Coelho Júnior Aplicação SISGOE Domingos Coelho Júnior Conclusões • Importância estratégica da comunicação interna • Tecnologias utilizadas se mostraram viáveis • Ferramenta que auxiliará empresas na concepção ou automatização de processos de comunicação interna Domingos Coelho Júnior Trabalhos futuros • Gerência eletrônica de documentos • Workflow • Mensagens para grupo de usuários • Pastas de mensagens • Conferências por voz • Alerta de compromissos Domingos Coelho Júnior Referências bibliográficas • AMBLER, Scott W. Modelagem Ágil: Praticas eficazes para a programação eXtrema e o Processo Unificado. Porto Alegre, 2004. Editora Bookman. • CASTRO, Izabel Cristina Andion; MOREIRA, Albert Menezes. Metodologias de desenvolvimento: um comparativo entre extreme programming e rational unified process. 2007. Faculdade Rui Barbosa. • CHAPELL, R. T. & READ, W.L. Comunicação interna na empresa moderna. Rio de Janeiro, 1973. Forum Editora. • CLEMEN, Paulo. Como implantar uma área de comunicação interna. Rio de Janeiro, 2005. Mauad. • COCKBURN, Cockburn, A.; e HIGHSMITH, J. Agile Software Development: The Business of Innovation. 2001. Editora IEEE Computer. • COSTA FILHO, Edes Garcia da; PENTEADO, Rosângela Aparecida Delloso; SILVA, Júnia Coutinho Anacleto; BRAGA, Rosana Teresinha Vaccare. Padrões e Métodos Ágeis: agilidade no processo de desenvolvimento de software. Campos do Jordão, 2005. • DA COSTA, Carlos Eduardo. Sistemas de Gestão Empresarial. 2007. Centro Universitário Leonardo da Vinci. Domingos Coelho Júnior Referências bibliográficas • GUIMARÃES LEITE, Quézia de Alcântara. A importância da Comunicação Interna nas organizações. 2006. Disponível em: <http://www.universia.com.br/docente/materia.jsp?materia=10790>. Acesso em 04 de out. 2009. • MACORATTI, José Carlos. VB 2005 - Criando um Chat com Winsock. Disponível em: <http://www.macoratti.net/07/12/vbn5_chat.htm>. Acesso em 12 de dez. 2008. • MACORATTI, José Carlos. .NET - Usando a comunicação Cliente - Servidor com sockets. Disponível em: <http://www.macoratti.net/net_soc1.htm>. Acesso em 12 de dez. 2008. • MARINS, Luis. Os desafios da comunicação interna e da motivação na empresa brasileira. 2007. Disponível em: <http://colunistas.portalradar.com.br/post/Os-desafios-da-comunicacaointerna-e-da-motivacao-na-empresa-brasileira.aspx>. Acesso em 04 de out. 2009. • MATSUDA, Kelcy. Teoria dos sistemas. Disponível em: <http://sites.mpc.com.br/gberaldo/Teoria%20dos%20sistemas.pdf>. Acesso em 11 de ago. 2009. • PINHO, J.B. Comunicação nas organizações. Viçosa/MG, 2006. Editora Universidade de Viçosa. • SCHWABER, Ken. Agile Project Management with Scrum. 2004. Editora Microsoft Press. Domingos Coelho Júnior Referências bibliográficas • SMITH, John. A Comparison of the IBM Rational Unified Process and Extreme Programming. 2003. Rational Software White Paper. Disponível em: <http://www3.software.ibm.com/ibmdl/pub/software/rational/web/whitepapers/2003/TP167.pdf>. Acesso em 21 de out. 2009. • SOARES, Michel dos Santos. Comparação entre Metodologias Ágeis e Tradicionais para o Desenvolvimento de Software. 2005. Disponível em: <http://www.dcc.ufla.br/infocomp/artigos/v3.2/art02.pdf>. Acesso em 01 de nov. 2009. • SOARES, Michel dos Santos. Metodologias Ágeis Extreme Programming e Scrum para o Desenvolvimento de Software. 2004. Revista Eletrônica de Sistemas de Informação. Disponível em: <http://revistas.facecla.com.br/index.php/reinfo>. Acesso em 21 de out. 2009. • WIKIPÉDIA. Microsoft .Net. Disponível em: <http://pt.wikipedia.org/wiki/Microsoft_.NET>. Acesso em 25 de ago. 2008. • WIKIPÉDIA. Visual Basic. Disponível em: <http://pt.wikipedia.org/wiki/Visual_Basic>. Acesso em 25 de ago. 2008. • WIKIPÉDIA. Microsoft Visual Studio. Disponível em: <http://pt.wikipedia.org/wiki/ Microsoft_Visual_Studio>. Acesso em 25 de ago. 2008. Domingos Coelho Júnior INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO AMAZONAS TECNOLOGIA EM DESENVOLVIMENTO DE SOFTWARE Sistema de Gestão de Organizações Empresariais Aluno: Domingos Coelho Júnior Orientador: Profº Esp. Marcelo Chamy Machado Questionamentos Domingos Coelho Júnior