SlideShare uma empresa Scribd logo
1 de 76
Baixar para ler offline
FACULDADE ALVORADA
   CURSO DE BACHARELADO EM SISTEMAS DE INFORMAÇÃO




           Francisco David Costa de Oliveira




SISDESK - Sistema de Service Desk voltado para
        desenvolvimento de software




  Orientadora: Profa. Mestra Elizabeth d’Arrochella Teixeira




                         Brasília – DF,
                       Dezembro de 2010
ii



   FRANCISCO DAVID COSTA DE OLIVEIRA




SISDESK - Sistema de Service Desk voltado para
        desenvolvimento de software




                                   Trabalho de Conclusão de Curso apresentado à
                                 Banca Examinadora, como exigência parcial para
                                 a obtenção do título de Bacharelado em Sistemas
                                          de Informação e à Sociedade de Ensino
                                                   Tecnologia, Educação e Cultura




  Orientadora: Profa. Mestre Elizabeth d’Arrochella Teixeira




                         Brasília – DF,
                       Dezembro de 2010
iii
iv



EPÍGRAFE




   “Até as mais altas torres começaram do chão...”

                                Provérbio Chinês.
v



                                    RESUMO

       As empresas de TI (Tecnologia da Informação) têm se preocupado cada vez
mais com a qualidade de entrega de serviços e entendem a importância que a alta
disponibilidade da Tecnologia da Informação traz aos seus negócios. Desta forma,
buscam soluções inovadoras e pioneiras de mercado, fazendo com que a demanda
de produtividade seja atendida através de soluções com alto valor agregado,
integradas, customizadas, reduzindo custos, tornando a área de Tecnologia da
Informação um aliado vital ao seu negócio. Uma das formas de atingir este objetivo é
implementando o gerenciamento de serviços de TI. Este trabalho mostra um estudo
referente aos processos da ITIL (Information Technology Infrastructure Library) e
apresenta a implementação de um sistema de Service Desk.


Palavras-Chave: ITIL. Central de Serviços. Incidente. Solicitação de Mudança.
vi



                                    ABSTRACT

        IT companies have been getting concerned increasingly with quality of
service delivery and understand the importance that the high availability of
information technology brings to business. Thus, they seek innovative solutions and
pioneering market, causing the demand is met through productivity solutions with
high added value, integrated, customized, reducing costs, making the area of
information technology a vital ally to your business. One way of achieving this goal is
by implementing the management of IT services. This work shows a study related to
ITIL processes and shows the implementation of a system aimed at the Service Desk
management services.


Keywords: ITIL. Service Desk. Incident. Change Request.
vii



                                          LISTA DE FIGURAS


Figura 1 - Organograma da Empresa........................................................................ 18
Figura 2 - Gráfico de Baleia....................................................................................... 29
Figura 3 - Diagrama de Casos de Usos .................................................................... 51
Figura 4 - Diagrama de Classe.................................................................................. 59
Figura 5 - Modelo de Entidade e Relacionamento .................................................... 60
Figura 6 - Árvore do Sistema..................................................................................... 67
Figura 7 - Tela de Login ............................................................................................ 68
Figura 9 - Nova Solicitação ....................................................................................... 69
Figura 10 - Adicionar Solução ................................................................................... 69
Figura 11 - Cadastro de Problema ............................................................................ 70
Figura 12 - Cadastro de Usuário ............................................................................... 70
viii



                                         LISTA DE TABELAS


Tabela 1 - Cronograma ............................................................................................. 21
Tabela 2 - Lista de Caso de Uso ............................................................................... 50
Tabela 3 - UC01 Efetuar Login .................................................................................. 52
Tabela 4 – UC2 Manter Usuário ................................................................................ 53
Tabela 5 - UC03 Manter Incidente ............................................................................ 54
Tabela 6 – UC04 Manter Mudança ........................................................................... 56
Tabela 7 - UC05 Manter Problema............................................................................ 57
Tabela 8 - SD_ANEXOINCIDENTE .......................................................................... 61
Tabela 9 - SD_ANEXOMUDANCA ............................................................................ 61
Tabela 10 - SD_ESTADOMUDANCA ....................................................................... 62
Tabela 11 - SD_FUNCÃO ......................................................................................... 62
Tabela 12 - SD_INCIDENTE ..................................................................................... 63
Tabela 13 - SD_ MATRIZPRIORIDADE .................................................................... 64
Tabela 14 - SD_MUDANCA ...................................................................................... 64
Tabela 15 - SD_MUDANCAESTADO ....................................................................... 65
Tabela 16 - SD_NIVELMUDANCA ............................................................................ 65
Tabela 17 - SD_PRIORIDADE .................................................................................. 66
Tabela 18 - SD_TECNICO ........................................................................................ 66
Tabela 19 - SD_URGENCIA ..................................................................................... 67
ix



                   LISTA DE ABREVIATURAS


ADSL      Asymmetric Digital Subscriber Line
API       Application Programming Interface
FTF       Finalization Task Force
HTML      Hipertext Markup Language
IEC       International Electrotechnical Commission
HTTP      HiperText Transfer Protocol
IMAP      Internet Message Protocol
ISSO      International Organization for Standardization
ITIL      Information Technology Infrastructure Library
JDBC      Java DataBase Connectivity
LDAP      Lightweight Directory Access Protocol
ODBC      Open Database Connectivity
OMC       Object Management Group
OOSE      Object-Oriented Software Engineering
PHP       HiperText Preprocessor
POP       Post Office Protocol
RTF       Revision Task Force
RUP       Rational Unified Process
SISDESK   Sistema de Service Desk
SLA       Service Level Agreement
TI        Tecnologia da Informação
UML       Unified Model Language
10



                                                      SUMÁRIO


1. Introdução ........................................................................................................... 13
1.1. Tema................................................................................................................... 14
1.2. Justificativa ......................................................................................................... 14
1.3. Formulação do Problema.................................................................................... 15
1.4. Objetivos ............................................................................................................. 16
1.4.1.      Geral ............................................................................................................ 16
1.4.2.      Específicos ................................................................................................... 16
1.5. Organização do Trabalho ................................................................................... 17
2. Análise Institucional ............................................................................................ 18
2.1. Empresa e seu Negócio...................................................................................... 18
2.1.1.      Organograma da Empresa ........................................................................... 18
2.2. Descrições das Necessidades ............................................................................ 19
2.3. Sistemas de Informação Existente na Empresa ................................................. 19
2.4. Normas de Funcionamento................................................................................. 19
2.5. Ambiente Tecnológico Existente ......................................................................... 20
3. Cronograma ........................................................................................................ 21
4. Referencial Teórico ............................................................................................. 22
4.1. Linguagem de Programação............................................................................... 22
4.1.1.      Java.............................................................................................................. 22
4.1.2.      PHP .............................................................................................................. 24
4.1.3.      Delphi ........................................................................................................... 25
4.2. Banco de Dados ................................................................................................. 25
4.2.1.      Oracle........................................................................................................... 26
4.2.2.      PostgreSQL .................................................................................................. 26
4.2.3.      MySQL ......................................................................................................... 27
4.3. RUP (Rational Unified Process) .......................................................................... 28
4.3.1.      Desenvolvimento Iterativo ............................................................................ 28
4.3.2.      Fases do RUP .............................................................................................. 29
4.3.2.1.       Concepção ................................................................................................ 30
4.3.2.2.       Elaboração ................................................................................................ 30
11



4.3.2.3.      Construção................................................................................................ 31
4.3.2.4.      Transição .................................................................................................. 31
4.4. UML (Unified Model Language) .......................................................................... 32
4.4.1.     Orientação a Objetos ................................................................................... 33
4.4.1.1.      Objetos...................................................................................................... 34
4.4.1.2.      Classes ..................................................................................................... 34
4.4.1.3.      Herança .................................................................................................... 35
4.4.1.4.      Polimorfismo ............................................................................................. 35
4.4.1.5.      Coesão...................................................................................................... 36
4.4.2.     Diagramas .................................................................................................... 36
4.4.2.1.      Diagramas de Classes .............................................................................. 37
4.4.2.2.      Diagramas de Colaboração ...................................................................... 37
4.4.2.3.      Diagramas de Objetos .............................................................................. 37
4.4.2.4.      Diagramas de Componentes .................................................................... 38
4.4.2.5.      Diagramas de Caso de Uso ...................................................................... 38
4.4.2.6.      Diagramas de Seqüência .......................................................................... 39
4.4.2.7.      Diagramas de Atividade ............................................................................ 39
4.4.2.8.      Diagramas de Interação ............................................................................ 40
4.4.2.9.      Diagramas de Implantação ....................................................................... 40
4.4.2.10.        Diagramas de Gráfico de Estados ......................................................... 41
4.5. Information Technology Infrastructure Library - ITIL ........................................... 41
4.5.1.     Central de Serviços (Service Desk).............................................................. 42
4.5.2.     Gerenciamento de Incidentes ...................................................................... 43
4.5.3.     Gerenciamento de Problema ....................................................................... 43
4.5.4.     Gerenciamento de Nível de Serviço ............................................................. 44
4.6. ISO/IEC 20.000 ................................................................................................... 44
5. Proposta do Novo Sistema ................................................................................. 46
5.1. Descrição do Sistema Proposto .......................................................................... 46
5.2. Resultados Esperados ........................................................................................ 47
5.3. Restrições do Sistema Proposto ......................................................................... 47
5.4. Resultados Esperados ........................................................................................ 47
5.5. Áreas Afetadas Pelo Novo Sistema .................................................................... 48
5.6. Banco de Dados ................................................................................................. 48
12



6. Documentação de Análise .................................................................................. 49
6.1. Visão Macro dos Atores ...................................................................................... 49
6.2. Identificação dos Atores...................................................................................... 49
6.3. Lista dos Casos de Uso ...................................................................................... 50
6.4. Diagrama de Caso de Uso.................................................................................. 51
6.5. Descrição Detalhada dos Casos de Uso ............................................................ 52
6.6. Diagrama de Classes.......................................................................................... 59
6.7. Modelo de Entidade e Relacionamento .............................................................. 60
6.8. Especificação das Tabelas ................................................................................. 61
6.8.1.     Tabela SD_ANEXOINCIDENTE .................................................................. 61
6.8.2.     Tabela SD_ANEXOMUDANCA .................................................................... 61
6.8.3.     Tabela SD_ESTADOMUDANCA ................................................................. 62
6.8.4.     Tabela SD_FUNCAO ................................................................................... 62
6.8.5.     TABELA SD_IMPACTO ............................................................................... 63
6.8.6.     Tabela SD_INCIDENTE ............................................................................... 63
6.8.7.     Tabela SD_MATRIZPRIORIDADE ............................................................... 64
6.8.8.     Tabela SD_MUDANCA ................................................................................ 64
6.8.9.     Tabela SD_MUDANCAESTADO ................................................................. 65
6.8.10.       Tabela SD_NIVELMUDANCA ................................................................... 65
6.8.11.       Tabela SD_PRIORIDADE ......................................................................... 65
6.8.12.       Tabela SD_TECNICO ............................................................................... 66
6.8.13.       Tabela SD_URGENCIA ............................................................................ 67
6.9. Árvore do Sistema .............................................................................................. 67
6.10.      Especificações Físicas ................................................................................. 68
6.10.1.       Layout das Principais Telas da Aplicação ................................................. 68
6.11.      Help on-line .................................................................................................. 71
6.12.      Segurança Física e Lógica ........................................................................... 71
6.12.1.       Norma de Segurança Física ..................................................................... 71
6.12.2.       Norma de Segurança Lógica .................................................................... 71
7. Plano de Implantação ......................................................................................... 73
8. Conclusão ........................................................................................................... 74
9. Referencias Bibliográficas .................................................................................. 75
13



1.   Introdução


       Segundo MAGALHÃES e PINHEIRO (2007), a cada dia que passa, as
organizações tornam-se mais dependentes da Tecnologia da Informação a fim de
satisfazer seus objetivos estratégicos e para atender às necessidades do negócio
em que atuam. Uma área de TI (Tecnologia da Informação) que não considerar os
objetivos estratégicos da organização em que se insere como os seus próprios
objetivos, será uma área de TI que deseja apenas ser um simples provedor de
tecnologia, haja vista que até mesmo os provedores de tecnologia, atualmente,
tendem a preocupar-se com a estratégia de negócio de seus clientes, condição
básica para a venda de serviços sob demanda.


       Ainda segundo MAGALHÃES e PINHEIRO (2007), o Gerenciamento de
Serviços de Tecnologia da Informação é o instrumento pelo qual a área pode iniciar
a adoção de uma postura pró-ativa em relação ao atendimento das necessidades da
organização, contribuindo para evidenciar a sua participação na geração de valor. O
Gerenciamento de Serviço de TI visa alocar adequadamente os recursos disponíveis
e gerenciá-los de forma integrada, fazendo com que a qualidade do conjunto seja
percebida pelos seus clientes e usuários, evitando-se a ocorrência de problemas na
entrega e na operação dos serviços de Tecnologia da Informação.


       Para MAGALHÃES e PINHEIRO (2007), organizações consideradas líderes
em suas indústrias estão deixando de ser organizações puramente focadas em
custo para se tornarem organizações focadas em valor. Isto pode ser constatado
pela atual prática da troca dos indicadores de desempenho derivados da estratégia
da organização e que permitem a monitoração do desempenho na execução de sua
estratégia, a partir de diversas perspectivas, além da financeira, tradicionalmente
utilizada. Hoje, as organizações já estão mais maduras e tomam decisões que levam
em conta não apenas custo, mas a criticidade de cada processo da área de TI para
a geração de valor para a organização. O Gerenciamento de Serviço de TI é, de
forma resumida, o gerenciamento da integração entre pessoas, processos e
tecnologias, componentes de um serviço de TI focados nas necessidades dos
clientes e de modo alinhado à estratégia de negócio da organização, visando o
14



alcance de objetivos de custos e desempenho pelo estabelecimento de acordos de
nível de serviço entre a área de TI e as demais áreas de negócio da organização.


       MAGALHÃES e PINHEIRO (2007) ainda afirmam que a ITIL (Information
Technology Infrastructure Library), criada a partir da necessidade de padronizar os
processos da área de TI visando à terceirização, baseia-se na experiência coletiva
de inúmeros praticantes do Gerenciamento de Serviços de TI de organizações
privadas e públicas de todo o mundo. Esta é a razão pela qual vem se tornando um
padrão na área de Gerenciamento de Serviços de TI, adotada por organizações-
líderes em seus segmentos de atuação em escala mundial. A eficiência, a eficácia, a
efetividade e a economicidade no suporte aos serviços de TI são fatores críticos
para o sucesso no alcance dos objetivos estratégicos traçados pela organização.


   1.1. Tema


       O Sistema de Service Desk (SISDESK) é um sistema que atua como ponto
único de contato entre o provedor de serviços de TI e os clientes, onde são
cadastrados incidentes e solicitações de mudanças, possibilitando assim, um melhor
gerenciamento dos serviços de TI.


   1.2. Justificativa


       Conforme MAGALHÃES e PINHEIRO (2007), a Central de Serviços é uma
função e não um processo, essencial para a implementação do Gerenciamento de
Serviços de TI. Mais do que um ponto de suporte aos usuários, a Central de
Serviços é a principal interface entre a área de TI e os usuários dos seus serviços.
Ela é responsável pela primeira impressão que a área de TI dará aos seus usuários
quando da necessidade de interação, quer seja para a solicitação de um serviço ou
esclarecimento sobre o modo de interação com o serviço de TI ou para comunicação
de um erro.


       As normas internacionais relacionadas com a Gestão de Serviços de TI
permitem a colaboração de organizações internacionais e fornecem diretrizes
15



valiosas que contribuem para o estabelecimento da credibilidade das empresas. A
ISO (International Organization for Standardization) 20.000, permite a uma
organização demonstrar aos seus clientes e investidores que opera com integridade
negocial e segurança, e que promove uma cultura de melhoramento contínuo da
qualidade no âmbito da Gestão de Serviços de TI [1].


       Com intuito de implementar a ISO 20.000 para um melhor gerenciamento de
seus serviços de TI e fornecer um atendimento de qualidade às solicitações dos
clientes, a empresa Dave Systems (Empresa Fictícia) necessita de uma ferramenta
de apoio gerencial de serviços de TI que incremente velocidade ao atendimento e
melhore o suporte aos usuários de seus serviços. Para esse fim, o sistema
SISDESK será desenvolvido de forma a suprir estas necessidades.


       Em um futuro próximo, a empresa Dave Systems (Empresa Fictícia) estuda
a possibilidade de aquisição da certificação ISO 20.000, e utilizar o SISDESK como
ferramenta de apoio para obtenção e manutenção da certificação ISO 20.000.


   1.3. Formulação do Problema


       O controle dos incidentes gerados pelos sistemas desenvolvidos pela Dave
Systems (Empresa Fictícia) são cadastrados em um sistema desenvolvida pela
mesma chamada Help. No Help são cadastrados os chamados para correção ou
solicitação de mudança no sistema, permitindo o acompanhamento da demanda e a
visualização na íntegra de todos os envolvidos no chamado. Porém, para o intuito da
empresa Dave Systems, que é viabilizar a entrega e o suporte de serviços focados
nas necessidades dos clientes, a empresa percebeu que sua ferramenta de controle
de incidentes, o Help, não atendia às suas exigências. O Help não possui relatórios
para geração de métricas, o que dificulta as tomadas de decisões para determinados
assuntos gerenciais. A base de dados possui dados inconsistentes, o que gera
conflitos de informações para os usuários. Outra falha grave do sistema, é que o
mesmo permite que técnicos, que receberam um chamado para resolução de um
incidente, tenham privilégios para encaminhar a demanda para outros técnicos sem
antes retorná-la para o Analista do Incidente, que é o dono do chamado, com o
16



motivo pelo qual o mesmo foi devolvido. Dessa forma perde-se o controle sobre o
incidente podendo ficar dias tramitando entre técnicos sem nenhuma solução
implementada para o problema.


        Com o atual sistema, algumas demandas com grau de dificuldade alta são
deixadas de lado para que outras demandas de nível de dificuldade menor sejam
implementadas. Dessa forma, algumas solicitações demoram mais do que o previsto
para serem executadas e, conseqüentemente, atrasando a resolução das
solicitações e gerando insatisfação por parte do cliente.



   1.4. Objetivos



        Logo abaixo estão descritos os objetivos a serem alcançados pelo sistema
proposto, obtendo uma visão tanto de forma macro como de forma específica de
seus objetivos.


      1.4.1.      Geral



        Desenvolver um sistema que facilite o controle das solicitações para agilizar
o restabelecimento da operação normal dos serviços dentro do SLA (Service Level
Agreement) definido com o cliente, minimizando o impacto nos negócios causados
por falhas de TI e o atendimento de possíveis mudanças a serem realizadas nos
serviços prestados pela empresa.


      1.4.2.      Específicos


        Fornecer um ponto único com a área de TI para os clientes dos serviços de
TI; Prover um suporte técnico para o atendimento das solicitações cadastradas pelos
clientes da empresa; Ajudar a identificar e a reduzir o custo de propriedade dos
serviços prestados; Gerar indicadores gerenciais para o auxilio de tomadas de
decisão;
17



   1.5. Organização do Trabalho


        Abaixo está descrita a forma como o trabalho está organizado:


        O capítulo 1 descreve de uma forma geral o tema proposto e a justificativa
da escolha do tema e o problema que a ser resolvido.
        O capítulo 2 faz referência à instituição para a qual será destinada a
implementação do sistema contendo o organograma da empresa, as necessidades
do sistema e o ambiente tecnológico existente.
        O capítulo 3 descreve todo o cronograma das atividades realizadas no
desenvolvimento do projeto.
        O capítulo 4 descreve o referencial teórico das tecnologias utilizadas no
desenvolvimento do projeto.
        O capítulo 5 faz referência ao sistema proposto, resultados esperados,
restrições do sistema e as áreas afetadas pelo sistema.
        O capítulo 6 descreve a documentação de análise do projeto, assim como a
visão macro dos atores, identificação dos atores, lista de casos de uso e diagrama
de caso de uso.
        O capítulo 7 descreve a forma como será implantado o sistema.
        O capítulo 8 descreve a conclusão do trabalho realizado.
        O capítulo 9 descreve todo o referencial teórico utilizada no desenvolvimento
do trabalho realizado.
18



2.    Análise Institucional


     2.1. Empresa e seu Negócio


         A empresa Dave Systems (Empresa Fictícia) foi fundada em 1982 com
intuito de atender com qualidade e eficiência uma área carente dentro da
administração pública, porém fundamental para boa gestão do dinheiro público. No
decorrer desses anos tornou-se líder nacional no desenvolvimento e implantação de
soluções de gestão de materiais e de patrimônio. A empresa, desde o princípio,
preocupou-se em trazer inovações para o mercado de tecnologia da informação. A
solução de gestão oferecida pela Dave Systems, inclui ainda todo o serviço de
verificação e consistência da base de dados, ou seja, o levantamento in loco (no
lugar) dos bens permanentes dos órgãos, com metodologia e equipe especializada.


       2.1.1.   Organograma da Empresa

         Logo abaixo é mostrado o organograma geral da Dave Systems (Empresa
Fictícia).




                         Figura 1 - Organograma da Empresa
19



   2.2. Descrições das Necessidades


        A empresa carece de um controle sobre as solicitações demandadas à sua
