Baixe o app para aproveitar ainda mais
Prévia do material em texto
CENTRO TECNOLÓGICO POSITIVO DIEGO RAMOS DE PAULA JAQUELINE SILVA DE OLIVEIRA WILLIAN DOUGLAS GOBBI CALLWORK - SISTEMA DE CONTROLE DE CHAMADOS CURITIBA 2017 DIEGO RAMOS DE PAULA JAQUELINE SILVA DE OLIVEIRA WILLIAN DOUGLAS GOBBI CALLWORK - SISTEMA DE CONTROLE DE CHAMADOS Trabalho apresentado ao Programa de Aplicação Profissional do Curso Superior de Tecnologia em Analise e Desenvolvimento de Sistemas do Centro Tecnológico da Universidade Positivo. Orientador: Prof. Evandro Zatti CURITIBA 2017 TERMO DE ANUÊNCIA Pelo presente Termo de Anuência, declaro estar de pleno acordo com as informações contidas neste projeto, o qual se apresenta apto a ser entregue à banca examinadora. Orientador: Prof.° Evandro Zatti Centro Tecnológico Positivo _______________________________________ Assinatura do Professor Orientador Curitiba, 01 de julho de 2017. TERMO DE APROVAÇÃO DIEGO RAMOS DE PAULA JAQUELINE SILVA DE OLIVEIRA WILLIAN DOUGLAS GOBBI CALLWORK Projeto de Intervenção Profissional apresentado ao Programa de Aplicação Profissional, do Curso de Tecnologia em Análise e Desenvolvimento de Sistemas, do Centro Tecnológico Positivo, pela seguinte banca examinadora: Orientador: __________________________ Prof.° Evandro Zatti Centro Tecnológico Positivo __________________________ Prof.ª Rafaela Otemaier Centro Tecnológico Positivo Curitiba, 01 de julho de 2017. AGRADECIMENTOS Gostaríamos de agradecer todos os nossos familiares que nos apoiaram e entenderam a importância que esse projeto terá em nossas vidas. Agradecemos também ao Jaime Markovicz, pela grande colaboração para este projeto, no qual acreditamos que não teria a sua realização sem a sua paciência e determinação em nós ajudar. Também devemos agradecer todos os professores que passaram nessa nossa jornada e que contribuíram para nossos conhecimentos e experiencias, em especial os professores Douglas Barcelos e Emmanuel Alencar, que nos forneceram informações de grande valor para toda a equipe, através de conversas construtivas. Não devemos esquecer do nosso orientador, o Evandro Zatti, que nos apoiou e colaborou em nossas necessidades. RESUMO Este documento visa apresentar o projeto de intervenção tecnológica, pertencente ao Programa de Aplicação Profissional do Centro Tecnológico Positivo, aonde a análise e o desenvolvimento de um sistema é demonstrado. O sistema deve atender a um órgão público, que precisa controlar os problemas ocorridos na organização, para que se possa tomar medidas de decisões. O órgão não possui qualquer sistema para esse fim e realizando a analise, a solução encontrada foi de um sistema web que gerencie e demonstre cada problema que ocorra, sendo assim organizando-os e apresentando aos usuários adequados para a resolução do mesmo. Com a análise e os requisitos do cliente, esse sistema foi modelado em diagramas e traduzido para uma linguagem que pudesse atender as necessidades da organização. Então desenvolveu-se um sistema simples e usual para sistematizar as ocorrências que aparecem diariamente, buscando atender com maestria uma situação antes precária. Palavras-chave: Ocorrências; Órgão público; Analise; Sistematizar; Problemas; Gestão; ABSTRACT This document aims to present the project of technological intervention, belonging to the Professional Application Program of the Positivo Technological Center, where the analysis and development of a system is demonstrated. The system must attend to a public agency, which must control the problems that have occurred in the organization so that it can take decision measures. The organization does not have any system for this purpose and the analysis, the solution found was a web system that manages and demonstrates every problem that occurs, thus organizing and presenting to the appropriate users for the resolution of the same. With customer analysis and requirements, this system was modeled on diagrams and translated into a language that could meet the needs of the organization. Then a simple and usual system was developed to systematize the occurrences that appear daily, seeking to master in a precarious situation. Keywords: Occurrences; Public Agency; Analysis; Systematize; Issues; Management LISTA DE ILUSTRAÇÕES FIGURA 1 – ETAPAS DO MODELO CASCATA. 15 FIGURA 2 – PROCESSO ATUAL DE CHAMADO 28 FIGURA 3 - DIAGRAMA DE CASOS DE USO 34 FIGURA 4 - CASO DE USO UC01 35 FIGURA 5 - PROTÓTIPO DE TELA DE NOVO CHAMADO 37 FIGURA 6 - CASO DE USO UC02 37 FIGURA 7 - PROTÓTIPO DE TELA DE CHAMADOS EM ABERTO 40 FIGURA 8 - PROTÓTIPO DE TELA DE CHAMADO EM ATENDIMENTO 41 FIGURA 9 - CASO DE USO UC04 41 FIGURA 10 - PROTÓTIPO DE TELA DE NOVO USÚARIO 43 FIGURA 11 - DIAGRAMA DE FLUXO DE DADOS - NIVEL 0 44 FIGURA 12 - DIAGRAMA DE FLUXO DE DADOS - NIVEIS 1 E 2 45 FIGURA 13 - DIAGRAMA DE ENTIDADE-RELACIONAMENTO 46 FIGURA 14 - DIAGRAMA DE IMPLANTAÇÂO 47 LISTA DE TABELAS TABELA 1 - PAPÉIS DE CADA INTEGRANTE DA EQUIPE 30 TABELA 2 - FUNCIONALIDADE 32 TABELA 3 - USUALIDADE 32 TABELA 4 – CONFIABILIDADE 33 TABELA 5 - EFICIÊNCIA 33 TABELA 6 - PORTABILIDADE 33 TABELA 7 - MANUTENIBILIDADE 34 LISTA DE SIGLAS ABPMP Associação de Profissionais de BPM BPM Business Process Management BPMN Business Process Model and Notation DFD Diagrama de Fluxo de Dados HTML Hypertext Markup Language IDE Integrated Development Environment SGDB Sistema Gerenciador de Banco de Dados PHP Hypertext Preprocessor UML Unified Modeling Language INTRODUÇÃO Este trabalho visa apresentar o desenvolvimento e possível implantação de um sistema que contribua no controle de cada possível problema que possa ocorrer, de um determinado órgão público situada em Araucária, Paraná. O órgão público consiste em 11 vereadores com seus gabinetes contendo 4 assessores e 3 estagiários, além disso ainda possui concursados em diversas áreas e os vigilantes. A parte técnica fica responsável por manter os problemas, que aparecem no decorrer do expediente, solucionados para todas as pessoas e áreas envolvidas. Atualmente a organização não possui qualquer sistema ou controle em suas resoluções dos problemas ocorridos. A carência de um sistema de controle dos problemas acaba deixando sem saber quando que cada ação é tomada para a solução da ocorrência. Não se sabe o técnico que a realizou tão bem quem a solicitou. Um dos problemas ocorridos é de sobrecarga ao técnico, que as vezes recebe inúmeras requisições, e por ventura acaba que se esquecendo de algumas. E isso acaba gerando atrito entre solicitante e solucionador. Sem contar a questão de que pode haver casos de que uma determinada situação é mais prioritária que a outra. As organizações precisam ter estratégias que facilitem o controle e gerenciamento de tudo que ocorrem. Com a necessidade da organização, foram realizada análise e proposto um sistema que permita gerenciar e monitorar cada situação problemática. O sistema busca permitir a inserção do problema de forma clara e concisa pelo solicitante, para que o solucionador saiba como ir até a causa raiz e soluciona-la. A implantação do sistema visa reduzir o tempo de espera e desentendimentos das situações corriqueiras. Também propõem designar os técnicos certo para o caso. FUNDAMENTAÇÃO TEÓRICA Os benefícios das tecnologias da informação estão cada dia mais indispensáveis tanto para as empresas quanto para pessoas. E para desenvolver um sistema é preciso muito mais do que o conhecimento sobre a linguagem a ser utilizada, é preciso conhecer técnicas que lhe auxiliarão em sua elaboração. Pois para construir um sistema quese molde nas necessidades da empresa deve-se levar em conta todos os detalhes aonde o sistema irá ser implantado. CICLO DE VIDA Modelos de ciclo de vida descrevem as etapas do processo de desenvolvimento de sistemas e as atividades a serem realizadas em cada etapa. A definição dessas etapas e atividades possibilitam controle para avaliação da qualidade e gerência do projeto. Estes “modelos de ciclo de vida” ou “modelos de processos” são tipicamente produzidos a partir de uma perspectiva de que poderão existir vários modelos para o mesmo processo. Nenhum modelo é capaz de dar uma visão completa de um determinado processo. Um dos modelos existente é o modelo em cascata, que foi escolhido para este projeto. Este consiste basicamente num modelo linear em que cada passo deve ser completado antes que o próximo passo possa ser iniciado, foi o primeiro modelo a ser conhecido em engenharia de software e está na base de muitos ciclos de vida utilizados nos dias de hoje. A adoção deste modelo requer os requisitos bem definidos, uma vez que o projeto segue pelas etapas e não pode haver retorno, sendo assim qualquer mudança pode ser prejudicial para o projeto. De acordo com Pressman (2011), o modelo em cascata pode ser dividido em 5 fases. FIGURA 1 – ETAPAS DO MODELO CASCATA. FONTE: ADAPTADO PRESSMAN(2011). Essas fases que fazem parte do processo são: Comunicação: É a fase inicial do projeto, assim como o nome sugere, a comunicação com o cliente para levantar todos os requisitos possíveis. Essa fase pode ser considerada a mais crucial de todas, aqui todos os requisitos devem ser detalhados e bem definidos, pois todas as etapas seguintes dependerão do que foi abordado aqui. Se assim não for, pode ocorrer sérios problemas na estrutura e conclusão do projeto. Planejamento: Após a etapa anterior com todos os requisitos prontos e definidos, é iniciado o planejamento. O planejamento consiste em abordar detalhes como o tempo de entrega final ao cliente e cronogramas de desenvolvimento. Aqui também podemos definir tecnologias utilizadas ao longo do projeto como a linguagem de programação e o ambiente de desenvolvimento. É abordado possíveis falhas que poderão ocorrer no processo do projeto. Modelagem: Nesta etapa é modela os requisitos levantados na primeira fase que ajudarão o cliente e o desenvolvedor a terem um melhor entendimento de como o sistema será em sua construção e conclusão. Construção: Esta etapa consiste na tradução de toda a modelagem criada na etapa anterior para uma linguagem. Também são feitos teste que revelam erros na codificação. Implantação: A última etapa é o funcionamento de todo o sistema planejado e já implantado para uso. Aqui é realizado o feedback do cliente quanto a sua satisfação do sistema que lhe foi entregue. Podemos também colocar ajustes a bugs e erros não detectados anteriormente. GESTÃO DE PROJETOS Gestão de projetos, segundo o PMBOK (PMI, 2004), ”o gerenciamento de projetos é a aplicação de conhecimento, habilidades, ferramentas e técnicas às atividades do projeto afim de atender aos seus requisitos”. Aplicando as técnicas de gestão, os riscos de fracasso que eventualmente ocorrem no processo de desenvolvimento do sistema acabam drasticamente diminuindo, quando se gerência todo o projeto, pois sem um planejamento adequado, o projeto tende a afundar em incerteza de como deve se seguir. Gerenciando o projeto ganha-se tempo, qualidade, redução de custos, uma vez que definido os processos, obtém-se a chance de sua conclusão. De acordo com PMBOK (PMI, 2004, p.9), é citado nove áreas que podem ser gerenciados. Uma delas é gerência de requisitos, que define as necessidades que o sistema deve atender, e é de extrema importância, uma vez que um mal compreendimento das especificações transmitida pelo cliente pode acabar em um sistema sem o proposito que lhe foi concebido. Cada detalhe é minuciosamente, a modelagem de como o sistema se tornará em sua implantação. A gerência de requisitos pode ser incluída dentro do gerenciamento de escopo, que anseia determinar somente aquilo que se julga necessário para a conclusão do projeto, eliminando trabalhos que são desnecessários. Ainda há o gerenciamento do tempo levado para o desenvolvimento, assim como os custos que o cliente deverá arcar. Podemos também gerenciar a qualidade, especificando a performance e realização das necessidades do cliente. Aqui pode ser incluído a questão de cumprimentos de prazos e satisfação final do sistema. Entre as gerências, está também o de recursos humanos, que faz a gestão da equipe envolvida no projeto, delegando a produtividade para cada um. A gerência de comunicações descreve o objetivo em plantar todas as informações que ocorrem no projeto sendo por parte da equipe quanto a parte do cliente, havendo clareza e transparência. Como todo projeto tem riscos, é necessário gerencia-los, para se assegurar que possam ser tomadas decisões para evita-los. Com uma visão ampla para o desenvolvimento, o gerenciamento da integração foca no processo de identificação da estrutura do projeto como um todo. E por fim, tem a gestão de aquisições, que abrange as necessidades de aquisições de produtos que serão necessários para o andamento do projeto. E com relação aos estudos das gerencias de projeto, optamos por adotar o uso das gerências descritas para que o projeto flua de forma que satisfaça o cliente e a equipe no final do mesmo. GERENCIAMENTO DE PROCESSOS Para este projeto, aderimos o uso do Business Process Management (BPM) que segundo a Associação de Profissionais de BPM (ABPMP), a definição pode ser: BPM é uma abordagem metodológica para identificar, desenhar, executar, documentar, medir, monitorar e controlar processos, automatizados ou não, para alcançar resultados consistentes e alinhados com os objetivos estratégicos. Permite a melhoria tanto das atividades de uma determinada área, entre áreas ou entre organizações. O objetivo dessa modelagem, é tornar o processo mais eficiente, focando em melhorarias do negócio. Ou seja, analisando o processo atual como ele é (As Is), e como ele vai ser após a sua implantação (To Be). Sabendo como é agora, obtém-se a clareza para gerar um planejamento mais robusto para como será. O uso dessa modelagem irá beneficiar nas transparências em todas as etapas do processo, assim como um maior controle do que está sendo realizado, aumentando a produtividade e reduzindo os custos finais. Toda a modelagem do processo é feita por notações, o Business Process Modeling Notation (BPMN) ou Notação de Modelagem de Processo de Négocio. MODELAGEM UML A UML (Unified Modeling Language) é uma linguagem padrão para modelagem orientada a objetos. Ela surgiu da fusão de três grandes métodos, do BOOCH, OMT (Rumbaugh) e OOSE (Jacobson). Esta linguagem não é um método de desenvolvimento, ela apenas tem como papel auxiliar a visualizar o desenho e a comunicação entre objetos. Ela permite que desenvolvedores visualizem os produtos de seu trabalho em diagramas padronizados, e é muito usada para criar modelos de sistemas de software. A UML utiliza-se de um conjunto de técnicas de notação gráfica para criar modelos visuais de software de sistemas intensivos, combinando técnicas de modelagem de dados, negócios, objetos e componentes. É uma linguagem de modelagem única, comum e amplamente utilizável. Embora com a UML seja possível representar o software através de modelos orientados a objetos, ela não demonstra que tipo de trabalho deve ser feito, ou seja, não possui um processo que define como o trabalho tem que ser desenvolvido. O objetivo então é descrever "o que fazer", "como fazer", "quando fazer" e "porque deve ser feito". É necessária a elaboração completa de um dicionário de dados, para descrever todas as entidades envolvidas, refinando, com isso, os requisitos funcionais do software. A Linguagem Unificada de Modelagem possui diagramas que são usados em combinação, com a finalidade de obter todas as visões e aspectosdo sistema. Os Diagramas da UML estão divididos em: Estruturais: Classe, Objeto, Componentes, implantação, Pacotes e Estrutura; Comportamentais: Caso de Uso (Use Case), Máquina de Estados, Atividades e Interação. CASOS DE USOS Tem como objetivo auxiliar a comunicação entre os analistas e o cliente. Descreve um cenário que mostra as funcionalidades do sistema do ponto de vista do usuário. O cliente deve ver no diagrama de Casos de Uso as principais funcionalidades de seu sistema. O diagrama de Caso de Uso é representado por: Atores: é representado por um boneco e um rótulo com o nome do ator. Um ator é um usuário do sistema, que pode ser um usuário humano ou um outro sistema computacional. Casos de uso: Um caso de uso é representado por uma elipse e um rótulo com o nome do caso de uso. Um caso de uso define uma grande função do sistema. A implicação é que uma função pode ser estruturada em outras funções e, portanto, um caso de uso pode ser estruturado. DIAGRAMA DE FLUXO DE DADOS O diagrama de fluxo de dados (DFD) tem o objetivo de apresentar o fluxo que os dados percorrem pela visão do sistema. Esses dados são demonstrados em entradas e saídas por seus caminhos que percorrem dentro da aplicação. O DFD pode ter vários níveis de detalhamento conforme a complexidade do sistema e o nível mais alto é o nível 0, que apresenta as principais funções do sistema. Mas caso não fique claro a intenção de cada funcionalidade, níveis são criados para aperfeiçoar a função. LEVANTAMENTO DE REQUISITOS O levantamento de requisitos é o início e uma das partes mais cruciais em um projeto que levará no desenvolvimento de um sistema. Cada detalhe extraído, seja por pesquisas, entrevistas ou brainstorms é de vital importância e esses requisitos obtidos são uma leve descrição de como o sistema se moldará em seu desenvolvimento. Os requisitos devem ser detalhados e não se contradizer com outro. Mas saber extrair os detalhes é fundamental para abranger com excelência as necessidades do cliente. Muitas vezes ele até sabe o que deseja, mas não sabe como transmitir com clareza para o analista. Que deve saber compreender e dominar o problema para que o projeto obtenha sucesso. Por isso o analista deve se submeter ao problema e aplicar uma solução viável para o mesmo. Os requisitos são divididos em funcionais e não funcionais. Sendo funcionais aquelas que devem o sistema realizar competentemente, e os não funcionais aqueles que se referem a recursos como tempo de espera, espaço de armazenamento e afins. Ainda também existem os requisitos de produto, que apresentam estruturas técnicas como segurança e desempenho e os requisitos de negócio que definem os termos de negócio, tempo de entrega e outros. Como adotamos o modelo em cascata para o desenvolvimento do sistema, todos os requisitos foram levantados no início do projeto e detalhados de acordo com as necessidades do cliente. TECNOLOGIAS UTILIZADAS Para o desenvolvimento deste projeto são necessárias algumas tecnologias, segue abaixo: PHP 7 As linguagens de programação são o meio de transmitir para computadores regras que eles devem executar. Cada linguagem tem suas características e diferenças em relação a outra, tornando-as ideias para cada situação. A linguagem adotada nesse projeto foi o PHP (Hypertext Preprocessor), uma das linguagens mais importante para desenvolvimento de sistema para internet, pois sua estrutura é bem simples para o desenvolvedor e possui recursos avançados. Os scripts em PHP são processados no servidor e enviados para o navegador através de arquivos HTML (HyperText Markup Language). Originalmente o PHP é uma linguagem procedural, mas com a sua evolução ela passou a suportar também a orientação a objetos. Mesmo com todos os benefícios de se utilizar uma linguagem orientada a objetos, foi optado usar o PHP na forma estruturada. Netbeans IDE Desenvolvido pela Oracle, é um ambiente de desenvolvimento open source para diversas linguagens (Java, C, C++, Ruby, PHP e outras). Sua interface é intuitiva e simples, mas com funções uteis e necessárias. Foi adotada essa IDE pela familiaridade e sua facilidade na criação de projetos, além disso também por sua integração com a tecnologia GIT. Bootstrap Framework front-end desenvolvido pela equipe do Twitter que auxilia os desenvolvedores a criarem páginas web responsivo para todos os tipos de telas. Github GIT é uma ferramenta de controle de versão e gerenciamento de códigos fontes que pode ser compartilhado para que outros desenvolvedores contribuem com o projeto. Um desses sistema, é o GitHub, sua interface apesar de ser em inglês, é bem simples de usar. Os desenvolvedores vão atualizando cada arquivo que está no repositório e automaticamente todos são informados, assim todos trabalham sabendo o que cada um está realizando. Astah Community O Astah é um software para modelagem de diagramas UML. Foi desenvolvido no Japão e é utilizado por grandes empresas como Amazon, Oracle e Google. Bizagi Modeler É uma ferramenta de Business Process Model and Notation (BPMN) de criação de diagramas e fluxogramas. A ferramenta também permite trabalhar em colaboração nos projetos criados, ajudando ou recebendo conselhos de outros usuários. Sistema gerenciador de banco de dados Possuir uma base de dados atualmente se tornou indispensável, por mais indiferente que o tamanho da empresa seja, cada uma delas precisa armazenar informações e dados. E para que isso aconteça foi criado o sistema gerenciador de banco de dados, que segundo Date (2003, p.15), é “uma coleção de programas que permitem aos usuários criarem e manipularem uma base de dados. Um SGBD é, assim, um sistema de software de propósito geral que facilita o processo de definir, construir e manipular bases de dados de diversas aplicações. ” E como neste projeto também possui a necessidade de persistir os dados, foi optado por usar um SGDB open source, o MySql que é altamente compatível com a linguagem PHP que é usada nesse projeto. KanbanFlow Ferramenta de gerenciamento de atividades, aonde pode-se definir tarefas para outros usuários usando o método Kanban, que consiste no conceito japonês de colocar cartões colado em um mural indicando seu status atual. E essa ferramenta aplica de modo online eficientemente esse conceito. Sua utilização é gratuita (Possui versão paga também) e corresponde com a necessidade de cada atividade para o modelo em cascata definido para o projeto. ORGANIZAÇÃO CLIENTE A organização cliente do projeto, é um órgão público com o nome fantasia de CMA, e está situada na cidade de Araucária, na Rua Irmã Elizabeth Werka, 55. Para contato pode usar o e-mail: cma@camaraaraucaria.pr.gov.br e o telefone: (41) 3641-5200. O órgão público é responsável pela competência legislativa, onde estão os vereadores, que participam no processo de formação das leis do município. Ainda possui a parte fiscalizadora da administração municipal, a parte julgadora, que julgam as ações do prefeito e pôr fim a parte administrativa que garantem o funcionamento de todas os setores da organização. A CMA congrega 11 vereadores em seus gabinetes, aonde cada gabinete é de responsabilidade de 4 assessores, que por sua vez possuem 3 estagiários. Ainda compõem também a parte administrativa com concursados em diversas áreas. Podemos incluir a parte da diretoria e os parlamentares. Na estrutura da organização, possui a parte técnica que é responsável por solucionar os problemas técnicos que ocorrem. Os problemas são repassados aos técnicos, que buscam soluciona-los o mais rápido possível. DIAGNÓSTICO DO AMBIENTE Como especificado anteriormente, os problemas que eventualmente ocorrem na organização, não possuem qualquer controle, cada ação tomada pelo solucionador, não é de sabedoria das partes interessadas. Somente quem solicitou o técnico para o problema, saberá se foi sanado ou não. A equipe de técnicos tem de solucionar todos osproblemas referentes aos componentes eletrônicos como computadores, audiovisual e telefonias, assim como os cabeamentos. Esses componentes estão distribuídos em todos os setores. Todos os problemas que ocorrem, são descritos na forma de telefonemas ou diálogos pessoalmente. Somente quem solicitou e o técnicos ficam ciente do processo. Salvo exceções aonde um problema de larga escala é de sabedoria de todos os afetados. Com o problema descrito para o técnico, o mesmo tenta soluciona-lo o mais rápido possível. Como informado, atualmente não possui nenhum meio de controle dos problemas, as informações ficam na mente do técnico podendo lembra-las ou não se foram solucionados. Nem é possível saber se o técnico é o mais indicado para a devida situação, pois o solicitante pode chamar quem lhe convém, sabendo por experiencia previa que o mesmo é capaz de solucionar. Um dos problemas que pode ser identificado é da sobrecarga que um técnico pode ter, pois múltiplas requisições são feitas, além do tempo de espera por parte do solicitante. Outra importância notável, é por parte do chefe não saber quais os problemas que estão em ocorrência, tão pouco em quais cada técnico esta focado. Também não é possível saber por meios legais se o técnico está produtivo ou não, ficando difícil manter o controle para tomada de decisões. Outro problema comum é uma ocorrência não poder ser solucionado dentro do prazo do expediente, sendo passível de esquecimento no outro dia trabalhado e mais uma vez o solicitante tendo de repetir todo o processo de novo. Levando em conta todos os problemas identificas, foi utilizado o gerenciamento de processos de negócios, o BPM, com analise e mapeamento no modelo 5W + 1H. Essa analise pode ser vista abaixo: What? (O que?) – Sistema de controle de chamados; Who? (Quem?) – Administradores, Diretores, Coordenadores, Chefes de setores e seus funcionários pelo auxilio técnico, e os técnicos pela solução do problema; Where? (Onde?) – Na CMA; Why? (Por que?) – Para melhorar o processo de comunicação e agilidade dos problemas ocorridos, além do monitoramento e organização; When? (Quando?) – Dependendo de cada situação problematica; How? (Como?) – Os diretores, coordenadores, chefes de setores e os funcionários entram com um pedido de auxilio técnico, descrevendo com clareza o problema, para assim o técnico receber a solicitação e poder ir a raiz do problema e soluciona-lo. Com base nesse levantamento, houve a elaboração dos seguinte fluxo de atividade: FIGURA 2 – PROCESSO ATUAL DE CHAMADO FONTE: Os autores (2017) Na figura 2, foi apresentado o processo que atualmente é realizado, aonde podemos notar que o problema fica em espera até que o algum técnico atenda a ligação. Esse processo é bem simples e somente nos mostra o quanto é necessário ter um controle maior para a situação, para que o solicitante não fique preso na chamada do técnico. OBJETIVOS Com base em todo o levantamento junto ao cliente, o objetivo que deve ser alcançado com este projeto, é melhorar o processo de chamados aos problemas que eventualmente ocorrem. Por meio do ciclo de vida em cascata, junto as técnicas de gestão de projeto e gerenciamento dos processos, será entregue um sistema que facilite a comunicação entre os solicitantes e os técnicos, bem como registrar cada ação do processo de atendimento. Com o sistema implantado, busca-se diminuir o tempo de espera pelo atendimento, assim como detalhar o problema de forma clara para que o técnico especializado para aquela situação possa agir de forma correta. Também é notável dizer que os problemas terão um nível de prioridade, sendo resolvidos em primeira ordem. Busca-se também o monitoramento por parte dos chefes responsáveis pelos técnicos, sabendo qual problema está sendo resolvido no momento e qual técnico está envolvido. Mostrar rendimentos dos processos de atendimento em formas de gráficos e estáticas ajudará todos a terem uma noção de progresso por parte dos atendimentos. Além de detalhes de funcionalidades, é desejável entregar um sistema que atenda os limites de hardware da organização. Além de que seu principal objetivo seja rodar em browsers de computadores, que rode de maneira fluida e visualmente agradável em navegadores de smartphones. E por fim, o objetivo maior, é de que todos sintam-se confortáveis em usar o sistema e que satisfaça o cliente e todos os usuários que irão utiliza-lo. DESENVOLVIMENTO O planejamento deste projeto primeiramente iniciou em uma conversa por meio de brainstorm, abordando ideias e soluções para controlar o processo de chamado de eventuais problemas que ocorram. A equipe já possuía a ideia de desenvolver e implementar esse sistema em alguma corporação que necessitasse. No início de 2017, teve a optação por uma organização governamental que justamente tinha essa necessidade. Em uma reunião com o cliente, foi exposto a ideia do projeto, aonde o mesmo destacou a real necessidade que esse sistema e a sua importância teria para a organização. Com a reunião em andamento houve a coleta e granularidade de pontos para o levantamento de requisitos. Cada detalhe observado foi útil para entender e mapear o processo na sua atualidade. Para o desenvolvimento do sistema, foi discutido e definido papeis para cada integrante da equipe, para que houvesse uma melhor organização e rendimento. Apesar da divisão, cada integrante auxiliou o outro em casos de necessidades. Essa divisão pode ser vista na tabela abaixo: NOME: PAPEL ATRIBUIDO Diego Ramos Gerente de projeto, Programador Jaqueline Silva Analista de sistemas, Documentação Willian Douglas Analista de sistemas, Programador TABELA 1 - PAPÉIS DE CADA INTEGRANTE DA EQUIPE FONTE: Os autores (2017). As atribuições dos papeis, foi distribuída levando em conta as qualidades de cada integrante da equipe. Como observado na tabela os papeis, ficou a cargo do gerente de projeto (Diego) definir o escopo do projeto para que os analistas (Jaqueline e Willian) fizessem a análise e modelagem através de documentos que seriam indispensáveis para o desenvolvimento. Como o projeto na sua essência é relativamente pequeno, foi definido a melhor solução para seu desenvolvimento e implementação, adotando o ciclo de vida em cascata. Como esse modelo é restrito em suas fases, reuniões constantes internas ou com o cliente, foram realizadas na medida que foram sendo necessárias, passando assim para a próxima fase quando a atual esteja de acordo com todos os envolvidos. Para um aprofundamento melhor do projeto, veja o apêndice C. ESPECIFICAÇÃO DOS REQUISITOS DO PROJETO Os requisitos do sistema foram classificados como: Funcionalidade – a finalidade do produto; Usabilidade – facilidade de aprendizado por parte do usuário; Confiabilidade – frequência de falhas e erros; Eficiência – desempenho favorável em seu uso; Portabilidade – facilidade de modificação; Manutenibilidade – capacidade de migração para outros ambientes. Com base nesses requisitos, a descrição é apresentada em cada tabela, a seguinte legenda: Prioridade ME – Média para baixa importância MU – Muita importância E – Essencial importância Fonte de identificação de Requisitos C – Cliente A – Analista Os requisitos do projeto podem ser vistos nas tabelas abaixo: Características de qualidade – Funcionalidade # Descrição do requisito Prioridade Fonte F – 1 Autenticar usuário E C F – 2 Cadastrar usuário E C F – 3 Inserir chamado E C F – 4 Listar chamados MU C F – 5 Atender chamado E C F – 6 Gerar relatórios ME A F – 7 Alterar senha ME A F – 8 Cadastrar setor E C F – 9 Cadastrar especialidades E C F – 10 Listar chamados atendidos MU C F – 11 Atribuir chamado ao técnico ME C F – 12 Excluir usuários inativos MU A TABELA 2 - FUNCIONALIDADE FONTE: Os autores (2017) Características dequalidade – Usualidade # Descrição do requisito Prioridade Fonte U – 1 Facilidade de uso ME C U – 2 Segurança E C U – 3 Interface responsiva ME A TABELA 3 - USUALIDADE FONTE: Os autores (2017) Características de qualidade – Confiabilidade # Descrição do requisito Prioridade Fonte C – 1 Permissão de acesso E C C – 2 Redundância de dados MU A C – 3 Disponibilidade E C TABELA 4 – CONFIABILIDADE FONTE: Os autores (2017) Características de qualidade – Eficiência # Descrição do requisito Prioridade Fonte E – 1 Manipulação de dados E C E – 2 Tempo de resposta E C E – 3 Múltiplos usuários E C TABELA 5 - EFICIÊNCIA FONTE: Os autores Características de qualidade – Portabilidade # Descrição do requisito Prioridade Fonte P – 1 Adaptabilidade ME A TABELA 6 - PORTABILIDADE FONTE: Os autores (2017) Características de qualidade – Manutenibilidade # Descrição do requisito Prioridade Fonte M – 2 Documentação detalhada E A TABELA 7 - MANUTENIBILIDADE FONTE: Os autores (2017) MODELAGEM E ARQUITETURA A utilização dessa modelagem foi usada para demonstrar decisões do projeto e como as suas funcionalidades seriam implementadas. Diagrama de Casos de Uso O diagrama abaixo representa todas as funcionalidades do sistema: FIGURA 3 - DIAGRAMA DE CASOS DE USO FONTE: Os autores (2017) Documentação dos casos de uso Aqui será abordado os casos de uso mais significativos. Pode-se observar mais casos de uso no apêndice E. UC01 – Abrir chamado FIGURA 4 - CASO DE USO UC01 FONTE: Os autores (2017) UC01 – Abrir chamado Atores: Solicitante Descrição: Inserção de descrição do problema Informações adicionais: Pré-condições: Solicitante necessita estar logado Solicitante necessita estar na tela “Solicitar chamado” Pós-condições de sucesso: Solicitação gravado no banco de dados Requisitos atendidos: RF3 – Inserir chamado FLUXO PRINCIPAL O ator decide abrir um chamado. O sistema solicita as informações obrigatórias para abrir o chamado conforme a regra 2.1 RN – Chamado O ator informa os dados do chamado. O ator clica no botão para enviar O sistema valida os dados do chamado. O sistema salva o chamado no banco de dados (MSG4). O caso de uso se encerra. FLUXO ALTERNATIVO Este caso de uso não possui fluxo alternativo. FLUXO EXCEÇÃO O usuário não informa todas as informações necessárias ao sistema. O sistema informa o erro ao ator (MSG2). O fluxo retorna ao passo 2 do fluxo principal. CRITÉRIOS DE ACEITE O sistema deve receber todas as informações necessárias do usuário. PROTÓTIPO DE TELA FIGURA 5 - PROTÓTIPO DE TELA DE NOVO CHAMADO FONTE: Os autores (2017) UC02 – Atender chamado FIGURA 6 - CASO DE USO UC02 FONTE: Os autores (2017) UC02 – Atender chamado Atores: Técnico Descrição: Atendimento ao chamado solicitado Informações adicionais: Pré-condições: Técnico necessita estar logado Técnico necessita estar na tela “Atender chamado” Pós-condições de sucesso: Alteração do status no banco de dados (2.1.9. RN – Atendimento do chamado) Requisitos atendidos: RF5 – Atender chamado FLUXO PRINCIPAL O técnico inicia um chamado. O sistema altera o status do chamado conforme a regra 2.1.9 RN – Atendimento do chamado. O técnico finaliza o chamado. O sistema altera o status do chamado conforme a regra 2.1.10 RN – Finalização do chamado. O caso de uso se encerra. FLUXO ALTERNATIVO Fluxo alternativo 1 O técnico coloca o chamado em espera. O sistema solicita as informações necessárias. O sistema altera o status do chamado conforme a regra 2.1.11 RN – Atendimento em espera. O caso de uso se encerra; Fluxo alternativo 2 O técnico transfere o chamado para outro técnico. A mensagem O caso de uso se encerra. FLUXO EXCEÇÃO Fluxo de exceção 1 O técnico não informa os detalhes necessários ao colocar o chamado em espera. O sistema retorna o erro MSG8. O fluxo retorna ao passo 2 do fluxo alternativo 1. Fluxo de exceção 2 O técnico não escolhe o técnico. O sistema informa o erro (MSG19). O fluxo retorna ao passo 2 do fluxo alternativo 2. CRITÉRIOS DE ACEITE O sistema deve receber todas as informações necessárias do técnico. PROTÓTIPO DE TELA FIGURA 7 - PROTÓTIPO DE TELA DE CHAMADOS EM ABERTO FONTE: Os autores (2017) FIGURA 8 - PROTÓTIPO DE TELA DE CHAMADO EM ATENDIMENTO FONTE: Os autores (2017) UC04 – Gerar acesso FIGURA 9 - CASO DE USO UC04 FONTE: Os autores (2017) UC04 – Gerar acesso Atores: Administrador, Técnico Descrição: Gerar acesso para novos usuários Informações adicionais: Pré-condições: Administrador ou Técnico necessita estar logado Administrador ou Técnico necessita estar na tela “Gerar acesso” Pós-condições de sucesso: Manter usuário no banco de dados Requisitos atendidos: RF2 – Cadastrar usuário FLUXO PRINCIPAL O sistema solicita as informações obrigatórias para a criação de usuário conforme a regra 2.3.1 RN - Criação de acesso solicitantes. O administrador informa os dados do usuário. O sistema valida os dados. O sistema retorna a mensagem MSG7. O caso se encerra. FLUXO ALTERNATIVO Não se aplica nesse caso de uso. FLUXO EXCEÇÃO Fluxo de exceção 1 O administrador ou técnico informa as credenciais erradas ao sistema. O sistema informa o erro ao ator MSG2. O fluxo retorna ao passo 1 do fluxo principal. Fluxo de exceção 2 O usuário informado pelo administrador já existe na base de dados. O sistema informa o erro ao ator MSG5. O fluxo retorna ao passo 1 do fluxo principal. CRITÉRIOS DE ACEITE O sistema deve receber credenciais válidas do usuário. PROTÓTIPO DE TELA FIGURA 10 - PROTÓTIPO DE TELA DE NOVO USÚARIO FONTE: Os autores (2017) MODELAGEM DE DIAGRAMAS DE FLUXO DE DADOS A modelagem através dos diagramas de fluxo de dados, tem o objetivo de apresentar somente a parte indispensável do sistema, como o processo de abertura e atendimento do chamado. Abaixo podemos ver a sua representação através do diagrama: FIGURA 11 - DIAGRAMA DE FLUXO DE DADOS - NIVEL 0 FONTE: Os autores (2017) Este diagrama mostra de forma bem superficial, como as entidades (usuários) interagem com o sistema. Para um detalhamento mais aprofundado, é apresentado nos níveis 1 e 2 o seguinte diagrama: FIGURA 12 - DIAGRAMA DE FLUXO DE DADOS - NIVEIS 1 E 2 FONTE: Os autores (2017) MODELO FÍSICO DE DADOS O modelo físico de dados tem o objetivo de apresentar como será a implementação dos dados no banco. Para observar FIGURA 13 - DIAGRAMA DE ENTIDADE-RELACIONAMENTO FONTE: Os autores (2017) VISÂO DE IMPLANTAÇÂO O diagrama de implantação demonstra o ambiente físico que o sistema será implantado. Esse diagrama pode visualizado abaixo: FIGURA 14 - DIAGRAMA DE IMPLANTAÇÂO FONTE: Os autores (2017). REFERÊNCIAS BEDANI, Janaina. Engenharia de Software 2 - Técnicas para levantamento de Requisitos. Disponível em: <http://www.devmedia.com.br/engenharia-de-software-2-tecnicas-para-levantamento-de-requisitos/9151> Acesso em: 16/01/2017. PEREZ, Bruno. Engenharia de Requisitos – Técnicas. Disponível em: <https://brunobrum.wordpress.com/2011/04/27/principais-tecnicas-de-levantamento-de-requisitos-de-sistemas/> Acesso em: 16/01/2017. MEDEIROS, Higor. Introdução ao Modelo Cascata. Disponível em: <http://www.devmedia.com.br/introducao-ao-modelo-cascata/29843> Acesso em: 20/02/2017. NEPOMUCENO, Dênis. Modelo Cascata, Linear ou Clássico. Disponível em: <http://engenhariadesoftwareuesb.blogspot.com.br/2012/12/fffrrrrr.html>. Acesso em: 20/02/2017. Uma comparação entre os modelos ágil e cascata de desenvolvimento de software. Disponível em: <https://brainstormdeti.wordpress.com/2010/05/25/uma-comparacao-entremodelo-agil-e-cascata/>.Acesso em: 21/02/2017. QUITERIO, Ana Paula. Análise de Requisitos. Disponível em: <http://www.infoescola.com/engenharia-de-software/analise-de-requisitos/>. Acesso em: 18/01/2017. Ciclos de Vida do Software - Artigo Revista Engenharia de Software Magazine 36. Disponível em: <http://www.devmedia.com.br/ciclos-de-vida-do-software-artigo-revista-engenharia-de-software-magazine-36/21099>. Acesso em: 18/01/2017. Metodologias e Padrões de Desenvolvimento de Software. Disponível em: <http://www.devmedia.com.br/metodologias-e-padroes-de-desenvolvimento-de-software/5219>. Acesso em: 20/01/2017. ABILIO, Igor. Programação Orientada a Objetos versus Programação Estruturada. Disponível em: <http://www.devmedia.com.br/programacao-orientada-a-objetos-versus-programacao-estruturada/32813>. Acesso em: 22/01/2017. PACIEVITCH, Yuri. PHP. Disponível em: <http://www.infoescola.com/informatica/php/>. Acesso em: 12/04/2017. PHP, Disponível em: <https://secure.php.net/>. Acesso em 15/04/2017. O que o PHP pode fazer?. Disponível em: <https://secure.php.net/manual/pt_BR/intro-whatcando.php>. Acesso em: 18/03/2017. OLIBOLI, Daniel. O que é um SGBD?. Disponível em: <https://www.oficinadanet.com.br/post/16631-o-que-e-um-sgbd>. Acesso em: 20/02/2017. MONTELEONE, Mark. Structuring AS-IS and TO-BE Process Improvement Discussions using the Fishbone Diagram. Disponível em: <http://www.modernanalyst.com/Resources/Articles/tabid/115/ID/1562/Structuring-AS-IS-and-TO-BE-Process-Improvement-Discussions-using-the-Fishbone-Diagram.aspx>. Acesso em: 20/02/2017. Bootstrap 3 Tutorial. Disponível em: <https://www.w3schools.com/bootstrap/>. Acesso em: 21/04/2017. Gestão de Projeto - O que é e para que serve?. Disponível em: <http://www.projectbuilder.com.br/blog-home/entry/conhecimentos/o-que-e-gestao-de-projetos-e-para-que-serve>. Acesso em: 08/03/2017. UML - Unified Modeling Language e Visual Modeler (Visual Basic 6). Disponível em: <http://www.macoratti.net/uml_vb.htm>. Acesso em 08/03/2017. CLAIR, Thânia. A história de UML e seus diagramas. Disponível em: <https://projetos.inf.ufsc.br/arquivos_projetos/projeto_721/artigo.tcc.pdf>. Acesso em 08/03/2017. Casos de Uso - Diagrama de Casos de Uso. Disponível em: <http://www.dsc.ufcg.edu.br/~sampaio/cursos/2007.1/Graduacao/SI-II/Uml/diagramas/usecases/usecases.htm>. Acesso em: 08/03/2017. APÊNDICE A – REQUISITOS FUNCIONAIS E NÃO FUNCIONAIS REQUISITOS FUNCIONAIS Autenticar usuário Cadastrar usuário Inserir chamado Listar chamados Atender chamado Gerar relatórios Alterar senha Cadastrar setor Cadastrar especialidades Listar chamados atendidos Atribuir chamado ao técnico Excluir usuários inativos REQUISITOS NÃO FUNCIONAIS O sistema deve rodar em ambiente Web de preferência o Firefox em sua versão 45.0.2 O gerenciamento de banco de dados deve ser o MySql 5.6.7. O sistema deve operar em servidor Xampp 5.6.30. O sistema deve ser desenvolvido em PHP 7.1.0. O tempo limite para a adição do usuário ao banco de dados é de 30 segundos. O tempo para consultas de todos os chamados é de no máximo 30 segundos O sistema deve possuir fácil migração para possíveis servidores futuros. A tela de chamado será composta de visual simples contendo a parte de adição de chamado e chamados adicionados. O status para cada chamado deve estar informado com uma cor única. O tempo para desenvolvimento é de 6 meses. Cada fase do projeto no modelo cascata deve ser apresentado ao cliente. O sistema deve estar com as funcionalidades com prioridades críticas entregues no máximo em 5 meses. Cada funcionalidade do sistema deve estar documentada. O padrão adotado é estruturado, usando os padrões de desenvolvimento da linguagem PHP. Cada usuário deverá possuir seu acesso de modo único e intransferível. Após a criação do usuário, a senha provisória deve ser alterada. As senhas devem ser criptografadas. Se o login ficar sem atividade por mais que 15 minutos, o acesso será encerrado Logins sem atividade por mais de 60 dias entram em estado inativo. APÊNDICE B – DOCUMENTO DE MENSAGENS MENSAGENS DO SISTEMA “Login Invalido” “Preencha todos os campos” “Todas As informações devem ser preenchidas” “Chamado adicionado com sucesso” “Já existe um usuário com o nome informado” “As especialidades do técnico devem ser informadas” “O ‘TipoUsuario’ ’UsuárioNome’ foi adicionado” “O detalhe de espera deve ser inserido” “As senhas não conferem” “Senha alterada com sucesso” “Iniciado atendimento do chamado” “Chamado encerrado” “Seu chamado foi encerrado pelo ‘TecnicoNome’ as 00:00” “Seu chamado está em espera até que uma solução esteja possível” “A especialidade já está cadastrada” “O setor informado já está cadastrado” “Especialidade adicionado” “Setor adicionado” “O técnico a ser transferido deve ser escolhido” “O acesso será excluído da base de dados” “Chamado transferido para ‘TecnicoNome’ “Nenhum usuário selecionado, escolha um para prosseguir” “Os usuários selecionados foram excluídos” “Nenhum usuário inativo” “A nova senha não pode ser igual a atual” APÊNDICE C – DOCUMENTO DE VISÃO DOCUMENTO DE VISÃO DO PROJETO HISTÓRICO DE VERSÕES DATA VERSÃO DESCRIÇÃO AUTOR REVISOR APROVADO 16/03/2017 1.0 Primeira versão Jaqueline Diego Sim 23/03/2017 1.1 Mudanças gerais Willian Diego Sim PARTES INTERESSADAS Organização-Cliente Jaime Markovicz Equipe de Desenvolvimento Diego Ramos de Paula, Jaqueline Silva de Oliveira, Willian Douglas Gobbi. Organograma de funções DOCUMENTAÇÃO Objetivo A finalidade deste documento é coletar e definir as necessidades de alto-nível e características do projeto de software CallWork, focando nas funcionalidades requeridas pelas partes interessadas e usuários, bem em como estes requisitos serão abordados no projeto de software. A visão do projeto documenta o ambiente geral de processos a ser desenvolvido para o sistema durante o projeto, fornecendo a todos os envolvidos uma descrição compreensível deste e de suas funcionalidades. Este Documento de Visão documenta apenas as necessidades e funcionalidades do sistema que estarão sendo atendidas no projeto de software. Cenário Atual Atualmente a organização não possui qualquer sistema ou controle em suas resoluções dos problemas ocorridos. A carência de um sistema de controle dos problemas acaba deixando sem saber quando que cada ação é tomada para a solução da ocorrência. Não se sabe o técnico que a realizou, tão bem quem a solicitou. Um dos problemas ocorridos é de sobrecarga ao técnico, que às vezes recebe inúmeras requisições, e por ventura acaba que se esquecendo de algumas. E isso acaba gerando atrito entre solicitante e solucionador. Sem contar a questão de que pode haver casos de que uma determinada situação é mais prioritária que a outra. Uma demonstração do fluxo de atividade pode ser vista no capitulo 4 sobre o Diagnóstico do Ambiente. Descrição do Projeto Com a implantação do sistema a solução dos problemas se tornará mais eficaz, pois os chamados serão ordenados por prioridade sendo os mais urgentes atendidos primeiro. Cada chamado terá um técnico, um usuário e local atribuído ao mesmo, facilitando a detecção e controle dos problemas ocorridos dentro da Câmara Municipal de Araucária. O diagrama de atividade de como o sistema deverá ser operado pode ser visto abaixo: Futuro processo de negócio Principais funcionalidades Login; Cadastro de novos usuários; Alteração de senha; Exclusão de acessos inativos; Cadastro de setores e especialidades técnicas; Abertura de chamados; Atendimento de chamado; Transferência de chamado; Finalização de chamado; Atribuição de chamado a técnico; Listagem individual de chamados realizados; Listagem hierárquica de chamados realizados; Listagemindividual de chamados atendido; Relatórios gerais. Envolvimento Abrangência O sistema CallWork será desenvolvido para o uso interno de órgãos públicos municipais. Papel das Partes Interessadas Cliente Descrição Fornece as especificações que o sistema deverá atender Papel no desenvolvimento Descrever os requisitos do sistema Insumos ao projeto - Informações sobre o funcionamento do órgão público - Requisitos - Aprovação e implementação do projeto Representante Jaime Markovicz Equipe de desenvolvimento Descrição É o time que desenvolve o sistema Papel no desenvolvimento Levantar e analisar o problema do cliente, projetar, desenvolver, testar e implantar o sistema Insumos ao projeto - Levantamento de requisitos - Análise do projeto - Projetar o sistema - Desenvolver - Testar - Implantar Representante Diego Ramos Papel dos Atores Solicitante Descrição É quem utilizará o sistema diariamente. Papel O solicitante informar o problema ocorrido. Insumos ao sistema - Inserir problema - Alterar senha - Verificar problemas enviados Representante Solicitante Administrador Descrição Gerenciará todo o sistema. Papel O administrador criará acesso para todos os usuários que a solicitarem para que possa ter o acesso ao sistema de criação de chamados, bem como detalhes de todos os processos da ocorrência Insumos ao sistema - Criar acesso - Excluir acesso - Alterar senha - Definir chamado a técnico especifico - Cadastrar setor - Cadastrar especialidade - Monitoramento por relatórios Representante Administrador Técnico Descrição Gerenciará todo o sistema. Papel O técnico atenderá as ocorrências solicitadas especificando seu andamento Insumos ao sistema - Criar acesso - Alterar senha - Cadastrar setor - Cadastrar especialidade - Atender chamado - Transferir chamado - Colocar chamado em espera - Monitoramento por relatórios Representante Técnico Necessidades e Funcionalidades Definir acessos Prioridade Criar ou alterar acesso para todos Crítico Id Func. Gerenciar os acessos / Administrador, Técnico F1.1 Gerar acesso Ator: Administrador, técnico F1.2 Excluir acesso Ator: Administrador Gerar relatórios Prioridade Exibir gráficos e relatórios Útil Id Func. Processo de Relatórios/ Solicitante, Técnico, Administrador F1.1 Relatório geral Ator: Administrador F1.2 Relatório individual Ator: Administrador, Solicitante, Técnico F1.3 Relatório de problemas Ator: Administrador, Solicitante, Técnico Solução do problema Prioridade Solucionar todos as eventualidades Crítico Id Func. Processo para solução do problema / Solicitante, Técnico, Administrador F1.1 Inserir chamado Ator: Solicitante F1.2 Atender chamado Ator: Técnico F1.3 Finalizar chamado Ator: Técnico F1.4 Transferir chamado Ator: Técnico F1.5 Atribuir chamado Ator: Administrador F1.6 Definir chamado em espera Ator: Técnico Restrições/Premissas Restrições Prazo; Sistema operacional Linux; Banco de dados MySQL; Linguagem de programação PHP 7; Servidor Xampp. Premissas Acesso aos servidores; Acesso aos computadores e recursos da câmara municipal de araucária; Colaboração dos funcionários. Expectativa de Entrega do Produto: julho de 2017 APÊNDICE D – DOCUMENTO DE REGRAS DE NEGÓCIO DOCUMENTO DE REGRAS DE NEGÓCIO HISTÓRICO DE VERSÕES DATA VERSÃO DESCRIÇÃO AUTOR REVISOR APROVADO 14/03/2017 1.0 Primeira versão Jaqueline Diego Sim 23/03/2017 1.1 Mudanças gerais Diego Willian Sim Objetivo O objetivo da Especificação de Regras de Negócio é documentar as regras aplicáveis ao negócio. Essas regras, em geral, constituem declarações de políticas ou condições que devem ser satisfeitas pelo processamento da aplicação. Regras de negócios CHAMADO RN – Solicitante do chamado O nome do solicitante deve ser ligado ao chamado. RN – Descrição do problema A descrição do problema deve ser obrigatoriamente inserida (Campo de 200 caracteres). RN – Setor da ocorrência O setor do problema deve ser obrigatoriamente selecionado de uma lista existente. RN – Nível prioritário O nível prioritário deve ser informado, se o nível hierárquico permitir, sendo estes, baixo, normal ou urgente. RN – Status inicial Por padrão, o status inicial deve ser “Aguardando Início”. RN – Chamados realizados Os solicitantes deverão ver o histórico de seus chamados adicionados independente do seu status. Sendo que os níveis hierárquicos, deverão ver os históricos de solicitantes de sua responsabilidade. RN – Chamados atendidos Cada técnico poderá visualizar o histórico de seus atendimentos. RN – Transferência de chamados O técnico poderá transferir o chamado sob sua atuação para outro técnico, informando o mesmo a sua transferência. RN – Atendimento do chamado O técnico deverá iniciar um chamado, passando a ficar no status de “em atendimento”. RN – Finalização do chamado O técnico após o seu atendimento, deverá finalizar o chamado, passando a ficar no status “Finalizado” e informando o solicitante sobre seu encerramento. RN – Atendimento em espera O técnico deverá definir em espera quando o problema não puder ser solucionado de imediato, assim detalhando e informando o motivo da ocorrência não puder ter sido solucionado no momento. Também deverá informar o solicitante e seus superiores na hierarquia. RN – Controle de horário O horário de cada mudança de status (aguardando início, em andamento, em espera e finalizado) deve ser registrado. RN – Auxílio técnico No momento da finalização da ocorrência, caso houve algum tipo de auxílio técnico, deverá ser informado todos os técnicos que participaram do processo de solução do problema. RN – Definir chamado ao técnico Os administradores poderão atribuir a ocorrência para um determinado técnico. RN – Relevância por nível prioritário Ocorrências que tiverem nível prioritário mais alto, devem ser mostradas antes das outras com níveis mais baixos, fazendo com que os técnicos deem as devidas atenções. LOGIN RN – Acesso O sistema somente poderá ser utilizado por um usuário logado, obrigatoriamente informando os dados de acesso como o nome de usuário e senha que obteve cadastramento previamente. RN – Usuários inativos O sistema deve deixar o usuário inativo quando o login não for realizado por mais de 60 dias, informando aos administradores, deixando-os a opção de exclusão ou não. MANTER USUÁRIO RN – Criação de acesso solicitantes A criação de acesso somente poderá ser realizada pelos técnicos e administradores, inserindo o nome de usuário, senha padrão, setor e o nível hierárquico. RN – Criação de acesso técnicos Somente administradores e técnicos poderão adicionar técnicos, inserindo o nome, senha e as suas especialidades. RN – Criação de acesso administradores Somente administradores podem adicionar outros administradores. RN – Cadastro de senha A senha deverá ter no mínimo 6 e no máximo 10 caracteres e deverá estar criptografada conforme as regras MD5. RN – Preenchimento obrigatório Todos os campos do usuário identificados por um asterisco devem ser obrigatoriamente preenchidos. RN – Atribuição de nível hierárquico O nível hierárquico deve ser selecionado de uma lista para cada usuário. Os níveis são: Coordenadores, Diretores, chefes de gabinete e funcionários. RN – Alteração de senha A senha poderá ser alterada posteriormente dentro do próprio sistema. Para o primeiro acesso deve ser obrigatório apresentar a tela de alteração de senha. RN – Alteração de senha pelo administrador O administrador ou o técnico poderá resetar a senha para um padrão. SETOR RN – Adicionarsetor Somente os administradores e os técnicos podem adicionar setores, como um nome. RN – Inserir duplicata O sistema não poderá inserir um setor que já esteja cadastrado. RN – Exclusão de setor O sistema deve permitir excluir o setor. Caso o setor já esteja em ligação com algum usuário, o sistema deve informar se realmente deseja excluir. Assim é alterado todos os usuários que possuem essa ligação. ESPECIALIDADE RN – Adicionar especialidade As especialidades de cada técnico devem ser inseridas pelos administradores e técnicos, como o nome da especialidade. RN – Inserir duplicata O sistema não poderá inserir uma especialidade que já esteja cadastrada. RN – Exclusão de especialidade O sistema deve permitir excluir a especialidade. Caso a especialidade já esteja em ligação com algum técnico, o sistema deve informar se realmente deseja excluir. Assim é retirado de todos os técnicos que possuem essa ligação. RELATÓRIOS RN – Tipos de relatórios Os solicitantes com níveis de hierarquia elevada e os administradores poderão visualizar através de gráficos e estáticas a produtividade de cada subordinado. RN – Produtividade individual Cada técnico deverá poder observar o seu rendimento (diário, semanal e mensal) através de um relatório gerado pelo sistema. APÊNDICE E – DOCUMENTO DE ESPECIFICAÇÃO DE CASOS DE USO DOCUMENTO DE ESPECIFICAÇÃO DE CASOS DE USO HISTÓRICO DE VERSÕES DATA VERSÃO DESCRIÇÃO AUTOR REVISOR APROVADO 27/03/2017 1.0 Primeira versão Willian Diego Sim 05/04/2017 1.1 Adição Diego Willian Sim Casos De Uso Para casos de uso significativos, veja o capitulo de desenvolvimento. UC03 – Login Caso de uso para logar. UC03 – Logar Atores: Solicitante, Técnicos, Administradores Descrição: Acessar recursos do sistema Informações adicionais: Pré-condições: Usuário precisa entrar na tela de login Pós-condições de sucesso: Acesso as telas do sistema Requisitos atendidos: RF1 – Autenticar usuário FLUXO PRINCIPAL O ator decide entrar no sistema. O sistema solicita as informações obrigatórias para garantir acesso ao sistema conforme a regra RN – Acesso. O ator informa os dados do acesso. O ator clica no botão para entrar O sistema valida os dados do acesso. O sistema redireciona para tela inicial para o tipo de usuário. O caso de uso se encerra. FLUXO ALTERNATIVO O acesso é realizado pela primeira vez O usuário digita uma nova senha. O usuário digita a senha de conferência. O sistema valida os dados do acesso. O sistema altera a senha padrão para a nova no banco de dados. O sistema redireciona para tela inicial para o tipo de usuário. O caso de uso se encerra. FLUXO EXCEÇÃO Fluxo Exceção 1 O usuário digita informações inexistente ou erradas O sistema informa a MSG1. O fluxo retorna ao passo 2 do fluxo principal. Fluxo Exceção 2 O usuário digita a senha de conferência diferente da principal O sistema informa a MSG9 O fluxo retorna ao passo 2 do fluxo alternativo. Fluxo Exceção 3 O usuário não preenche todos os campos. O sistema informa a MSG2 O fluxo retorna ao passo 2 do fluxo alternativo. CRITÉRIOS DE ACEITE O sistema deve receber todas as informações necessárias do usuário. PROTÓTIPO DE TELA PROTÓTIPO DE TELA DE LOGIN PROTÓTIPO DE TELA DE PRIMEIRO ACESSO UC05 – Exclusão de usuários inativos Caso de uso para exclusão de usuários inativos. UC05 – Excluir Usuários Inativos Atores: Administradores Descrição: Excluir usuários inativos Informações adicionais: Pré-condições: Administrador precisa estar logado. Administrador precisa estar na tela de exclusão de acessos Pós-condições de sucesso: Acesso de usuário eliminado do banco de dados Requisitos atendidos: RF12 – Excluir usuários inativos FLUXO PRINCIPAL O ator decide excluir acesso do usuário conforme a regra 2.2.2. RN – Usuários inativos O ator seleciona os usuários na lista. O ator clica no botão para excluir. O ator escolhe “Sim” na caixa de diálogo. O caso de uso se encerra. FLUXO ALTERNATIVO O sistema não retorna nenhum usuário. O sistema informa a MSG23. O caso de uso se encerra. FLUXO EXCEÇÃO O ator não selecionou nenhum usuário. O sistema mostra a MSG22. CRITÉRIOS DE ACEITE O sistema deve receber excluir todos os usuários selecionados do banco de dados. PROTÓTIPO DE TELA PROTÓTIPO DE TELA DE EXCLUSÃO DE ACESSOS PROTÓTIPO DE TELA DE EXCLUSÃO DE ACESSOS UC06 – Adicionar Especialidades Caso de uso para adição de especialidades. UC06 – Adicionar Especialidades Atores: Administradores, Técnicos Descrição: Adicionar nova especialidade Informações adicionais: Pré-condições: Administrador precisa estar logado. Administrador precisa estar na tela de adição de especialidades Pós-condições de sucesso: Especialidade adicionado no banco de dados Requisitos atendidos: RF9 - Cadastrar especialidades FLUXO PRINCIPAL O ator decide adicionar nova especialidade conforme a regra RN – Adicionar especialidade. O ator insere os dados necessários. O sistema valida os dados. O ator retorna a mensagem MSG17 - Especialidade_Adicionado. O caso de uso se encerra. FLUXO ALTERNATIVO Não se aplica nesse caso de uso. FLUXO EXCEÇÃO Fluxo de exceção 1 O administrador ou técnico não informa nenhum dado O sistema informa o erro ao ator MSG2 - Campos_Vazios. O fluxo retorna ao passo 2 do fluxo principal. Fluxo de exceção 2 O administrador ou técnico informa uma especialidade já existente. O sistema informa o erro ao ator MSG15 - Erro_Adicionar_Especialidade O fluxo retorna ao passo 2 do fluxo principal. CRITÉRIOS DE ACEITE Adição da especialidade. Tratamento da exceção. PROTÓTIPO DE TELA PROTÓTIPO DE TELA DE ADICIONAR ESPECIALIDADE UC07 – Adicionar Setores Caso de uso para adição de setores. UC07 – Adicionar Setores Atores: Administradores, Técnicos Descrição: Adicionar novo setor Informações adicionais: Pré-condições: Administrador precisa estar logado. Administrador precisa estar na tela de adição de setores Pós-condições de sucesso: Setor adicionado no banco de dados Requisitos atendidos: RF8 - Cadastrar setores FLUXO PRINCIPAL O ator decide adicionar nova especialidade conforme a regra RN – Adicionar Setor. O ator insere os dados necessários. O sistema valida os dados. O ator retorna a mensagem MSG18 - Especialidade_Adicionado. O caso de uso se encerra. FLUXO ALTERNATIVO Não se aplica nesse caso de uso. FLUXO EXCEÇÃO Fluxo de exceção 1 O administrador ou técnico não informa nenhum dado O sistema informa o erro ao ator MSG2 - Campos_Vazios. O fluxo retorna ao passo 2 do fluxo principal. Fluxo de exceção 2 O administrador ou técnico informa uma especialidade já existente. O sistema informa o erro ao ator MSG16 - Erro_Adicionar_Setor O fluxo retorna ao passo 2 do fluxo principal. CRITÉRIOS DE ACEITE Adição da especialidade. Tratamento da exceção. PROTÓTIPO DE TELA PROTÓTIPO DE TELA DE ADICIONAR SETOR
Compartilhar