fábrica de software fazendo com que os gerentes das equipes de desenvolvimento
percam muito tempo em análises de chamados para levantamento de dados que os
dê suporte à geração de indicadores e métricas.


        Atualmente o sistema que controla as atividades de desenvolvimento de
serviços prestados pela empresa, não contempla de forma eficiente e eficaz as
necessidades da mesma, realizando apenas o cadastro de demandas, atribuição da
demanda ao colaborador que desenvolverá o trabalho e finalização do chamado
quando a demanda estiver implementada.


        Para suprir as necessidades da empresa Dave Systems (Empresa Fictícia),
o Sistema de Service Desk (SISDESK) será desenvolvido baseado nas melhores
práticas de gestão de serviço da Information Technology Infrastructure Library (ITIL),
com a atenção voltada para a obtenção da certificação ISO 20.000.


   2.3. Sistemas de Informação Existente na Empresa


        A empresa Dave Systems (Empresa Fictícia) desenvolveu o sistema ASI que
tem por finalidade propiciar realização do inventário dos bens móveis por meio de
um aparelho de leitura óptica de código de barras possibilitando o armazenamento
dos dados coletados no sistema desenvolvido.



   2.4. Normas de Funcionamento


        Para que se possa fazer uso do sistema, há algumas exigências a serem
considerados: o usuário deverá possuir cadastro na intranet local; o usuário deverá
possuir login no sistema; o usuário deverá possuir nível de acesso previamente
cadastrado; O deverá passar por treinamento para que possa interagir de forma
correta com as diversas situações do sistema.
20



   2.5. Ambiente Tecnológico Existente


       Em sua estrutura, a Dave Systems (Empresa Fictícia) possui em torno de
180 computadores sendo 25 servidores, desde firewall à máquina de backup e 30
servidores virtualizados. A rede é mista com wireless, cabeamento estruturado e
ligação via fibra óptica. Os servidores de aplicação utilizam o sistema operacional
Linux e os servidores de banco de dados utilizam o sistema operacional Windows. O
firewall utilizado é baseado em Freebsd (Freebsd é um sistema operacional livre do
tipo unix) e o controlador de domínio é o OPENLDAP (OPENLDAP é um software
livre de código aberto que implementa o protocolo de rede LDAP). Conta com
internet ADSL (Asymmetric Digital Subscriber Line) disponibilizada 24 horas por dia
e 7 dias por semana, possui sala para treinamentos e departamento para digitalizar
e imprimir documentos.
21



3.     Cronograma


           O cronograma é a disposição gráfica do tempo que será gasto na realização
de um trabalho ou projeto, de acordo com as atividades a serem cumpridas. Serve
para auxiliar no gerenciamento e controle das atividades, permitindo de forma rápida
a visualização de seu andamento [2].


       Abaixo o cronograma do planejamento utilizado no desenvolvimento do
sistema.


                                             Tabela 1 - Cronograma

   ETAPAS         MAR/10   ABR/10   MAI/10   JUN/10   JUL/10   AGO/10   SET/10   OUT/10   NOV/10   DEZ/10
Definição     do
Problema
Delimitação do
Tema
Pesquisa
Bibliográfica
Levantamento
Teórico
Definição     da
metodologia
Planejamento
de ações
Levantamento
de Requisitos
Análise     (def.
casos de uso)
Escrever       a
monografia
Projeto
Implementação
Implantação
Apresentação
da monografia
Acertos após
apresentação
Entrega final
22



4.    Referencial Teórico


        Para o desenvolvimento deste trabalho foram estudados os conceitos em
RUP (Rational Unified Process) para os processos de engenharia de software e a
UML (Unified Modeling Language) para a modelagem do sistema. A Linguagem de
Programação Java, foi utilizada para desenvolvimento do sistema. Em relação ao
gerenciamento de serviço, ITIL (Information Technology Infrastructure Library) foi
estudada e implantada nesse trabalho. O Oracle Express foi escolhido como a base
de dados do sistema.


     4.1. Linguagem de Programação


        ANDRADRE (2007) define que o computador é uma super calculadora,
capaz de realizar cálculos muito mais rápido do que humanos, mas para isso
devemos dizer para o computador o que deve ser calculado e como deve ser
calculado. Os computadores interpretam tudo como números em base binária, ou
seja, só entendem zero e um, tornando assim as linguagens de programação um
meio de comunicação inteligível entre computadores e humanos.


        Logo abaixo, teremos uma abordagem sobre algumas linguagens de
programação utilizadas no setor de informática atualmente.


       4.1.1.   Java


        Segundo DEITEL H. e DEITEL P. (2005) os microprocessadores têm um
impacto profundo em dispositivos inteligentes eletrônicos voltados para o
consumidor. Reconhecendo isso, a Sun Microsystems, financiou um projeto de
pesquisa   corporativa   interna   com   o   codinome   Green,   que   resultou   no
desenvolvimento de uma linguagem baseada em C++ que seu criador o chamou de
Oak e que posteriormente foi trocado para Java. A Sun anunciou o Java
formalmente em 1995 em uma importante conferência em maio de 1995. Java é uma
linguagem orientada a objeto, independente de plataforma e segura. A programação
orientada a objeto é uma metodologia de desenvolvimento de software que um
23



programa é percebido como um grupo de objetos que trabalham juntos. Java
disponibiliza a concorrência para o programador de aplicativos por meio de suas
APIs (Application Programming Interface). O programador especifica os aplicativos
que contêm threads de execução, em que cada thread designa uma parte de um
programa que pode executar concorrentemente com outras threads. Essa
capacidade, chamada multithreading, fornece capacidades poderosas para o
programador de Java.



       Conforme CADENHEAD e LEMAY (2005). Java permite a neutralidade de
plataforma, que significa a capacidade de um programa executar sem modificações
em diferentes ambientes de computação. Os programas Java são compilados para
um formato chamado bytecode, que é executado por qualquer sistema operacional,
softwares ou qualquer dispositivo com interpretador Java. O Windows, Solaris, Linux
e Apple Macintosh.



       Com Java podemos também, desenvolver programas para executar em
navegadores e serviços da Web, desenvolver aplicativos no lado servidor, combinar
aplicativos ou serviço para criar outros aplicativos altamente personalizados, entre
outras vantagens [3].



       Para GONÇALVES (2007), trabalhar com banco de dados em aplicações
Web é um fato muito comum no desenvolvimento de um sistema. O Java possui
uma API chamada JDBC (Java DataBase Connectivity) que consiste em um
conjunto de classes e interfaces escritas em Java que oferecem um suporte
completo para programação com banco de dados. Por ser escrita em Java, a API
JDBC também independe de plataforma para a sua utilização.



       Ainda segundo GONÇALVES (2007), as bibliotecas da linguagem Java
contêm várias classes que implementam diversos mecanismos de entrada e saída,
acesso à Internet, manipulação de strings em alto nível, poderosas estruturas de
24



dados, utilitários diversos e um conjunto completo de classes para implementação
de interfaces gráficas. A documentação da linguagem, chamada Javadoc, está
disponível gratuitamente e possui um padrão de organização estruturada como
documento HTML (Hipertext Markup Language). Os desenvolvedores de frameworks
e componentes costumam utilizar este padrão de documentação para documentar
seus códigos. Isto facilita em muito tanto o trabalho em equipe quanto a reutilização
de código de terceiros em outras implementações. Além disto, junto com o
compilador Java vem um aplicativo para geração de JavaDoc do código que você
acabou de implementar.



       Por ser uma linguagem que possui neutralidade, segurança, conexão com
os principais bancos de dados do mercado, documentação da linguagem e ser
multitarefa, Java foi escolhido como a linguagem de programação a ser utilizada no
desenvolvimento do SISDESK.


      4.1.2.   PHP


       Segundo CONVERSE e PARK (2001), PHP é uma linguagem de criação de
scripts com código-fonte aberto embutido em HTML do lado do servidor da Web,
compatível com os mais importantes servidores da Web. PHP significa: Hypertext
Preprocessor (pré-processador de hipertexto), originalmente chamado de Personal
Home Page Tools. O PHP permite embutir fragmentos de códigos em páginas
normais de HTML – código que é interpretado como suas páginas e fornecido a
usuários. É uma linguagem que suporta as funcionalidades para definir classes e
objetos, tornando-se assim orientada a objetos.


       Ainda segundo Converse e Park, o PHP é executado de forma nativa em
cada versão no UNIX e Windows. Também é compatível com os importantes
servidores da Web como o HTTP Apache para UNIX Windows, Microsoft Internet
Information Server e Netscape. O PHP não é suportado na plataforma Macintosh.
Dessa forma, a linguagem de programação           não pode ser considerada uma
linguagem multi-plataforma.
25



        A conectividade de banco de dados é especialmente forte, com suporte de
unidade nativa para a maioria dos bancos de dados, além do ODBC. Suporta
também, um número grande de protocolos importantes como POP3, IMAP, LDAP.


      4.1.3.       Delphi


        Segundo SWAN (1997), o Delphi é uma linguagem de programação para
aplicativos rápidos, adequado para criação de protótipos do Windows e aplicativos
profissionais que competem em velocidade e eficiência. Delphi inclui poderosos
recursos orientados a objeto, sem tornar a linguagem muito complicada, permite a
criação de aplicações para sistemas operacionais, como templates e experts de
aplicações e formulários, que aumentam muito a produtividade. Possuem classes e
objetos, tratamento de exceções, programação multithread, programação modular e
vínculo dinâmico e estático.


        Como dito anteriormente, Delphi é uma linguagem de programação modular
e o módulo básico é denominado unidade. Para compilar um programa em Delphi, é
preciso um arquivo-fonte de programa e quaisquer unidades adicionais na forma de
fonte ou objeto.


        Conforme LISCHNER (2000) Delphi possui três variedades de diretivas de
compilador: chaves, parâmetro e compilação condicional. Uma chave é um flag
Booleano: Um recurso pode estar ativado ou desativado. Um parâmetro oferece
informações, como um nome de arquivo ou o tamanho da pilha. A compilação
condicional lhe permite definir condições e compilar seletivamente partes de um
arquivo-fonte dependendo das condições definidas. Um programa em Delphi é
semelhante a um programa do Pascal tradicional, no entanto, os programas em
Delphi são curtos, pois o trabalho real ocorre em uma ou mais unidades separadas.


   4.2. Banco de Dados


        Segundo DEITEL H. e DEITEL P. (2005), um banco de dados é uma coleção
organizada de dados. Um sistema de gerenciamento de banco de dados fornece
26



mecanismos para armazenar, organizar, recuperar e modificar dados para muitos
usuários


      4.2.1.   Oracle


       Segundo ABBEY, COREY, ABRAMSON (2000), o Oracle é um repositório
para volumes de dados muito grande e fornece aos usuários um acesso rápido a
esses dados. Possui o particionador de dados que consiste em dividir grandes
volumes mais gerenciáveis e reunidos de forma transparente quando os sistemas
funcionam e as sessões de usuário processam consultas. O Oracle fornece a
integridade de dados, ou seja, se, enquanto um usuário está alterando dados dentro
de um banco de dados, uma falha de qualquer espécie ocorrer, o banco de dados
tem a capacidade de desfazer ou retroceder qualquer operação suspeita. Os
sofisticados mecanismos de segurança controlam o acesso de dados sigilosos
através do uso de uma variedade de privilégios. Os usuários recebem direitos para
ver, modificar e criar dados de acordo com os nomes que usam para se conectar
com o banco de dados.


       A empresa Oracle lançou em novembro de 2005, a uma nova edição do
Oracle, o Oracle Express Edition 10g. Trata-se de uma versão gratuita que possui o
mesmo "núcleo" das demais versões, ou seja, uma aplicação que roda na versão do
Oracle Database Standard Edition Server release 2, sua aplicação também irá
funcionar com Oracle Express Edition 10g. Por ser compatível com toda a família de
produtos do Oracle, ele permite aos usuários a facilidade de começar com uma
solução básica e ir mudando para outras versões quando necessário. Permite ainda
que os desenvolvedores tirem total proveito do Oracle Application Express para
rápido desenvolvimento e implementação de aplicativos baseados na Web. [4]


      4.2.2.   PostgreSQL


       O PostgreSQL é um poderoso sistema gerenciador de banco de dados
objeto-relacional de código aberto. É executado em todos os grandes sistemas
operacionais, incluindo Linux e Windows. É totalmente compatível com ACID, tem
27



suporte completo a chaves estrangeiras, junções, visões, gatilhos e procedimentos
armazenados. Inclui a maior parte dos tipos de dados do ISO SQL:1999, incluindo
INTEGER, NUMERIC, BOOLEAN, CHAR, VARCHAR, DATE, INTERVAL, e
TIMESTAMP. Suporta também o armazenamento de objetos binários, incluindo
figuras, sons ou vídeos [5].


        Como um banco de dados de nível corporativo, o PostgreSQL; possui
funcionalidades sofisticadas como o controle de concorrência multiversionado,
recuperação em um ponto no tempo, tablespaces, replicação assíncrona,
transações agrupadas, cópias de segurança, um sofisticado planejador de consultas
e registrador de transações seqüencial para tolerância a falhas. Suporta conjuntos
de caracteres internacionais, codificação de caracteres multibyte, Unicode e sua
ordenação por localização, sensibilidade a caixa (maiúsculas e minúsculas) e
formatação. PostgreSQL é altamente escalável, tanto na quantidade enorme de
dados que pode gerenciar, quanto no número de usuários concorrentes que pode
acomodar. Existem sistemas ativos com o PostgreSQL em ambiente de produção
que gerenciam mais de 4TB de dados [5].


        O código fonte do PostgreSQL está disponível sob a licença de fonte aberta
mais liberal: a licença BSD.


       4.2.3.   MySQL


        Segundo SANTOS (2005) MySQL é um banco de dados relacional,
desenvolvido para plataformas Linux–like, OS/2, Windows. Sendo um software de
livre distribuição para plataformas não-Windows que o utilizam em um servidor Web.


        Ainda segundo SANTOS (2005) o MySQL é um servidor multiusuário,
multitarefa, compatível com o padrão SQL, linguagem essa amplamente utilizada
para manipulação de dados em RDBMS (Banco de dados Relacionais), sendo
considerada um ferramenta de manipulação de base de dados de tamanho
moderado. A principais características que destacam MySQL são: sua velocidade
28



proporcionada pela sua implementação leve que não inclui na totalidade o suporte
as instruções SQL; sua natureza de distribuição gratuita; facilidade de integração
com servidor Web e linguagens de programação de desenvolvimento de sites
dinâmico.


   4.3. RUP (Rational Unified Process)


          Para KRUCHTEN (2003), o Rational Unified Process (também chamado de
processo RUP) é um processo de engenharia de software. Ele oferece uma
abordagem baseada em disciplinas para atribuir tarefas e responsabilidades dentro
de uma organização de desenvolvimento. Sua meta é garantir a produção de
software de alta qualidade que atenda às necessidades dos usuários dentro de um
cronograma e de um orçamento previsíveis. Amadureceu durante os anos, e reflete
a experiência coletiva das muitas pessoas e companhias que hoje compões a rica
herança da Rational Software. O RUP incorpora mais material nas áreas de
engenharia de dados, modelagem de negócio, gerenciamento de projeto e
gerenciamento de configuração, o último como resultado de uma fusão com Pure-
Atria.


          KRUCHTEN (2003) ainda afirma que o RUP fornece uma abordagem
disciplinada para assumir tarefas e responsabilidades dentro de uma organização de
desenvolvimento. Seu objetivo é assegurar a produção de software de alta qualidade
que satisfaça as necessidades de seus usuários finais dentro de prazo e orçamento
previsíveis. Pode ser adaptada e estendida para compor as necessidades de uma
organização que o esteja adotando.


         4.3.1.   Desenvolvimento Iterativo


          Um projeto que usa o desenvolvimento iterativo tem um ciclo de vida que
consiste em várias iterações. Uma iteração incorpora um conjunto quase seqüencial
de atividades em modelagem de negócios, requisitos, análise e design,
implementação, teste e implantação, em várias proporções, dependendo do local em
que ela está localizada no ciclo de desenvolvimento. As iterações nas fases de
29



iniciação e de elaboração se concentram nas atividades de gerenciamento,
requisitos e design. As iterações na fase de construção se concentram no design, na
implementação e no teste. E as iterações na fase de transição e concentram no teste
e na implantação. O gerenciamento das iterações deve ser do tipo timebox, isto é, a
programação de uma iteração deve ser considerada fixa e o escopo do conteúdo da
iteração gerenciado ativamente para atender a essa programação [6].


       4.3.2.   Fases do RUP


        KRUTCHEN (2003) explica que a partir de uma perspectiva de
gerenciamento, o ciclo de vida de software do Rational Unified Process (RUP) é
dividido em quatro fases seqüenciais, cada uma concluída por um marco principal,
ou seja, cada fase é basicamente um intervalo de tempo entre dois marcos
principais.


        Logo abaixo, é exibido o gráfico de baleias, onde é mostrado verticalmente
as disciplinas do desenvolvimento de software. Nas colunas, são mostradas as fases
e o esforço em cada uma delas.




                              Figura 2 - Gráfico de Baleia
30



          4.3.2.1.       Concepção


        Para KRUCHTEN (2003) na fase de concepção, o foco está em entender os
requisitos globais e determinar a extensão do esforço de desenvolvimento. Para
projetos que visam melhorias em um sistema existente, a fase de iniciação é mais
rápida, mas ainda se concentra em assegurar que o projeto seja compensatório e
que seja possível fazê-lo.


        Dentre as atividades da fase de concepção, devemos formular a extensão
do projeto, que quer dizer, captar o contexto e os requisitos mais importantes e
restrições de forma que possa derivar critérios de aceitação para o produto final.
Outra atividade é planejar e preparar um caso de uso de negócio e avaliar
alternativas para gerenciamento de risco, fornecendo pessoal, plano de projeto e
intercâmbio entre custo, prazo e rentabilidade. E por fim, KRUCHTEN (2003) explica
que se deve sintetizar uma arquitetura candidata, avaliar intercâmbios em projeto e
avaliar decisões de fazer/comprar/reutilizar, de forma que custo, prazo e recursos
possam ser calculados.


          4.3.2.2.       Elaboração

        A meta da fase de elaboração é criar a baseline para a arquitetura do
sistema, desenvolver o plano de projeto e eliminar os elementos de alto risco do
projeto, a fim de fornecer uma base estável para o esforço da fase de construção.
Na fase de elaboração, um protótipo executável de arquitetura é construído em uma
ou mais iterações dependendo da extensão, tamanho, risco e novidade do projeto
programação [6].


        Na fase de elaboração, um protótipo executável de arquitetura é construído
em uma ou mais iterações, dependendo da extensão, tamanho risco e novidade do
projeto. No mínimo, este esforço deveria endereçar os casos de uso críticos
identificados na fase de concepção, que tipicamente expõe os riscos técnicos
principais do projeto.
31



        Embora um protótipo evolutivo de um componente de qualidade de produção
sempre seja a meta, isto não exclui o desenvolvimento de um ou mais protótipos de
propaganda para mitigar um determinado risco ou explorar alguns intercâmbios entre
projeto e requisitos. Nem é regra um estudo de viabilidade ou demonstrações a
investidores, clientes e usuários finais.



        Conforme KRUCHTEN (2003) os objetivos primários da fase de elaboração
são: definir, validar e delinear a arquitetura tão rápida quanto possível de ser
realizada; delinear a visão; delinear um plano de alta-fidelidade para a fase de
construção; demonstrar que a arquitetura de linha de base suportará esta visão, a
um custo razoável num tempo razoável.


          4.3.2.3.       Construção



        KRUCHTEN (2003) explica que durante a fase de construção, todos os
componentes restantes e características da aplicação são desenvolvidos e
integrados ao produto, e todas as características são completamente testadas. A
fase de construção é, de certo modo, um processo industrial no qual é colocada
ênfase em gerenciar recursos e controlar operações para aperfeiçoar custos, prazos
e qualidade. Muitos projetos são grandes o suficiente para que sejam gerados
incrementos de construção paralelos. Estas atividades paralelas podem apressar
significativamente a disponibilidade de lançamentos de desenvolvimentos; eles
também podem aumentar a complexidade de gerenciamento de recurso e
sincronização de fluxo. Os objetivos primários da fase de construção incluem:
minimizar custos de desenvolvimento e aperfeiçoando recursos; Alcançar a
qualidade adequada tão rápida quanto possível de ser realizada.


          4.3.2.4.       Transição



        O foco da Fase de Transição é assegurar que o software esteja disponível
para seus usuários finais. A Fase de Transição pode atravessar várias iterações e
32



inclui testar o produto em preparação para release e ajustes pequenos com base no
feedback do usuário. Nesse momento do ciclo de vida, o feedback do usuário deve
priorizar o ajuste fino do produto, a configuração, a instalação e os problemas de
usabilidade; todos os problemas estruturais mais graves devem ter sido trabalhado
muito antes no ciclo de vida do projeto. No fim do ciclo de vida da Fase de
Transição, os objetivos devem ter sido atendidos e o projeto deve estar em uma
posição para fechamento. Em alguns casos, o fim do ciclo de vida atual pode
coincidir com o início de outro ciclo de vida no mesmo produto, conduzindo à nova
geração ou versão do produto. Para outros projetos, o fim da Transição pode
coincidir com uma liberação total dos artefatos a terceiros que poderão ser
responsáveis pela operação, manutenção e melhorias no sistema liberado [6].


       Essa Fase de Transição pode ser muito fácil ou muito complexa,
dependendo do tipo de produto. Um novo release de um produto de mesa existente
pode ser muito simples, ao passo que a substituição do sistema de controle do
tráfego aéreo de um país pode ser excessivamente complexa.



   4.4. UML (Unified Model Language)


       Conforme BOOCH, RUMBAUGH e JACOBSON (2005) os esforços para
criação da UML se iniciaram oficialmente em outubro de 1994, quando Rumbaugh
se juntou a Booch na Rational. O foco inicial do projeto era a unificação dos métodos
Booch e OMT(Object Modeling Technique). O esboço da versão 0.8 do Método
Unificado (como então era chamado) foi lançado em lançado em outubro de 1995.
Na mesma época Jacobson se associou à Rational e o escopo do projeto da UML foi
expandido com a finalidade de incorporar o OOSE (Object-Oriented Software
Engineering). Por vários anos, a manutenção da UML foi assumida pela RTF
(Revision Task Force) do OMG (Object Management Group), que produziu as
versões 1.3, 1.4 e 1.5. De 2000 a 2003, um novo e maior grupo de parceiros
produziu e atualizou a especificação da UML, versão 2.0. A versão foi revista por um
FTF (Finalization Task Force) coordenada por Bran Selic, da empresa IBM, e a
versão oficial da UML 2.0 foi adotada pelo OMG no início de 2005.
33



       BOOCH, RUMBAUGH e JACOBSON (2005) explicam que a UML é uma
linguagem-padrão para a elaboração da estrutura de projetos de software. Ela
poderá ser empregada para a visualização, a especificação, a construção e a
documentação de artefatos que façam uso de sistemas complexos de software. A
UML é adequada para a modelagem de sistemas, cuja abrangência poderá incluir
sistemas de informação coorporativos a serem distribuídos a aplicações em Web e
até sistemas complexos embutidos de tempo real. Segundo Furlan (1998), a UML é
a linguagem padrão para especificar, visualizar, documentar e construir artefatos de
um sistema e pode ser utilizada com todos os processos ao longo do ciclo de
desenvolvimento e através de diferentes tecnologias de implementação.


      4.4.1.   Orientação a Objetos


       Segundo MATOS (2003), a proposta da orientação à objetos é permitir que
os programadores organizem os programas da mesma forma que nossas mentes
enxergam os problemas: não como um conjunto de espaços de memória, mas como
um conjunto de coisas que fazem parte do problema. O interessante neste ponto de
vista é que o programador não será mais obrigado a abstrair do problema variáveis e
suas respectivas organizações, mas imaginar o problema como um grande conjunto
de objetos. Dessa forma é necessário haver uma modificação na maneira como
enxergamos os programas. Não é permitido neste paradigma, orientar a solução dos
problemas de acordo com as funções identificadas no problema, mas de acordo com
o que existe no escopo do problema: objetos.


       FURLAN (1998), afirma que um objeto é uma ocorrência específica
(instância) de uma classe e é similar a uma entidade no modelo relacional somente
até o ponto onde representa uma coleção de dados relacionados com um tema em
comum. Furlan, explica ainda que a tecnologia de objetos oferece modularidade de
seus elementos podendo-se tornar um subconjunto existente e integrá-lo de uma
maneira diferente em outra parte do sistema. Objetos permitem ser combinados ou
utilizados separadamente, pois, em tese, apresentam baixa dependência externa e
alta coesão interna de seus componentes, o que permite promover substituições
sem afetar interconexões ou interferir com a operação dos demais objetos.
34



          4.4.1.1.     Objetos


       Segundo FURLAN (1998) do ponto de vista de abstração, os objetos tentam
não separar o que até então vinha sendo separado: dados e funções. Um objeto é
uma entidade concreta, apesar de ser uma concepção abstrata. Trata-se de um
agrupamento de características e ações desta entidade. Essas características são
agrupadas de forma que possamos identificar outros objetos parecidos. Por outro
lado, suas ações ajudam também a classificar outras entidades como objetos
semelhantes a ele.


          PENDER (2004) define objeto como a representação de uma entidade
específica no mundo real. Diz também que, pode ser uma entidade física ou
intangível, com os propósitos de promover o entendimento do mundo real e suportar
uma base prática para uma implementação computacional.



          4.4.1.2.     Classes


       Segundo PAGE-JONES (2000), uma classe é uma estrutura a partir do qual
são criados objetos. Cada objeto tem a mesma estrutura e comportamento da classe
na qual ele teve origem.


       SANTOS (2003) define que classes são estruturas orientadas a objeto para
conter, para um determinado modelo, os dados que devem ser representados e as
operações que devem ser efetuadas com estes dados. Classes são escritas com os
recursos e regras para implementação dos modelos, mas em muitos casos as
classes são somente moldes ou formas que representam os modelos abstratamente.
Um objeto ou uma instância é uma materialização da classe, e assim pode ser
usado para representar e executar operações. Para que dados ou instâncias
possam ser manipulados, é necessária a criação de referências a estes objetos, que
são basicamente variáveis do tipo de classe.
       Conforme SANTOS (2003), os dados contidos em uma classe são
conhecidos como campos ou atributos daquela classe. Cada campo deve ter um
35



nome e ser de um tipo. Valores contidos dentro de uma classe são chamados de
variáveis, sendo que campos representam dados encapsulados em uma classe, e
variáveis representam valores auxiliares necessários ao funcionamento dos métodos
na classe. As operações contidas em uma classe são chamadas de métodos dessa
classe. Métodos são geralmente chamados ou executados explicitamente a partir de
outros trechos de código na classe que o contém ou a partir de outras classes.


          4.4.1.3.     Herança



       Segundo Furlan (1998), herança é o mecanismo de reutilização de atributos
e operações definidos em classes gerais por classes mais específicas, podendo ser
usada para expressar tanto generalização como associação. Pode-se organizar tipos
similares de classes de objetos em categorias hierárquicas, onde é permitida à
classe de menor nível, que é uma especialização ou extensão de outra classe,
compartilhar atributos e operações de classes superiores na hierarquia.


       SANTOS (2003) diz que o mecanismo de reaproveitamento por herança
permite a reutilização de classes já existentes com instâncias de novas classes. As
classes originais ficam assim contidas nas classes novas.


       É a partir da herança que surge o conceito de classes abstratas, as quais
são idealizadas para serem moldes de eventuais subclasses, as quais irão adicionar
sua estrutura e comportamento, geralmente sobrepondo operações. Permite
especificar atributos e operações comuns a várias classes uma única vez com a
possibilidade de modificar-los à luz das necessidades das classes herdeiras.


          4.4.1.4.     Polimorfismo



       Segundo PAGE-JONES (2000), o termo polimorfismo é originário do grego e
significa "muitas formas" (poli = muitas, morphos = formas). A palavra polimorfismo
origina-se de duas palavras gregas que significam respectivamente, muitas e forma.
Algo que é polifórmico, portanto, apresenta a propriedade de assumir muitas formas.
36



PAGE-JONES (2000) explica ainda que polimorfismo é a habilidade pela qual uma
única operação ou nome de atributo pode ser definido em mais de uma classe e
assumir implementações diferentes em cada uma dessas classes.


       Para     PENDER    (2004),       polimorfismo    é a   capacidade   de escolher
dinamicamente o método para uma operação durante a execução, dependendo do
tipo de objeto que responde à solicitação. Pender complementa dizendo que
polimorfismo significa muitas maneiras de realizar a mesma coisa.


       Para SANTOS (2003), o mecanismo de herança permite a criação de
classes a partir de outras já existentes com relações é-um-tipo-de, de forma que, a
partir de uma classe genérica, classes mais especializadas possam ser criadas.
Polimorfismo permite a manipulação de instâncias de classes que herdam de uma
mesma classe ancestral de forma unificada.


          4.4.1.5.     Coesão


       Segundo PENDER (2004), coesão é uma medida de como as partes de um
objeto dão suporte à mesma finalidade. A coesão mede dois fatores: como a
finalidade do objeto é bem definida e se cada parte do objeto contribui diretamente
para cumprir sua finalidade. Alta coesão significa que um objeto possui uma
finalidade bem definida e tudo no objeto contribui diretamente para essa finalidade.
Baixa coesão significa ou que a finalidade do objeto é ambígua ou que nem todas as
partes do objeto contribuem diretamente para a finalidade do objeto, ou ambos.


      4.4.2.    Diagramas


       FURLAN (1998) afirma que usando a UML, é possível construir modelos a
partir de blocos de construção básicos, como classes, interfaces, componentes, nós,
dependências,    generalizações     e    associações.    Diagramas   são   meios   para
visualização desses blocos de construção. Um diagrama é uma apresentação
gráfica de um conjunto de elementos, geralmente representados como um gráfico
conectado de vértices (itens) e arcos (relacionamentos).
37




          De acordo com Furlan, modelar um sistema complexo é uma tarefa
extensiva sendo necessária a descrição de vários aspectos diferentes incluindo o
funcional, não funcional e organizacional. Cada visão é descrita em um número de
diagramas que contém informação enfatizando um aspecto particular do sistema.


           4.4.2.1.        Diagramas de Classes


          Segundo BOOCH, RUMBAUGH e JACOBSON (2005), um diagrama de
classes    mostra     um   conjunto   classes,   interfaces   e   colaborações   e   seus
relacionamentos. São os diagramas mais encontrados em sistemas de modelagem
orientados a objetos. Esses diagramas são utilizados para ilustrar a visão estática do
projeto de um sistema. Um diagrama de classes é apenas um tipo especial de
diagrama e compartilha as mesmas propriedades de todos os outros diagramas –
um nome e um conteúdo gráfico que são uma projeção em um modelo.


           4.4.2.2.        Diagramas de Colaboração


          Conforme PAGE-JONES (2000), no diagrama de colaboração da UML, os
objetos que interagem por meio de mensagens aparecem como caixas padrões da
UML, com cada uma delas portando o nome de um objeto.                    Cada objeto é
identificado com o nome que os outros objetos utilizam para enviar-lhe uma
mensagem, uma vez que os objetos não têm realmente os seus próprios nomes. Em
outras palavras, um objeto destinatário adota o nome da variável no objeto
remetente que detém o identificador do objeto destinatário.


           4.4.2.3.        Diagramas de Objetos


          Segundo GUEDES 2007, um diagrama de objetos mostra um conjunto de
objetos e seus relacionamentos. Esses diagramas são utilizados para ilustrar as
estruturas de dados, registros estáticos de instâncias dos itens encontrados nos
diagramas de classes. Os diagramas de objetos fazem a modelagem de instâncias
38



de itens contidos em diagramas de classes. A modelagem de estruturas dos objetos
envolve um retrato dos objetos de um sistema em um determinado momento.
       Para FURLAN (1998) diagrama de colaboração é descendente direto do
diagrama de objeto, do gráfico de interação de objeto e várias outras fontes. Uma
colaboração é uma visão de um conjunto de elementos de modelagem relacionados
para um propósito particular em apoio a interações. Assim, um diagrama de
colaboração mostra ma interação organizada em torno de objetos e seus vínculos
formando uma base de padrões.


         4.4.2.4.      Diagramas de Componentes


       Segundo FURLAN (1998) um diagrama de componente é um gráfico de
componentes conectados por relacionamentos de dependência de onde também
podem ser associados componentes a outros por retenção física que representa
relacionamentos de composição. Exibe as organizações e dependências entre
componentes com o propósito de modelar a visão de implementação dos módulos
de software executáveis com identidade e interface bem-definida de um sistema e
seus relacionamentos. Para cada elemento lógico no modelo, geralmente existe um
padrão que mapeia um artefato de implementação.



       Furlan ainda afirma que um componente representa uma unidade de código
de software (fonte, binário ou executável) e pode ser usado para expor o compilador
e dependências de run-time, incluindo sua localização em nós. É desenhado como
um retângulo maior e derivado do método de Booch para representar um módulo.


         4.4.2.5.      Diagramas de Caso de Uso


       Este é o diagrama mais geral e informal da UML, sendo utilizado
principalmente para auxiliar no levantamento e análise dos requisitos, em que são
determinadas as necessidades do usuário, e na compreensão do sistema como um
todo, embora venha a ser consultado durante todo o processo de modelagem e sirva
de base para todos os outros diagramas (GUEDES, 2007).
39




         Conforme BOOCH, RUMBAUGH e JACOBSON (2005) os diagramas de
caso de uso são importantes para visualizar, especificar e documentar o
comportamento de um elemento. Esses diagramas fazem com que sistemas,
subsistemas e classes fiquem acessíveis e compreensíveis, por apresentarem uma
visão externa sobre como esses elementos podem ser utilizados no contexto.
Mostram um conjunto de casos de uso e atores e seus relacionamentos. Diagrama
de caso de uso é faz com que sistemas, subsistemas e classes fiquem acessíveis e
compreensíveis, por apresentarem uma visão externa sobre como esses elementos
podem ser utilizados no contexto.


          4.4.2.6.     Diagramas de Seqüência



         Diagrama de seqüência é um diagrama de interação que dá ênfase à
ordenação temporal de mensagens. Um diagrama de seqüência mostra um conjunto
de papéis e as mensagens enviadas e recebidas pelas instâncias que representam
os papéis. O Diagrama de Seqüência preocupa-se com a ordem temporal em que as
mensagens são trocadas entre os objetos envolvidos em um determinado processo.
Em geral, baseia-se em um Caso de Uso definido pelo diagrama de mesmo nome e
apóia-se no Diagrama de Classes para determinar os objetos das classes envolvidas
em um processo, bem como os métodos disparados entre os mesmos. (GUEDES,
2007).


          4.4.2.7.     Diagramas de Atividade



         Segundo FURLAN (1998) um diagrama de atividades mostra o fluxo de uma
atividade para outra em um sistema. Uma atividade mostra um conjunto de
atividades, o fluxo seqüencial ou ramificado de uma atividade para outra e os objetos
que realizam ou sofrem ações. Os diagramas de atividades são utilizados para fazer
a modelagem da função de um sistema e dão ênfase ao fluxo de controle na
execução de um comportamento com o propósito de estudar os fluxos dirigidos por
40



processamento interno, descrevendo as atividades desempenhadas em uma
operação.
            4.4.2.8.    Diagramas de Interação


        BOOCH, RUMBAUGH e JACOBSON (2005) afirmam que os diagramas de
interação são utilizados para fazer a modelagem dos aspectos dinâmicos do
sistema. Na maior parte, isso envolve a modelagem de instâncias concretas ou
prototípicas de classes, interfaces, componentes e nós, juntamente com as
mensagens que são trocadas entre eles, tudo isso no contexto de aparecer sozinhos
para visualizar, especificar, construir e documentar a dinâmica de uma determinada
sociedade de objetos ou podem ser utilizados para fazer a modelagem de um
determinado fluxo de controle de um caso de uso.


        Um diagrama de interação mostra uma interação formada por um conjunto
de objetos e seus relacionamentos, incluindo as mensagens que poderão ser
trocadas entre eles.



            4.4.2.9.    Diagramas de Implantação


        Segundo FURLAN (1998), a UML fornece o diagrama de implantação para
mostrar a organização do hardware e a ligação do software aos dispositivos físicos.
Um diagrama de implantação denota vários dispositivos de hardware e interfaces
físicas determinados por seu estereótipo, como processador, impressora, memória,
disco e assim por diante.


        FURLAN (1998) ainda afirma que a UML fornece notações avançadas e
semânticas quando uma modelagem mais complexa é requerida, ainda que algumas
dessas notações sejam destinadas a cobrir casos particulares e outras a estender a
UML de um modo controlado para apoiar modelagem do sistema global. Diagrama
de implantação expõe a configuração de elementos de run-time e componentes de
software, processos e objetos que neles se mantêm. Trata-se de um gráfico de nós
41



conectados por associações de comunicação. Os nós podem conter instâncias de
componentes que, por sua vez, podem conter classes, bibliotecas ou executáveis.


          4.4.2.10.    Diagramas de Gráfico de Estados


       Segundo BOOCH, RUMBAUGH e JACOBSON (2005) um diagrama de
gráfico de estados mostra máquina de estados, dando ênfase ao fluxo de controle
de um estado para outro. Uma máquina de estados é um comportamento que
especifica as seqüências de estados pelos quais um objeto passa durante seu
tempo de vida em resposta a eventos, juntamente com suas respostas a esses
eventos. Um estado é uma condição ou situação na vida de um objeto durante a
qual ele satisfaz a alguma condição, realiza alguma atividade ou aguarda algum
evento. Um evento é uma especificação de uma ocorrência de um estímulo capaz de
ativar uma transição de estado.


       BOOCH, RUMBAUGH e JACOBSON (2005) explicam ainda que uma
transição é um relacionamento entre dois estados, indicando que um objeto no
primeiro estado realizará certas ações e entrará no segundo estado quando um
evento especificado ocorrer e as condições especificadas estão satisfeitas. Uma
atividade é uma execução não-atômica em andamento em uma máquina de
estados. Uma ação é uma computação atômica executável que resulta em uma
alteração do estado do modelo ou no retorno de um valor.



   4.5. Information Technology Infrastructure Library - ITIL


       Segundo MAGALHÃES e PINHEIRO (2007) a ITIL é composta por um
conjunto das melhores práticas para a definição dos processos necessários ao
funcionamento de uma área de TI. Descreve a base para a organização dos
processos da área de TI, visando à sua orientação para o Gerenciamento de
Serviços de TI. As diversas práticas reunidas descrevem os objetivos, atividades
gerais, pré-requisitos necessários e resultados esperados dos vários processos, os
quais podem ser incorporados dentro das áreas de TI.
42



        Para FRY (2003) é importante entender que os processos do ITIL não irão
tornar uma infra-estrutura “pobre” de TI em uma infra-estrutura “rica” de TI da noite
para o dia. Seus benefícios podem ser significantes, porém adaptar-se às melhores
práticas e processos não é tão fácil. Isto leva tempo, planejamento e principalmente
comprometimento.


        Conforme MAGALHAES e PINHEIRO (2007) a ITIL não define os processos
a serem implantados na área de TI, não é uma metodologia para implementar
processos de Gestão de Serviços de TI – é um framework flexível que permite
adaptar-se para ir ao encontro das necessidades específicas, demonstra as
melhores práticas que podem ser utilizadas para esta definição. Tais práticas, por
sua vez, podem ser adotadas do modo que melhor puder atender às necessidades
de cada organização.


        A seguir, serão descritos os processos da ITIL que serão utilizados nesse
trabalho.


      4.5.1.   Central de Serviços (Service Desk)


        MAGALHÃES e PINHEIRO (2007) afirmam que a Central de Serviços,
também conhecida como Service Desk, é uma função e não um processo, essencial
para a implementação do Gerenciamento dos Serviços de TI. A Central de Serviços
atua como Ponto Único de Contato entre os usuários e os clientes dos serviços de TI
e os diversos processos relacionados com o Gerenciamento dos Serviços de TI.
Suas principais atividades são: o atendimento às chamadas, não importando o meio
de comunicação utilizado pelos usuários e clientes dos serviços de TI, e aos eventos
recebidos da equipe de supervisão da infra-estrutura de TI, visando a sua correta
classificação, além do encaminhamento para o processo de gerenciamento
adequado.


        Destaca-se, ainda, como objetivo, garantir o encerramento do maior número
de incidentes e consultas dentro do seu nível de atendimento no processo de
43



Gerenciamento de Incidente, evitando a sobrecarga das demais equipes que atuam
no processo.



      4.5.2.    Gerenciamento de Incidentes


        MAGALHÃES e PINHEIRO (2007) dizem que um incidente é qualquer
evento que não faz parte do funcionamento-padrão de um serviço de TI e que
causa, ou pode causar uma interrupção do serviço ou uma redução do seu nível de
desempenho. Na maioria das vezes, um incidente reportado refere-se à interrupção
do serviço de TI.


        Ainda segundo MAGALHÃES e PINHEIRO (2007), o processo de
gerenciamento de incidente tem por objetivo assegurar que, depois da ocorrência de
um incidente, o serviço de TI afetado tenha restaurada a sua condição original de
funcionamento o mais breve possível, minimizando os impactos decorrentes do
efeito sobre o nível de serviço ou, até mesmo, da indisponibilidade total. A central de
serviços é a área responsável pelo atendimento dos usuários e registro dos
incidentes, passando a zelar por eles durante todo o seu ciclo de vida,
independentemente da área em que estejam sendo atendidos.



      4.5.3.    Gerenciamento de Problema


        Segundo MAGALHÃES e PINHEIRO (2007), incidentes que se repetem
indefinidamente e para os quais não se fornece nenhuma solução definitiva, faz com
que os clientes da área de TI percam a confiança na capacidade da equipe de
suporte aos serviços de TI, deteriorando a imagem desta área perante a
organização. Tal fato, também atinge o moral dos integrantes da equipe de suporte
aos serviços de TI que se vêem reiteradamente tendo que resolver os mesmos
incidentes, onerando a sua capacidade de resolver novos acidentes e aumentar sua
contribuição para a organização. Todos os registros de problemas devem ser
relacionados a todos os registros de incidentes associados para ajudar o
gerenciamento de problema a determinar o impacto que tais problemas relacionados
44



a incidentes têm sobre o negócio. O principal objetivo do processo de
Gerenciamento de Problema é minimizar o impacto adverso no negócio dos
incidentes e problemas decorrentes de erros conhecidos relacionados com a infra-
estrutura de TI, prevenindo a repetição de incidentes relacionados com estes erros
conhecidos.


      4.5.4.    Gerenciamento de Nível de Serviço


        Segundo MAGALHÃES e PINHEIRO (2007), o gerenciamento de nível de
serviço é a metodologia disciplinada e os procedimentos proativos utilizados para
garantir que níveis adequados de serviços serão entregues para todos os usuários
de TI de acordo com as prioridades do negócio e a um custo aceitável, acordado
com o cliente. A missão da equipe de gerenciamento de nível de serviço é manter e
gradualmente melhorar a qualidade dos serviços de TI, executando um ciclo
constante de acordar, monitorar, informar os êxitos dos serviços de TI e incitar ações
para erradicar um serviço de TI de baixo desempenho na relação custo/benefício ou
que não tenha mais importância para negócio, promovendo uma melhor relação
entre a área de TI e a organização.


   4.6. ISO/IEC 20.000


        MAGALHÃES e PINHEIRO (2007) afirmam que a ISO (International
Organization for Standardization) e IEC (International Electrotechnical Commission)
fazem parte do sistema especializado para padronização mundial. Entidades
nacionais que são membros da ISO ou IEC participam do desenvolvimento de
Padrões Internacionais através de comitês técnicos estabelecidos pela respectiva
organização para lidar com campos específicos de atividade técnica. A norma
ISO/IEC 20.000 foi desenvolvida para responder às necessidades de uma audiência
global e fornecer um entendimento comum do Gerenciamento de Serviços de TI em
todo o mundo. Esta norma está baseada na BS 15.000, que é uma norma britânica e
foi o primeiro padrão mundial orientado especificamente para o Gerenciamento de
Serviços de TI. A ISO/IEC 20.000 está dividida em duas partes: a ISO/IEC 20.000-
1:2005 e a ISO/IEC 20.000-2:2005.
45



       Segundo MAGALHÃES e PINHEIRO (2007), dois dos maiores desafios
enfrentados pelas áreas de TI em relação ao gerenciamento dos serviços de TI são:
conseguir a atenção e o compromisso por parte da alta direção da organização e
garantir a aceitação e a adoção de um processo de Gerenciamento de Mudança por
toda a organização. Estas resistências são consideravelmente reduzidas nas
organizações registradas como certificadas ISO e que pretendem utilizar a norma
ISO/IEC 20.000 como um passo à frente para obterem uma certificação específica
no Gerenciamento de Serviços de TI. Neste tipo de cenário, a existência de um ciclo
de melhoria contínua envolve todos os stakeholders da organização. Ao mesmo
tempo, melhora a transparência, contribuindo para o aprimoramento do sistema de
gerenciamento da qualidade das operações da organização.


       Ainda segundo MAGALHÃES e PINHEIRO (2007), a ISO/IEC 20.000-1:2005
é um documento de 16 páginas, publicado pela ISO, contém as especificações para
o Gerenciamento de Serviços de TI. Fornece os requisitos do gerenciamento de
serviços de TI na organização. Os índices da ISO/IEC 20.000-1:2005 são: Escopo;
Termos e Definições; Requisitos para um Sistema de Gerenciamento; Planejamento
e Implementação do Gerenciamento de Serviço; Planejamento e Implementação de
Serviços Novos ou Alterados; Processos de Entrega de Serviços; Processos de
Relacionamento; Processos de Resolução; Processos de Controle; Processo de
Gerenciamento de Liberação. A ISO/IEC 20.000-2:2005 é um documento de 34
páginas que apresenta o código de prática para o Gerenciamento de Serviços de TI.
Fornece orientação para os auditores internos e assistências aos prestadores de
serviços que planejam melhorias no serviço ou que querem preparar-se para
auditorias em relação à norma ISO/IEC 20.000-1:2005. Os índices da ISO/IEC
20.000-2:2005 são: Escopo; Termos e Definições; O sistema de gerenciamento;
Planejamento e Implementação do gerenciamento de Serviços; Processos de
Entrega de Serviços; Processos de Relacionamento; Processos de Resolução;
Processos de Controle; Processos de Gerenciamento de Liberação.
46



5.    Proposta do Novo Sistema


         Um sistema que interaja principalmente com o processo de gerenciamento
de incidente, executando, inclusive, parte das atividades deste processo, pelo
atendimento às chamadas originadas de erros percebidos pelos usuários na
interação com os serviços de TI. Prover uma interface para outras atividades
relacionadas com as demais necessidades dos usuários do sistema como
requisições de mudança, contratos de manutenção e solicitações de serviços.


         Minimizar o impacto adverso no negócio dos incidentes e problemas
decorrentes de erros conhecidos relacionados com os serviços prestados pela
equipe de TI.



     5.1. Descrição do Sistema Proposto


         Desenvolver um sistema voltado para o gerenciamento de serviços de TI
prestado pela empresa Dave Systems (Empresa Fictícia) tendo o gerenciamento de
incidentes como o principal foco, de forma que torne a central de serviços à área
responsável pelo atendimento dos usuários e registro dos incidentes, passando a
zelar durante todo o ciclo de vida do incidente.


         O sistema permitirá o cadastro de solicitações através de um canal de
comunicação. A comunicação poderá ser via e-mail, telefone ou qualquer outro meio
definido entre o provedor do serviço e o cliente. O analista de suporte fará o
cadastro das demandas e/ou à verificação para solução de um incidente. O analista
de incidente terá o controle das demandas enquanto a mesma estiver sendo
implementada e será responsável pelo feedback ao Analista de Suporte.



         De posse de todo o serviço catalogado no sistema, os diretores facilmente
geram indicadores para tomada de decisão e/ou métricas para acompanhamento da
estratégia do negócio.
47



   5.2. Resultados Esperados


        Com a utilização do SISDESK, espera-se que haja um maior controle sobre
os incidentes e solicitações de mudanças cadastradas pelos clientes gerando,
assim, um incremento da velocidade de atendimento e a melhoria do índice de
satisfação dos clientes dos serviços de TI. Espera-se também, a melhora no
gerenciamento da informação para tomada de decisão relativa aos serviços
prestados aos clientes de TI.


   5.3. Restrições do Sistema Proposto


        A priori, o sistema terá o seu funcionamento apenas para a intranet da Dave
Systems. O sistema obriga ao usuário possuir login e senha e um tipo de perfil
associado a sua conta para que seja definido o nível de acesso ao sistema proposto.


        Serão utilizados dados fictícios para alimentação da base de dados do
projeto, dessa forma, os dados reais da Dave Systems (Empresa Fictícia) serão
preservados.


        Neste momento as matérias da ITIL que serão utilizadas para o
desenvolvimento do sistema são: gerenciamento de incidente, gerenciamento de
problema, gerenciamento de mudança e gerenciamento de nível de serviço.


   5.4. Resultados Esperados


        A relação custo x benefício de um sistema é questionada por vários fatores.
Redução com ligações telefônicas e identificação de erros visando à diminuição do
tempo da solução de um problema resulta em atenuar custos trazendo benefícios
lucrativos a empresa.


        O sistema oferece vários benefícios como soluções mais rápidas, ambiente
único acessado por todos para cadastrar problemas e consultar soluções, assim
como identificar através de estatísticas as áreas mais problemáticas onde
48



necessitam de acompanhamento específico, sendo assim, diminuindo custos através
de tempo de produção.


       Relatórios são emitidos periodicamente indicando a relação de problemas e
soluções para medir problemas e identificar erros relacionados em cada área para
direcionar decisões.


   5.5. Áreas Afetadas Pelo Novo Sistema


       Na empresa Dave Systems (Empresa Fictícia) as áreas que inicialmente
serão afetadas pelo novo sistema serão a gerência de suporte, gerência de projetos,
coordenação de análise, coordenação de desenvolvimento e diretores de TI.


   5.6. Banco de Dados


       A empresa para qual está sendo desenvolvido o SISDEK, utiliza o Oracle
como banco de dados. Partindo deste princípio, o banco de dados Oracle Express
10 g será utilizado para implementação do sistema evitando dessa forma, conflitos
no momento da implantação do software.
49



6.    Documentação de Análise


         Logo abaixo estão descritos os atores do sistema, identificando suas
funções dentro do mesmo. Está relaciona a lista de caso de uso que será
implementada no sistema, assim como é demonstrado o diagrama de casos de uso
e suas devidas especificações detalhadas. Neste tópico também é demonstrado
modelo de entidade e relacionamento, o diagrama de classes e a especificação das
tabelas do banco de dados.


     6.1. Visão Macro dos Atores


         O SISDESK possuirá os seguintes atores em seu sistema: Analista de
Suporte, Analista de Incidente, Técnico e Administrador.


     6.2. Identificação dos Atores


         O ator Analista de Suporte é responsável por criar um registro de incidente
com as informações disponíveis sobre o mesmo. Consiste em receber o registro de
incidente, seja ele por telefone, fax ou email, e criar o registro no gerenciamento de
incidente.


         O ator Analista de Incidente é responsável por fornecer rapidamente uma
boa análise de um incidente e/ou uma solução para ela, a fim de restabelecer o
serviço perturbado o mais rápido possível. Esse papel será desenvolvido pelo
Analista de Sistema.


         O Ator Gerente de Incidentes é responsável pela qualidade e a integridade
do processo de gerenciamento de incidente. Esta pessoa é a interface com outros
gerentes de processos.


         O ator Técnico é responsável pela implementação de uma solução tanto
para um serviço interrompido quanto para uma solicitação de mudança. Esse papel
50



poderá ser realizado por Desenvolvedores, Administradores de Dados, Analista de
Banco de Dados ou Web Designers.


       O ator Administrador é responsável pelo cadastro e exclusão de usuários no
sistema. Tem acesso a todos os módulos do sistema. Esta pessoa define, no perfil
de cada usuário, os módulos e as funcionalidades permitidas ao perfil agregado ao
usuário do sistema.



   6.3. Lista dos Casos de Uso


       Exposto abaixo a tabela com a lista de casos de uso do sistema.


                           Tabela 2 - Lista de Caso de Uso
               Código            Casos de Uso

               UC01              Efetuar Login

               UC02              Manter Usuário

               UC03              Manter Incidente

               UC04              Manter Mudança

               UC05              Manter Problema
51



6.4. Diagrama de Caso de Uso


    Exposto abaixo o diagrama de caso de uso do sistema.


    uc Primary Use Cases




                                           ServiceDesk




                                            Efetuar Login




                                          Manter Incidente




                                                                  Admin
        Usuario



                                           Manter Problema




                                         Manter Mudança




                                        Manter Usuário




                           Figura 3 - Diagrama de Casos de Usos
52



      6.5. Descrição Detalhada dos Casos de Uso


           Abaixo é mostrada a especificação de caso de uso das funcionalidades do
sistema proposto.


UC01 – Efetuar Login


                                    Tabela 3 - UC01 Efetuar Login

Nome                      UC01- Efetuar Login
Objetivo                  Efetuar Login.
Atores                    Administrador;
                          Usuários Cadastrados.
Dados Consumidos          Login e senha.
Dados Produzidos          Acesso ao sistema.
Prioridade                Alta.
Pré-condições             Possuir cadastro no sistema.
Pós-condições             N/A
                                            Fluxo Principal
Efetuar login.

                          Ator                                             Sistema
Informar login e senha.                             Valida as informações do usuário e senha.
                                                    Se os dados estiverem OK, o sistema carrega a
                                                    página inicial. Se os dados estiverem incorretos, a
                                                    aplicação retorna uma mensagem de erro.
Receber mensagem
Se a mensagem foi de erro, reinicie o processo do
fluxo principal.
Se a mensagem foi de sucesso, encerre o Fluxo
                                           Fluxo Alternativo 1
N/A
53



UC03 – Manter Usuário



                                      Tabela 4 – UC2 Manter Usuário

Nome                      UC03- Manter Usuário
Objetivo                  Cadastrar usuário no sistema.
Atores                    Administrador;
                          Usuários Cadastrados.
Dados Consumidos          Nome, função, email e técnico.
Dados Produzidos          Usuários Cadastrados.
Prioridade                Alta.
Pré-condições             Possuir cadastro no sistema;
                          Estar logado no sistema.
Pós-condições             N/A
                                   Fluxo Principal – Cadastrar Usuário
                         Ator                                               Sistema
Acessar a página de cadastro de usuário.             O sistema carrega a pagina para cadastrar um
                                                     novo usuário.
Preencher as informações relativas ao cadastro de O sistema valida as informações da tela. Se os
usuário e clica no botão gravar.                  dados estiverem OK, armazená-los na tabela
                                                  SD_TECNICO e enviar mensagem de operação
                                                  realizada com sucesso. Se os dados não estiverem
                                                  OK, enviar mensagem de erro.
Receber mensagem.
Se a mensagem foi de erro, reinicie o processo do
fluxo principal.
Se a mensagem foi de sucesso, encerre o Fluxo.
                                  Fluxo Alternativo 1 – Consultar Usuário
                         Ator                                               Sistema
Acessar a página de consulta de usuário.             O sistema lista todos os usuários cadastrados.
Selecionar o registro.                               O sistema carrega na tela os dados do registro
                                                     selecionado.
                                   Fluxo Alternativo 2 – Alterar Usuário
                         Ator                                               Sistema
Acessar a página de usuário.                         O sistema lista todos os usuários cadastrados.
Selecionar o item a ser modificado.                  O sistema carrega para a tela as informações
                                                     referentes ao usuário selecionado.
Alterar as informações e clica no botão Gravar.      O sistema valida as informações da tela. Se os
                                                     dados estiverem OK, armazená-los na tabela
                                                     SD_TECNICO e enviar mensagem de operação
                                                     realizada com sucesso. Se os dados não estiverem
                                                     OK, enviar mensagem de erro.
54



Receber mensagem.
Se a mensagem foi de erro, reinicie o processo do
fluxo alternativo 2.
Se a mensagem foi de sucesso, encerre o Fluxo


                                    Fluxo Alternativo 3 – Excluir Usuário
                           Ator                                              Sistema
Acessar a página de usuário.                         O sistema lista todos os usuários cadastrados.
Selecionar o item a ser excluído.                    O sistema carrega para a tela as informações
                                                     referentes ao usuário selecionado.
Clicar no botão excluir.                             O sistema exclui os dados da base de dados e
                                                     envia mensagem de operação realizada com
                                                     sucesso.
Receber mensagem.




UC04 – Manter Incidente


                                    Tabela 5 - UC03 Manter Incidente

Nome                       UC04- Manter Incidente
Objetivo                   Cadastrar Novo incidente no Sistema.
Atores                     Administrador;
                           Usuários Cadastrados.
Dados Consumidos           Responsável, solicitante, impacto, nível, urgência, categoria, assunto,
                           descrição, data de abertura, data de conclusão.
Dados Produzidos           Incidente cadastrado.
Prioridade                 Alta.
Pré-condições              Possuir cadastro no sistema;
                           Estar logado no sistema.
Pós-condições              Não se Aplica.
                                    Fluxo Principal – Cadastrar Incidente
                           Ator                                              Sistema
Acessar a página de cadastro de                      O sistema carrega a pagina principal de incidente.
Incidente do sistema.
Preencher as informações relativas ao incidente e    O sistema valida as informações da tela. Se os
clica no botão gravar.                               dados estiverem OK, armazená-los na tabela
                                                     SD_INCIDENTE e enviar mensagem de operação.
                                                     Se os dados não estiverem OK, enviar mensagem
                                                     de erro.
Receber mensagem.
SisDesk - Sistema de Service-Desk voltado para desenvolvimento de software
SisDesk - Sistema de Service-Desk voltado para desenvolvimento de software
SisDesk - Sistema de Service-Desk voltado para desenvolvimento de software
SisDesk - Sistema de Service-Desk voltado para desenvolvimento de software
SisDesk - Sistema de Service-Desk voltado para desenvolvimento de software
SisDesk - Sistema de Service-Desk voltado para desenvolvimento de software
SisDesk - Sistema de Service-Desk voltado para desenvolvimento de software
SisDesk - Sistema de Service-Desk voltado para desenvolvimento de software
SisDesk - Sistema de Service-Desk voltado para desenvolvimento de software
SisDesk - Sistema de Service-Desk voltado para desenvolvimento de software
SisDesk - Sistema de Service-Desk voltado para desenvolvimento de software
SisDesk - Sistema de Service-Desk voltado para desenvolvimento de software
SisDesk - Sistema de Service-Desk voltado para desenvolvimento de software
SisDesk - Sistema de Service-Desk voltado para desenvolvimento de software
SisDesk - Sistema de Service-Desk voltado para desenvolvimento de software
SisDesk - Sistema de Service-Desk voltado para desenvolvimento de software
SisDesk - Sistema de Service-Desk voltado para desenvolvimento de software
SisDesk - Sistema de Service-Desk voltado para desenvolvimento de software
SisDesk - Sistema de Service-Desk voltado para desenvolvimento de software
SisDesk - Sistema de Service-Desk voltado para desenvolvimento de software
SisDesk - Sistema de Service-Desk voltado para desenvolvimento de software
SisDesk - Sistema de Service-Desk voltado para desenvolvimento de software

Mais conteúdo relacionado

Mais procurados

Tri tue-nhan-tao-dinh-manh-tuong
Tri tue-nhan-tao-dinh-manh-tuongTri tue-nhan-tao-dinh-manh-tuong
Tri tue-nhan-tao-dinh-manh-tuong
Quyên Đinh
 
Chapitre iii récursivité et paradigme diviser pour régner
Chapitre iii récursivité et paradigme diviser pour régnerChapitre iii récursivité et paradigme diviser pour régner
Chapitre iii récursivité et paradigme diviser pour régner
Sana Aroussi
 

Mais procurados (20)

節子、それViewControllerやない...、FatViewControllerや...。
節子、それViewControllerやない...、FatViewControllerや...。節子、それViewControllerやない...、FatViewControllerや...。
節子、それViewControllerやない...、FatViewControllerや...。
 
C2 Réseaux : medias - equipements
C2 Réseaux : medias - equipementsC2 Réseaux : medias - equipements
C2 Réseaux : medias - equipements
 
Tri tue-nhan-tao-dinh-manh-tuong
Tri tue-nhan-tao-dinh-manh-tuongTri tue-nhan-tao-dinh-manh-tuong
Tri tue-nhan-tao-dinh-manh-tuong
 
Traitement des images avec matlab
Traitement des images avec matlabTraitement des images avec matlab
Traitement des images avec matlab
 
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
 
Chp4 - Composition, Orchestration et Choregraphie de services
Chp4 - Composition, Orchestration et Choregraphie de servicesChp4 - Composition, Orchestration et Choregraphie de services
Chp4 - Composition, Orchestration et Choregraphie de services
 
Conception et développement de la gestion de visa sous Dynamics Ax R2
Conception et développement de la gestion de visa sous Dynamics Ax R2Conception et développement de la gestion de visa sous Dynamics Ax R2
Conception et développement de la gestion de visa sous Dynamics Ax R2
 
6. kiến trúc vi dịch vụ
6. kiến trúc vi dịch vụ6. kiến trúc vi dịch vụ
6. kiến trúc vi dịch vụ
 
DSP
DSPDSP
DSP
 
Cours JavaScript.ppt
Cours JavaScript.pptCours JavaScript.ppt
Cours JavaScript.ppt
 
Plateforme e-learning PHP
Plateforme e-learning PHP Plateforme e-learning PHP
Plateforme e-learning PHP
 
Fascicule de tp atelier développement web
Fascicule de tp atelier développement webFascicule de tp atelier développement web
Fascicule de tp atelier développement web
 
Chapitre iii récursivité et paradigme diviser pour régner
Chapitre iii récursivité et paradigme diviser pour régnerChapitre iii récursivité et paradigme diviser pour régner
Chapitre iii récursivité et paradigme diviser pour régner
 
Cours design pattern m youssfi partie 1 introduction et pattern strategy
Cours design pattern m youssfi partie 1 introduction et pattern strategyCours design pattern m youssfi partie 1 introduction et pattern strategy
Cours design pattern m youssfi partie 1 introduction et pattern strategy
 
LTE Presentation [French]
LTE Presentation [French] LTE Presentation [French]
LTE Presentation [French]
 
Cours BDD.pptx
Cours BDD.pptxCours BDD.pptx
Cours BDD.pptx
 
Cours les technologies WAN
Cours les technologies WANCours les technologies WAN
Cours les technologies WAN
 
Conférence: Catalyseurs de l'Intelligence Artificielle et Écosystème des Fram...
Conférence: Catalyseurs de l'Intelligence Artificielle et Écosystème des Fram...Conférence: Catalyseurs de l'Intelligence Artificielle et Écosystème des Fram...
Conférence: Catalyseurs de l'Intelligence Artificielle et Écosystème des Fram...
 
Support JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.YoussfiSupport JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.Youssfi
 
Traitement d'image sous Matlab
Traitement d'image sous Matlab  Traitement d'image sous Matlab
Traitement d'image sous Matlab
 

Semelhante a SisDesk - Sistema de Service-Desk voltado para desenvolvimento de software

Fabio virtualizacao (1)
Fabio   virtualizacao (1)Fabio   virtualizacao (1)
Fabio virtualizacao (1)
gsabatke
 
ESTRATÉGIA DE REAÇÃO EM CALL CENTER: UMA PROPOSTA DE ARQUITETURA
ESTRATÉGIA DE REAÇÃO EM CALL CENTER: UMA PROPOSTA DE ARQUITETURAESTRATÉGIA DE REAÇÃO EM CALL CENTER: UMA PROPOSTA DE ARQUITETURA
ESTRATÉGIA DE REAÇÃO EM CALL CENTER: UMA PROPOSTA DE ARQUITETURA
Sabrina Mariana
 
Audit 01-apostila-auditoria-em-si
Audit 01-apostila-auditoria-em-siAudit 01-apostila-auditoria-em-si
Audit 01-apostila-auditoria-em-si
Alves Albert
 
A TENDÊNCIA DE INSERÇÃO DOS ARMAZÉNS AUTOMATIZADOS NOS CENTROS DE DISTRIBUIÇÃO
A TENDÊNCIA DE INSERÇÃO DOS ARMAZÉNS AUTOMATIZADOS NOS CENTROS DE DISTRIBUIÇÃOA TENDÊNCIA DE INSERÇÃO DOS ARMAZÉNS AUTOMATIZADOS NOS CENTROS DE DISTRIBUIÇÃO
A TENDÊNCIA DE INSERÇÃO DOS ARMAZÉNS AUTOMATIZADOS NOS CENTROS DE DISTRIBUIÇÃO
cksato
 
TCC / Monografia em ITIL - 2
TCC / Monografia em ITIL - 2TCC / Monografia em ITIL - 2
TCC / Monografia em ITIL - 2
Fernando Palma
 

Semelhante a SisDesk - Sistema de Service-Desk voltado para desenvolvimento de software (20)

Trabalho de diplomação I
Trabalho de diplomação ITrabalho de diplomação I
Trabalho de diplomação I
 
Fabio virtualizacao (1)
Fabio   virtualizacao (1)Fabio   virtualizacao (1)
Fabio virtualizacao (1)
 
PROJETO INTEGRADOR IV: DESENVOLVIMENTO DE SERVIÇOS DE TECNOLOGIA DA INFORMAÇÃO
PROJETO INTEGRADOR IV: DESENVOLVIMENTO DE SERVIÇOS DE TECNOLOGIA DA INFORMAÇÃOPROJETO INTEGRADOR IV: DESENVOLVIMENTO DE SERVIÇOS DE TECNOLOGIA DA INFORMAÇÃO
PROJETO INTEGRADOR IV: DESENVOLVIMENTO DE SERVIÇOS DE TECNOLOGIA DA INFORMAÇÃO
 
PETIC 2.0 - GERTEC - SEFAZ/SE - 2009 - 2011
PETIC 2.0 - GERTEC - SEFAZ/SE - 2009 - 2011PETIC 2.0 - GERTEC - SEFAZ/SE - 2009 - 2011
PETIC 2.0 - GERTEC - SEFAZ/SE - 2009 - 2011
 
Convergência para Práticas e Modelos na Gestão de TI
Convergência para Práticas e Modelos na Gestão de TIConvergência para Práticas e Modelos na Gestão de TI
Convergência para Práticas e Modelos na Gestão de TI
 
PI IV - DESENVOLVIMENTO DE SERVICOS DE TI
PI IV - DESENVOLVIMENTO DE SERVICOS DE TIPI IV - DESENVOLVIMENTO DE SERVICOS DE TI
PI IV - DESENVOLVIMENTO DE SERVICOS DE TI
 
Gerencia de Serviços de TI
Gerencia de Serviços de TIGerencia de Serviços de TI
Gerencia de Serviços de TI
 
Gerenciamento de serviços de TI
Gerenciamento de serviços de TIGerenciamento de serviços de TI
Gerenciamento de serviços de TI
 
ESTRATÉGIA DE REAÇÃO EM CALL CENTER: UMA PROPOSTA DE ARQUITETURA
ESTRATÉGIA DE REAÇÃO EM CALL CENTER: UMA PROPOSTA DE ARQUITETURAESTRATÉGIA DE REAÇÃO EM CALL CENTER: UMA PROPOSTA DE ARQUITETURA
ESTRATÉGIA DE REAÇÃO EM CALL CENTER: UMA PROPOSTA DE ARQUITETURA
 
SIQA - Sistema Indicador de Qualidade de Atividade
SIQA - Sistema Indicador de Qualidade de AtividadeSIQA - Sistema Indicador de Qualidade de Atividade
SIQA - Sistema Indicador de Qualidade de Atividade
 
Monografia aplicacoes internet_marcos andre
Monografia aplicacoes internet_marcos andreMonografia aplicacoes internet_marcos andre
Monografia aplicacoes internet_marcos andre
 
Monografia- ThingProvider
Monografia- ThingProviderMonografia- ThingProvider
Monografia- ThingProvider
 
Audit 01-apostila-auditoria-em-si
Audit 01-apostila-auditoria-em-siAudit 01-apostila-auditoria-em-si
Audit 01-apostila-auditoria-em-si
 
Projeto banco de_dados_cloud
Projeto banco de_dados_cloudProjeto banco de_dados_cloud
Projeto banco de_dados_cloud
 
Virtualização e Administração de Servidores com Xen: Um estudo no Instituto F...
Virtualização e Administração de Servidores com Xen: Um estudo no Instituto F...Virtualização e Administração de Servidores com Xen: Um estudo no Instituto F...
Virtualização e Administração de Servidores com Xen: Um estudo no Instituto F...
 
TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI
TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDITCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI
TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI
 
DST - Gestão Documental do Arquivo de Obra: proposta de transferência de supo...
DST - Gestão Documental do Arquivo de Obra: proposta de transferência de supo...DST - Gestão Documental do Arquivo de Obra: proposta de transferência de supo...
DST - Gestão Documental do Arquivo de Obra: proposta de transferência de supo...
 
Gerenciamento de Projetos de TI
Gerenciamento de Projetos de TIGerenciamento de Projetos de TI
Gerenciamento de Projetos de TI
 
A TENDÊNCIA DE INSERÇÃO DOS ARMAZÉNS AUTOMATIZADOS NOS CENTROS DE DISTRIBUIÇÃO
A TENDÊNCIA DE INSERÇÃO DOS ARMAZÉNS AUTOMATIZADOS NOS CENTROS DE DISTRIBUIÇÃOA TENDÊNCIA DE INSERÇÃO DOS ARMAZÉNS AUTOMATIZADOS NOS CENTROS DE DISTRIBUIÇÃO
A TENDÊNCIA DE INSERÇÃO DOS ARMAZÉNS AUTOMATIZADOS NOS CENTROS DE DISTRIBUIÇÃO
 
TCC / Monografia em ITIL - 2
TCC / Monografia em ITIL - 2TCC / Monografia em ITIL - 2
TCC / Monografia em ITIL - 2
 

Mais de UNIEURO

Um estudo sobre a história da internet no Brasil
Um estudo sobre a história da internet no BrasilUm estudo sobre a história da internet no Brasil
Um estudo sobre a história da internet no Brasil
UNIEURO
 

Mais de UNIEURO (14)

SisEdu – Sistema Educacional - Módulo Financeiro
SisEdu – Sistema Educacional - Módulo FinanceiroSisEdu – Sistema Educacional - Módulo Financeiro
SisEdu – Sistema Educacional - Módulo Financeiro
 
SisEdu – Sistema Educacional - Módulo Ano Letivo
SisEdu – Sistema Educacional - Módulo Ano LetivoSisEdu – Sistema Educacional - Módulo Ano Letivo
SisEdu – Sistema Educacional - Módulo Ano Letivo
 
SATI - Sistema de Atendimento Técnico de Informática
SATI - Sistema de Atendimento Técnico de InformáticaSATI - Sistema de Atendimento Técnico de Informática
SATI - Sistema de Atendimento Técnico de Informática
 
Um estudo sobre software livre nas organizações públicas
Um estudo sobre software livre nas organizações públicasUm estudo sobre software livre nas organizações públicas
Um estudo sobre software livre nas organizações públicas
 
Um estudo sobre mulheres na tecnologia da informação
Um estudo sobre mulheres na tecnologia da informaçãoUm estudo sobre mulheres na tecnologia da informação
Um estudo sobre mulheres na tecnologia da informação
 
Um estudo sobre inteligência artificial e o funcionamento de um agente
Um estudo sobre inteligência artificial e o funcionamento de um agenteUm estudo sobre inteligência artificial e o funcionamento de um agente
Um estudo sobre inteligência artificial e o funcionamento de um agente
 
Um estudo sobre educação à distância, sua regulamentação e tecnologias utiliz...
Um estudo sobre educação à distância, sua regulamentação e tecnologias utiliz...Um estudo sobre educação à distância, sua regulamentação e tecnologias utiliz...
Um estudo sobre educação à distância, sua regulamentação e tecnologias utiliz...
 
Redes e os princípios da criptografia
Redes e os princípios da criptografiaRedes e os princípios da criptografia
Redes e os princípios da criptografia
 
Software livre: Por que usar?
Software livre: Por que usar?Software livre: Por que usar?
Software livre: Por que usar?
 
Um estudo sobre computação em nuvem
Um estudo sobre computação em nuvemUm estudo sobre computação em nuvem
Um estudo sobre computação em nuvem
 
Um estudo sobre a história da internet no Brasil
Um estudo sobre a história da internet no BrasilUm estudo sobre a história da internet no Brasil
Um estudo sobre a história da internet no Brasil
 
Redes e os princípios da criptografia
Redes e os princípios da criptografiaRedes e os princípios da criptografia
Redes e os princípios da criptografia
 
Malwares. conceitos, historicidade e impacto
Malwares. conceitos, historicidade e impactoMalwares. conceitos, historicidade e impacto
Malwares. conceitos, historicidade e impacto
 
Aplicabilidade do sistema de informação no desenvolvimento de sistemas embarc...
Aplicabilidade do sistema de informação no desenvolvimento de sistemas embarc...Aplicabilidade do sistema de informação no desenvolvimento de sistemas embarc...
Aplicabilidade do sistema de informação no desenvolvimento de sistemas embarc...
 

SisDesk - Sistema de Service-Desk voltado para desenvolvimento de software

  • 1. FACULDADE ALVORADA CURSO DE BACHARELADO EM SISTEMAS DE INFORMAÇÃO Francisco David Costa de Oliveira SISDESK - Sistema de Service Desk voltado para desenvolvimento de software Orientadora: Profa. Mestra Elizabeth d’Arrochella Teixeira Brasília – DF, Dezembro de 2010
  • 2. ii FRANCISCO DAVID COSTA DE OLIVEIRA SISDESK - Sistema de Service Desk voltado para desenvolvimento de software Trabalho de Conclusão de Curso apresentado à Banca Examinadora, como exigência parcial para a obtenção do título de Bacharelado em Sistemas de Informação e à Sociedade de Ensino Tecnologia, Educação e Cultura Orientadora: Profa. Mestre Elizabeth d’Arrochella Teixeira Brasília – DF, Dezembro de 2010
  • 3. iii
  • 4. iv EPÍGRAFE “Até as mais altas torres começaram do chão...” Provérbio Chinês.
  • 5. v RESUMO As empresas de TI (Tecnologia da Informação) têm se preocupado cada vez mais com a qualidade de entrega de serviços e entendem a importância que a alta disponibilidade da Tecnologia da Informação traz aos seus negócios. Desta forma, buscam soluções inovadoras e pioneiras de mercado, fazendo com que a demanda de produtividade seja atendida através de soluções com alto valor agregado, integradas, customizadas, reduzindo custos, tornando a área de Tecnologia da Informação um aliado vital ao seu negócio. Uma das formas de atingir este objetivo é implementando o gerenciamento de serviços de TI. Este trabalho mostra um estudo referente aos processos da ITIL (Information Technology Infrastructure Library) e apresenta a implementação de um sistema de Service Desk. Palavras-Chave: ITIL. Central de Serviços. Incidente. Solicitação de Mudança.
  • 6. vi ABSTRACT IT companies have been getting concerned increasingly with quality of service delivery and understand the importance that the high availability of information technology brings to business. Thus, they seek innovative solutions and pioneering market, causing the demand is met through productivity solutions with high added value, integrated, customized, reducing costs, making the area of information technology a vital ally to your business. One way of achieving this goal is by implementing the management of IT services. This work shows a study related to ITIL processes and shows the implementation of a system aimed at the Service Desk management services. Keywords: ITIL. Service Desk. Incident. Change Request.
  • 7. vii LISTA DE FIGURAS Figura 1 - Organograma da Empresa........................................................................ 18 Figura 2 - Gráfico de Baleia....................................................................................... 29 Figura 3 - Diagrama de Casos de Usos .................................................................... 51 Figura 4 - Diagrama de Classe.................................................................................. 59 Figura 5 - Modelo de Entidade e Relacionamento .................................................... 60 Figura 6 - Árvore do Sistema..................................................................................... 67 Figura 7 - Tela de Login ............................................................................................ 68 Figura 9 - Nova Solicitação ....................................................................................... 69 Figura 10 - Adicionar Solução ................................................................................... 69 Figura 11 - Cadastro de Problema ............................................................................ 70 Figura 12 - Cadastro de Usuário ............................................................................... 70
  • 8. viii LISTA DE TABELAS Tabela 1 - Cronograma ............................................................................................. 21 Tabela 2 - Lista de Caso de Uso ............................................................................... 50 Tabela 3 - UC01 Efetuar Login .................................................................................. 52 Tabela 4 – UC2 Manter Usuário ................................................................................ 53 Tabela 5 - UC03 Manter Incidente ............................................................................ 54 Tabela 6 – UC04 Manter Mudança ........................................................................... 56 Tabela 7 - UC05 Manter Problema............................................................................ 57 Tabela 8 - SD_ANEXOINCIDENTE .......................................................................... 61 Tabela 9 - SD_ANEXOMUDANCA ............................................................................ 61 Tabela 10 - SD_ESTADOMUDANCA ....................................................................... 62 Tabela 11 - SD_FUNCÃO ......................................................................................... 62 Tabela 12 - SD_INCIDENTE ..................................................................................... 63 Tabela 13 - SD_ MATRIZPRIORIDADE .................................................................... 64 Tabela 14 - SD_MUDANCA ...................................................................................... 64 Tabela 15 - SD_MUDANCAESTADO ....................................................................... 65 Tabela 16 - SD_NIVELMUDANCA ............................................................................ 65 Tabela 17 - SD_PRIORIDADE .................................................................................. 66 Tabela 18 - SD_TECNICO ........................................................................................ 66 Tabela 19 - SD_URGENCIA ..................................................................................... 67
  • 9. ix LISTA DE ABREVIATURAS ADSL Asymmetric Digital Subscriber Line API Application Programming Interface FTF Finalization Task Force HTML Hipertext Markup Language IEC International Electrotechnical Commission HTTP HiperText Transfer Protocol IMAP Internet Message Protocol ISSO International Organization for Standardization ITIL Information Technology Infrastructure Library JDBC Java DataBase Connectivity LDAP Lightweight Directory Access Protocol ODBC Open Database Connectivity OMC Object Management Group OOSE Object-Oriented Software Engineering PHP HiperText Preprocessor POP Post Office Protocol RTF Revision Task Force RUP Rational Unified Process SISDESK Sistema de Service Desk SLA Service Level Agreement TI Tecnologia da Informação UML Unified Model Language
  • 10. 10 SUMÁRIO 1. Introdução ........................................................................................................... 13 1.1. Tema................................................................................................................... 14 1.2. Justificativa ......................................................................................................... 14 1.3. Formulação do Problema.................................................................................... 15 1.4. Objetivos ............................................................................................................. 16 1.4.1. Geral ............................................................................................................ 16 1.4.2. Específicos ................................................................................................... 16 1.5. Organização do Trabalho ................................................................................... 17 2. Análise Institucional ............................................................................................ 18 2.1. Empresa e seu Negócio...................................................................................... 18 2.1.1. Organograma da Empresa ........................................................................... 18 2.2. Descrições das Necessidades ............................................................................ 19 2.3. Sistemas de Informação Existente na Empresa ................................................. 19 2.4. Normas de Funcionamento................................................................................. 19 2.5. Ambiente Tecnológico Existente ......................................................................... 20 3. Cronograma ........................................................................................................ 21 4. Referencial Teórico ............................................................................................. 22 4.1. Linguagem de Programação............................................................................... 22 4.1.1. Java.............................................................................................................. 22 4.1.2. PHP .............................................................................................................. 24 4.1.3. Delphi ........................................................................................................... 25 4.2. Banco de Dados ................................................................................................. 25 4.2.1. Oracle........................................................................................................... 26 4.2.2. PostgreSQL .................................................................................................. 26 4.2.3. MySQL ......................................................................................................... 27 4.3. RUP (Rational Unified Process) .......................................................................... 28 4.3.1. Desenvolvimento Iterativo ............................................................................ 28 4.3.2. Fases do RUP .............................................................................................. 29 4.3.2.1. Concepção ................................................................................................ 30 4.3.2.2. Elaboração ................................................................................................ 30
  • 11. 11 4.3.2.3. Construção................................................................................................ 31 4.3.2.4. Transição .................................................................................................. 31 4.4. UML (Unified Model Language) .......................................................................... 32 4.4.1. Orientação a Objetos ................................................................................... 33 4.4.1.1. Objetos...................................................................................................... 34 4.4.1.2. Classes ..................................................................................................... 34 4.4.1.3. Herança .................................................................................................... 35 4.4.1.4. Polimorfismo ............................................................................................. 35 4.4.1.5. Coesão...................................................................................................... 36 4.4.2. Diagramas .................................................................................................... 36 4.4.2.1. Diagramas de Classes .............................................................................. 37 4.4.2.2. Diagramas de Colaboração ...................................................................... 37 4.4.2.3. Diagramas de Objetos .............................................................................. 37 4.4.2.4. Diagramas de Componentes .................................................................... 38 4.4.2.5. Diagramas de Caso de Uso ...................................................................... 38 4.4.2.6. Diagramas de Seqüência .......................................................................... 39 4.4.2.7. Diagramas de Atividade ............................................................................ 39 4.4.2.8. Diagramas de Interação ............................................................................ 40 4.4.2.9. Diagramas de Implantação ....................................................................... 40 4.4.2.10. Diagramas de Gráfico de Estados ......................................................... 41 4.5. Information Technology Infrastructure Library - ITIL ........................................... 41 4.5.1. Central de Serviços (Service Desk).............................................................. 42 4.5.2. Gerenciamento de Incidentes ...................................................................... 43 4.5.3. Gerenciamento de Problema ....................................................................... 43 4.5.4. Gerenciamento de Nível de Serviço ............................................................. 44 4.6. ISO/IEC 20.000 ................................................................................................... 44 5. Proposta do Novo Sistema ................................................................................. 46 5.1. Descrição do Sistema Proposto .......................................................................... 46 5.2. Resultados Esperados ........................................................................................ 47 5.3. Restrições do Sistema Proposto ......................................................................... 47 5.4. Resultados Esperados ........................................................................................ 47 5.5. Áreas Afetadas Pelo Novo Sistema .................................................................... 48 5.6. Banco de Dados ................................................................................................. 48
  • 12. 12 6. Documentação de Análise .................................................................................. 49 6.1. Visão Macro dos Atores ...................................................................................... 49 6.2. Identificação dos Atores...................................................................................... 49 6.3. Lista dos Casos de Uso ...................................................................................... 50 6.4. Diagrama de Caso de Uso.................................................................................. 51 6.5. Descrição Detalhada dos Casos de Uso ............................................................ 52 6.6. Diagrama de Classes.......................................................................................... 59 6.7. Modelo de Entidade e Relacionamento .............................................................. 60 6.8. Especificação das Tabelas ................................................................................. 61 6.8.1. Tabela SD_ANEXOINCIDENTE .................................................................. 61 6.8.2. Tabela SD_ANEXOMUDANCA .................................................................... 61 6.8.3. Tabela SD_ESTADOMUDANCA ................................................................. 62 6.8.4. Tabela SD_FUNCAO ................................................................................... 62 6.8.5. TABELA SD_IMPACTO ............................................................................... 63 6.8.6. Tabela SD_INCIDENTE ............................................................................... 63 6.8.7. Tabela SD_MATRIZPRIORIDADE ............................................................... 64 6.8.8. Tabela SD_MUDANCA ................................................................................ 64 6.8.9. Tabela SD_MUDANCAESTADO ................................................................. 65 6.8.10. Tabela SD_NIVELMUDANCA ................................................................... 65 6.8.11. Tabela SD_PRIORIDADE ......................................................................... 65 6.8.12. Tabela SD_TECNICO ............................................................................... 66 6.8.13. Tabela SD_URGENCIA ............................................................................ 67 6.9. Árvore do Sistema .............................................................................................. 67 6.10. Especificações Físicas ................................................................................. 68 6.10.1. Layout das Principais Telas da Aplicação ................................................. 68 6.11. Help on-line .................................................................................................. 71 6.12. Segurança Física e Lógica ........................................................................... 71 6.12.1. Norma de Segurança Física ..................................................................... 71 6.12.2. Norma de Segurança Lógica .................................................................... 71 7. Plano de Implantação ......................................................................................... 73 8. Conclusão ........................................................................................................... 74 9. Referencias Bibliográficas .................................................................................. 75
  • 13. 13 1. Introdução Segundo MAGALHÃES e PINHEIRO (2007), a cada dia que passa, as organizações tornam-se mais dependentes da Tecnologia da Informação a fim de satisfazer seus objetivos estratégicos e para atender às necessidades do negócio em que atuam. Uma área de TI (Tecnologia da Informação) que não considerar os objetivos estratégicos da organização em que se insere como os seus próprios objetivos, será uma área de TI que deseja apenas ser um simples provedor de tecnologia, haja vista que até mesmo os provedores de tecnologia, atualmente, tendem a preocupar-se com a estratégia de negócio de seus clientes, condição básica para a venda de serviços sob demanda. Ainda segundo MAGALHÃES e PINHEIRO (2007), o Gerenciamento de Serviços de Tecnologia da Informação é o instrumento pelo qual a área pode iniciar a adoção de uma postura pró-ativa em relação ao atendimento das necessidades da organização, contribuindo para evidenciar a sua participação na geração de valor. O Gerenciamento de Serviço de TI visa alocar adequadamente os recursos disponíveis e gerenciá-los de forma integrada, fazendo com que a qualidade do conjunto seja percebida pelos seus clientes e usuários, evitando-se a ocorrência de problemas na entrega e na operação dos serviços de Tecnologia da Informação. Para MAGALHÃES e PINHEIRO (2007), organizações consideradas líderes em suas indústrias estão deixando de ser organizações puramente focadas em custo para se tornarem organizações focadas em valor. Isto pode ser constatado pela atual prática da troca dos indicadores de desempenho derivados da estratégia da organização e que permitem a monitoração do desempenho na execução de sua estratégia, a partir de diversas perspectivas, além da financeira, tradicionalmente utilizada. Hoje, as organizações já estão mais maduras e tomam decisões que levam em conta não apenas custo, mas a criticidade de cada processo da área de TI para a geração de valor para a organização. O Gerenciamento de Serviço de TI é, de forma resumida, o gerenciamento da integração entre pessoas, processos e tecnologias, componentes de um serviço de TI focados nas necessidades dos clientes e de modo alinhado à estratégia de negócio da organização, visando o
  • 14. 14 alcance de objetivos de custos e desempenho pelo estabelecimento de acordos de nível de serviço entre a área de TI e as demais áreas de negócio da organização. MAGALHÃES e PINHEIRO (2007) ainda afirmam que a ITIL (Information Technology Infrastructure Library), criada a partir da necessidade de padronizar os processos da área de TI visando à terceirização, baseia-se na experiência coletiva de inúmeros praticantes do Gerenciamento de Serviços de TI de organizações privadas e públicas de todo o mundo. Esta é a razão pela qual vem se tornando um padrão na área de Gerenciamento de Serviços de TI, adotada por organizações- líderes em seus segmentos de atuação em escala mundial. A eficiência, a eficácia, a efetividade e a economicidade no suporte aos serviços de TI são fatores críticos para o sucesso no alcance dos objetivos estratégicos traçados pela organização. 1.1. Tema O Sistema de Service Desk (SISDESK) é um sistema que atua como ponto único de contato entre o provedor de serviços de TI e os clientes, onde são cadastrados incidentes e solicitações de mudanças, possibilitando assim, um melhor gerenciamento dos serviços de TI. 1.2. Justificativa Conforme MAGALHÃES e PINHEIRO (2007), a Central de Serviços é uma função e não um processo, essencial para a implementação do Gerenciamento de Serviços de TI. Mais do que um ponto de suporte aos usuários, a Central de Serviços é a principal interface entre a área de TI e os usuários dos seus serviços. Ela é responsável pela primeira impressão que a área de TI dará aos seus usuários quando da necessidade de interação, quer seja para a solicitação de um serviço ou esclarecimento sobre o modo de interação com o serviço de TI ou para comunicação de um erro. As normas internacionais relacionadas com a Gestão de Serviços de TI permitem a colaboração de organizações internacionais e fornecem diretrizes
  • 15. 15 valiosas que contribuem para o estabelecimento da credibilidade das empresas. A ISO (International Organization for Standardization) 20.000, permite a uma organização demonstrar aos seus clientes e investidores que opera com integridade negocial e segurança, e que promove uma cultura de melhoramento contínuo da qualidade no âmbito da Gestão de Serviços de TI [1]. Com intuito de implementar a ISO 20.000 para um melhor gerenciamento de seus serviços de TI e fornecer um atendimento de qualidade às solicitações dos clientes, a empresa Dave Systems (Empresa Fictícia) necessita de uma ferramenta de apoio gerencial de serviços de TI que incremente velocidade ao atendimento e melhore o suporte aos usuários de seus serviços. Para esse fim, o sistema SISDESK será desenvolvido de forma a suprir estas necessidades. Em um futuro próximo, a empresa Dave Systems (Empresa Fictícia) estuda a possibilidade de aquisição da certificação ISO 20.000, e utilizar o SISDESK como ferramenta de apoio para obtenção e manutenção da certificação ISO 20.000. 1.3. Formulação do Problema O controle dos incidentes gerados pelos sistemas desenvolvidos pela Dave Systems (Empresa Fictícia) são cadastrados em um sistema desenvolvida pela mesma chamada Help. No Help são cadastrados os chamados para correção ou solicitação de mudança no sistema, permitindo o acompanhamento da demanda e a visualização na íntegra de todos os envolvidos no chamado. Porém, para o intuito da empresa Dave Systems, que é viabilizar a entrega e o suporte de serviços focados nas necessidades dos clientes, a empresa percebeu que sua ferramenta de controle de incidentes, o Help, não atendia às suas exigências. O Help não possui relatórios para geração de métricas, o que dificulta as tomadas de decisões para determinados assuntos gerenciais. A base de dados possui dados inconsistentes, o que gera conflitos de informações para os usuários. Outra falha grave do sistema, é que o mesmo permite que técnicos, que receberam um chamado para resolução de um incidente, tenham privilégios para encaminhar a demanda para outros técnicos sem antes retorná-la para o Analista do Incidente, que é o dono do chamado, com o
  • 16. 16 motivo pelo qual o mesmo foi devolvido. Dessa forma perde-se o controle sobre o incidente podendo ficar dias tramitando entre técnicos sem nenhuma solução implementada para o problema. Com o atual sistema, algumas demandas com grau de dificuldade alta são deixadas de lado para que outras demandas de nível de dificuldade menor sejam implementadas. Dessa forma, algumas solicitações demoram mais do que o previsto para serem executadas e, conseqüentemente, atrasando a resolução das solicitações e gerando insatisfação por parte do cliente. 1.4. Objetivos Logo abaixo estão descritos os objetivos a serem alcançados pelo sistema proposto, obtendo uma visão tanto de forma macro como de forma específica de seus objetivos. 1.4.1. Geral Desenvolver um sistema que facilite o controle das solicitações para agilizar o restabelecimento da operação normal dos serviços dentro do SLA (Service Level Agreement) definido com o cliente, minimizando o impacto nos negócios causados por falhas de TI e o atendimento de possíveis mudanças a serem realizadas nos serviços prestados pela empresa. 1.4.2. Específicos Fornecer um ponto único com a área de TI para os clientes dos serviços de TI; Prover um suporte técnico para o atendimento das solicitações cadastradas pelos clientes da empresa; Ajudar a identificar e a reduzir o custo de propriedade dos serviços prestados; Gerar indicadores gerenciais para o auxilio de tomadas de decisão;
  • 17. 17 1.5. Organização do Trabalho Abaixo está descrita a forma como o trabalho está organizado: O capítulo 1 descreve de uma forma geral o tema proposto e a justificativa da escolha do tema e o problema que a ser resolvido. O capítulo 2 faz referência à instituição para a qual será destinada a implementação do sistema contendo o organograma da empresa, as necessidades do sistema e o ambiente tecnológico existente. O capítulo 3 descreve todo o cronograma das atividades realizadas no desenvolvimento do projeto. O capítulo 4 descreve o referencial teórico das tecnologias utilizadas no desenvolvimento do projeto. O capítulo 5 faz referência ao sistema proposto, resultados esperados, restrições do sistema e as áreas afetadas pelo sistema. O capítulo 6 descreve a documentação de análise do projeto, assim como a visão macro dos atores, identificação dos atores, lista de casos de uso e diagrama de caso de uso. O capítulo 7 descreve a forma como será implantado o sistema. O capítulo 8 descreve a conclusão do trabalho realizado. O capítulo 9 descreve todo o referencial teórico utilizada no desenvolvimento do trabalho realizado.
  • 18. 18 2. Análise Institucional 2.1. Empresa e seu Negócio A empresa Dave Systems (Empresa Fictícia) foi fundada em 1982 com intuito de atender com qualidade e eficiência uma área carente dentro da administração pública, porém fundamental para boa gestão do dinheiro público. No decorrer desses anos tornou-se líder nacional no desenvolvimento e implantação de soluções de gestão de materiais e de patrimônio. A empresa, desde o princípio, preocupou-se em trazer inovações para o mercado de tecnologia da informação. A solução de gestão oferecida pela Dave Systems, inclui ainda todo o serviço de verificação e consistência da base de dados, ou seja, o levantamento in loco (no lugar) dos bens permanentes dos órgãos, com metodologia e equipe especializada. 2.1.1. Organograma da Empresa Logo abaixo é mostrado o organograma geral da Dave Systems (Empresa Fictícia). Figura 1 - Organograma da Empresa
  • 19. 19 2.2. Descrições das Necessidades A empresa carece de um controle sobre as solicitações demandadas à sua fábrica de software fazendo com que os gerentes das equipes de desenvolvimento percam muito tempo em análises de chamados para levantamento de dados que os dê suporte à geração de indicadores e métricas. Atualmente o sistema que controla as atividades de desenvolvimento de serviços prestados pela empresa, não contempla de forma eficiente e eficaz as necessidades da mesma, realizando apenas o cadastro de demandas, atribuição da demanda ao colaborador que desenvolverá o trabalho e finalização do chamado quando a demanda estiver implementada. Para suprir as necessidades da empresa Dave Systems (Empresa Fictícia), o Sistema de Service Desk (SISDESK) será desenvolvido baseado nas melhores práticas de gestão de serviço da Information Technology Infrastructure Library (ITIL), com a atenção voltada para a obtenção da certificação ISO 20.000. 2.3. Sistemas de Informação Existente na Empresa A empresa Dave Systems (Empresa Fictícia) desenvolveu o sistema ASI que tem por finalidade propiciar realização do inventário dos bens móveis por meio de um aparelho de leitura óptica de código de barras possibilitando o armazenamento dos dados coletados no sistema desenvolvido. 2.4. Normas de Funcionamento Para que se possa fazer uso do sistema, há algumas exigências a serem considerados: o usuário deverá possuir cadastro na intranet local; o usuário deverá possuir login no sistema; o usuário deverá possuir nível de acesso previamente cadastrado; O deverá passar por treinamento para que possa interagir de forma correta com as diversas situações do sistema.
  • 20. 20 2.5. Ambiente Tecnológico Existente Em sua estrutura, a Dave Systems (Empresa Fictícia) possui em torno de 180 computadores sendo 25 servidores, desde firewall à máquina de backup e 30 servidores virtualizados. A rede é mista com wireless, cabeamento estruturado e ligação via fibra óptica. Os servidores de aplicação utilizam o sistema operacional Linux e os servidores de banco de dados utilizam o sistema operacional Windows. O firewall utilizado é baseado em Freebsd (Freebsd é um sistema operacional livre do tipo unix) e o controlador de domínio é o OPENLDAP (OPENLDAP é um software livre de código aberto que implementa o protocolo de rede LDAP). Conta com internet ADSL (Asymmetric Digital Subscriber Line) disponibilizada 24 horas por dia e 7 dias por semana, possui sala para treinamentos e departamento para digitalizar e imprimir documentos.
  • 21. 21 3. Cronograma O cronograma é a disposição gráfica do tempo que será gasto na realização de um trabalho ou projeto, de acordo com as atividades a serem cumpridas. Serve para auxiliar no gerenciamento e controle das atividades, permitindo de forma rápida a visualização de seu andamento [2]. Abaixo o cronograma do planejamento utilizado no desenvolvimento do sistema. Tabela 1 - Cronograma ETAPAS MAR/10 ABR/10 MAI/10 JUN/10 JUL/10 AGO/10 SET/10 OUT/10 NOV/10 DEZ/10 Definição do Problema Delimitação do Tema Pesquisa Bibliográfica Levantamento Teórico Definição da metodologia Planejamento de ações Levantamento de Requisitos Análise (def. casos de uso) Escrever a monografia Projeto Implementação Implantação Apresentação da monografia Acertos após apresentação Entrega final
  • 22. 22 4. Referencial Teórico Para o desenvolvimento deste trabalho foram estudados os conceitos em RUP (Rational Unified Process) para os processos de engenharia de software e a UML (Unified Modeling Language) para a modelagem do sistema. A Linguagem de Programação Java, foi utilizada para desenvolvimento do sistema. Em relação ao gerenciamento de serviço, ITIL (Information Technology Infrastructure Library) foi estudada e implantada nesse trabalho. O Oracle Express foi escolhido como a base de dados do sistema. 4.1. Linguagem de Programação ANDRADRE (2007) define que o computador é uma super calculadora, capaz de realizar cálculos muito mais rápido do que humanos, mas para isso devemos dizer para o computador o que deve ser calculado e como deve ser calculado. Os computadores interpretam tudo como números em base binária, ou seja, só entendem zero e um, tornando assim as linguagens de programação um meio de comunicação inteligível entre computadores e humanos. Logo abaixo, teremos uma abordagem sobre algumas linguagens de programação utilizadas no setor de informática atualmente. 4.1.1. Java Segundo DEITEL H. e DEITEL P. (2005) os microprocessadores têm um impacto profundo em dispositivos inteligentes eletrônicos voltados para o consumidor. Reconhecendo isso, a Sun Microsystems, financiou um projeto de pesquisa corporativa interna com o codinome Green, que resultou no desenvolvimento de uma linguagem baseada em C++ que seu criador o chamou de Oak e que posteriormente foi trocado para Java. A Sun anunciou o Java formalmente em 1995 em uma importante conferência em maio de 1995. Java é uma linguagem orientada a objeto, independente de plataforma e segura. A programação orientada a objeto é uma metodologia de desenvolvimento de software que um
  • 23. 23 programa é percebido como um grupo de objetos que trabalham juntos. Java disponibiliza a concorrência para o programador de aplicativos por meio de suas APIs (Application Programming Interface). O programador especifica os aplicativos que contêm threads de execução, em que cada thread designa uma parte de um programa que pode executar concorrentemente com outras threads. Essa capacidade, chamada multithreading, fornece capacidades poderosas para o programador de Java. Conforme CADENHEAD e LEMAY (2005). Java permite a neutralidade de plataforma, que significa a capacidade de um programa executar sem modificações em diferentes ambientes de computação. Os programas Java são compilados para um formato chamado bytecode, que é executado por qualquer sistema operacional, softwares ou qualquer dispositivo com interpretador Java. O Windows, Solaris, Linux e Apple Macintosh. Com Java podemos também, desenvolver programas para executar em navegadores e serviços da Web, desenvolver aplicativos no lado servidor, combinar aplicativos ou serviço para criar outros aplicativos altamente personalizados, entre outras vantagens [3]. Para GONÇALVES (2007), trabalhar com banco de dados em aplicações Web é um fato muito comum no desenvolvimento de um sistema. O Java possui uma API chamada JDBC (Java DataBase Connectivity) que consiste em um conjunto de classes e interfaces escritas em Java que oferecem um suporte completo para programação com banco de dados. Por ser escrita em Java, a API JDBC também independe de plataforma para a sua utilização. Ainda segundo GONÇALVES (2007), as bibliotecas da linguagem Java contêm várias classes que implementam diversos mecanismos de entrada e saída, acesso à Internet, manipulação de strings em alto nível, poderosas estruturas de
  • 24. 24 dados, utilitários diversos e um conjunto completo de classes para implementação de interfaces gráficas. A documentação da linguagem, chamada Javadoc, está disponível gratuitamente e possui um padrão de organização estruturada como documento HTML (Hipertext Markup Language). Os desenvolvedores de frameworks e componentes costumam utilizar este padrão de documentação para documentar seus códigos. Isto facilita em muito tanto o trabalho em equipe quanto a reutilização de código de terceiros em outras implementações. Além disto, junto com o compilador Java vem um aplicativo para geração de JavaDoc do código que você acabou de implementar. Por ser uma linguagem que possui neutralidade, segurança, conexão com os principais bancos de dados do mercado, documentação da linguagem e ser multitarefa, Java foi escolhido como a linguagem de programação a ser utilizada no desenvolvimento do SISDESK. 4.1.2. PHP Segundo CONVERSE e PARK (2001), PHP é uma linguagem de criação de scripts com código-fonte aberto embutido em HTML do lado do servidor da Web, compatível com os mais importantes servidores da Web. PHP significa: Hypertext Preprocessor (pré-processador de hipertexto), originalmente chamado de Personal Home Page Tools. O PHP permite embutir fragmentos de códigos em páginas normais de HTML – código que é interpretado como suas páginas e fornecido a usuários. É uma linguagem que suporta as funcionalidades para definir classes e objetos, tornando-se assim orientada a objetos. Ainda segundo Converse e Park, o PHP é executado de forma nativa em cada versão no UNIX e Windows. Também é compatível com os importantes servidores da Web como o HTTP Apache para UNIX Windows, Microsoft Internet Information Server e Netscape. O PHP não é suportado na plataforma Macintosh. Dessa forma, a linguagem de programação não pode ser considerada uma linguagem multi-plataforma.
  • 25. 25 A conectividade de banco de dados é especialmente forte, com suporte de unidade nativa para a maioria dos bancos de dados, além do ODBC. Suporta também, um número grande de protocolos importantes como POP3, IMAP, LDAP. 4.1.3. Delphi Segundo SWAN (1997), o Delphi é uma linguagem de programação para aplicativos rápidos, adequado para criação de protótipos do Windows e aplicativos profissionais que competem em velocidade e eficiência. Delphi inclui poderosos recursos orientados a objeto, sem tornar a linguagem muito complicada, permite a criação de aplicações para sistemas operacionais, como templates e experts de aplicações e formulários, que aumentam muito a produtividade. Possuem classes e objetos, tratamento de exceções, programação multithread, programação modular e vínculo dinâmico e estático. Como dito anteriormente, Delphi é uma linguagem de programação modular e o módulo básico é denominado unidade. Para compilar um programa em Delphi, é preciso um arquivo-fonte de programa e quaisquer unidades adicionais na forma de fonte ou objeto. Conforme LISCHNER (2000) Delphi possui três variedades de diretivas de compilador: chaves, parâmetro e compilação condicional. Uma chave é um flag Booleano: Um recurso pode estar ativado ou desativado. Um parâmetro oferece informações, como um nome de arquivo ou o tamanho da pilha. A compilação condicional lhe permite definir condições e compilar seletivamente partes de um arquivo-fonte dependendo das condições definidas. Um programa em Delphi é semelhante a um programa do Pascal tradicional, no entanto, os programas em Delphi são curtos, pois o trabalho real ocorre em uma ou mais unidades separadas. 4.2. Banco de Dados Segundo DEITEL H. e DEITEL P. (2005), um banco de dados é uma coleção organizada de dados. Um sistema de gerenciamento de banco de dados fornece
  • 26. 26 mecanismos para armazenar, organizar, recuperar e modificar dados para muitos usuários 4.2.1. Oracle Segundo ABBEY, COREY, ABRAMSON (2000), o Oracle é um repositório para volumes de dados muito grande e fornece aos usuários um acesso rápido a esses dados. Possui o particionador de dados que consiste em dividir grandes volumes mais gerenciáveis e reunidos de forma transparente quando os sistemas funcionam e as sessões de usuário processam consultas. O Oracle fornece a integridade de dados, ou seja, se, enquanto um usuário está alterando dados dentro de um banco de dados, uma falha de qualquer espécie ocorrer, o banco de dados tem a capacidade de desfazer ou retroceder qualquer operação suspeita. Os sofisticados mecanismos de segurança controlam o acesso de dados sigilosos através do uso de uma variedade de privilégios. Os usuários recebem direitos para ver, modificar e criar dados de acordo com os nomes que usam para se conectar com o banco de dados. A empresa Oracle lançou em novembro de 2005, a uma nova edição do Oracle, o Oracle Express Edition 10g. Trata-se de uma versão gratuita que possui o mesmo "núcleo" das demais versões, ou seja, uma aplicação que roda na versão do Oracle Database Standard Edition Server release 2, sua aplicação também irá funcionar com Oracle Express Edition 10g. Por ser compatível com toda a família de produtos do Oracle, ele permite aos usuários a facilidade de começar com uma solução básica e ir mudando para outras versões quando necessário. Permite ainda que os desenvolvedores tirem total proveito do Oracle Application Express para rápido desenvolvimento e implementação de aplicativos baseados na Web. [4] 4.2.2. PostgreSQL O PostgreSQL é um poderoso sistema gerenciador de banco de dados objeto-relacional de código aberto. É executado em todos os grandes sistemas operacionais, incluindo Linux e Windows. É totalmente compatível com ACID, tem
  • 27. 27 suporte completo a chaves estrangeiras, junções, visões, gatilhos e procedimentos armazenados. Inclui a maior parte dos tipos de dados do ISO SQL:1999, incluindo INTEGER, NUMERIC, BOOLEAN, CHAR, VARCHAR, DATE, INTERVAL, e TIMESTAMP. Suporta também o armazenamento de objetos binários, incluindo figuras, sons ou vídeos [5]. Como um banco de dados de nível corporativo, o PostgreSQL; possui funcionalidades sofisticadas como o controle de concorrência multiversionado, recuperação em um ponto no tempo, tablespaces, replicação assíncrona, transações agrupadas, cópias de segurança, um sofisticado planejador de consultas e registrador de transações seqüencial para tolerância a falhas. Suporta conjuntos de caracteres internacionais, codificação de caracteres multibyte, Unicode e sua ordenação por localização, sensibilidade a caixa (maiúsculas e minúsculas) e formatação. PostgreSQL é altamente escalável, tanto na quantidade enorme de dados que pode gerenciar, quanto no número de usuários concorrentes que pode acomodar. Existem sistemas ativos com o PostgreSQL em ambiente de produção que gerenciam mais de 4TB de dados [5]. O código fonte do PostgreSQL está disponível sob a licença de fonte aberta mais liberal: a licença BSD. 4.2.3. MySQL Segundo SANTOS (2005) MySQL é um banco de dados relacional, desenvolvido para plataformas Linux–like, OS/2, Windows. Sendo um software de livre distribuição para plataformas não-Windows que o utilizam em um servidor Web. Ainda segundo SANTOS (2005) o MySQL é um servidor multiusuário, multitarefa, compatível com o padrão SQL, linguagem essa amplamente utilizada para manipulação de dados em RDBMS (Banco de dados Relacionais), sendo considerada um ferramenta de manipulação de base de dados de tamanho moderado. A principais características que destacam MySQL são: sua velocidade
  • 28. 28 proporcionada pela sua implementação leve que não inclui na totalidade o suporte as instruções SQL; sua natureza de distribuição gratuita; facilidade de integração com servidor Web e linguagens de programação de desenvolvimento de sites dinâmico. 4.3. RUP (Rational Unified Process) Para KRUCHTEN (2003), o Rational Unified Process (também chamado de processo RUP) é um processo de engenharia de software. Ele oferece uma abordagem baseada em disciplinas para atribuir tarefas e responsabilidades dentro de uma organização de desenvolvimento. Sua meta é garantir a produção de software de alta qualidade que atenda às necessidades dos usuários dentro de um cronograma e de um orçamento previsíveis. Amadureceu durante os anos, e reflete a experiência coletiva das muitas pessoas e companhias que hoje compões a rica herança da Rational Software. O RUP incorpora mais material nas áreas de engenharia de dados, modelagem de negócio, gerenciamento de projeto e gerenciamento de configuração, o último como resultado de uma fusão com Pure- Atria. KRUCHTEN (2003) ainda afirma que o RUP fornece uma abordagem disciplinada para assumir tarefas e responsabilidades dentro de uma organização de desenvolvimento. Seu objetivo é assegurar a produção de software de alta qualidade que satisfaça as necessidades de seus usuários finais dentro de prazo e orçamento previsíveis. Pode ser adaptada e estendida para compor as necessidades de uma organização que o esteja adotando. 4.3.1. Desenvolvimento Iterativo Um projeto que usa o desenvolvimento iterativo tem um ciclo de vida que consiste em várias iterações. Uma iteração incorpora um conjunto quase seqüencial de atividades em modelagem de negócios, requisitos, análise e design, implementação, teste e implantação, em várias proporções, dependendo do local em que ela está localizada no ciclo de desenvolvimento. As iterações nas fases de
  • 29. 29 iniciação e de elaboração se concentram nas atividades de gerenciamento, requisitos e design. As iterações na fase de construção se concentram no design, na implementação e no teste. E as iterações na fase de transição e concentram no teste e na implantação. O gerenciamento das iterações deve ser do tipo timebox, isto é, a programação de uma iteração deve ser considerada fixa e o escopo do conteúdo da iteração gerenciado ativamente para atender a essa programação [6]. 4.3.2. Fases do RUP KRUTCHEN (2003) explica que a partir de uma perspectiva de gerenciamento, o ciclo de vida de software do Rational Unified Process (RUP) é dividido em quatro fases seqüenciais, cada uma concluída por um marco principal, ou seja, cada fase é basicamente um intervalo de tempo entre dois marcos principais. Logo abaixo, é exibido o gráfico de baleias, onde é mostrado verticalmente as disciplinas do desenvolvimento de software. Nas colunas, são mostradas as fases e o esforço em cada uma delas. Figura 2 - Gráfico de Baleia
  • 30. 30 4.3.2.1. Concepção Para KRUCHTEN (2003) na fase de concepção, o foco está em entender os requisitos globais e determinar a extensão do esforço de desenvolvimento. Para projetos que visam melhorias em um sistema existente, a fase de iniciação é mais rápida, mas ainda se concentra em assegurar que o projeto seja compensatório e que seja possível fazê-lo. Dentre as atividades da fase de concepção, devemos formular a extensão do projeto, que quer dizer, captar o contexto e os requisitos mais importantes e restrições de forma que possa derivar critérios de aceitação para o produto final. Outra atividade é planejar e preparar um caso de uso de negócio e avaliar alternativas para gerenciamento de risco, fornecendo pessoal, plano de projeto e intercâmbio entre custo, prazo e rentabilidade. E por fim, KRUCHTEN (2003) explica que se deve sintetizar uma arquitetura candidata, avaliar intercâmbios em projeto e avaliar decisões de fazer/comprar/reutilizar, de forma que custo, prazo e recursos possam ser calculados. 4.3.2.2. Elaboração A meta da fase de elaboração é criar a baseline para a arquitetura do sistema, desenvolver o plano de projeto e eliminar os elementos de alto risco do projeto, a fim de fornecer uma base estável para o esforço da fase de construção. Na fase de elaboração, um protótipo executável de arquitetura é construído em uma ou mais iterações dependendo da extensão, tamanho, risco e novidade do projeto programação [6]. Na fase de elaboração, um protótipo executável de arquitetura é construído em uma ou mais iterações, dependendo da extensão, tamanho risco e novidade do projeto. No mínimo, este esforço deveria endereçar os casos de uso críticos identificados na fase de concepção, que tipicamente expõe os riscos técnicos principais do projeto.
  • 31. 31 Embora um protótipo evolutivo de um componente de qualidade de produção sempre seja a meta, isto não exclui o desenvolvimento de um ou mais protótipos de propaganda para mitigar um determinado risco ou explorar alguns intercâmbios entre projeto e requisitos. Nem é regra um estudo de viabilidade ou demonstrações a investidores, clientes e usuários finais. Conforme KRUCHTEN (2003) os objetivos primários da fase de elaboração são: definir, validar e delinear a arquitetura tão rápida quanto possível de ser realizada; delinear a visão; delinear um plano de alta-fidelidade para a fase de construção; demonstrar que a arquitetura de linha de base suportará esta visão, a um custo razoável num tempo razoável. 4.3.2.3. Construção KRUCHTEN (2003) explica que durante a fase de construção, todos os componentes restantes e características da aplicação são desenvolvidos e integrados ao produto, e todas as características são completamente testadas. A fase de construção é, de certo modo, um processo industrial no qual é colocada ênfase em gerenciar recursos e controlar operações para aperfeiçoar custos, prazos e qualidade. Muitos projetos são grandes o suficiente para que sejam gerados incrementos de construção paralelos. Estas atividades paralelas podem apressar significativamente a disponibilidade de lançamentos de desenvolvimentos; eles também podem aumentar a complexidade de gerenciamento de recurso e sincronização de fluxo. Os objetivos primários da fase de construção incluem: minimizar custos de desenvolvimento e aperfeiçoando recursos; Alcançar a qualidade adequada tão rápida quanto possível de ser realizada. 4.3.2.4. Transição O foco da Fase de Transição é assegurar que o software esteja disponível para seus usuários finais. A Fase de Transição pode atravessar várias iterações e
  • 32. 32 inclui testar o produto em preparação para release e ajustes pequenos com base no feedback do usuário. Nesse momento do ciclo de vida, o feedback do usuário deve priorizar o ajuste fino do produto, a configuração, a instalação e os problemas de usabilidade; todos os problemas estruturais mais graves devem ter sido trabalhado muito antes no ciclo de vida do projeto. No fim do ciclo de vida da Fase de Transição, os objetivos devem ter sido atendidos e o projeto deve estar em uma posição para fechamento. Em alguns casos, o fim do ciclo de vida atual pode coincidir com o início de outro ciclo de vida no mesmo produto, conduzindo à nova geração ou versão do produto. Para outros projetos, o fim da Transição pode coincidir com uma liberação total dos artefatos a terceiros que poderão ser responsáveis pela operação, manutenção e melhorias no sistema liberado [6]. Essa Fase de Transição pode ser muito fácil ou muito complexa, dependendo do tipo de produto. Um novo release de um produto de mesa existente pode ser muito simples, ao passo que a substituição do sistema de controle do tráfego aéreo de um país pode ser excessivamente complexa. 4.4. UML (Unified Model Language) Conforme BOOCH, RUMBAUGH e JACOBSON (2005) os esforços para criação da UML se iniciaram oficialmente em outubro de 1994, quando Rumbaugh se juntou a Booch na Rational. O foco inicial do projeto era a unificação dos métodos Booch e OMT(Object Modeling Technique). O esboço da versão 0.8 do Método Unificado (como então era chamado) foi lançado em lançado em outubro de 1995. Na mesma época Jacobson se associou à Rational e o escopo do projeto da UML foi expandido com a finalidade de incorporar o OOSE (Object-Oriented Software Engineering). Por vários anos, a manutenção da UML foi assumida pela RTF (Revision Task Force) do OMG (Object Management Group), que produziu as versões 1.3, 1.4 e 1.5. De 2000 a 2003, um novo e maior grupo de parceiros produziu e atualizou a especificação da UML, versão 2.0. A versão foi revista por um FTF (Finalization Task Force) coordenada por Bran Selic, da empresa IBM, e a versão oficial da UML 2.0 foi adotada pelo OMG no início de 2005.
  • 33. 33 BOOCH, RUMBAUGH e JACOBSON (2005) explicam que a UML é uma linguagem-padrão para a elaboração da estrutura de projetos de software. Ela poderá ser empregada para a visualização, a especificação, a construção e a documentação de artefatos que façam uso de sistemas complexos de software. A UML é adequada para a modelagem de sistemas, cuja abrangência poderá incluir sistemas de informação coorporativos a serem distribuídos a aplicações em Web e até sistemas complexos embutidos de tempo real. Segundo Furlan (1998), a UML é a linguagem padrão para especificar, visualizar, documentar e construir artefatos de um sistema e pode ser utilizada com todos os processos ao longo do ciclo de desenvolvimento e através de diferentes tecnologias de implementação. 4.4.1. Orientação a Objetos Segundo MATOS (2003), a proposta da orientação à objetos é permitir que os programadores organizem os programas da mesma forma que nossas mentes enxergam os problemas: não como um conjunto de espaços de memória, mas como um conjunto de coisas que fazem parte do problema. O interessante neste ponto de vista é que o programador não será mais obrigado a abstrair do problema variáveis e suas respectivas organizações, mas imaginar o problema como um grande conjunto de objetos. Dessa forma é necessário haver uma modificação na maneira como enxergamos os programas. Não é permitido neste paradigma, orientar a solução dos problemas de acordo com as funções identificadas no problema, mas de acordo com o que existe no escopo do problema: objetos. FURLAN (1998), afirma que um objeto é uma ocorrência específica (instância) de uma classe e é similar a uma entidade no modelo relacional somente até o ponto onde representa uma coleção de dados relacionados com um tema em comum. Furlan, explica ainda que a tecnologia de objetos oferece modularidade de seus elementos podendo-se tornar um subconjunto existente e integrá-lo de uma maneira diferente em outra parte do sistema. Objetos permitem ser combinados ou utilizados separadamente, pois, em tese, apresentam baixa dependência externa e alta coesão interna de seus componentes, o que permite promover substituições sem afetar interconexões ou interferir com a operação dos demais objetos.
  • 34. 34 4.4.1.1. Objetos Segundo FURLAN (1998) do ponto de vista de abstração, os objetos tentam não separar o que até então vinha sendo separado: dados e funções. Um objeto é uma entidade concreta, apesar de ser uma concepção abstrata. Trata-se de um agrupamento de características e ações desta entidade. Essas características são agrupadas de forma que possamos identificar outros objetos parecidos. Por outro lado, suas ações ajudam também a classificar outras entidades como objetos semelhantes a ele. PENDER (2004) define objeto como a representação de uma entidade específica no mundo real. Diz também que, pode ser uma entidade física ou intangível, com os propósitos de promover o entendimento do mundo real e suportar uma base prática para uma implementação computacional. 4.4.1.2. Classes Segundo PAGE-JONES (2000), uma classe é uma estrutura a partir do qual são criados objetos. Cada objeto tem a mesma estrutura e comportamento da classe na qual ele teve origem. SANTOS (2003) define que classes são estruturas orientadas a objeto para conter, para um determinado modelo, os dados que devem ser representados e as operações que devem ser efetuadas com estes dados. Classes são escritas com os recursos e regras para implementação dos modelos, mas em muitos casos as classes são somente moldes ou formas que representam os modelos abstratamente. Um objeto ou uma instância é uma materialização da classe, e assim pode ser usado para representar e executar operações. Para que dados ou instâncias possam ser manipulados, é necessária a criação de referências a estes objetos, que são basicamente variáveis do tipo de classe. Conforme SANTOS (2003), os dados contidos em uma classe são conhecidos como campos ou atributos daquela classe. Cada campo deve ter um
  • 35. 35 nome e ser de um tipo. Valores contidos dentro de uma classe são chamados de variáveis, sendo que campos representam dados encapsulados em uma classe, e variáveis representam valores auxiliares necessários ao funcionamento dos métodos na classe. As operações contidas em uma classe são chamadas de métodos dessa classe. Métodos são geralmente chamados ou executados explicitamente a partir de outros trechos de código na classe que o contém ou a partir de outras classes. 4.4.1.3. Herança Segundo Furlan (1998), herança é o mecanismo de reutilização de atributos e operações definidos em classes gerais por classes mais específicas, podendo ser usada para expressar tanto generalização como associação. Pode-se organizar tipos similares de classes de objetos em categorias hierárquicas, onde é permitida à classe de menor nível, que é uma especialização ou extensão de outra classe, compartilhar atributos e operações de classes superiores na hierarquia. SANTOS (2003) diz que o mecanismo de reaproveitamento por herança permite a reutilização de classes já existentes com instâncias de novas classes. As classes originais ficam assim contidas nas classes novas. É a partir da herança que surge o conceito de classes abstratas, as quais são idealizadas para serem moldes de eventuais subclasses, as quais irão adicionar sua estrutura e comportamento, geralmente sobrepondo operações. Permite especificar atributos e operações comuns a várias classes uma única vez com a possibilidade de modificar-los à luz das necessidades das classes herdeiras. 4.4.1.4. Polimorfismo Segundo PAGE-JONES (2000), o termo polimorfismo é originário do grego e significa "muitas formas" (poli = muitas, morphos = formas). A palavra polimorfismo origina-se de duas palavras gregas que significam respectivamente, muitas e forma. Algo que é polifórmico, portanto, apresenta a propriedade de assumir muitas formas.
  • 36. 36 PAGE-JONES (2000) explica ainda que polimorfismo é a habilidade pela qual uma única operação ou nome de atributo pode ser definido em mais de uma classe e assumir implementações diferentes em cada uma dessas classes. Para PENDER (2004), polimorfismo é a capacidade de escolher dinamicamente o método para uma operação durante a execução, dependendo do tipo de objeto que responde à solicitação. Pender complementa dizendo que polimorfismo significa muitas maneiras de realizar a mesma coisa. Para SANTOS (2003), o mecanismo de herança permite a criação de classes a partir de outras já existentes com relações é-um-tipo-de, de forma que, a partir de uma classe genérica, classes mais especializadas possam ser criadas. Polimorfismo permite a manipulação de instâncias de classes que herdam de uma mesma classe ancestral de forma unificada. 4.4.1.5. Coesão Segundo PENDER (2004), coesão é uma medida de como as partes de um objeto dão suporte à mesma finalidade. A coesão mede dois fatores: como a finalidade do objeto é bem definida e se cada parte do objeto contribui diretamente para cumprir sua finalidade. Alta coesão significa que um objeto possui uma finalidade bem definida e tudo no objeto contribui diretamente para essa finalidade. Baixa coesão significa ou que a finalidade do objeto é ambígua ou que nem todas as partes do objeto contribuem diretamente para a finalidade do objeto, ou ambos. 4.4.2. Diagramas FURLAN (1998) afirma que usando a UML, é possível construir modelos a partir de blocos de construção básicos, como classes, interfaces, componentes, nós, dependências, generalizações e associações. Diagramas são meios para visualização desses blocos de construção. Um diagrama é uma apresentação gráfica de um conjunto de elementos, geralmente representados como um gráfico conectado de vértices (itens) e arcos (relacionamentos).
  • 37. 37 De acordo com Furlan, modelar um sistema complexo é uma tarefa extensiva sendo necessária a descrição de vários aspectos diferentes incluindo o funcional, não funcional e organizacional. Cada visão é descrita em um número de diagramas que contém informação enfatizando um aspecto particular do sistema. 4.4.2.1. Diagramas de Classes Segundo BOOCH, RUMBAUGH e JACOBSON (2005), um diagrama de classes mostra um conjunto classes, interfaces e colaborações e seus relacionamentos. São os diagramas mais encontrados em sistemas de modelagem orientados a objetos. Esses diagramas são utilizados para ilustrar a visão estática do projeto de um sistema. Um diagrama de classes é apenas um tipo especial de diagrama e compartilha as mesmas propriedades de todos os outros diagramas – um nome e um conteúdo gráfico que são uma projeção em um modelo. 4.4.2.2. Diagramas de Colaboração Conforme PAGE-JONES (2000), no diagrama de colaboração da UML, os objetos que interagem por meio de mensagens aparecem como caixas padrões da UML, com cada uma delas portando o nome de um objeto. Cada objeto é identificado com o nome que os outros objetos utilizam para enviar-lhe uma mensagem, uma vez que os objetos não têm realmente os seus próprios nomes. Em outras palavras, um objeto destinatário adota o nome da variável no objeto remetente que detém o identificador do objeto destinatário. 4.4.2.3. Diagramas de Objetos Segundo GUEDES 2007, um diagrama de objetos mostra um conjunto de objetos e seus relacionamentos. Esses diagramas são utilizados para ilustrar as estruturas de dados, registros estáticos de instâncias dos itens encontrados nos diagramas de classes. Os diagramas de objetos fazem a modelagem de instâncias
  • 38. 38 de itens contidos em diagramas de classes. A modelagem de estruturas dos objetos envolve um retrato dos objetos de um sistema em um determinado momento. Para FURLAN (1998) diagrama de colaboração é descendente direto do diagrama de objeto, do gráfico de interação de objeto e várias outras fontes. Uma colaboração é uma visão de um conjunto de elementos de modelagem relacionados para um propósito particular em apoio a interações. Assim, um diagrama de colaboração mostra ma interação organizada em torno de objetos e seus vínculos formando uma base de padrões. 4.4.2.4. Diagramas de Componentes Segundo FURLAN (1998) um diagrama de componente é um gráfico de componentes conectados por relacionamentos de dependência de onde também podem ser associados componentes a outros por retenção física que representa relacionamentos de composição. Exibe as organizações e dependências entre componentes com o propósito de modelar a visão de implementação dos módulos de software executáveis com identidade e interface bem-definida de um sistema e seus relacionamentos. Para cada elemento lógico no modelo, geralmente existe um padrão que mapeia um artefato de implementação. Furlan ainda afirma que um componente representa uma unidade de código de software (fonte, binário ou executável) e pode ser usado para expor o compilador e dependências de run-time, incluindo sua localização em nós. É desenhado como um retângulo maior e derivado do método de Booch para representar um módulo. 4.4.2.5. Diagramas de Caso de Uso Este é o diagrama mais geral e informal da UML, sendo utilizado principalmente para auxiliar no levantamento e análise dos requisitos, em que são determinadas as necessidades do usuário, e na compreensão do sistema como um todo, embora venha a ser consultado durante todo o processo de modelagem e sirva de base para todos os outros diagramas (GUEDES, 2007).
  • 39. 39 Conforme BOOCH, RUMBAUGH e JACOBSON (2005) os diagramas de caso de uso são importantes para visualizar, especificar e documentar o comportamento de um elemento. Esses diagramas fazem com que sistemas, subsistemas e classes fiquem acessíveis e compreensíveis, por apresentarem uma visão externa sobre como esses elementos podem ser utilizados no contexto. Mostram um conjunto de casos de uso e atores e seus relacionamentos. Diagrama de caso de uso é faz com que sistemas, subsistemas e classes fiquem acessíveis e compreensíveis, por apresentarem uma visão externa sobre como esses elementos podem ser utilizados no contexto. 4.4.2.6. Diagramas de Seqüência Diagrama de seqüência é um diagrama de interação que dá ênfase à ordenação temporal de mensagens. Um diagrama de seqüência mostra um conjunto de papéis e as mensagens enviadas e recebidas pelas instâncias que representam os papéis. O Diagrama de Seqüência preocupa-se com a ordem temporal em que as mensagens são trocadas entre os objetos envolvidos em um determinado processo. Em geral, baseia-se em um Caso de Uso definido pelo diagrama de mesmo nome e apóia-se no Diagrama de Classes para determinar os objetos das classes envolvidas em um processo, bem como os métodos disparados entre os mesmos. (GUEDES, 2007). 4.4.2.7. Diagramas de Atividade Segundo FURLAN (1998) um diagrama de atividades mostra o fluxo de uma atividade para outra em um sistema. Uma atividade mostra um conjunto de atividades, o fluxo seqüencial ou ramificado de uma atividade para outra e os objetos que realizam ou sofrem ações. Os diagramas de atividades são utilizados para fazer a modelagem da função de um sistema e dão ênfase ao fluxo de controle na execução de um comportamento com o propósito de estudar os fluxos dirigidos por
  • 40. 40 processamento interno, descrevendo as atividades desempenhadas em uma operação. 4.4.2.8. Diagramas de Interação BOOCH, RUMBAUGH e JACOBSON (2005) afirmam que os diagramas de interação são utilizados para fazer a modelagem dos aspectos dinâmicos do sistema. Na maior parte, isso envolve a modelagem de instâncias concretas ou prototípicas de classes, interfaces, componentes e nós, juntamente com as mensagens que são trocadas entre eles, tudo isso no contexto de aparecer sozinhos para visualizar, especificar, construir e documentar a dinâmica de uma determinada sociedade de objetos ou podem ser utilizados para fazer a modelagem de um determinado fluxo de controle de um caso de uso. Um diagrama de interação mostra uma interação formada por um conjunto de objetos e seus relacionamentos, incluindo as mensagens que poderão ser trocadas entre eles. 4.4.2.9. Diagramas de Implantação Segundo FURLAN (1998), a UML fornece o diagrama de implantação para mostrar a organização do hardware e a ligação do software aos dispositivos físicos. Um diagrama de implantação denota vários dispositivos de hardware e interfaces físicas determinados por seu estereótipo, como processador, impressora, memória, disco e assim por diante. FURLAN (1998) ainda afirma que a UML fornece notações avançadas e semânticas quando uma modelagem mais complexa é requerida, ainda que algumas dessas notações sejam destinadas a cobrir casos particulares e outras a estender a UML de um modo controlado para apoiar modelagem do sistema global. Diagrama de implantação expõe a configuração de elementos de run-time e componentes de software, processos e objetos que neles se mantêm. Trata-se de um gráfico de nós
  • 41. 41 conectados por associações de comunicação. Os nós podem conter instâncias de componentes que, por sua vez, podem conter classes, bibliotecas ou executáveis. 4.4.2.10. Diagramas de Gráfico de Estados Segundo BOOCH, RUMBAUGH e JACOBSON (2005) um diagrama de gráfico de estados mostra máquina de estados, dando ênfase ao fluxo de controle de um estado para outro. Uma máquina de estados é um comportamento que especifica as seqüências de estados pelos quais um objeto passa durante seu tempo de vida em resposta a eventos, juntamente com suas respostas a esses eventos. Um estado é uma condição ou situação na vida de um objeto durante a qual ele satisfaz a alguma condição, realiza alguma atividade ou aguarda algum evento. Um evento é uma especificação de uma ocorrência de um estímulo capaz de ativar uma transição de estado. BOOCH, RUMBAUGH e JACOBSON (2005) explicam ainda que uma transição é um relacionamento entre dois estados, indicando que um objeto no primeiro estado realizará certas ações e entrará no segundo estado quando um evento especificado ocorrer e as condições especificadas estão satisfeitas. Uma atividade é uma execução não-atômica em andamento em uma máquina de estados. Uma ação é uma computação atômica executável que resulta em uma alteração do estado do modelo ou no retorno de um valor. 4.5. Information Technology Infrastructure Library - ITIL Segundo MAGALHÃES e PINHEIRO (2007) a ITIL é composta por um conjunto das melhores práticas para a definição dos processos necessários ao funcionamento de uma área de TI. Descreve a base para a organização dos processos da área de TI, visando à sua orientação para o Gerenciamento de Serviços de TI. As diversas práticas reunidas descrevem os objetivos, atividades gerais, pré-requisitos necessários e resultados esperados dos vários processos, os quais podem ser incorporados dentro das áreas de TI.
  • 42. 42 Para FRY (2003) é importante entender que os processos do ITIL não irão tornar uma infra-estrutura “pobre” de TI em uma infra-estrutura “rica” de TI da noite para o dia. Seus benefícios podem ser significantes, porém adaptar-se às melhores práticas e processos não é tão fácil. Isto leva tempo, planejamento e principalmente comprometimento. Conforme MAGALHAES e PINHEIRO (2007) a ITIL não define os processos a serem implantados na área de TI, não é uma metodologia para implementar processos de Gestão de Serviços de TI – é um framework flexível que permite adaptar-se para ir ao encontro das necessidades específicas, demonstra as melhores práticas que podem ser utilizadas para esta definição. Tais práticas, por sua vez, podem ser adotadas do modo que melhor puder atender às necessidades de cada organização. A seguir, serão descritos os processos da ITIL que serão utilizados nesse trabalho. 4.5.1. Central de Serviços (Service Desk) MAGALHÃES e PINHEIRO (2007) afirmam que a Central de Serviços, também conhecida como Service Desk, é uma função e não um processo, essencial para a implementação do Gerenciamento dos Serviços de TI. A Central de Serviços atua como Ponto Único de Contato entre os usuários e os clientes dos serviços de TI e os diversos processos relacionados com o Gerenciamento dos Serviços de TI. Suas principais atividades são: o atendimento às chamadas, não importando o meio de comunicação utilizado pelos usuários e clientes dos serviços de TI, e aos eventos recebidos da equipe de supervisão da infra-estrutura de TI, visando a sua correta classificação, além do encaminhamento para o processo de gerenciamento adequado. Destaca-se, ainda, como objetivo, garantir o encerramento do maior número de incidentes e consultas dentro do seu nível de atendimento no processo de
  • 43. 43 Gerenciamento de Incidente, evitando a sobrecarga das demais equipes que atuam no processo. 4.5.2. Gerenciamento de Incidentes MAGALHÃES e PINHEIRO (2007) dizem que um incidente é qualquer evento que não faz parte do funcionamento-padrão de um serviço de TI e que causa, ou pode causar uma interrupção do serviço ou uma redução do seu nível de desempenho. Na maioria das vezes, um incidente reportado refere-se à interrupção do serviço de TI. Ainda segundo MAGALHÃES e PINHEIRO (2007), o processo de gerenciamento de incidente tem por objetivo assegurar que, depois da ocorrência de um incidente, o serviço de TI afetado tenha restaurada a sua condição original de funcionamento o mais breve possível, minimizando os impactos decorrentes do efeito sobre o nível de serviço ou, até mesmo, da indisponibilidade total. A central de serviços é a área responsável pelo atendimento dos usuários e registro dos incidentes, passando a zelar por eles durante todo o seu ciclo de vida, independentemente da área em que estejam sendo atendidos. 4.5.3. Gerenciamento de Problema Segundo MAGALHÃES e PINHEIRO (2007), incidentes que se repetem indefinidamente e para os quais não se fornece nenhuma solução definitiva, faz com que os clientes da área de TI percam a confiança na capacidade da equipe de suporte aos serviços de TI, deteriorando a imagem desta área perante a organização. Tal fato, também atinge o moral dos integrantes da equipe de suporte aos serviços de TI que se vêem reiteradamente tendo que resolver os mesmos incidentes, onerando a sua capacidade de resolver novos acidentes e aumentar sua contribuição para a organização. Todos os registros de problemas devem ser relacionados a todos os registros de incidentes associados para ajudar o gerenciamento de problema a determinar o impacto que tais problemas relacionados
  • 44. 44 a incidentes têm sobre o negócio. O principal objetivo do processo de Gerenciamento de Problema é minimizar o impacto adverso no negócio dos incidentes e problemas decorrentes de erros conhecidos relacionados com a infra- estrutura de TI, prevenindo a repetição de incidentes relacionados com estes erros conhecidos. 4.5.4. Gerenciamento de Nível de Serviço Segundo MAGALHÃES e PINHEIRO (2007), o gerenciamento de nível de serviço é a metodologia disciplinada e os procedimentos proativos utilizados para garantir que níveis adequados de serviços serão entregues para todos os usuários de TI de acordo com as prioridades do negócio e a um custo aceitável, acordado com o cliente. A missão da equipe de gerenciamento de nível de serviço é manter e gradualmente melhorar a qualidade dos serviços de TI, executando um ciclo constante de acordar, monitorar, informar os êxitos dos serviços de TI e incitar ações para erradicar um serviço de TI de baixo desempenho na relação custo/benefício ou que não tenha mais importância para negócio, promovendo uma melhor relação entre a área de TI e a organização. 4.6. ISO/IEC 20.000 MAGALHÃES e PINHEIRO (2007) afirmam que a ISO (International Organization for Standardization) e IEC (International Electrotechnical Commission) fazem parte do sistema especializado para padronização mundial. Entidades nacionais que são membros da ISO ou IEC participam do desenvolvimento de Padrões Internacionais através de comitês técnicos estabelecidos pela respectiva organização para lidar com campos específicos de atividade técnica. A norma ISO/IEC 20.000 foi desenvolvida para responder às necessidades de uma audiência global e fornecer um entendimento comum do Gerenciamento de Serviços de TI em todo o mundo. Esta norma está baseada na BS 15.000, que é uma norma britânica e foi o primeiro padrão mundial orientado especificamente para o Gerenciamento de Serviços de TI. A ISO/IEC 20.000 está dividida em duas partes: a ISO/IEC 20.000- 1:2005 e a ISO/IEC 20.000-2:2005.
  • 45. 45 Segundo MAGALHÃES e PINHEIRO (2007), dois dos maiores desafios enfrentados pelas áreas de TI em relação ao gerenciamento dos serviços de TI são: conseguir a atenção e o compromisso por parte da alta direção da organização e garantir a aceitação e a adoção de um processo de Gerenciamento de Mudança por toda a organização. Estas resistências são consideravelmente reduzidas nas organizações registradas como certificadas ISO e que pretendem utilizar a norma ISO/IEC 20.000 como um passo à frente para obterem uma certificação específica no Gerenciamento de Serviços de TI. Neste tipo de cenário, a existência de um ciclo de melhoria contínua envolve todos os stakeholders da organização. Ao mesmo tempo, melhora a transparência, contribuindo para o aprimoramento do sistema de gerenciamento da qualidade das operações da organização. Ainda segundo MAGALHÃES e PINHEIRO (2007), a ISO/IEC 20.000-1:2005 é um documento de 16 páginas, publicado pela ISO, contém as especificações para o Gerenciamento de Serviços de TI. Fornece os requisitos do gerenciamento de serviços de TI na organização. Os índices da ISO/IEC 20.000-1:2005 são: Escopo; Termos e Definições; Requisitos para um Sistema de Gerenciamento; Planejamento e Implementação do Gerenciamento de Serviço; Planejamento e Implementação de Serviços Novos ou Alterados; Processos de Entrega de Serviços; Processos de Relacionamento; Processos de Resolução; Processos de Controle; Processo de Gerenciamento de Liberação. A ISO/IEC 20.000-2:2005 é um documento de 34 páginas que apresenta o código de prática para o Gerenciamento de Serviços de TI. Fornece orientação para os auditores internos e assistências aos prestadores de serviços que planejam melhorias no serviço ou que querem preparar-se para auditorias em relação à norma ISO/IEC 20.000-1:2005. Os índices da ISO/IEC 20.000-2:2005 são: Escopo; Termos e Definições; O sistema de gerenciamento; Planejamento e Implementação do gerenciamento de Serviços; Processos de Entrega de Serviços; Processos de Relacionamento; Processos de Resolução; Processos de Controle; Processos de Gerenciamento de Liberação.
  • 46. 46 5. Proposta do Novo Sistema Um sistema que interaja principalmente com o processo de gerenciamento de incidente, executando, inclusive, parte das atividades deste processo, pelo atendimento às chamadas originadas de erros percebidos pelos usuários na interação com os serviços de TI. Prover uma interface para outras atividades relacionadas com as demais necessidades dos usuários do sistema como requisições de mudança, contratos de manutenção e solicitações de serviços. Minimizar o impacto adverso no negócio dos incidentes e problemas decorrentes de erros conhecidos relacionados com os serviços prestados pela equipe de TI. 5.1. Descrição do Sistema Proposto Desenvolver um sistema voltado para o gerenciamento de serviços de TI prestado pela empresa Dave Systems (Empresa Fictícia) tendo o gerenciamento de incidentes como o principal foco, de forma que torne a central de serviços à área responsável pelo atendimento dos usuários e registro dos incidentes, passando a zelar durante todo o ciclo de vida do incidente. O sistema permitirá o cadastro de solicitações através de um canal de comunicação. A comunicação poderá ser via e-mail, telefone ou qualquer outro meio definido entre o provedor do serviço e o cliente. O analista de suporte fará o cadastro das demandas e/ou à verificação para solução de um incidente. O analista de incidente terá o controle das demandas enquanto a mesma estiver sendo implementada e será responsável pelo feedback ao Analista de Suporte. De posse de todo o serviço catalogado no sistema, os diretores facilmente geram indicadores para tomada de decisão e/ou métricas para acompanhamento da estratégia do negócio.
  • 47. 47 5.2. Resultados Esperados Com a utilização do SISDESK, espera-se que haja um maior controle sobre os incidentes e solicitações de mudanças cadastradas pelos clientes gerando, assim, um incremento da velocidade de atendimento e a melhoria do índice de satisfação dos clientes dos serviços de TI. Espera-se também, a melhora no gerenciamento da informação para tomada de decisão relativa aos serviços prestados aos clientes de TI. 5.3. Restrições do Sistema Proposto A priori, o sistema terá o seu funcionamento apenas para a intranet da Dave Systems. O sistema obriga ao usuário possuir login e senha e um tipo de perfil associado a sua conta para que seja definido o nível de acesso ao sistema proposto. Serão utilizados dados fictícios para alimentação da base de dados do projeto, dessa forma, os dados reais da Dave Systems (Empresa Fictícia) serão preservados. Neste momento as matérias da ITIL que serão utilizadas para o desenvolvimento do sistema são: gerenciamento de incidente, gerenciamento de problema, gerenciamento de mudança e gerenciamento de nível de serviço. 5.4. Resultados Esperados A relação custo x benefício de um sistema é questionada por vários fatores. Redução com ligações telefônicas e identificação de erros visando à diminuição do tempo da solução de um problema resulta em atenuar custos trazendo benefícios lucrativos a empresa. O sistema oferece vários benefícios como soluções mais rápidas, ambiente único acessado por todos para cadastrar problemas e consultar soluções, assim como identificar através de estatísticas as áreas mais problemáticas onde
  • 48. 48 necessitam de acompanhamento específico, sendo assim, diminuindo custos através de tempo de produção. Relatórios são emitidos periodicamente indicando a relação de problemas e soluções para medir problemas e identificar erros relacionados em cada área para direcionar decisões. 5.5. Áreas Afetadas Pelo Novo Sistema Na empresa Dave Systems (Empresa Fictícia) as áreas que inicialmente serão afetadas pelo novo sistema serão a gerência de suporte, gerência de projetos, coordenação de análise, coordenação de desenvolvimento e diretores de TI. 5.6. Banco de Dados A empresa para qual está sendo desenvolvido o SISDEK, utiliza o Oracle como banco de dados. Partindo deste princípio, o banco de dados Oracle Express 10 g será utilizado para implementação do sistema evitando dessa forma, conflitos no momento da implantação do software.
  • 49. 49 6. Documentação de Análise Logo abaixo estão descritos os atores do sistema, identificando suas funções dentro do mesmo. Está relaciona a lista de caso de uso que será implementada no sistema, assim como é demonstrado o diagrama de casos de uso e suas devidas especificações detalhadas. Neste tópico também é demonstrado modelo de entidade e relacionamento, o diagrama de classes e a especificação das tabelas do banco de dados. 6.1. Visão Macro dos Atores O SISDESK possuirá os seguintes atores em seu sistema: Analista de Suporte, Analista de Incidente, Técnico e Administrador. 6.2. Identificação dos Atores O ator Analista de Suporte é responsável por criar um registro de incidente com as informações disponíveis sobre o mesmo. Consiste em receber o registro de incidente, seja ele por telefone, fax ou email, e criar o registro no gerenciamento de incidente. O ator Analista de Incidente é responsável por fornecer rapidamente uma boa análise de um incidente e/ou uma solução para ela, a fim de restabelecer o serviço perturbado o mais rápido possível. Esse papel será desenvolvido pelo Analista de Sistema. O Ator Gerente de Incidentes é responsável pela qualidade e a integridade do processo de gerenciamento de incidente. Esta pessoa é a interface com outros gerentes de processos. O ator Técnico é responsável pela implementação de uma solução tanto para um serviço interrompido quanto para uma solicitação de mudança. Esse papel
  • 50. 50 poderá ser realizado por Desenvolvedores, Administradores de Dados, Analista de Banco de Dados ou Web Designers. O ator Administrador é responsável pelo cadastro e exclusão de usuários no sistema. Tem acesso a todos os módulos do sistema. Esta pessoa define, no perfil de cada usuário, os módulos e as funcionalidades permitidas ao perfil agregado ao usuário do sistema. 6.3. Lista dos Casos de Uso Exposto abaixo a tabela com a lista de casos de uso do sistema. Tabela 2 - Lista de Caso de Uso Código Casos de Uso UC01 Efetuar Login UC02 Manter Usuário UC03 Manter Incidente UC04 Manter Mudança UC05 Manter Problema
  • 51. 51 6.4. Diagrama de Caso de Uso Exposto abaixo o diagrama de caso de uso do sistema. uc Primary Use Cases ServiceDesk Efetuar Login Manter Incidente Admin Usuario Manter Problema Manter Mudança Manter Usuário Figura 3 - Diagrama de Casos de Usos
  • 52. 52 6.5. Descrição Detalhada dos Casos de Uso Abaixo é mostrada a especificação de caso de uso das funcionalidades do sistema proposto. UC01 – Efetuar Login Tabela 3 - UC01 Efetuar Login Nome UC01- Efetuar Login Objetivo Efetuar Login. Atores Administrador; Usuários Cadastrados. Dados Consumidos Login e senha. Dados Produzidos Acesso ao sistema. Prioridade Alta. Pré-condições Possuir cadastro no sistema. Pós-condições N/A Fluxo Principal Efetuar login. Ator Sistema Informar login e senha. Valida as informações do usuário e senha. Se os dados estiverem OK, o sistema carrega a página inicial. Se os dados estiverem incorretos, a aplicação retorna uma mensagem de erro. Receber mensagem Se a mensagem foi de erro, reinicie o processo do fluxo principal. Se a mensagem foi de sucesso, encerre o Fluxo Fluxo Alternativo 1 N/A
  • 53. 53 UC03 – Manter Usuário Tabela 4 – UC2 Manter Usuário Nome UC03- Manter Usuário Objetivo Cadastrar usuário no sistema. Atores Administrador; Usuários Cadastrados. Dados Consumidos Nome, função, email e técnico. Dados Produzidos Usuários Cadastrados. Prioridade Alta. Pré-condições Possuir cadastro no sistema; Estar logado no sistema. Pós-condições N/A Fluxo Principal – Cadastrar Usuário Ator Sistema Acessar a página de cadastro de usuário. O sistema carrega a pagina para cadastrar um novo usuário. Preencher as informações relativas ao cadastro de O sistema valida as informações da tela. Se os usuário e clica no botão gravar. dados estiverem OK, armazená-los na tabela SD_TECNICO e enviar mensagem de operação realizada com sucesso. Se os dados não estiverem OK, enviar mensagem de erro. Receber mensagem. Se a mensagem foi de erro, reinicie o processo do fluxo principal. Se a mensagem foi de sucesso, encerre o Fluxo. Fluxo Alternativo 1 – Consultar Usuário Ator Sistema Acessar a página de consulta de usuário. O sistema lista todos os usuários cadastrados. Selecionar o registro. O sistema carrega na tela os dados do registro selecionado. Fluxo Alternativo 2 – Alterar Usuário Ator Sistema Acessar a página de usuário. O sistema lista todos os usuários cadastrados. Selecionar o item a ser modificado. O sistema carrega para a tela as informações referentes ao usuário selecionado. Alterar as informações e clica no botão Gravar. O sistema valida as informações da tela. Se os dados estiverem OK, armazená-los na tabela SD_TECNICO e enviar mensagem de operação realizada com sucesso. Se os dados não estiverem OK, enviar mensagem de erro.
  • 54. 54 Receber mensagem. Se a mensagem foi de erro, reinicie o processo do fluxo alternativo 2. Se a mensagem foi de sucesso, encerre o Fluxo Fluxo Alternativo 3 – Excluir Usuário Ator Sistema Acessar a página de usuário. O sistema lista todos os usuários cadastrados. Selecionar o item a ser excluído. O sistema carrega para a tela as informações referentes ao usuário selecionado. Clicar no botão excluir. O sistema exclui os dados da base de dados e envia mensagem de operação realizada com sucesso. Receber mensagem. UC04 – Manter Incidente Tabela 5 - UC03 Manter Incidente Nome UC04- Manter Incidente Objetivo Cadastrar Novo incidente no Sistema. Atores Administrador; Usuários Cadastrados. Dados Consumidos Responsável, solicitante, impacto, nível, urgência, categoria, assunto, descrição, data de abertura, data de conclusão. Dados Produzidos Incidente cadastrado. Prioridade Alta. Pré-condições Possuir cadastro no sistema; Estar logado no sistema. Pós-condições Não se Aplica. Fluxo Principal – Cadastrar Incidente Ator Sistema Acessar a página de cadastro de O sistema carrega a pagina principal de incidente. Incidente do sistema. Preencher as informações relativas ao incidente e O sistema valida as informações da tela. Se os clica no botão gravar. dados estiverem OK, armazená-los na tabela SD_INCIDENTE e enviar mensagem de operação. Se os dados não estiverem OK, enviar mensagem de erro. Receber mensagem.