Your SlideShare is downloading. ×
  • Like
SATI - Sistema de Atendimento Técnico de Informática
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

SATI - Sistema de Atendimento Técnico de Informática

  • 9,426 views
Published

O desempenho de uma empresa prestadora de serviços depende fortemente da capacidade profissional de seu quadro de colaboradores, de seus conhecimentos técnicos e também da sua infra-estrutura para …

O desempenho de uma empresa prestadora de serviços depende fortemente da capacidade profissional de seu quadro de colaboradores, de seus conhecimentos técnicos e também da sua infra-estrutura para apoiar as atividades profissionais.
Nesse sentido propomos um sistema de apoio ao atendimento e acompanhamento de solicitação de serviços, direcionado a empresas prestadoras de serviço de manutenção de computadores e equipamentos de informática, que possa lhe atribuir eficiência e organize as tarefas desenvolvidas em um roteiro previamente definido.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
9,426
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
237
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. FACULDADE ALVORADA CURSO DE BACHARELADO EM SISTEMAS DE INFORMAÇÃO TIAGO MARTINS SILVA E HÉLIO ALVES DOS SANTOSSATI - Sistema de Atendimento Técnico de Informática Brasília – DF, Dezembro de 2011
  • 2. ii TIAGO MARTINS SILVA E HÉLIO ALVES DOS SANTOSSATI - Sistema de Atendimento Técnico de Informática Monografia apresentada à Coordenação de Sistemas de Informação da Faculdade Alvorada para a obtenção do título de Bacharel em Sistemas de Informação. Orientadores: Prof. Elias Freitas da Silva Profa. Mestra Elizabeth d´Arrochella Teixeira Brasília – DF, Dezembro de 2011
  • 3. iii EPÍGRAFE“A primeira regra de qualquer tecnologia utilizada nos negócios é que a automação aplicada a umaoperação eficiente aumentará a eficiência. A segunda é que a automação aplicada a uma operação ineficiente aumentará a ineficiência.” Bill Gates “A vida é uma escola; seria a morte um certificado de conclusão de curso?” Wagner Larini
  • 4. iv DEDICATÓRIADedicamos este trabalho aos nossos familiares, amigos e irmãos que nos auxiliaramde forma direta e indireta na conclusão desta monografia, pois mesmo com ventosprofanos, estávamos alicerçados em nossos objetivos e quem se não eles para nosapoiarem nos momentos de pesquisa e sofrimento, aos professores Elias Freitas eElizabeth d´Arrochella nossos orientadores que nos deram um direcionamento e luzno que tange a realização deste trabalho com dedicação à orientação.
  • 5. v AGRADECIMENTOS Agradecemos a Deus, por ter nos concedido ânimo para prosseguirmos anteas adversidades e habilidades de abstração que foram decisivas em cada etapa dotrabalho. A todos nossos familiares, amigos que nos apoiaram em momentos difíceis. Aos orientadores Elias Freitas e d’Arrochella, que foram essenciais ao nosconceder a direção que nos norteou rumo à conclusão deste trabalho.
  • 6. vi RESUMO O desempenho de uma empresa prestadora de serviços depende fortementeda capacidade profissional de seu quadro de colaboradores, de seus conhecimentostécnicos e também da sua infra-estrutura para apoiar as atividades profissionais. Nesse sentido propomos um sistema de apoio ao atendimento eacompanhamento de solicitação de serviços, direcionado a empresas prestadorasde serviço de manutenção de computadores e equipamentos de informática, quepossa lhe atribuir eficiência e organize as tarefas desenvolvidas em um roteiropreviamente definido.PALAVRAS-CHAVE: Eficiência. Qualidade. Controle e Planejamento.
  • 7. vii ABSTRACT The performance of a service company depends heavily on the professionalcompetence of its workforce, their technical expertise and also through its infra-structure to support professional activities. In this sense we intend to propose a system to support the care andmonitoring of service requests, aimed at companies providing maintenance serviceon computers, which can effectively assign and organize the tasks performed in apreviously defined. KEYWORDS: Efficiency. Quality. Control and Planning.
  • 8. viii LISTA DE FIGURASOrganograma da Empresa 19Estrutura do Processo – Duas dimensões 24Disciplinas em uma iteração do RUP 30Elementos do RUP 31Diagramas da UML 2.0 34Processo de execução de um programa Java 40Diagrama de Casos de Uso 62Diagrama de classes 74Diagrama de casos de Uso implementado 75Diagrama Entidade Relacionamento 76Fluxo de navegação 81Interface de Login 82Layout principal do sistema 83Tela de consulta de Cliente 83Tela de Cadastro de Clientes 84Cadastro de Equipamento 84Ordem de serviço 85Consulta de OS 85Retorno da consulta 86Consulta uma OS 86Elaboração de Orçamento 87Resumo de orçamento 87
  • 9. ix LISTA DE TABELASCronograma de Desenvolvimento da Monografia TCC1 22Lista dos UCs . 62UC001 Login 63UC002 Manter Cliente 63UC003 Manter Ordem de serviço 66UC004 Manter Orçamento 68UC005 Faturamento 69UC006 Manter Fornecedor 70UC007 Manter Usuário 72Regras de Negócio 72Lista de Mensagens 73Especificação da tabela 01 pessoa 77Especificação da tabela 02 Tipo de Pessoa 77Especificação da tabela 03 Ordem de Serviço 78Especificação da tabela 04 Equipamento 78Especificação da tabela 05 Tipo de Equipamento 79Especificação da tabela 06 Orçamento 79Especificação da tabela 07 Peças 79Especificação da tabela 08 Serviços 80Especificação da tabela 09 Status 80Especificação da tabela 10 Perfil 80Especificação da tabela 11 Sexo 80Especificação da tabela 12 UF 81
  • 10. x LISTA DE ABREVIATURAABNT Associação Brasileira de Normas TécnicasAPI Application Programming InterfaceASM Automatic Storage ManagentementDBA DataBase AdministratorCCTA Central Computing and Telecommunications AgencyGoF Gang off FourIEEE Institute of Electrical and Electronic EngineersIEC International Electrotechnical CommissionIMAP Internet Message Access ProtocoISAM Inered Seqüencial Access MethodITIL Information Tecnology Infrastructure LibraryISO International Organization for StandardizationJ2ME Java 2 Mobile EditionJ2SE Java 2 Standard EditionJDK Java Development KitJRE Java Run EditionJSF JavaServer FacesJSP JavaServer PageJVM Java Virtual MachineMSF Microsoft Solutions FrameworkNNTP Network News Transfer ProtocolOBCD Open Data Base ConnectivityOGC Office of Government CommerceOMG Object Mangement GroupPC Personal CumputerPHP Hypertext PreProcessorPOP3 Post Office Protocol 3RAM Randomic Acess MemoryRUP Rational Unified ProcessSATI Sistema de Atendimento Técnico de InformáticaSCM Software Configuration Management
  • 11. xiSDK Standard Development KitSEI Software Engineering InstituteSGBD Sistema de Gerenciamento de Banco de DadosSMS Short Message ServiceSNMP Simple Network Management ProtocolSQA Software Quality AssuranceSQL Structured Query LanguageTI Tecnologia da InformaçãoUML Unified Modeling LanguageXML Extensible Markup LanguageXP eXtreme Programming
  • 12. 12 SUMÁRIO1. INTRODUÇÃO ......................................................................................................................................14 1.1. TEMA...................................................................................................................................................... 15 1.2. JUSTIFICATIVA ....................................................................................................................................... 15 1.3. FORMULAÇÃO DO PROBLEMA ............................................................................................................... 15 1.4. OBJETIVOS ............................................................................................................................................ 16 1.5. GERAL.................................................................................................................................................... 16 1.6. ESPECÍFICOS ......................................................................................................................................... 16 1.7. ORGANIZAÇÃO DO TRABALHO ............................................................................................................... 172. ANÁLISE INSTITUCIONAL .................................................................................................................18 2.1 EMPRESA E O SEU NEGÓCIO ................................................................................................................ 18 2.2 ORGANOGRAMA DA EMPRESA .............................................................................................................. 18 2.3 DESCRIÇÃO DAS NECESSIDADES .......................................................................................................... 19 2.4 SISTEMA DE INFORMAÇÃO EXISTENTE NA EMPRESA ........................................................................... 20 2.5 NORMAS DE FUNCIONAMENTO .............................................................................................................. 20 2.6 AMBIENTE TECNOLÓGICO EXISTENTE .................................................................................................. 203. CRONOGRAMA ...................................................................................................................................224. REFERENCIAL TEÓRICO ..................................................................................................................23 4.1 RUP - RATIONAL UNIFIED PROCESS .................................................................................................... 23 4.1.1 As Fases ...................................................................................................................................... 25 4.1.2 Disciplinas .................................................................................................................................... 27 4.1.3 Desenvolvimento Iterativo e Incremental ................................................................................ 30 4.2 UML - UNIFIED MODELING LANGUAGE ..................................................................................... 31 4.2.1 Elementos Básicos do Modelo .................................................................................................. 32 4.2.2 Relacionamentos ........................................................................................................................ 33 4.2.3 Diagramas .................................................................................................................................... 34 4.3 JAVA ..................................................................................................................................................... 39 4.4.1 ServLets e JSP ............................................................................................................................ 41 4.5 PHP - HYPERTEXT PREPROCESSOR ................................................................................................... 43 4.6 DESENVOLVIMENTO AGIL ............................................................................................................. 44 4.7 BANCO DE DADOS ........................................................................................................................... 47 4.7.1 Modelo de dados......................................................................................................................... 47 4.7.2 SGBD ............................................................................................................................................ 49 4.7.3 MYSQL ......................................................................................................................................... 51 4.7.4 SQL ( Strutured Query Language) ........................................................................................... 52
  • 13. 13 4.7.5 ORACLE ....................................................................................................................................... 53 4.7.6 ORACLE 10G EXPRESS EDITION ......................................................................................... 575. PROPOSTA DO NOVO SISTEMA......................................................................................................59 5.1 DESCRIÇÃO DO SISTEMA PROPOSTO ................................................................................................... 59 5.2 RESULTADOS ESPERADOS.................................................................................................................... 59 5.3 RESTRIÇÕES DO SISTEMA PROPOSTO ................................................................................................. 60 5.4 ANÁLISE DE VIABILIDADE ECONÔMICA DO NOVO SISTEMA .................................................................. 60 5.5 ÁREAS AFETADAS PELO NOVO SISTEMA ............................................................................................. 60 5.6 IMPLEMENTAÇÕES FUTURAS................................................................................................................. 606. DOCUMENTOS DE ANALISE ............................................................................................................61 6.1 VISÃO MACRO DOS ATORES ................................................................................................................. 61 6.2 IDENTIFICAÇÃO DOS ATORES ................................................................................................................ 61 6.3 TABELA DE CASOS DE USO ................................................................................................................... 61 6.4 DIAGRAMA DE CASOS DE USO .............................................................................................................. 62 6.5 DESCRIÇÃO DETALHADA DOS CASOS DE USO ..................................................................................... 63 6.6 DIAGRAMA DE CLASSE ........................................................................................................................... 73 6.7 ESCOPO DO PROTÓTIPO........................................................................................................................ 75 6.8 BANCO DE DADOS ................................................................................................................................. 75 6.8.1 Modelo Entidade Relacionamento ........................................................................................... 75 6.8.2 Especificação das tabelas ......................................................................................................... 76 6.9 ÁRVORE DO SISTEMA ............................................................................................................................ 81 6.10 ESPECIFICAÇÕES FÍSICA ....................................................................................................................... 82 6.10.1 Layout das Principais Telas da Aplicação ............................................................................... 82 6.11 SEGURANÇA FÍSICA E LÓGICA .............................................................................................................. 88 6.12 NORMA DE SEGURANÇA FÍSICA ............................................................................................................ 88 6.13 NORMAS DE SEGURANÇA LÓGICA ........................................................................................................ 887. PLANO DE IMPLANTAÇÃO ...............................................................................................................89 7.1 HARDWARE ............................................................................................................................................ 89 7.2 SOFTWARE ............................................................................................................................................ 898. CONCLUSÃO .......................................................................................................................................909. REFERENCIAS BIBLIOGRÁFICAS ...................................................................................................91
  • 14. 14 1. INTRODUÇÃO Segundo MORIMOTO (2010), o surgimento de novos equipamentos e oaprimoramento dos existentes, ocasionado pela constante evolução tecnológica,aliado a queda de preços e às facilidades de financiamento, está proporcionando umaumento significativo no consumo de equipamentos de informática, mesmo com aqueda de seus preços, estes ainda representam um desembolso muito grande paraa maioria das pessoas. Segundo BALMMER (2010), presidente da Microsoft, o Brasil será nospróximos três anos, o 3º maior mercado de computadores do mundo. Confirmada talexpectativa, este mercado demandará cada vez mais de técnicos e prestadores deserviços de manutenção de equipamentos de informática, visto que estesequipamentos apresentam defeitos e a simples substituição dos mesmos ainda estáfora do alcance da maioria dos consumidores, assim sendo, a manutenção estarápresente nesse mercado por muito tempo. Segundo VASCONCELOS (2010), faz-se necessária a capacitação,qualificação e o aprimoramento dos prestadores de serviços, tendo em vista que oaquecimento do mercado ocasionará o acirramento da concorrência com a criaçãode muitas empresas para explorar este mercado e, permanecerão aquelas que semostrarem eficientes, prestarem um serviço de qualidade e com um custo acessível. Vindo ao encontro destas demandas, vislumbramos a necessária da criaçãode um sistema que possa conferir a estas prestadoras de serviço, agilidade, controlee acompanhamento eficiente das ordens de serviço de uma forma automatizada,sem o preenchimento de formulários físicos (papel), que são passíveis de perda,erros formais e acréscimo de custos desnecessários. Propomos neste trabalho apresentar uma solução de baixo custo, pois trata-se de um aplicativo de distribuição gratuita, que contemple o cadastramento declientes e fornecedores, para a geração de ordens de serviço, emissão deorçamento e acompanhamentos de serviços.
  • 15. 15 1.1. Tema Desenvolver um protótipo de software para o registro de ordens de serviços,geração de orçamento, acompanhamento, interação com clientes e colaboradores.Atribuir agilidade e facilitar as tarefas inerentes ao trabalho de manutenção deequipamentos de informática. 1.2. Justificativa Segundo KAPLAN (1997), às empresas da era da informação são exigidasagilidade e confiabilidade. Em um mercado cada vez mais competitivo não se podeconduzir as atividades sem um processo claro e bem estruturado com atribuiçõesbem definidas e tarefas sequenciadas. Para auxiliar pequenas empresas a alcançar este grau de excelência,propomos um sistema para reger rotinas e procedimentos e acima de tudo umcontrole sobre a recepção e destinação dos equipamentos recebidos paramanutenção, garantir qualidade e agilidade às demandas dos clientes. 1.3. Formulação do Problema Segundo a (ANSI/IEEE STD 100_1984), a heurística trata de métodos oualgoritmos exploratórios para solução de problemas. As soluções são buscadas poraproximações sucessivas, avaliando-se os progressos alcançados, até que oproblema seja resolvido. Em nossas visitas à empresa de manutenção de equipamentos deinformática SHIFT Computadores (empresa fictícia), para acompanharmos as rotinasde atendimento. Mesmo com todo o desenvolvimento heurístico dos processos nodecorrer dos anos, constatou-se que não há um procedimento definido para arecepção de equipamentos, elaboração de orçamentos, controle do equipamento emfase de manutenção e entrega ao cliente, gerando instabilidade no fluxo do processolocal, perda de prazos nas devoluções dos equipamentos e insatisfação dos clientes.
  • 16. 16 Com base na reunião dos fatores existentes na SHIFT Computadoresatualmente, surgiu a necessidade da criação de uma ferramenta que viesse gerirtodos esses processos e aspectos até então arcaicos e que pudesse contribuir parauma melhora considerável na rotina de trabalho dos funcionários e um melhoratendimento ao cliente, diminuindo assim a entropia dentro da empresa eaumentando a sua capacidade de competir em um mercado cada vez mais exigenteseletivo. 1.4. Objetivos Abaixo estão descritos os objetivos: geral e específicos cujodesenvolvimento do sistema pretende suprir. 1.5. Geral Desenvolver uma ferramenta para o registro de equipamentos recebidos noatendimento e chamadas para manutenção, gerando orçamentos e encaminhá-losaos clientes. 1.6. Específicos Os objetivos específicos do trabalho são: a) Criar através de um sistema informatizado, uma rotina para recebimentos de equipamentos e atendimentos aos clientes; b) Possibilitar a geração de orçamentos de forma online e repassá-lo ao cliente, por e-mail; c) Manter um controle dos estágios das ordens de serviço de forma que em uma consulta ao sistema possa-se obter a informação precisa de um equipamento específico; d) Obter relatórios dos serviços prestados em um período e confrontá-los com as entradas no caixa da empresa; e) Cadastro de clientes e fornecedores.
  • 17. 17 1.7. Organização do Trabalho Este trabalho está organizado da seguinte forma: O primeiro capítulo descreve de uma forma geral o tema proposto com umbreve relato do processo, a justificativa da escolha do tema e o problema que vai serresolvido. O segundo capítulo aborda toda a análise institucional da empresa, oorganograma da empresa, descrevendo as necessidades do sistema, os métodosadotados atualmente na empresa e o ambiente tecnológico existente onde o sistemaserá implantado. O terceiro capítulo detalha o cronograma das atividades realizadas nodecorrer do projeto: levantamento teórico, análise, projeto. No quarto capítulo encontra-se o referencial teórico, no qual são abordadasas tecnologias e processos envolvidos neste trabalho. O quinto capítulo é utilizado para apresentar o sistema proposto e suasmotivações. O sexto capítulo aborda a documentação de análise do sistema. O sétimo capítulo é utilizado para descrever o plano de implantação dosistema, no qual é descrito o conjunto de tarefas necessárias para instalar e testar oproduto desenvolvido de modo que ele possa ser efetivamente transferido comsucesso ao cliente, garantindo uma implantação bem sucedida para o novo sistemacom o mínimo de impacto. O oitavo capítulo é utilizado para conclusão do trabalho e por fim sãorelacionadas as referências bibliográficas no último capítulo.
  • 18. 18 2. ANÁLISE INSTITUCIONAL Segue abaixo a visão detalhada do ramo, negócio e aspectos históricos daSHIFT Computadores.2.1 Empresa e o Seu Negócio Atualmente a SHIFT Computadores, uma empresa fictícia, que vem seconsolidando no mercado como prestadora de serviços técnicos em informática paradiversos tipos de clientes, desde clientes comuns até empresas privadas depequeno porte e órgãos públicos, sua sede e principal área de atuação está situadaem Brasília abrangendo recentemente cidades do entorno como Luziânia e ÁguasLindas de Goiás. No que se refere ao negócio, ela presta serviços relacionados a infra-estrutura de redes cabeadas e wireless, link de internet via radio, montagem,manutenção e configuração de microcomputadores e servidores em diversasplataformas , além de suporte a usuários, help desk e fornecedora de peças dehardware. A SHIFT Computadores, é uma empresa com mais de 12 anos de mercado,vem atuando como apoio e suporte para diversas empresas de pequeno porte emicro empresas que desejam se estruturar, visando sempre um atendimento dequalidade e satisfação do cliente.2.2 Organograma da Empresa Abaixo na figura 1, segue o organograma que num modo holísticorepresenta toda a estrutura hierarquia da SHIFT Computadores, composta de 20funcionários, com as seguintes funções: Gerente, sócio majoritário da empresa, queexerce a administração financeira e negocial, responsável pela relação comercial daempresa com os clientes institucionais; Técnicos de campo, tem a missão de efetuaro atendimento local aos clientes institucionais, são capacitados em manutenção deequipamentos de informática e infra-estrutura de rede de computadores; Técnicos
  • 19. 19de loja, são os responsáveis pela manutenção dos equipamentos entregues nas loja,são capacitados em manutenção de equipamentos de informática; Atendentes,prestam serviço na loja e são responsáveis pelo atendimento dos clientes noambiente da empresa e através dos contatos telefônicos. Figura 1- Organograma da Empresa2.3 Descrição das Necessidades Segundo PRESSMAN (1995), o escopo definido para o software proporcionauma direção, mas uma definição detalhada do domínio da informação e da funçãodo software é necessária antes que o trabalho se inicie. A SHIFT Computadores hoje, necessita de uma ferramenta que cuide dagestão de seus processos mais simples no que tange ao controle dos equipamentosque entram e que saem da empresa, com um padrão elevado de otimização,eficiência e eficácia no resultado final. Tendo um controle mais concreto por partedas gerencias da empresa, através de alimentação de dados pelo usuário, busca,edição, recuperação dos dados, geração de relatórios personalizados e agilidade nacomunicação com o cliente sobre seu equipamento. Desta forma o SATI objetiva a otimização dos processos, como uma forma detotal gestão e apoio a empresa em questão.
  • 20. 202.4 Sistema de Informação Existente na Empresa Atualmente na SHIFT Computadores, todos os procedimentos que sãorealizados, são dados em papel para documentos fiscais, ordem de serviços e osdemais do gênero, relatórios são realizados usando o aplicativo Microsoft OfficeExcel 2007. Não há nenhum controle sobre as comunicações entre os setores daempresa, há apenas a passagem física de uma das vias da ordem de serviço doatendimento ao responsável pelo serviço.2.5 Normas de Funcionamento Com base na análise feita, constata-se que serão necessárias algumasexigências e restrições mínimas para que o sistema tenha pleno funcionamento eopere de modo estável, sendo estes alguns dos principais requisitos: éimprescindível que o usuário tenha acesso a intranet da empresa e acesso aosistema através de login e senha, para que possa efetuar a inserção dos dados nabase em tempo real. Deverá existir segregação de funções, sendo que o usuário denível gerencial terá acesso a funções ocultas a usuários comuns (técnicos eatendentes), com a finalidade de exercer o controle dos processos e a obtenção derelatórios analíticos de desempenho e gestão.2.6 Ambiente Tecnológico Existente A SHIFT Computadores compreende um ambiente tecnológico comcomputadores instalados e configurados em uma rede local, uma central deprocessamento, onde nela abriga os mais diversos tipos de servidores convenientesao negócio da empresa como: servidor de aplicativos para os técnicos, servidor deroteamento de internet para os clientes utilizando o S.O Microtik (sistema baseadoem Linux), organizando-se através de uma aerovia (grande intranet), plataformaLinux, Máquinas virtuais além de 10 máquinas com Windows 7 profissional. O hardware dos servidores é configurado com processadores Intel core i5450m, 4GB de memória RAM e 1T de HD, já as maquinas que possuem Windows,
  • 21. 21são configuradas com 2GB de memória RAM, AMD Semprom e 300 GB HD além de6 impressoras multifuncionais HP DeskJet F4480.
  • 22. 22 3. CRONOGRAMA Na tabela 1 é ilustrado o cronograma de planejamento deste trabalho,dando-se do inicio ao fim, como uma forma de prever e nos situarmos em relação aotempo necessário para a realização desta monografia. Tabela 1 - Cronograma de Desenvolvimento da Monografia TCC1
  • 23. 23 4. REFERENCIAL TEÓRICO Neste capítulo descreveremos o processo de engenharia de software RUP,a linguagem para modelagem de sistemas UML, as linguagens de programaçãoJAVA e PHP, o processo de desenvolvimento AGIL, os conceitos de Banco dedados e os SGBDs MySGL e ORACLE, e o embasamento teórico que servirão dearcabouço para o desenvolvimento do sistema proposto.4.1 RUP - Rational Unified Process Segundo KRUCHTEN (2003), RUP é um processo de engenharia desoftware desenvolvido e comercializado pela Rational Software, bastante utilizado nodesenvolvimento de software de alta qualidade e corresponde a um mododisciplinado de ordenar de gerenciar tarefas e responsabilidades em uma empresade desenvolvimento. O objetivo desse processo é produzir, dentro de prazo eorçamento previstos, software de alta qualidade que satisfaça às necessidades deseus usuários finais. O RUP é um processo de desenvolvimento de software iterativo eincremental. É descrito em vários livros e artigos. Uma das maiores fontes deinformações é o próprio produto IBM RUP, que contém guias detalhados, exemplose modelos cobrindo todo o ciclo de vida do software; Segundo KRUCHTEN (2003) o RUP é um processo de engenharia desoftware bem definido e bem estruturado. O RUP define claramente quem éresponsável pelo que, como as coisas devem ser feitas e quando fazê-las. O RUPtambém provê uma estrutura bem definida para o ciclo de vida de um projeto,articulando claramente os marcos essenciais e pontos de decisão. Segundo a IBM Rational (2001), o RUP é também um produto de processoque oferece uma estrutura de processo customizável para a engenharia de software.O produto IBM RUP suporta a customização e autoria de processos, e umavariedade de processos, ou configuração de processos, podem ser montadas nele.
  • 24. 24Essas configurações do RUP podem ser criadas para suportar equipes grandes epequenas e técnicas de desenvolvimento disciplinadas ou menos formais. O produtoIBM RUP contém várias configurações e visões de processos prontas que guiamanalistas, desenvolvedores, testadores, gerentes de projeto, gerentes deconfiguração, analistas de dados, e outros membros da equipe de desenvolvimentoem como desenvolver o software. Ele tem sido utilizado por muitas companhias emdiferentes setores da indústria. Para KRUCHTEN (2003), por ser flexível e configurável, o RUP pode serutilizado em projetos de pequeno, médio e grande porte, o RUP pode ser utilizadoem um projeto de uma semana com uma equipe de uma pessoa. Para KENDALL (2004), o Processo Unificado é um conjunto de atividadesexecutadas segundo uma arquitetura robusta e regras bem definidas, paratransformar os requisitos do cliente em um produto de software, neste contexto oRUP é uma versão especializada do Processo Unificado. O RUP faz uso extensivoda Unified Modelin Languagen (UML), e seus modelos contextualizam o processo dedesenvolvimento de software, concebendo uma simplificação da realidade que ajudaa entender alguns aspectos complexos inerentes a sistemas de software.. Para KRUCHTEN (2003), RUP é uma guia para uso efetivo da UML paramodelar. A figura 2 apresenta a arquitetura global do RUP, onde pode serobservadas suas dimensões ou estruturas. Figura 2 Estrutura do Processo – Duas dimensões. Fonte: Kruchten - 2004
  • 25. 254.1.1 As Fases Segundo KRUCHTEN (2003) O RUP é composto de 04 fasescompreendidas em:Iniciação: Refere-se basicamente a definição do escopo; estimar o custo geral e osriscos em potencial. As atividades desenvolvidas são: definir os critérios de sucessode projeto, riscos, recursos necessários e data de realização das principais etapas,delimitar o escopo do projeto, identificar os atores que interagem com o sistema,identificar as interações dos atores com o sistema (casos de uso). Os resultados(artefatos) esperados nesta fase são: documento de visão (visão geral dosrequisitos, características e restrições essenciais do projeto); modelo inicial de casosde uso; glossário do projeto; definição de objetivos e viabilidade do projeto, critériosde sucesso, e prognóstico financeiro; avaliação inicial de riscos; plano de projeto,com fases e interações; modelo de negócios, se necessário; um ou vários protótipos.É também nesta fase que se obtêm a concordância quanto à definição de escopo,estimativa de custos e cronograma;Elaboração: Retrata como fazer; qual arquitetura será utilizada; em que ambiente aaplicação será executada; como os testes serão executados, é nesta fase que sãoanalisados os riscos de requisitos, ricos tecnológicos, ou seja, a capacidade dasferramentas disponíveis, riscos de habilidade dos integrantes do projeto, objetivandominimizá-los. Construir protótipos executáveis, em uma ou mais interações; atacaros casos de uso críticos, que expõe os maiores riscos técnicos; construir protótiposevolucionários ou descartáveis, com objetivo de analisar custos-benefícios,demonstrar para investidores, clientes e usuários. Os resultados (artefatos)esperados são: modelo de casos de uso; requisitos não funcionais; descrição daarquitetura do software; protótipos arquiteturais executáveis; revisão da visão denegócios e lista de riscos; plano detalhado de desenvolvimento do projeto, cominterações e critérios de avaliação; plano de processo de desenvolvimento; manualde usuário preliminar. É nesta fase que algumas questões devem ser respondidas,tais como: A visão do produto é estável? A arquitetura é estável? A demonstraçãoexecutável mostrou que os elementos de maior risco foram abordadossatisfatoriamente? O plano de desenvolvimento está suficientemente detalhado e
  • 26. 26preciso? O plano é consistente e coerente? Todos os interessados concordamquanto à coerência entre visão, plano e arquitetura? Os custos planejados eexecutados são aceitáveis? Ao final desta fase a engenharia é consideradacompleta, por isso esta é considerada a fase mais crítica;Construção: Contempla o desenvolvimento ou a construção do software em si.Incluem-se nesta fase também, o desenvolvimento de versões demonstrativas oubeta. O principal objetivo da fase de construção é desenvolver de modo iterativo eincremental um produto completo que esteja pronto para a transição. Isso implicadescrever os casos de uso restantes e outros requisitos, incrementar o projeto,concluir a implementação e testar o software. Essas atividades são baseadas naarquitetura definida na fase de elaboração e podem ser executadas com um certoparalelismo. O paralelismo pode acelerar bastante as atividades dedesenvolvimento; mas também aumenta a complexidade do gerenciamento derecursos e da sincronização dos fluxos de trabalho. Uma arquitetura sofisticada éessencial para atingir um paralelismo significativo e pode ser obtidos com aaplicação dos padrões de requisitos, análise e projeto;Transição: Consiste na implantação da versão final do software ou produto. Nestafase, o software é disponibilizado aos usuários. Após ter sido colocado em uso,surgem novas considerações que vão demandar a construção de novas versõespara permitir ajustes do sistema, corrigir problemas ou concluir algumascaracterísticas que foram postergadas. É importante realçar que dentro de cadafase, um conjunto de iterações, envolvendo planejamento, levantamento derequisitos, análise, projeto e implementação e testes, é realizado. Contudo, de umaiteração para outra e de uma fase para a próxima, a ênfase sobre as váriasatividades muda, a fase de transição concentra-se nos testes, visando garantir que osistema possui o nível adequado de qualidade. Além disso, os usuários devem sertreinados, características ajustadas e elementos esquecidos adicionados. Segundo KRUCHTEN (2003), cada fase tem uma ou mais iterações, com focoem disponibilizar os produtos e documentos necessários para alcançar seusobjetivos.
  • 27. 274.1.2 Disciplinas Segundo KENDALL (2004), para usufruir das principais características doprocesso de desenvolvimento com o RUP devem ser observadas suas disciplinas:Modelagem do Negócio: Avalia a estrutura e a dinâmica da organização; identificaos problemas e respectivas melhorias e documentar os seus processos. Estes sãodocumentos do modelo de Casos de Uso do Negócio (Business Use Cases). Oobjetivo desta disciplina é assegurar um entendimento comum entre todos osinteressados a respeito de qual processo empresarial precisa receber apoio naorganização. Os casos de uso do negócio são analisados para se entender como onegócio deve apoiar os processos empresariais. Muitos projetos podem não utilizaras atividades de modelagem do negócio no seu processo, principalmente nos casosem que o domínio do negócio já é muito bem conhecido por todos os participantesdo projeto (principalmente os engenheiros) ou então, quando o negócio é simples epequeno;Requisitos: Apura-se as necessidades do cliente para o projeto; define-se os limitesdo sistema. As atividades desta disciplina são realizadas a fim de se descrever oque o sistema deve fazer, assim como permitir aos desenvolvedores e clientesavaliarem esta descrição. Tais atividades englobam identificar, organizar, edocumentar as funcionalidades exigidas, assim como rastrear e documentarmudanças e decisões. Assim como a Modelagem do Negócio, existe maiorconcentração de esforços para a realização das atividades inerentes a estadisciplina nas duas primeiras fases do processo, Concepção e Elaboração. Umdocumento de Visão é criado e a partir deste, são definidas as necessidades dosinteressados no sistema e identificados os atores. Ao longo do projeto, cada caso deuso é descrito em detalhes, mostrando interação com atores e suas funcionalidades,assim como os fluxos das regras do negócio. São descritas exigências não-funcionais em especificações adicionais. Os casos de uso vão funcionar como umguia ao longo de todo o ciclo de desenvolvimento do produto de software;Análise e Design: Traduz os requisitos ou necessidades do projeto em um modelode arquitetura de software. As atividades da disciplina de Análise & Projeto são
  • 28. 28executadas para demonstrar como o sistema será concebido na fase deimplementação. O projeto de um sistema deve garantir que o sistema a serconstruído execute as tarefas e funções especificadas nos casos de uso, contemplerequisitos não-funcionais, e seja flexível às mudanças. As atividades desta disciplinaresultam em um Modelo de Projeto e opcionalmente em um Modelo de Análise. Omodelo de projeto serve como uma abstração do código fonte: um guia ou mapa decomo o código deve ser estruturado e escrito. Todas as soluções de análise eprojeto do sistema devem levar em conta a arquitetura do sistema, foco principal dasprimeiras iterações do ciclo de vida do sistema. Desde o início, deve-se estabeleceruma arquitetura robusta de forma que se possa projetar um sistema que seja fácil demanter, construir e evoluir. Deve-se então ajustar o projeto de forma que se adapteao ambiente de implementação, projetando o sistema para apresentar bomdesempenho, ser robusto, escalável, e ser facilmente testável, entre outrasqualidades. O objetivo do projeto, por outro lado, é adaptar os resultados da análiseàs restrições impostas pelos requisitos não funcionais, pelo ambiente deimplementação, pelos requisitos de desempenho, e assim por diante. O projeto é,portanto, um refinamento da análise e objetiva a otimização do projeto do sistema aomesmo tempo em que garante a cobertura total dos requisitos;Implementação: As atividades desta disciplina compreendem definir a organizaçãodo código em subsistemas, implementar e testar componentes, e integrar osresultados, formando um sistema executável. O RUP propõe a prática dereutilização de componentes existentes, acelerando a produtividade. Componentessão estruturados em subsistemas da implementação, podendo ser heterogêneos(produzidos com diferentes tecnologias);Testes: Executar os testes do software; identifica e documenta as possíveis falhasencontradas; valida a construção do sistema de acordo com a arquitetura proposta.Esta atividade e responsável por verificar as funcionalidades do sistema, aintegração de objetos e componentes, a validade dos requisitos implementados,assim como, assegurar que os defeitos encontrados sejam solucionados. De acordocom a abordagem iterativa proposta pelo RUP, os testes são realizados ao longo detodo ciclo de vida do software, e não apenas no final. Isto permite encontrar defeitostão logo quanto possível, reduzindo custos de eventuais correções posteriores. Os
  • 29. 29testes são executados considerando as seguintes dimensões de qualidade:confiabilidade, funcionalidade, e desempenho da aplicação e do sistema. Umaprática importante quando se usa uma abordagem iterativa é a automatização detestes, pois permite regressão ao fim de cada iteração, assim como, validar cadanova versão do produto por meio de critérios estabelecidos;Implantação: esta disciplina agrupa as atividades relacionadas ao lançamento eimplantação do software, tais como: produzir lançamentos externos (para o cliente);"empacotar", distribuir e instalar o software, e; oferecer ajuda e assistência aosusuários. Em muitos casos, a disciplina também inclui atividades como planejar egerenciar testes beta; migração de software ou dados existentes e, condução àaceitação formal do software pelos interessados;Gerência de Mudanças e Configuração: Controla os artefatos e códigos-fontesproduzidos no projeto; controla as versões; controla as mudanças solicitadas pelocliente. Esta disciplina engloba o controle dos diferentes artefatos produzidos em umprojeto. Em conjunto com a disciplina de Ambiente, ela contém as atividadesreferentes ao gerenciamento de versão e configuração do software: base deconhecimentos, repositórios de dados e informações, e controle de mudanças doprojeto;Gerência do Projeto: Realiza o planejamento e controle das atividades do projeto;realiza também o acompanhamento das atividades dos envolvidos no projeto eindica ao cliente o andamento do projeto. Esta disciplina inclui atividades comobalancear objetivos, gerenciar riscos e contornar problemas a fim de que se possaentregar um software com sucesso. O Processo Unificado da Rational oferecealguns recursos para a realização das atividades: um framework de Gerência deProjetos, com diretrizes para planejar, alocar pessoal, executar e monitorar projetos,e; um framework de Gerência de Riscos. A disciplina não é uma receita parasucesso, mas apresenta uma abordagem que pode melhorar a tarefa;Ambiente: Mantém o ambiente de desenvolvimento de software disponível eadequado às necessidades. E também define como o RUP foi configurado para serutilizado no projeto.
  • 30. 304.1.3 Desenvolvimento Iterativo e Incremental Para KENDALL 2004, a construção com RUP é iterativa e incremental ondeo projeto é dividido em pequenas fases ou “iterações”, conforme a figura 3. Portanto,as disciplinas destacadas na figura 3 serão executadas em um ciclo ou iterações. Aofinal da execução de cada iteração é gerada uma versão do sistema, ou seja,algumas funcionalidades do sistema são liberadas para o uso e a cada nova iteraçãosão oferecidos incrementos funcionais ao sistema. Figura 3 Disciplinas em uma iteração do RUP Fonte: Kruchten – 2004 Para a execução de todo o processo, o RUP estabelece cinco elementosconforme figura 4: papel, atividades, artefatos, fluxos de trabalho e as disciplinas,descritas anteriormente.  Papel: Indica as responsabilidades a serem desempenhadas pelos indivíduos envolvidos no projeto;  Atividade: Um trabalho a ser executado pelo indivíduo de acordo com o papel atribuído a ele;  Artefatos: Um conjunto de documentos de entrada e saída para o apoio aos indivíduos na condução de suas atividades no projeto.;
  • 31. 31  Fluxos de Trabalho: Sequência lógica das atividades desempenhada pelos indivíduos. Figura 4 Elementos do RUP Fonte: Kruchten – 2004 Na próxima seção faremos uma breve descrição da UML - Unufied ModelingLanguagem.4.2 UML - Unified Modeling Language Segundo GUEDES (2004), a “UML (Unified Modeling Language ouLinguagem de Modelagem Unificada) é uma linguagem visual utilizada para modelarsistemas computacionais por meio do paradigma de “Orientação a Objetos.”, amodelagem visual é o processo de se obter informação a partir do modelo e exibi-lasgraficamente, usando um conjunto de padrões de elementos gráficos. Para se atingiro objetivo primordial da modelagem visual, que é a comunicação, e usufruir de seusbenefícios, é de fundamental importância a existência de padrões definidos edifundidos.
  • 32. 32 Segundo DEBONI (2003), esta comunicação poderia ser feita de forma nãovisual (textual), mas, em geral, o processo visual permite a observação dasinformações de forma mais simplificada, precisa e rápida. Ao que parece, aspessoas conseguem compreender melhor a complexidade quando é apresentadavisualmente, e não escrita ou textualmente. Ao gerar modelos visuais de umsistema, pode-se mostrar como ele funciona em diversos níveis. Podem sermodeladas as interações entre os usuários e o sistema, as interações dos objetosdentro de um sistema e, até mesmo, as interações entre sistemas, se necessário. MELO (2004) afirma, “uma imagem vale mais que mil palavras”, seguindoesta afirmação a imagem de uma bicicleta é mais expressiva que a descrição desuas partes componentes algo que poderia ser extenso e confuso, entretanto umaimagem não pode ser simples em demasia para não perder sua expressividade,nesse sentido baseia-se a modelagem de software. Segundo GUEDES (2004), a UML foi uma fusão, em 1996, de três métodosde modelagem o método Booch de Grady Boch, o método OMT de Ivar Jacobson eo método OOSE de James Rumbaugh, o trabalho dos três metodologista demodelos ficou conhecido popularmente com “ Os três amigos” , que resultou nolançamento da primeira versão da UML e em 1997 foi adotada pela OMG (ObjectManagemente Group). Segundo MELO (2004) a estrutura da UML conduz à criação e leitura deseus modelos mas não estabelece quando nem quais deles devem ser criados,deixando essa responsabilidade para o processo de desenvolvimento. Desta formaa UML torna-se independente de processos, pois qualquer um deles pode usá-la. Segundo MELO (2004), para modelar um sistema a UML trabalha com:elementos básicos do modelo, relacionamentos, diagramas e regras de formação.4.2.1 Elementos Básicos do Modelo MELO (2004), cita alguns elementos:  Ação: unidade básica de especificação de comportamento;
  • 33. 33  Artefato: pedaço físico de informação que é usado ou produzido por um processo de desenvolvimento;  Atividades: é a especificação de um comportamento parametrizado, expresso como um fluxo de execução;  Caso de Uso: representa a funcionalidade provida por um sistema;  Classe: a descrições de um conjunto de objetos que compartilham dos mesmos atributos;  Classes Ativas: representa uma atividade de controle;  Colaboração: indica as instâncias e cooperação de elementos envolvidos na mesma tarefa;  Componente: parte significativa de um sistema modularizado;  Estado: condição durante a vida de um objeto;  Interação: é um padrão de comunicação com o objetivo de realizar algum propósito;  Interface: especifica as operações externamente visíveis de uma classe ou componente;  Nota: símbolo gráfico contendo uma informação;  Pacote: é o agrupamento de elementos de modelo;4.2.2 Relacionamentos Segundo MELO (2004), os relacionamentos realizam a ligação, entre si, doselementos do modelo, são eles:Dependência: é um relacionamento entre dois ou mais elementos de modelagem,que indica que uma mudança em um elemento afetará o outro;Associação: é um relacionamento entre dois ou mais classificadores que envolvemconexões entre suas instâncias;Generalização: é um relacionamento entre um elemento mais genérico e outro maisespecífico. O elemento mais específico pode conter apenas informações adicionaisque o distingue do genérico.
  • 34. 34Realização: é um relacionamento entre uma especificação e sua implementação.4.2.3 Diagramas Segundo GUEDES (2004) a UML é composta de 13 diagramas queobjetivam fornecer múltiplas visões dos sistemas a serem modelados, analisando-oe modelando-o sob diversos aspectos e de forma complementar. Cada um destesdiagramas analisa o sistema sob uma determinada ótica. A utilização destesdiagramas permite que falhas sejam detectadas, diminuindo assim a possibilidadede erros futuros e minimizando os riscos e os custos do desenvolvimento dosistema. Os diagramas da UML 2.0 dividem-se em Diagramas Estruturais eDiagramas Comportamentais, sendo que estes últimos possuem ainda umasubdivisão representada pelos Diagramas de Interação, conforme visto na Figura 4. Segundo MELO (2004), os diagramas estruturais apresentam ascaracterísticas imutáveis do sistema, são também conhecidos como diagramasestáticos, já os comportamentais ou dinâmicos mostram como os sistemasrespondem às requisições ou como o mesmo evolui durante o tempo. Figura 5 Diagramas da UML 2.0 Fonte: GUEDES, 2004, p.35
  • 35. 354.2.3.1 Diagrama de Classe Segundo GUEDES (2004), as classes são matrizes de objetos e descrevemum conceito abstrato do domínio do problema enquanto um objeto representa umelemento desse conceito, que é utilizado no sistema, de forma concreta. O diagramade classe serve de base para os outros tipos de diagramas. No Diagrama deClasses, cada classe é representada por um retângulo no qual são descritos o nomeda classe, os atributos e as propriedades. Os relacionamentos entre as classespodem ser definidos como:Dependência: corresponde ao relacionamento mais fraco entre duas classes. Érepresentada por uma seta tracejada ligando as classes e partindo da classedependente para a classe independente. A dependência não indica como ocorreessa dependência, mas serve para indicar que essas classes devem participarjuntas do sistema;Associação: as associações aparecem quando há um nível maior de envolvimento,e bem mais definido que na dependência entre as classes. Na associação, asclasses estão ligadas semanticamente umas às outras, ou seja, as classes sãoindependentes, mas guardam algum tipo de significado na sua relação. Essa relaçãopermite a troca de mensagens entre as classes na ajuda para o cumprimento desuas responsabilidades. A representação da associação é uma linha que interliga asclasses, onde a linha pode possuir uma seta indicando a direção da associação;Agregação: alguns tipos de associação podem exigir um aumento no grau deenvolvimento entre as classes, o que cria a agregação. A agregação é equivalente àassociação, mas indica que as classes possuem uma dependência existencial, ouseja, uma classe só existe em conjunto com suas agregadas. A classe todo écomposta pelas classes parte. A agregação é representada por uma seta unindo asclasses com um losango indicando a classe todo. Pode-se considerar a agregaçãocomo um caso especial da associação devido ao maior vínculo entre as classesHerança: caracteriza-se por criar uma hierarquia entre as classes do sistema. Nessahierarquia, as superclasses servem de matrizes para a criação de outras classes, as
  • 36. 36subclasses, que especializam as superclasses originais. Ao se especificarem, assubclasses aproveitam tudo das superclasses, o que inclui atributos, operações erelacionamentos da classe mãe, mas podem modificar o material herdado,sobrescrevendo os atributos e as operações ou criando novos atributos e operações;4.2.3.2 Diagrama de Objeto Segundo GUEDES (2004), o diagrama de objeto é um complemento dodiagrama de classe, sendo bastante dependente deste. Fornece uma visão dosvalores armazenados pelos objetos de um diagrama de classe em um determinadomomento da execução de um processo de software.4.2.3.3 Diagrama de implementação Segundo MELO (2004), o diagrama de implantação determina asnecessidades de hardware do sistema, as características físicas como servidores,estações, topologias e protocolos de comunicação, ou seja, todo o aparato físicosobre o qual o sistema deverá ser executado. O Diagrama de componentes e o deImplantação estão intrinsecamente associados e, portanto, é possível representá-losem conjunto.4.2.3.4 Diagrama de Estrutura Composta Segundo GUEDES (2004), o diagrama de estrutura composta, descreve aestrutura interna de um classificador, como uma classe ou componente, detalhandoas partes internas que o compõem, como estas se comunicam e colaboram entre si.Também é utilizado para descrever uma colaboração onde um conjunto deinstâncias cooperam entre si para realizar uma tarefa. Este é um dos três novosdiagramas propostos pela UML 2.0.4.2.3.5 Diagrama de Componentes Segundo GUEDES (2004), o diagrama de componentes está amplamenteassociado à linguagem de programação utilizada parar codificar o sistema
  • 37. 37modelado. Esse diagrama representa os componentes do sistema implementado emtermos de módulos de código-fonte, bibliotecas, formulários, arquivos de ajuda,módulos executáveis etc. e determina como esses componentes estarãoestruturados e interagirão para que o sistema funcione de maneira adequada.4.2.3.6 Diagrama de Pacotes Segundo MELO (2004), o diagrama de pacotes tem por objetivo representaros subsistemas englobados por um sistema a fim de determinar as partes que ocompõem. Pode ser utilizado de forma independente ou em conjunto com outrosdiagramas.4.2.3.7 Diagrama de Casos de Uso Segundo GUEDES (2004), o diagrama de casos de uso é o diagrama maisgeral e informal da UML, é utilizado nas fases de levantamento e analise derequisitos, mostra as interações entre os casos de uso que tem processosautomatizados e seus atores. Basicamente, o diagrama de casos de uso mostra osatores que iniciam os casos de uso e que recebem informações deles, enfim, osrequisitos do sistema.4.2.3.8 Diagrama de Atividades Segundo GUEDES (2004), o diagrama de atividades preocupa-se emdescrever os passos a serem seguidos para a conclusão de uma atividadeespecífica, muitas vezes, representada por um método com certo grau decomplexidade e não de um processo completo, como no caso do Diagrama deSequência. Em outras palavras, o diagrama de atividades concentra-se narepresentação do fluxo de controle de uma atividade.4.2.3.9 Diagrama de Máquina de Estado Segundo GUEDES (2004), este diagrama normalmente se baseia em umCaso de Uso definido e faz uso das classes especificadas no Diagrama de Classes.
  • 38. 38Além disso, é utilizado em geral para acompanhar os estados por que passa umainstância de uma classe, podendo ainda ser utilizado para representar os dados deum caso de uso ou mesmo os estados gerais de um subsistema ou de um sistemacompleto.4.2.3.10 Diagrama Sequencia Segundo GUEDES (2004), este diagrama tem como principal objetivoobservar a ordem temporal em que as mensagens são trocadas entre os objetosenvolvidos em um determinado processo. Normalmente baseia-se em um Caso deUso definido no Diagrama de Casos de Uso e se apoia no Diagrama de Classespara determinar os objetos das classes envolvidas em um processo. Um Diagramade Sequência costuma identificar o evento gerador do processo modelado, bemcomo o ator responsável por este evento e determina o desenrolar do processo e aconclusão do mesmo a partir da chamada de métodos disparados por mensagensenviadas entre os objetos.4.2.3.11 Diagrama Geral de Interação Segundo MELO (2004), este diagrama é uma variação do diagrama deatividades que mostra de uma forma geral o fluxo de controle e interação dentro deum sistema ou processo de negocio. Cada atividade dentro do diagrama pode teroutro diagrama de interação. Este diagrama só foi integrado a UML a partir daversão UML 2.04.2.3.12 Diagrama de Comunicação Segundo MELO (2004), este diagrama é o antigo diagrama de colaboração,que mostra objetos, seus inter-relacionamentos e o fluxo de mensagens entreeles.Segundo GUEDES (2004), este diagrama complementa o diagrama desequência apresentando um enfoque diferente, sua informações são, comfrequência, praticamente as mesmas, entretanto o no diagrama de comunicação nãohá a preocupação com a temporalidade do processo e sim com a forma como osobjetos estão vinculados e quais mensagens trocam entre si durante o processo.
  • 39. 394.2.3.13 Diagrama de Tempo Segundo GUEDES (2004), o Diagrama de Tempo descreve a mudança noestado ou condição de uma instância de uma classe ou seu papel durante umtempo. Tipicamente utilizada para demonstrar a mudança no estado de um objeto notempo em resposta a eventos externos. É um diagrama introduzido na segundaversão de UML, classificado como diagrama de interação. Este diagrama modelainteração e evolução de estados. Na próxima seção faremos uma descrição da linguagem de JAVA.4.3 JAVA Segundo DEITEL H. e DEITEL P. (2005), com a revolução dosmicroprocessadores, vieram inúmeros benefícios para o cenário evolutivo doscomputadores pessoais no mundo todo, juntamente com uma crença de grandeimpacto nos dispositivos inteligentes destinados ao usuário final. Reconhecendoisso, a Sun Microsystem financiou uma pesquisa corporativa interna liderada porJames Gosling e outros desenvolvedores com o codinome Green em 1991. Já segundo CADENHEAD & LEMAY (2005), sendo este, um projeto de TVinterativa com inicio em meados da década de 1990, Gosling teria se frustrado coma linguagem utilizada no projeto, C++, uma linguagem de programação orientada aobjetos desenvolvida por Bjarne Stroustrup na AT&T Bells Laboratories, cerca de 10anos antes como uma extensão da linguagem C. Gosling trancou-se em seu quartoe criou uma nova linguagem de programação adequada ao projeto em questão quefocalizava o suprimento de suas frustrações em relação à linguagem utilizadaanteriormente. Para DEITEL H. e DEITEL P. (2005), Gosling apelidou a linguagem criadade Oak, em homenagem a uma arvore de carvalho que tinha a vista de seuescritório na Sun, quando mais tarde descobriu-se que já havia uma linguagem demesmo nome e foi quando a equipe da Sun visitou uma cafeteria local e porsugestão, resolveram atribuir o nome da linguagem de Java (cidade de origem de
  • 40. 40um tipo de café importado). Passando por maus momentos o projeto encontroudificuldades no prosseguimento, devido a uma baixa no mercado específico, mas emcompensação em 1993 a Word Wilde Web, entrou em evidencia, ondeimediatamente a Sun viu potencial para Java e através dela, podemos adicionarconteúdos dinâmicos e iterativos as paginas web. DEITEL H. e DEITEL P. (2003), usa como argumento a máxima que comJAVA: “Escreva uma vez e rode em qualquer lugar (WORA)-Write Once, RunAnywhere”, esse desde o inicio foi o lema defendido pela tecnologia. Java é umalinguagem de programação orientada a objetos, baseada em C++, com a diferençade que as estruturas complexas existentes no C++ foram removidas, onde nasce oJava, simples e altamente poderoso, isso é possível pela existência da JVM (JavaVirtual Machine), impedindo que os programas Java rodem diretamente no sistemanativo, fazendo com que eles sejam compilados e interpretados, mas passando porcinco fases básicas que são ilustrados na figura 6. Figura 6 Processo de execução de um programa Java Fonte: DEITHEL 2005 Para DEITEL H. e DEITEL P. (2005), programas Java são compostos declasses e essas por sua vez contem métodos, onde esses realizam tarefas aoconcluir. Os programadores Java detêm o poder de desenvolver suas classes emétodos, assim como também a capacidade de manusear e aproveitar as coleçõesexistentes de classes internas da biblioteca Java , que são as chamadas APIs do
  • 41. 41Java (Application programming Interface), assim criam-se dois aspectos para seadentrar no mundo Java que são: o aprendizado da linguagem em se, a criação dospróprios métodos e classes e o aprendizado das APIs que seria o reaproveitamentodessas classes prontas para utilização. Para CADENHEAD & LEMAY (2005), as facilidades de uma linguagem éfator determinístico nas disputas entre programadores, afirma também que Java foiprojetada para ser mais fácil que C++, principalmente no que se refere aos aspectosde que a JVM (Java virtual Machine) cuida automaticamente da alocação edesalocação de memória, liberando os programadores de tal tarefa tediosa ecomplexa, além de possuir apenas seis comandos que são: dois de decisão, três derepetição e um para proteção do código, Java não utiliza ponteiros, um recursocomplexo usado por programadores experientes que facilmente pode ser malempregado; Java não aborda herança múltipla, apenas única em orientação aobjetos, sendo estes alguns recursos vantajosos que Java obtém para total robusteze segurança.4.3.1 ServLets e JSP A internet está mudando a maneira como os negócios são feitos. As pessoasse beneficiam profundamente quando procuram melhores preços e produtos,comunidades de interesse especial podem permanecer em contato entre si. Ospesquisadores podem se tornar instantaneamente cientes dos últimos avanços.(DEITEL H. e DEITEL P. 2005). Focando especialmente no relacionamento cliente e servidor, onde o clientesolicita alguma ação e logo em seguida o servidor responde, sendo esta a base parao nível mais alto de redes no Java, os Servlets e JSP (JavaServer Page), onde umservlet nada mais que é do que um extensão do servidor web que prover as paginascom base no protocolo HTTP, os dois pacotes básicos que dispõe das classes einterfaces dos servlets são: javax.servlet e javax.servlet.http. Pacotes como javax.servlet.jsp e javax.servilet.jsp.tagext, fornecem classesreferente ao JSP(JavaServer Page), usando um sintaxe especial, emula dentro da
  • 42. 42aplicação web as funcionalidade do Java real como encapsulamento defuncionalidade e conceitos concernentes a linguagem no que se refere orientação aobjetos , ou seja, através do JSP e possível usar todas as propriedades de Java2SE,para o ambiente web. JSP simplifica o fornecimento do conteúdo dinâmicoreutilizando componentes predefinidos e interagindo com scripts que seguem aolado do servidor, onde existem quatro componentes primordiais para JSPs que são:as diretivas, ações, elementos de scripts e bibliotecas de tags. (DEITEL H. e DEITELP. 2005).  As diretivas são enviadas para o contêiner de JSP, um componente do servidor web que executa a JSP;  As ações detêm o encargo de encapsular as tags predefinidas.  Os elementos de script permitem a inserção do código Java que venha interagir com o JSP;  As bibliotecas de tags permitem o programador criar tags suas próprias tags. Pela gama de atributos e fatores que Servlets e JSPs oferecem no tange aderivação e extensão de toda estrutura da linguagem Java, fatores imprescindíveis,como segurança, portabilidade, otimização e robustez, não podem ser desprezadosno que tange o desenvolvimento de uma aplicação web, sendo este e todos osoutros fatores estabelecidos e constatados logo acima, sendo o motivo maior daescolha de Servlets e JSP para o desenvolvimento do SATI (Sistema deatendimento técnico em informática), para que o mesmo venha herdar todas asinúmeras vantagens cruciais de JAVA e ter o status relevante de uma aplicaçãoJSP. Segundo PINHEIRO (2011), com negociações em um prazo de uma semanao gigante Oracle investiu nas ações da Sun Microsystem assim dando inicialmenteoferta de sete bilhões, mas fechando a nove bilhões de dólares, fazendo destajunção um conjunto de novidades para o mundo da TI e de todo o mundo, ondesurgiu o JDK 7 Developer Preview, uma versão para que desenvolvedores testem asnovas funcionalidades ate então, ultima versão do Java, que com toda portabilidadetem grande influencia nos mundos de Server Programming, aplicações de e-commerce, e-business, aplicações para acesso via Internet, intranet entre outras,
  • 43. 43com recursos incríveis além de novas APIs, que permitem o manuseio da linguagem,sendo as melhorias inovadoras causa das maiores disputas no mercado de trabalho,onde tivemos melhorias nos quesitos de separador de dígitos em literaisnuméricos,literais binários,variáveis do tipo string em comandos switch, inferênciana criação de objetos de tipos genéricos além de outros que ainda serão publicados. Na próxima seção faremos uma breve descrição da linguagem deprogramação PHP, que será utilizada na implementação do sistema proposto.4.4 PHP - Hypertext Preprocessor Segundo WELLING (2005), a linguagem PHP surgiu em 1994 como umprojeto pessoal de Rasmus Lerdorf com o intuito de controlar os acessos a suapágina WEB. Esta linguagem é fortemente baseada nas linguagens C, Java e Perl eainda pode ser vista como uma combinação de linguagem de programação eservidores de aplicações. Permite criar sites WEB dinâmicos, fornece forte suportepara o acesso a banco de dado. O lançamento do PHP4 ocorreu em maio de 2000,onde trouxe como uma das principais novidades o suporte a sessões, com o intuitode identificar o cliente que solicitou determinada informação. Segundo WELLING (2005), além das mudanças referentes à sintaxe e aosnovos recursos de programação, o PHP4 trouxe também um recurso chamadoZend, que permite a execução otimizada de scripts PHP. Ainda assim, essalinguagem possui código aberto, e é o resultado de contribuições de umacomunidade de programadores interessados, contribuindo gratuitamente e estandodisponível em um grande número de plataformas. Segundo MORAZ (2005), o código PHP é embutido no HTML, ou seja, elepode ser escrito no meio de uma página HTML que será interpretada pelo servidor.O PHP é executado no servidor, sendo enviado para o cliente apenas HTML puro.Desta maneira é possível interagir com bancos de dados e aplicações existentes noservidor, com a vantagem de não expor o código fonte ou as regras de negocio parao cliente.
  • 44. 44 Segundo MORAZ (2005), PHP é multiplataforma, pois, apesar detipicamente ser utilizado em conjunto com o Linux/FreeBSD e o Apache, roda emSolaris e Windows. Com relação à eficiência: consome pouco recurso do servidor,é mais rápido e evita chamada externa, tornando-o mais eficiente; tem acesso aBanco de Dados: acessa qualquer banco de dados, diretamente ou por meio doODBC; é capaz de processar imagens: criando imagens dinâmicas e enviando aobrowser do usuário; lê também informações padrão XML, processa arquivos,manipula variáveis complexas, utiliza funções, classes e gera código JavaScript,manipula e-mails e gerencia documentos PDF. Segundo DALLOGLIO (2009), uma das principais vantagens do PHP é osuporte nativo a um grande número de bancos de dados, como dBase, Interbase,mSQL, mySQL, Oracle, Sybase, PostgreSQL, além disso, tem suporte a outrosserviços através de protocolos como IMAP, SNMP, NNTP, POP3 e, logicamente,HTTP. Pode-se utilizar sockets e interagir com outros protocolos. Em sua versão 5.0o PHP ofereceu suporte completo a orientação a objeto. Segundo MORAZ (2005), PHP também realiza várias funções para Internetcomo: tratamento de cookies de comercio eletrônico, e em geral realiza funçõesmatemáticas, exploração de cadeias de datas, correção ortografia e compressão deficheiros. No campo do e-commerce, podemos utilizar funções especificas paraCybescash, CyberMUT e outros, que são práticos para sistemas de pagamentoonline. Assim como a linguagem JavaServer Pages (JSP), o PHP pode ser pré-compilado para aumentar a sua performance. A pré-compilação é feita através douso de um módulo acelerador (também disponível como software livre). Na próxima seção faremos uma breve descrição dos métodos de ágeis.4.5 DESENVOLVIMENTO ÁGIL Segundo BECK (2000), devido às exigências do mercado, grandecompetitividade e importância maior no que tange prazos, justamente por isso que
  • 45. 45as empresas precisam desenvolver projetos com um tempo cada vez mais reduzido,para permitir isso se tem os métodos ágeis que englobam um conjunto de atividadesbaseadas nas melhores práticas de metodologias ágeis. Já segundo WILLIAN (2008), os métodos ágeis surgiram no final da décadapassada, em fevereiro de 2001, um grupo de dezessete metodologistas criou omanifesto ágil, ou mesmo a Agile software Development Alliance, o que os métodoságeis buscam não é como conter as mudanças mais cedo em um projeto desoftware, mas a melhor maneira de tratar mudanças inevitáveis ao longo de seuciclo de vida. O manifesto ágil foca alguns conceitos que serão abordados logoabaixo:  Indivíduos e interações ao invés de processos e ferramentas;  Software operante ao invés de documentação abrangente;  Colaboração do cliente ao invés de negociações de contratos;  Respostas rápidas a mudanças ao invés de seguir um plano. Para WILLIAN (2008), o processo ágil não rejeitar, as negociações,documentações ou mesmo o planejamento, apenas mostra que todo isso temaplicação secundária no que se referem aos conceitos chaves do manifesto. Dentre os processos ágeis existem várias metodologias como: XP (Extremeprogramming), SCRUM, DSDBM, Crystal dentre outros. Citam-se logo abaixo osmais importantes:XP (Extreme Programming) – Segundo KNIBERG (2007), XP é um método ágilbaseado em requisitos vagos e instancias que são altamente dinâmicas, o que sedestaca desta metodologia é a forte comunicação entre o cliente, a programação,pareada (programação a dois), há um diferencial no requisito treinamento, enquantoque no desenvolvimento tradicional a falta de treinamento influencia diretamente noprazo de um projeto, na metodologia XP um dos integrantes da dupla vai sendotreinado ao longo do desenvolvimento de maneira transparente para o projeto. Éuma metodologia que encoraja a equipe a enfrentar as mudanças, como algonatural, sendo importante se adaptar aos contratempos que acontecem no projeto,
  • 46. 46contornando assim as dificuldades do modo mais simples possível sem perder ofoco básico: produzir um produto de qualidade, almejando excelência.SCRUM – Para KNIBERG (2007). Baseado em princípios relativamentesemelhantes ao XP, o SCRUM divide-se em iterações, ou SPRINTs, de trinta dias,onde equipes pequenas, de até dez pessoas, são formadas entre programadores,engenheiros de software e analistas e cada equipe trabalha focado numa SPRINT,sendo este formado em três fases principais que são elas : pré-planejamento (pré-game phase), desenvolvimento (game-phase) e pos-desenvolvimento (pos-gamephase). É uma metodologia com o foco no gerenciamento da equipe, preocupadanaorganização dos processos, no modo como as atividades devem ser executadas,deixando a cargo dos participantes do projeto escolher a melhor maneira de concluircom sucesso essas etapas. Os requisitos do software são levantados e organizadosem uma lista de funcionalidades, chamada product backlog, que contém todo oescopo do projeto definido juntamente com o cliente, e suas respectivas prioridadesde desenvolvimento, sendo que o product backlog dever ser constantementerevisado, validado e atualizado. O desenvolvimento é dividido em iterações,chamado de sprints, de duração entre duas a quatro semanas. Cada sprint écomposta de uma lista de tarefas, funcionalidades com prioridades retiradas doproduct backlog, chamada de sprint backlog. Definido as atividades a seremrealizadas em cada sprint, a equipe foca o desenvolvimento de mais um ciclo quese repete ao longo do projeto. Após o encerramento das sprints é realizada a sprintretrospective, uma das mais importantes práticas dentro da Scrum, que sãodiscutidos os pontos positivos e os negativos;MSF Agile – Segundo Willian (2008), como uma compilação da Microsoft oMicrosoft solution Framework, surgindo em 1994, como um conjunto de boaspráticas, a partir de sua experiência de desenvolvimento de software e consultoria,sendo este framework também dinâmico e disposto a dar respostas rápidas no quetange a problemas recorrentes no desenvolvimento de softwares. Na próxima seção faremos uma descrição de Banco de Dados, SistemasGerenciadores de banco de Dados (SGBD), os SGBDs MySQL e ORACLE e alinguagem SQL.
  • 47. 474.6 BANCO DE DADOS Segundo a KORTH (1995), a finalidade básica dos bancos de dados éarmazenar os dados de forma organizada. Isso faz com que os dados fiquemdisponíveis para serem usados ou atualizados por todos que tenham acesso a estasinformações. Segundo DATE (2004), um SGBD (Sistema Gerenciador de Banco deDados) é um conjunto de dados que associados a um conjunto de programasproporcionam o acesso a esses dados. Como o banco de dados possui estruturaconhecida, o sistema que o armazena possui diversas ferramentas poderosas paraprolongar sua utilização, e mecanismos para a manipulação dos dadosarmazenados.4.6.1 Modelo de dados Segundo KORTH (1995) sob a estrutura do banco de dados está o modelode dados: um conjunto de ferramentas conceituais usadas para descrever dados,relacionamento entre dados, semântica e regras de consistência. Os modelospodem ser classificados em três grupos:  Modelos Lógicos com Base em Objetos;  Modelos Lógicos com Base em Registros;  Modelos Físicos.4.6.1.1 Modelo Lógico com Base em Objeto Segundo KORTH (1995), estes modelos são usados na descrição de dadosno nível lógico e de visões. Possuem recursos de estruturação bem mais flexíveis eviabilizam a especificação explícita das restrições dos dados. Vários modelosintegram esta categoria, alguns já são bem conhecidos, como:Modelo entidade-relacionamento: Tem por princípio a percepção do mundo realcomo conjunto de objetos básicos, chamados de entidades e do relacionamentoentre eles;
  • 48. 48Modelo orientado a objeto: Assim como o modelo entidade-relacionamento, tempor base um conjunto de objetos, onde um objeto contém valores armazenados emvariáveis instâncias, contendo também um conjunto de códigos que operam esseobjeto;Modelo semântico de dados: Têm como objetivo a representação de determinadaparte do mundo real, sendo assim, o que se busca é que o modelo produzidotraduza de maneira mais próxima possível os objetos que ele representa. SegundoDATE( 2004), por ter como base um contexto e a semântica que cada objeto tempara um determinado grupo de usuário dentro desse contexto, um determinadoobjeto no mundo real pode muito bem ser considerado uma entidade por algumaspessoas e propriedades por outras e ainda associação por outras. Uma das metasda modelagem semântica é suportar tal flexibilidade de interpretação.Modelo funcional de dados: esse modelo de dados é baseado em atributos, ondeas entidades são valores de atributos e cada atributo pode ter vários valores. OModelo Funcional de Dados também é um tipo de modelo semântico de dados.4.6.1.2 Modelos Lógicos com Base em Registros Ainda segundo KORTH (1995), são utilizados para descrever os dados nonível lógico e de visões. Contrastando com o modelo com base em objetos, este tipode modelo é usado tanto para especificar a estrutura lógica do banco quanto paraprogramar uma descrição de alto nível. Este grupo também se divide em:Relacional: Representa dados e relacionamentos entre dados através de umconjunto de tabelas, cada uma tendo um número de colunas com nomes únicos,este modelo oferece a possibilidade de expressar consultas e manipulações sobre abase de dados usando linguagens independentes de sistemas, baseadas emálgebra relacional e em cálculo relacional;Hierárquico: Neste tipo de gerenciador os dados ficam representados em forma deárvore, composto por uma hierarquia de registros de dados onde cada um dosseguimentos inferiores depende hierarquicamente dos segmentos superiores.
  • 49. 49Rede: Este por sua vez representa os dados como registros vinculados uns aosoutros formando um conjunto comum de dados. O modelo de rede é semelhante aomodelo hierárquico. Podendo até mesmo dizer que o modelo de rede é ageneralização do modelo hierárquico.4.6.1.3 Modelos Físicos Ainda segundo KORTH (1995), este modelo é utilizado para descrever osdados em nível mais baixo, contrastando com os modelos lógicos. Há poucosmodelos físicos de dados sendo utilizados hoje. Dois destes modelos sãoconhecidos:Modelo unificado (unifying model); consiste num modelo simples que organizaregistros de dados com uma única chave, chamada de chave de agrupamento, quepode ser de três tipos: Logical valued key, Hash key e Relative location key.Modelo de partição de memória (frame-memory model): esse modelo fornece umavisão do armazenamento secundário que pode ser implementado, de modo afornecer um suporte razoável para o armazenamento e acesso aos registros dedados de um sistema. Foi projetado de forma que suas características operacionaispossam ser facilmente manipuladas por desenvolvedores de sistemas ouprogramadores.4.6.2 SGBD Para ELMASRI (2005), um SGBD ou sistema gerenciador de banco dedados é uma coleção de programas que permite aos usuários criar e manter umbanco de dados, sendo este um sistema de software de propósito geral que vemfacilitar os processos de definição, construção, manipulação e compartilhamento debanco de dados entre diferentes tipos de usuários e aplicações diferentes. Ainda para ELMASRI (2005), no que tange a construção de um banco dedados, o fator essencial se da no processo de armazenamento de dados em umamídia apropriada, gerenciada pelo SGBD, sendo que a manipulação dos dados éfeita através de funções principais como pesquisa no banco de dados para
  • 50. 50recuperação de dados convenientes, atualização do banco para que a modificaçõessejam refletidas no minimundo e assim gere a gama de dados informacionaisdesejados, além de permissão de múltiplos usuários e programas acessar emconcorrência o banco de dados através de compartilhamento, onde o SGBD abordatambém, funções de proteção e manutenção do banco, senso a proteção referente afalhas de funcionamento (crashes) no hardware ou mesmo software, além dasegurança contra acessos maliciosos ou não autorizados. O banco de dados foi criado para permanecer sob um ciclo de vida extenso,assim os SGBDs vêm como uma forma de estender ainda mais a durabilidadetornando possível a manutenção em todos os casos, mas principalmente no que serefere à evolução dos requisitos que se alteram ao longo do tempo. Já segundo GALANTE (2007), um SGBD tem particularidades epropriedades que facilitam os processos de definição, construção e manipulação dedados, abaixo descrevemos as principais características de um SGBD:Controle de redundância - são construídas regras de gerenciamento mais eficaz,impedindo a duplicação de dados e economizando espaço em disco;Restrição a acesso não autorizado – Cada usuário, independentemente do seunível hierárquico obtém uma senha de acesso no que lhe é permitido, tornando oSGBD eficaz em sua função;Garantia de armazenamento persistente – a partir de um SGBD é possível searmazenar dados de uma forma organizada;Garantia de armazenamentos de estruturas para o processamento eficiente deconsultas: quesito muito relevante nas qualidades de um SGDB, pois o mesmoprover mecanismos inteligentes de buscas, inserções e atualizações dos dados;Compartilhamento de dados – os SGBDs multiusuários devem fornecer umcontrole no que tange o paralelismo e a concorrência, para assegurar que asatualizações simultâneas resultem em modificações corretas e seguras;
  • 51. 51Fornecimento de múltiplas interfaces – com a exigência de vários tipos deusuários diferentes, o SGBD deve fornecer variedades de interfaces para cada um;Representação de relacionamentos complexos entre dados - uma base dedados pode ter variedades de dados, onde o SGBD deve ser capaz de gerenciar avariedade de relacionamentos complexos entre dados, tal como recuperar emodificar tais dados relacionados de maneira fácil e eficiente;Backup e restauração – A garantia de backup e restauração é fator essencial paraqualquer SGBD que se preze, onde seja qual for a falha proveniente de hardware ousoftware , deve-se manter a integridade dos dados;Restrições de integridade – com o SGBD é possível impor restrições ondediminuem ainda mais as probabilidades de um usuário causar algum erro.4.6.3 MYSQL Segundo WELLING (2004) o Mysql surgiu como ferramenta para atender auma necessidade interna. Com o funcionamento lento do MSQL em relação aligações de tabelas através das suas rotinas ISAM, Inered Seqüencial AccessMethod (método de acesso sequencial indexado), os autores trabalharam buscandouma solução, tendo como resultado o Mysql, com muito mais recursos que o MSQLe muito mais rápido. O MySQL apresenta um bom desempenho em todas asplataformas, por essa razão sua popularidade tem crescido nos últimos anos. É umgerenciador de banco de dados que implementa um subconjunto da linguagem SQL,sendo suficiente para a maioria das aplicações. O Mysql utiliza o modelo de dadosrelacional, suportando banco de dados que consistem em um conjunto de dados erelacionamentos entre si.4.6.3.1 Descrição do MYSQL Segundo DATE (2004) o MySQL é um gerenciador de banco de dados, quesuporta múltiplas linhas de execução, que se refere à capacidade de dividir umserviço em pequenas partes, sendo que cada parte é chamada de tria (linha de
  • 52. 52execução ou sub-processo), que pode operar de maneira independente em relaçãoa outras. Quando um aplicativo usa linhas de execução controladas pelo Kernel emuma máquina com várias CPUs, ele pode distribuir o trabalho entre elas para que oexecutem simultaneamente. Segundo WELLING (2004), o MySQL possui um conjunto de API quesuporta várias linguagens de programação, entre elas o C, C++, Java, Perl e PHPentre muitas outras. A API vem do inglês Application Programing Interface (Interfacede programação de aplicativos), e pode ser escrita para qualquer tipo de servidor ousistema operacional. A API do MySQL fornece uma lista reduzida de rotinas quepodem ser chamadas de dentro de um programa para interagir com o banco dedados. O MySQL faz uso índices, que são tabelas especiais, que tem porfinalidade possibilitar a pesquisa por dados sem ter que percorrer linha por linha deuma tabela. O MySQL usa um sistema de privilégios e senha baseado em tabelas desistema. Esse sistema é flexível e por isso exige um pouco de conhecimento paraimplementar regras mais complexas.4.6.4 SQL ( Strutured Query Language) Segundo RAMALHO (1999), SQL tem representado o padrão paralinguagem de banco de dados relacionais. Existem muitas versões de SQL, mas aversão original foi desenvolvida pela IBM no laboratório de San Jose (atualmente ocentro de pesquisa Almaden). Seu nome original era Sequel foi evoluindo emodificado para SQL. Houve esforço conjunto da ANSI (American NationalStandards Institute) e da ISO (International Standards Organization) para apadronização da linguagem SQL em 1986, como resultado deste esforço conjuntofoi lançada a primeira versão do padrão da linguagem o SQL-86. Segundo GUIMARÃES (2003), os bancos de dados comerciais necessitamde uma linguagem de consulta que possibilite uma maior facilidade para os usuários.Refere-se à linguagem SQL como uma linguagem de consulta, porém ela possuivários outros recursos. A linguagem SQL é uma linguagem de banco de dados
  • 53. 53abrangente. Ela possui comandos para definição de dados, consultas e atualizações(tem ambas as linguagens DDL e DML). Possui também regras para embutir oscomandos SQL em linguagens de programação genéricas: Java, Cobol ou C/C++. Ainda segundo GUIMARÃES (2003), SQL usa os termos tabela, linha ecoluna, em vez dos termos relação, tupla e atributo, respectivamente, para o modelorelacional formal. O principal comando SQL para definição de dados é o CREATE,que pode ser usado para criar esquemas, tabelas, domínios e restrições. Umesquema SQL agrupa tabelas e outros construtores que pertencem à mesmaaplicação de BD. É identificado por um nome de esquema e inclui uma identificaçãode autorização, que indica o usuário ou a conta ao qual o esquema pertence. Oselementos de esquema incluem tabelas, restrições, permissões, domínios e outrosconstrutores. Segundo COSTA (2006), o SQL se tornou a linguagem padrão para lidarcom bancos de dados relacionais, e por ser padrão é aceita por quase todos osprodutos existentes no mercado.4.6.5 ORACLE Antigamente a Oracle era basicamente uma empresa de banco de dadosrelacional, além do que ela não tinha aplicativos enlatados, já hoje ela dispõe de umquadro totalmente diferente, sendo uma empresa com valor estimado em bilhões dedólares, com uma gama de produtos, serviços e aplicativos grandes, ondeinicialmente ela era uma empresa que trabalhava com banco de dados relacionais,sendo que os mesmo na época eram um novo modo de se pensar em relação acomo os dados seriam armazenados e estruturados. Apostando na ideia de um perfilde banco que pudesse resistir ao teste do tempo e levar em conta uma estruturaonde apenas os dados fossem alterados ao invés da própria estrutura, sendojustamente estes alguns dos motivos pela qual a Oracle resolveu investir emestratégias relacionais, assim suplantando as estratégias tradicionais, tais perfis debanco de dados, anteriores aos relacionais que eram regidos por arquivos mestresao invés de tabelas como conhecemos hoje convencionalmente, ABREY E COREY(1997).
  • 54. 54 Ainda para ABBEY E COREY (1997), a Oracle System Corporation, sediadaem Redwood Shores, Califórnia produz software e distribui serviços para ogerenciamento eletrônico de informações, a mesma faz parte da corrida sem fimpara trazer um produto de qualidade e que satisfaça seus usuários, a Oracle fabricaum conjunto de produtos que giram em torno de seu Oracle Server o que é umambiente de gerenciamento de informação, sendo um depósito para grandesquantidades de dados possibilitando o usuário o acesso a tais dados com grandevelocidade e agilidade. O Oracle Server como um poderoso SGBD dispõe decompartilhamento de dados entre aplicativos, as informações são armazenadas emum lugar e usadas por muitos sistemas, esta característica possibilita ao OracleServer suportar as configurações a seguir:Baseado em hospedeiro – os usuários são conectados diretamente onde reside obanco de dados;Cliente/Servidor - os usuários acessam o banco, a partir de seu computadorpessoal (cliente), por meio de uma rede, já o banco de dados em um computadorseparado (servidor) enviará as respostas;Processamento distribuído – usuários acessam os dados em servidoresfisicamente separados, onde está distribuído em mais de uma máquina e seususuários não tem conhecimento onde estão situados os dados acessados. Já segundo RAMALHO (1999), Oracle Server é um sistema degerenciamento de banco de dados, de uma instância de servidor Oracle. Um bancode dados Oracle tem uma estrutura física e lógica, como essas estruturas noservidor são separadas o armazenamento físico dos dados pode ser gerenciadosem afetar os acessos as estruturas lógicas de armazenamento.Estrutura física – essa estrutura é determinada pelos arquivos do sistemaoperacional que o compõe, onde cada banco de dados Oracle é composto por trêstipos de arquivos sendo: um ou mais datafiles, dois ou mais arquivos de registroredo e um ou mais arquivos de controle, sendo estes arquivos que forneceminformações do Oracle em um armazenamento físico;
  • 55. 55Estrutura lógica- estrutura determinada por um ou mais tablespaces, espaçoslógicos de armazenamento, também pelos objetos de esquemas (coleções deobjetos que se igualam a estruturas lógicas que se referem diretamente aos dadosdo banco). Para RAMALHO (1999), o Oracle gerencia e permite o controle rígido doespaço usado em disco por meio das estruturas lógicas de armazenamento,incluindo os blocos de dados, as extensões e os segmentos. Os dados no Oraclesão armazenados em blocos de dados, onde um bloco corresponde a um numeroespecifico de bytes em um disco. As extensões são o próximo nível do espaço lógicoalém de ser um número especifico de blocos de dados contíguos, obtido em umaalocação simples. O nível de armazenamento lógico sucessor e que esta acima daextensão é o segmento, sendo um conjunto de extensões alocado para umadeterminada estrutura lógica. Ainda segundo RAMALHO (1999), no SGBD Oracle existe atributos quepermanecem intactos no que tange sua substituição sendo aplicável apenas a suaevolução, onde o mesmo aloca dinamicamente o espaço quando extensõesexistentes de um segmento ficam cheias, ocorrendo isso o Oracle aloca outraextensão para aquele segmento, conforme sua necessidade. No que se refere àestrutura física fazem parte dela os datafiles, os arquivos de registro redo e osarquivos de controle descrito nos tópicos abaixo.Datafiles – todo e qualquer banco de dados Oracle tem um ou mais datafiles, ondenesses datafiles contem todos os dados desse banco de dados, já os dados deestruturas lógicas, como tabelas e índices são armazenados fisicamente nosdatafiles alocados;Arquivos de registro redo – chamado de registro redo multiplexador, é constituídode cópias do arquivo de registro redo online localizados em discos separados;Arquivos de controle - Havendo início em uma instancia Oracle, o arquivo decontrole é usado para identificar os arquivos redo e do banco, o qual deve ser abertopara que a operação de continuidade.
  • 56. 56 Para ABBEY E COREY (1997), existem fatores e recursos que tornamdeterminísticos que levaram a Oracle no seu patamar de excelência que está hoje,sendo estes os mesmo que vem acompanhando até hoje as versões mais atuaiscomo: Mecanismos de segurança, cópia e recuperação(Backup), gerenciamento deespaço, conectividade aberta, ferramentas de desenvolvimento. No que se refereaos componentes do Oracle Server temos:Opção procedural - sendo esta na versão 7.0, é adquirida separadamente doServer, já nas 7.1 é acoplada sem custo adicional. A essência dessa opção é alinguagem de programação da Oracle, chamada de PL/SQL podendo com essaopção, implementar procedimentos armazenados, que são segmentos de códigosque ficam armazenados no banco de dados e executam funções centrais para suainstalação, além de implementar também gatilhos de banco de dados, que sãocódigo armazenados no banco de dados, disparados por eventos que ocorrem noaplicativo, juntamente com os pacotes que agrupam procedimentos e armazenam ocódigo com uma única unidade de programa no banco de dados;Opção Distribuída – usuários de diferentes lugares fisicamente acessam dados,onde não tem ciência de sua localização sendo a utilização do mesmo banco dedados;Opção de servidor paralelo – permite que o Oracle opere com mesmaconfiguração em se tratando de computadores agrupados, cada um com suamemória;Opção de consulta paralela - permite que usuários façam consultas paralelas emcomputadores com mais uma unidade central de processamento. Segundo OLIVEIRA (2005), sendo a Oracle uma grande fornecedora deprodutos que gerenciam dados e informações, chegou a um patamar tal que seuproduto ate então sempre com um potencial exuberante, nunca deixaram a desejarno quesito qualidade, sendo que um de seus produtos mais recentes e interessantese a maquina virtual Oracle - Oracle VM, com uma interface super amigável eintuitiva, melhorando a vida daqueles que necessitam trabalhar com VMs, provandoassim mais uma vez a competência da Oracle Corporation.
  • 57. 574.6.6 ORACLE 10G EXPRESS EDITION Segundo NOVELLI (2005), o Oracle 10G representa grandes mudanças,muitas foram as modificações nesta versão. Oracle 10G Express Edition, onde o G éuma abreviação do obscuro conceito de GRID que representa às sinergias quepodem ser alcançadas alinhando as tecnologias Oracle às capacidades de hardwareexistentes e futuras, a partir dessas novidades podemos nos beneficiar doscomponentes para o GRID por meio do Oracle real application Cluster, Automaticstorage managentement (ASM) e Ultra-Large Data Files. Compartilhar informaçõesindependentemente da localização - Esse conceito é suportado por meio dos novosrecursos de espaço de tabelas transportáveis, Oracle Streams (exemplo -Replication), tabelas externas e consultas SQL distribuídas, além de Agendarrecursos no Grid - Os novos recursos do Oracle Sheduler e do Oracle DatabaseResource Manager ajudam o DBA a efetivamente aproveitar melhor o GRID. ODBUA é uma interface gráfica projetada para atualizar o banco de dados Oracle paraOracle Database 10g, também se pode iniciar o DBUA do Oracle Universal Installer(OUI) ao instalar o Oracle Database 10g. Segundo OLIVEIRA (2005), em relação à linguagem, pode-se observarmudanças relevantes como:  Novos tipos de dados do IEEE;  Expressões regulares;  Operações em grupos em tarefas aninhadas;  Inserção de caracteres especiais definidos pelo usuário;  Modificações na sintaxe do comando FORALL. Segundo ABBEY E COREY (1997), SQL*PLUS do Oracle e um SQL padrãodotado de alguns acessórios específicos do Oracle, onde antigamente era chamadode UIF (interface amigável de usuario-user friendly interface). Para OLIVEIRA (2005), o SQL*PLUS que esta disponível em praticamentetodas as versões do Oracle, sendo um programa que permite criar desde SQL
  • 58. 58simples ate subprogramas, ele envia informações ao servidor e então ecorrespondido. Eis as principais funções que SQL*PLUS desempenha:  Criar, editar, recuperar e executar comandos SQL;  Criar relatórios simples;  Criar, editar, armazenar, recuperar e executar blocos PL/SQL;  Verificar informações de tabelas;  Enviar e receber mensagens de usuário;  Administrar o banco de dados Oracle. Segundo a documentação Oracle, o Oracle 10G e um bando de dadosgratuito, por esse motivo têm limitações como limite de quatro gigabytes de bancode dados, um processador por maquina e tem um limite de um gigabyte de memóriaRAM, não sendo estas limitações relevantes para um uso permanente do banco, jáque o mesmo e passível de atualização para versão paga de forma simples, além deter interação com as principais linguagens de programação do mercado.
  • 59. 59 5. PROPOSTA DO NOVO SISTEMA Um controle eficiente, automatizado e otimizado dos procedimentos epadrões no que se refere ao processo de entrada e saída de equipamentos daempresa, com foco na qualidade e agilidade no atendimento e comunicação com ocliente. O Sistema de atendimento técnico em informática SATI, objetiva essesfatores que julgamos ser essencial para um bom relacionamento com o cliente.5.1 Descrição do Sistema Proposto O Sistema de atendimento técnico em informática SATI, vem sugerirmelhores práticas para os processos rotineiros da SHIFT Computadores a partir deum gerenciamento compatível com todos os níveis hierárquicos da empresa, comfoco no nível mais baixo do organograma que é o técnico, onde o sistema o apoiarácom diversas funções e facilidades que garantem a agilidade no seu trabalho. Desdea entrada do equipamento até sua devolução ao cliente, do atendimento inicial aofinal, trazendo um eficiente sistema de comunicação com o cliente, pois as ordensde serviços já orçadas são registradas no sistema com um alerta para que oatendimento contate o cliente e obtenha a aprovação para a execução dos serviços,assim como as OS autorizadas são emitidos alertas para a equipe técnicapossibilitando assim um acompanhamento dos serviços, não permitindo queequipamentos sejam esquecidos nas prateleiras sem o devido atendimento etambém possibilita que os gestores acompanhe o desempenho da equipe.5.2 Resultados Esperados Com uma interface totalmente amigável e através da intranet os funcionáriospoderão navegar pelo sistema de acordo com os papeis que desempenhar naempresa, assim como o gestor poderá acompanhar o andamento das ordens deserviço. Neste momento não está previsto nenhuma conexão com a internet, pois asatividades para a qual o sistema se propõe são apenas internas. Espera-se dosistema um funcionamento pleno e íntegro de todas suas funcionalidades, assimcomo uma robustez em todas as funções básicas.
  • 60. 605.3 Restrições do Sistema Proposto Apesar de o SATI ser um sistema desenvolvido para plataforma web, nãodisporá de acessos externos.5.4 Análise de Viabilidade Econômica do Novo Sistema O sistema proposto terá sua distribuição gratuita, com código aberto, nãohaverá patentes ou registro de propriedade do mesmo. Portanto a análise deviabilidade econômica fica a cargos das empresas que se dispuser a utilizar osistema, visto que terão que adquirir equipamentos e formar a infraestrutura para acorreta utilização, além de treinamento dos usuários, entretanto vale salientar que asmudanças de rotina da equipe de trabalho, conferindo mais agilidade e controlesobre as ordens de serviço e orçamento, eliminação do transito de papeis, vaipossibilitar a redução de prazos, melhor comunicação com clientes e gestão maiseficiente dos recursos.5.5 Áreas Afetadas Pelo Novo Sistema A implantação do novo sistema terá impacto primordialmente na adaptaçãodos procedimentos que até então eram analógicos e manuais, mudando as rotinas,e até mesmo gerando uma nova política de segurança aos funcionários, sendoassim indispensável que os mesmo tenham treinamento adequado para uma melhordesenvoltura ao operar o sistema.5.6 Implementações Futuras Já na fase de análise foram identificados requisitos, os quais, podem serimplementados futuramente adicionando melhorias ao sistema tais como:possibilidades da comunicação com o cliente através de email ou dos serviços deSMS, com o objetivo de notifica-los da conclusão do preço e do prazo deorçamentos, obtenção de autorização para execução de serviços, e da conclusãodos mesmos.
  • 61. 61 6. DOCUMENTOS DE ANÁLISE Será relacionada a documentação produzida para o desenvolvimento, queviabilizará possíveis melhoramentos no sistema ora proposto.6.1 Visão Macro dos Atores Segundo DEBONI (2003), os atores representam as pessoas, as entidades,ou os sistemas que fornecem informações ao sistema ou as recebem dele, definemsuas necessidades na forma de objetivos a serem cumpridos pelo sistema, os quaissão capturados pelos casos de uso.6.2 Identificação dos Atores No sistema proposto teremos 03 tipos de atores, são eles:Atendente: é o profissional responsável pelo contato inicial com o cliente,responsável pelo cadastramento do cliente, equipamento e de gerar a ordem deserviço, é responsável também por estabelece todos os contatos com os clientes;Técnico: é o profissional que em vista da ordem de serviço recepciona oequipamento e após o diagnostico do defeito elabora o orçamento no sistema;Administrador: é o Gerente da empresa responsável pelo controle eacompanhamento das ordens de serviços e orçamento é o responsável por manter ocadastramento de fornecedores, funcionários, peças, serviços e seus respectivospreços além de solicitar os relatórios de faturamento mensal.6.3 Tabela de Casos de Uso A seguir na tabela 02 ilustram-se os casos de uso e suas principaisfuncionalidades e suas principais descrições.
  • 62. 62 Tabela 2 - Lista dos UCs Caso de Uso Função/Caso de UsoUC 01 Manter Login Permite o cadastramento dos usuários do sistema, seus perfis e identifica o usuário permitindo-o acessar ao sistema.UC 02 Manter Cliente Permite ao profissional do atendimento incluir, alterar e consultar cliente.UC 03 Manter Ordem de Permite ao atendente incluir, alterar e consultar ordens de Serviço serviço e cadastrar equipamentos.UC 04 Manter Permite ao técnico de manutenção a inclusão, alteração, Orçamento conclusão e consulta de orçamentos e aos atendentes a consulta.UC 05 Manter Permite ao gerente a elaboração dos relatórios de faturamento Faturamento segundo um período de competência.UC 06 Manter Permite ao gerente a inclusão, alteração, consulta e exclusão de Fornecedor Fornecedores.UC 07 Manter Usuário Permite exclusivamente aos gerentes a inclusão, alteração e exclusão de usuários.6.4 Diagrama de Casos de Uso Na figura 07 apresentamos o Diagrama de Casos de Uso do sistemaproposto. Figura 7 Diagrama de Casos de Uso
  • 63. 63 6.5 Descrição Detalhada dos Casos de Uso A tabela 3 é usada para detalhar o caso de uso UC001 – Login. Tabela 3 - UC001 Caso de Uso Login Nome UC001 – Login Objetivo Obter acesso ao sistema por meio dos perfis previamente definidos Atores Atendente, Técnico e Administrador Dados Consumidos Login e senha Dados Produzidos Acesso ao sistema Prioridade Alta Pré-condições Perfil de acesso e autorização previamente concebida. Pós-condições NA Fluxo Principal Este caso de uso se inicia quando o ator inicia o aplicativo. Ator Sistema Abre a pagina inicial do sistema. Exibe tela de acesso ao sistema. Preenche os campos de “usuário” e “senha” e O sistema valida os dados inseridos. clica em “entrar" Permite acesso ao sistema FE01 - Fluxo Exceção Digitação da senha ou usuários incorretos Ator Sistema Digita a senha ou a ID incorreto Emite [MA17]. Confirma a mensagem Retorna ao fluxo principal FE02 - Fluxo Exceção Ator erra senha ou login mais de três vezes [RN07] Ator Sistema Emite [MA 17], mais de três vezes. Confirma a mensagem Emite [MA21] e retorna ao fluxo principal A tabela 4 é usada para detalhar o caso de uso UC003 – Manter Cliente. Tabela 4 – UC002 Manter ClienteNome UC003 – Manter ClienteObjetivo Permite inclusão, alteração, exclusão e consulta de clientes.Atores Atendente, técnico, Administrador.Dados Consumidos Código, Nome, CPF, CNPJ, Data de nascimento, rua, Numero, bairro, município, UF,
  • 64. 64 Telefone residencial, Telefone comercial, Telefone Celular, E-mail.Dados Produzidos Dados cadastrais do novo cliente.Prioridade AltaPré-condições O ator estar logado no sistema.Pós-condições NA Fluxo PrincipalO UC003, manter cliente, se inicia quando um ator acessa o módulo cliente e efetua a consulta de clienteatravés do CPF ou CNPJ.É apresentada a tela de manutenção de clientes com a listagem e visualização do cliente já cadastradocom aquele CPF ou CNPJ, com as seguintes opções: Inserir novo cliente[FA01],alterar cliente[FA02],Consultar cliente [FA03], Excluir cliente[FA04]. Ator SistemaAcessa a tela de menu cliente Abre uma tela com uma lista com registros dos clientesVisualiza registrosClica em um dos Fluxos alternativos descritos Valida a ação e redireciona para tela requisitada. FA01 - Fluxo AlternativoO [FA01], ”inserir novo cliente”, se inicia quando é consultado um cliente não cadastrado. Ator Sistema Exibe o formulário com campos específicos deAcessa a tela de manutenção de clientes cadastramento de novos clientes.Preenche campos obrigatóriosClica em “Enviar dados” Recebe dados. Retorna[MA15]. Cadastra o cliente. FA02 - Fluxo AlternativoO [FA02], “alterar cliente”, ocorre quando há atualização em algum dado cadastral do cliente. Ator SistemaAcessa a tela de manutenção de clientes Exibe tela requisitadaEntra com o dado do cliente no campo de Busca cliente pelo código inserido pronto para edição“pesquisa” e clica em alterar.Altera os dados necessários e clica em no botão: Valida a integridade dos dados“concluir” Retorna[MA03]Clica no botão “Voltar” Retorna para fluxo principal. FA03 - Fluxo AlternativoO [FA03], ”consultar cliente”, ocorre quando há necessidade de se verificar a existência ou algum respec-tivo dado de um cliente. Ator SistemaAbre a tela de manutenção de clientes Exibe a tela requisitadaEntra com o código do cliente no campo
  • 65. 65pesquisaClica em “consultar” Busca cliente informado no banco de dados Retorna os dados do cliente FA04 - Fluxo AlternativoO [FA04],” Excluir cliente”, se inicia quando há necessidade de exclusão de um registro cliente. Ator SistemaAbre a tela de manutenção de clientes Exibe a tela requisitadaEntra com o código do cliente a ser excluídoClica no botão excluir. Busca cliente informado no bando de dados Emite [MA24]Confirma mensagem Exclui cliente. FE01 - Fluxo ExceçãoDados obrigatórios do cliente não informados Ator Sistema Exibe a mensagem [MA19]Confirma mensagem Retorna o [FA01]. FE02 - Fluxo ExceçãoNão preenche o campo pesquisa com o dado do cliente e clica em alterar Ator Sistema Exibe a mensagem [MA20]Confirma mensagem Retorna o [FA02]. FE03 - Fluxo ExceçãoCliente não localizado Ator Sistema Exibe a mensagem [MA16]Confirma mensagem Retorna o [FA03]. FE04 - Fluxo ExceçãoNão preenche o campo com o código do cliente a ser excluído e clica em excluir Ator Sistema Exibe a mensagem [MA20]Confirma mensagem Retorna o [FA04].
  • 66. 66 A tabela 5 é usada para detalhar o caso de uso UC003 – Manter Ordem de serviço. Tabela 5 – UC003 Manter Ordem de serviçoNome UC004 – Manter Ordem de serviçoObjetivo Permite gerar, alterar, registrar autorização de execução, cancelar e finalizar ordem de serviço.Atores Atendente, técnico, Administrador.Dados Consumidos Numero OS, Data, Responsável, data e hora de inicio, data e hora término, dados do equipamento, defeito reclamado, observações e acessóriosDados Produzidos Nova ordem de serviçoPrioridade AltaPré-condições O ator estar logado no sistema.Pós-condições NA Fluxo PrincipalO UC004,manter ordem de serviço, se inicia quando há necessidade do concerto de um equipamento porParte do cliente.É apresentada a tela de manutenção de OS com listagem e visualização inicial das OSs já cadastradasque inclui as seguintes opções: Gerar nova ordem de serviço[FA01],Alterar Ordem de serviço [FA02],Cancelar Ordem de serviço [FA03] e Finalizar Ordem de serviço[FA04]. Ator SistemaAcessa a tela de menu Ordem de serviço Exibe uma tela com a listagem das OSs.Visualiza registrosClica em um dos Fluxos alternativos descritos Valida a ação e redireciona para tela requisitada. FA01 - Fluxo AlternativoO [FA01], ”Gerar nova ordem de serviço”, ocorre quando se inicia todo o processo cadastral inicial. Ator SistemaAcessa a tela de manutenção de OSs Exibe Listagem das OSs e seus Níveis críticos.Preenche campos obrigatóriosClica em “Gerar Ordem de serviço”. Recebe dados. Retorna[MA25]. Gera Ordem de serviço.Clica em “imprimir ordem de serviço” Executa a impressão. FA02 - Fluxo AlternativoO [FA02], “Alterar Ordem de serviço”, ocorre quando há atualização no status, mantimento de peças,Tempo, Atividades Ator SistemaAcessa a tela de manutenção de clientes Exibe tela requisitadaEntra com o Numero da OS no campo de Busca a OS no banco de dados com s dados editáveis“pesquisa” e clica em alterar.Altera os dados necessários e clica em “concluir” Valida a integridade dos dados
  • 67. 67 Retorna[MA03]Clica no botão “Voltar” Retorna para fluxo principal. FA03 - Fluxo AlternativoO [FA03], ”Cancelar Ordem de serviço”, ocorre quando há desistência por parte do cliente em relação aManutenção do equipamento. Ator SistemaAbre a tela de manutenção de clientes Exibe a tela requisitadaEntra com o Numero da OS no campo pesquisa Busca na tabela OS do banco de dados a ordem de serviço a ser canceladaClica em “Cancelar OS” Busca informada na tabela OS do banco de dados Emite [MA06]Confirma mensagem Cancela OS, se torna inativa. FA04 - Fluxo AlternativoO [FA04],” Finaliza OS”, se inicia quando no o processo e finalizado. Ator SistemaAbre a tela de manutenção de clientes Exibe a tela requisitadaEntra com o Numero da OSClica no botão Clica em “Finalizar”. Busca OS informada no bando de dados Emite [MA26]Confirma mensagem Finaliza OS FE01 - Fluxo ExceçãoDados obrigatórios do cliente não informados e clica em Gerar Ordem de serviço Ator Sistema Exibe a mensagem [MA19]Confirma mensagem Retorna o [FA01]. FE02 - Fluxo ExceçãoNão preenche o campo pesquisa com o Numero OS e clica em “Alterar Ordem de serviço”. Ator Sistema Exibe a mensagem [MA20]Confirma mensagem Retorna o [FA02]. FE03 - Fluxo ExceçãoNão preenche o campo pesquisa com o Numero OS e clica em “Cancelar Ordem de serviço”. Ator Sistema Exibe a mensagem [MA20]Confirma mensagem Retorna o [FA03].
  • 68. 68 FE04 - Fluxo ExceçãoNão preenche o campo pesquisa com o Numero OS e clica em “Finalizar Ordem de serviço”. Ator Sistema Exibe a mensagem [MA20]Confirma mensagem Retorna o [FA04]. A tabela 6 é usada para detalhar o caso de uso UC004 – Manter Orçamento. Tabela 6 – UC004 Manter OrçamentoNome UC005 – Manter OrçamentoObjetivo Permite inclusão, alteração, consulta e exclusão, liberação de orçamentoAtores Técnicos, atendentes, Gerentes.Dados Consumidos Ordem de serviço, peças necessárias à manutenção, serviço a executar e valores de serviço.Dados Produzidos Demonstrativo com o valor dos serviços e peças consumidas no reparo.Prioridade AltaPré-condições O usuário deve está autenticado no sistemaPós-condições NA Fluxo PrincipalO caso de uso se inicia quando o ator acessa uma ordem se serviço com o status aberta.É apresentada uma tela com os dados básicos do cliente as características do equipamento, defeito eobservações. [FA01] Seguir Analise, [FA02] Voltar, [FA03] Enviar, [FA04] Limpar, [FA05] Voltar. Ator Sistema Apresenta as ordens de serviço com status de abertaAcessa ao modulo Ordem de Serviço e autorizada[RN01]Seleciona uma OS Apresenta os dados do cliente, equipamento e defeito FA01 - Fluxo AlternativoSeguir Analise Ator SistemaSeleciona uma OS conforme o status e suas Apresenta os dados do cliente, equipamento e defeitoatribuiçõesClica no botão seguir analise Abre os campos para inserir os dados das peças e serviços a executar[RN02]Insere os dados das peças e serviços a executar Recebe os dados e calcula o valor doe clica no botão concluir orçamento[RN03,] apresenta o resumo do orçamento[MA01]Confirma os dados e clica em Confirmar Apresenta a mensagem[MA02], retorna ao fluxo princi- pal
  • 69. 69 FA02 - Fluxo AlternativoVoltar Ator SistemaAcessa o botão “Voltar” Retorna a tela de consulta de orçamentos FA03 - Fluxo AlternativoEnviar Ator SistemaApós preencher peças e serviços a executar Exibe resumo do orçamento[RN05]aciona o botão enviar para enviar o orçamentoao atendimento. FA04 - Fluxo AlternativoLimpar Ator SistemaLimpa os dados do orçamento para efetuar Apaga os dados incluídos no fluxo FA03,correções, antes de enviar FA05 - Fluxo AlternativoVoltar Ator SistemaAciona o botão “Voltar” Retorna ao fluxo principal FE01 - Fluxo ExceçãoAlterar Ator SistemaO gerente acessa um orçamento específico Apresenta a OS solicitada [RN05]através do menu consulta OS, opção alterarAltera os dados clica em salvar Grava os novos dados na tabela ordem de serviço [MA03] A tabela 7 é usada para detalhar o caso de uso UC005 – Faturamento. Tabela 7 – UC005 Faturamento Nome UC006 – FaturamentoObjetivo Permite a consulta ao faturamento da loja, por períodoAtores GerenteDados Consumidos NADados Produzidos Relatório com os orçamentos realizados no período e o valor faturadoPrioridade MédiaPré-condições O usuário deve está autenticado no sistemaPós-condições NA Fluxo Principal
  • 70. 70Este caso de uso inicia quando o ator seleciona a opção Faturamento Ator Sistema Exibe a tela de com as opções para consulta:Clica na opção “Faturamento” no menu principal 1 dia, mês, intervalo de datas.Preenche campos: com o período que quer consultar Recebe os dados inseridos Exibe uma tela com os orçamentos concluídos eClica no botão “Confirmar” Faturados no período.Clica no botão nova consulta Exibe a tela inicial da consultaClica em “Sair” Retorna ao menu principal FA01 - Fluxo AlternativoConsultar Orçamento Ator SistemaSeleciona um orçamento especifico para visualizar Exibe a tela com os dados completos do Orçamento selecionadoClica no botão “Voltar” Retorna para a tela anterior A tabela 8 é usada para detalhar o caso de uso UC006 – Manter Fornecedor. Tabela 8 – UC006 Manter FornecedorNome UC003 – Manter FornecedorObjetivo Permite a inclusão, alteração, consulta e exclusão de cadastrado de FornecedoresAtores GerenteDados Consumidos Dados referentes aos fornecedoresDados Produzidos Dados dos fornecedoresPrioridade AltaPré-condições NAPós-condições NA Fluxo PrincipalEste caso de uso se inicia quando o ator seleciona no menu principal a opção FornecedorÉ apresentada a tela inicial do modulo fornecedor, com as opções com um campo para digitar o nome ouCNPJ do fornecedor. Ator SistemaInsere o nome do fornecedor ou um CNPJ Procura na base de dados um registro com o valor informado Retorna o resultado do filtro para geração da gridSeleciona um fornecedor Apresenta os dados do fornecedorO ator escolhe uma das opções: incluir[FA01], Exibe as opções de incluir[FA01], alterar[FA02], excluir[FA03].alterar[FA02], excluir[FA03]. FA01 - Fluxo Alternativo
  • 71. 71Incluir Fornecedor Ator SistemaClica no botão “Incluir” Abre o formulário para cadastramento de fornecedorPreenche os campos e clica na opção Recebe os dadosClica em “Salvar” Armazena os dados na tabela fornecedor[MA09]Clica no botão “Voltar” Retorna para o fluxo principal FA02 - Fluxo AlternativoAlterar Fornecedor Ator SistemaClica no fornecedor a será alterado Seleciona o fornecedorClica no botão “Alterar” Exibe os dados do fornecedorRealiza as alterações desejada Recebe os novos dadosClica no botão “Salvar” Armazena os dados na tabela fornecedor[MA10]Confirmar mensagem Retorna para o fluxo principal FA03 - Fluxo AlternativoExcluir Fornecedor Ator SistemaClica no fornecedor Seleciona o fornecedor a ser excluídoClica no botão “Excluir” Exibe mensagem [MA11]Confirma mensagem Exibe mensagem [MA12]Confirma mensagem Retorna para o fluxo principal FE01 - Fluxo ExceçãoCampo “Nome do fornecedor ou CNPJ” não preenchido Ator SistemaNão preenche campo “Nome do fornecedor ” Exibe mensagem [MA13]Clica em consultarConfirma mensagem Sistema passa ao Fluxo Alternativo [FA01]Cancela Retorna para o fluxo principal FE02 - Fluxo ExceçãoCampo “Nome do Fornecedor ou CNPJ” preenchido, fornecedor não localizado Ator SistemaInforma um fornecedor que não foi ainda Exibe mensagem [MA14] [MA13]CadastradoConfirma mensagem Sistema passa ao Fluxo Alternativo[FA01]Cancela Retorna para o fluxo principal A tabela 9 é usada para detalhar o caso de uso UC007 – Manter Fornecedor.
  • 72. 72 Tabela 9 – UC007 Manter Usuário Nome UC007 – Manter Usuário Objetivo Habilitar os funcionários a acessar aos recursos do sistema. Atores Atendente, Técnico e Administrador Dados Consumidos ID, Login e senha Dados Produzidos Acesso ao sistema Prioridade Alta Pré-condições Perfil de acesso e autorização previamente concebida. Pós-condições Haver cadastro no sistema Fluxo Principal Este caso de uso se inicia quando o ator administrador acessa ao cadastro de funcionários, para habilitá-lo a acessar ao SATI. Ator Sistema Acessa ao menu cadastro e seleciona funciona Exibe o formulário de cadastramento de fun- rio cionário Preenche todos campos do formulário e aciona Armazena os dados na tabela o botão salvar fornecedor[MA10] Permite acesso ao sistema A tabela 10 foi usada para listar as regras relacionadas às funcionalidades do sistema proposto. Tabela 10 - Regras de Negócio REGRAS DE NEGOCIORN01 Ordens de Serviços Abertas são aquelas que ainda não foram orçadas, autorizadas são aquelas que já foram autorizadas pelos cliente.RN02 Apenas os técnicos de manutenção podem Incluir orçamentosRN03 O orçamento é calculado segundo uma tabela de preço das peças adquiridas nos fornecedores, e os serviços pelo grau de complexidade, hora técnica estabelecida em tabela.RN04 Orçamentos ativos são aqueles que foram executadosRN05 Apenas o gerente pode alterar e cancelar orçamentosRN06 Apenas atendentes podem gerar novas ordens de serviço.RN07 Cada ator tem direito a três tentativas de inserção de login e senha caso contrario a a senha é bloqueada, em caso de técnico ou atendente, podem recorrer ao administrador. para reconstituir a senha, em caso de administrador terá toda uma medida de segurança para recuperação de senha. A tabela 11 foi usada para listar as mensagens exibidas pelo sistema ao usuário, sejam mensagens de erro, informativas e questionamentos.
  • 73. 73 Tabela 11 - Lista de Mensagens LISTA DE MENSAGENSMA01 Confirma?MA02 Orçamento ConcluídoMA03 Alteração ConcluídaMA04 Confirma o Envio do Orçamento?MA05 Orçamento enviadoMA06 Confirma Cancelamento?MA07 Orçamento CanceladoMA08 Confirma Período?MA09 Fornecedor CadastradoMA10 Confirma Alterações?MA11 Confirma Exclusão de FornecedorMA12 Fornecedor ExcluídoMA13 Deseja incluir um fornecedor?MA14 Fornecedor não LocalizadoMA15 Dados incluidos com sucessoMA 16 Registro nao encontradoMA17 Senha ou login inválidosMA18 Alteração realizada com sucesso.MA19 Preencha os campos obrigatóriosMA20 Insira um registro para consulta.MA21 Entre em contato com o administrador para requerimento de Login.MA22 Selecione um registroMA23 Dados alterados com sucessoMA24 Confirma exclusão?MA25 Ordem de serviço gerada com Sucesso.MA26 Finalizar Ordem de serviço? 6.6 Diagrama de classe A figura 08 apresenta o diagrama de classe do sistema, são apresentadas todas as classes do sistema SATI
  • 74. 74Figura 8 - Diagrama de classes
  • 75. 756.7 Escopo do protótipo Para atender aos requisitos do projeto (CRUD) foi definida a implementaçãode apenas cinco casos de uso abaixo, haja vista as restrições de tempo e recursos,figura 9. Figura 9 Diagrama de casos de Uso implementado6.8 Banco de Dados Será apresentada a descrição e especificação das principais tabelas dobanco de dados proposto para o sistema.6.8.1 Modelo Entidade Relacionamento Na figura 10 apresentamos o modelo de entidade relacionamento proposto.
  • 76. 76 Figura 10 Diagrama Entidade Relacionamento6.8.2 Especificação das tabelas Abaixo são apresentadas as especificações das tabelas do modelo deentidade e relacionamento do sistema.
  • 77. 77 A tabela 12 é usada para especificar as características da tabela Pessoaexistente no modelo de entidade e relacionamento do sistema, utilizada paraarmazenar os dados das pessoas cadastradas no sistema. Tabela 12 – Especificação da tabela 01 pessoa TIPO TIPO DEATRIBUTOS DESCRIÇÃO DO DADO CHAVECPF_CNPJ_01 varchar(18) primária Registra-se o CPF ou CNPJ da PessoaOS_03_NUMOK_03 integer(12) estrangeira Número da ordem de serviçoPF_PJ_02_IDPF_PJ integer estrangeira Identifica se pessoa física ou jurídica02UF_12_IDUF_12 integer estrangeira Identificador da Unidade da FederaçãoSEXO_11_11 integer estrangeira Identificador do sexo da pessoaPERFIL_10_IDPERF Iiteger estrangeira Identifica o perfil da pessoaIL_10RG varchar(10) Número do RG da pessoa Registro do nome da pessoa semNOME varchar(80) abreviaturas Registro do endereço, Rua, quadra,ENDEREÇO varchar(80) conjunto, bloco. Registro do número da porta doNÚMERO varchar(6) endereço.BAIRRO varchar(40) Nome do bairro.TEL_CELULAR varchar(20) Número do telefone celularTEL_RESIDENCIAL varchar(10) Número do telefone residencialTEL_COMERCIAL varchar(10) Número do telefone comercialEMAIL varchar(80) Endereço de e-mailUSER_LOGIN varchar(20) Nome de usuário do funcionárioUSER_PASSWORD varchar(30) Senha do funcionário Nome do produto fornecido, para oPRODUTO varchar(30) cadastro de fornecedores Nome do vendedor para o cadastro deVENDEDOR varchar(30) fornecedoresDT_NASCI date Data de nascimento da pessoa física A tabela 13 é usada para classificar o tipo de pessoa se uma pessoa físicaou uma pessoa jurídica. Tabela 13 – Especificação da tabela 02 Tipo de Pessoa TIPO TIPO DEATRIBUTOS DESCRIÇÃO DO DADO CHAVEIDPF_PJ_02 integer primária Identificador do tipo de pessoa Armazena o identificador Pessoa FísicaNO_PF_PJ_02 varchar(15) ou pessoa Jurídica
  • 78. 78 A tabela 14 é usada para especificar as características da tabela Ordem deServiço, existente no modelo de entidade e relacionamento do sistema, utilizadapara armazenar os dados da ordem de serviço. Tabela 14 – Especificação da tabela 03 Ordem de Serviço TIPO TIPO DEATRIBUTOS DESCRIÇÃO DO DADO CHAVE Identificador, registra o número daNUMOS_03 integer(12) primária ordem de serviço, incremento automático sequencial.EQUIPAMENTO_04_I Identificador do equipamento registrado integer estrangeiraDEQUIPAMENTO-04 na OS Registra a data e hora de abertura daDH_ABETURA timestap OS Registra a data e hora de fechamentoDH_FECHAMENTO timestap da OS Campo texto para registrar o defeitoDEFEITO varchar(500) informado pelo cliente. Campo texto para registrar asOBSERVAÇÕES varchar(500) observações se houver Campo texto para o técnico deDESCRIÇÃO_SERVIÇ manutenção descrever os serviços a varchar(500)O executarVLIDADE_OS varchar(10) Registra a data de validade da OSVALOR varchar(50) Registro do valor dos serviços Registra o código do funcionário queFUNCIONARIO varchar(15) abriu a OS Identifica se equipamento está cobertoGARANTIA_OS bool por garantia ou não A tabela 15 é usada para especificar as características da tabelaEquipamentos, existente no modelo de entidade e relacionamento do sistema,utilizada para armazenar os dados dos equipamentos entregues para manutenção. Tabela 15 – Especificação da tabela 04 Equipamento TIPO TIPO DEATRIBUTOS DESCRIÇÃO DO DADO CHAVEIDEQUIPAMENTO_04 integer Primária IdentificadorTIPO_EQUIPAMENTO_05_IDTIPO_EQUIPA varchar(20) estrangeira Identifica o tipo de equipamentoMENTO Registra o nome do fabricante doMARCA varchar(30) equipamentoMODELO varchar(30) Registra o modelo do equipamento
  • 79. 79NUSERIE varchar(20) Registra o número de sérieDEFEITO_EQUIPAME varchar(500 Campo texto para registrar o defeitoNTO ) informado pelo clienteGARANTIA_EQUIPAM Identifica se equipamento está coberto boolENTO por garantia ou não A tabela 16 é usada para especificar as características da tabela Tipo deEquipamento, existente no modelo de entidade e relacionamento do sistema,utilizada para armazenar os tipos de equipamentos cadastrados no sistema. Tabela 16 – Especificação da tabela 05 Tipo de Equipamento TIPO TIPO DEATRIBUTOS DESCRIÇÃO DO DADO CHAVEIDTIPO_EQUIPAMEN integer Primária IdentificadorTO_05 Registra os diversos tipos deNO_TIPO_EQUIPAME varchar(20) equipamentos que o estabelecimentoNTO atende A tabela 17 é usada para especificar as características da tabela Orçamento,existente no modelo de entidade e relacionamento do sistema, utilizada paraarmazenar os dados dos orçamentos cadastrados no sistema. Tabela 17 – Especificação da tabela 06 Orçamento TIPO TIPO DEATRIBUTOS DESCRIÇÃO DO DADO CHAVEIDORCAMENTO_06 integer Primária IdentificadorOS_03_NUMOS_03 Integer(12) estrangeira Identificador da ordem de serviço Identifica o status do orçamento, emSTATUS_09_IDSTATUS integer estrangeira execução, concluído, autorizado, encerrado, cancelado. Identifica o tipo de serviço a serSERVIÇO_IDSERVIÇO integer estrangeira executado. Identificador das peças a substituir noPEÇAS_07_IDPEÇAS integer estrangeira equipamento. A tabela 18 é usada para especificar as características da tabela Peças,existente no modelo de entidade e relacionamento do sistema, utilizada paraarmazenar os tipos de peças cadastrados no sistema. Tabela 18– Especificação da tabela 07 Peças TIPO TIPO DEATRIBUTOS DESCRIÇÃO DO DADO CHAVEIDPEÇAS_07 integer Primária IdentificadorPEÇAS varchar(80) Descrição das peçasPREÇO_PEÇAS vachar(10) Registro dos preços das peças
  • 80. 80 A tabela 19 é usada para especificar as características da tabela Serviços,existente no modelo de entidade e relacionamento do sistema, utilizada paraarmazenar os dados dos serviços cadastrados no sistema. Tabela 19 – Especificação da tabela 08 Serviços TIPO TIPO DE ATRIBUTOS DESCRIÇÃO DO DADO CHAVE ID_SERVIÇOS_08 integer Primária Identificador TIPO_SERVIÇO varchar(60) Registra a descrição do tipo de serviço PREÇO varchar(10) Registra o preço dos serviços A tabela 20 é usada para especificar as características da tabela Status,existente no modelo de entidade e relacionamento do sistema, utilizada paraarmazenar os dados de Status dos orçamentos cadastrados no sistema. Tabela 20– Especificação da tabela 09 Status TIPO TIPO DE ATRIBUTOS DESCRIÇÃO DO DADO CHAVE IDSTATUS Integer Primaira Identificador Identifica os status possíveis para um NO_STATUS varchar orçamento: em execução, concluído, autorizado, encerrado, cancelado. A tabela 21 é usada para especificar as características da tabela Perfilexistente no modelo de entidade e relacionamento do sistema, utilizada paraarmazenar os dados dos perfis das pessoas cadastradas no sistema. Tabela 21 – Especificação da tabela 10 Perfil TIPO TIPO DE ATRIBUTOS DESCRIÇÃO DO DADO CHAVE ID_PERFIL_10 integer Primária Identificador Identificador dos perfis das pessoas cadastradas no sistema: Cliente, NO_PERFIL Varchar(20) fornecedor, funcionário-Atendente, funcionário-Técnico, funcionário- Gerente A tabela 22 é usada para especificar as características da tabela Sexo,existente no modelo de entidade e relacionamento do sistema, utilizada paraidentificar o sexo, quando pessoa física, cadastrada no sistema. Tabela 22 – Especificação da tabela 11 Sexo TIPO TIPO DE ATRIBUTOS DESCRIÇÃO DO DADO CHAVE IDSEXO_11 integer Primária Identificador
  • 81. 81 Número identificador do sexo da pessoaNO_SEXO Varchar(12) física: Masculino, Feminino. A tabela 23 é usada para especificar as características da tabela UF,existente no modelo de entidade e relacionamento do sistema, utilizada paraidentificar a Unidade da Federação, cadastrados no sistema. Tabela 23 – Especificação da tabela 12 UF TIPO TIPO DEATRIBUTOS DESCRIÇÃO DO DADO CHAVEIDUF_12 integer Primária Identificador Número identificador da Unidade daNO_UF Varchar(12) Federação6.9 Árvore do Sistema A figura 11 apresenta árvore de navegação no sistema, menu principal e ossub-menus, e ilustra o fluxo de navegação no sistema Figura 11 Fluxo de navegação
  • 82. 826.10 Especificações Física A seguir são apresentados os principais layouts das interfaces do SATI.6.10.1 Layout das Principais Telas da Aplicação Na figura 12 apresentamos o layout da interface de login do sistema, atravésdessa interface que se autentica e atribui o perfil do usuário previamente cadastradono sistema. Figura 12 – Interface de Login A figura 13 apresenta o layout principal do sistema, através dessa interfacesão mostrados os módulos do sistema.
  • 83. 83 Figura 13 - Layout principal do sistema A figura 14 apresenta o layout da consulta de cliente, através desta tela épossível consultar os dados de um cliente por seu CPF/CNPJ. Figura 14 – Tela de consulta de Cliente A figura 15 apresenta a tela de cadastro de clientes, ao consultarum cliente se este não for localizado é a presentada a tela de
  • 84. 84cadastramento, ou esta opção pode ser solicitada através do menucadastro, cliente. Figura 15 – Tela de Cadastro de Clientes A figura 16 a tela de cadastramento de ordem de serviço/equipamento, ondeo atendente cadastra os dados de equipamento, defeito identificado pelo cliente e asobservações pertinentes. Figura 16 - Cadastro de Equipamento
  • 85. 85 A figura 17 apresenta a impressão de uma ordem de serviço impressa. Figura 17 - Ordem de serviço A figura 18 apresenta a tela de consulta de ordens de serviços na qual otécnico estabelece um modo de consulta uma OS específica ou pelo status. Figura 18 - Consulta de OS
  • 86. 86 A figura 19 apresenta a relação de OS, segundo o critério de consultaescolhido, que permite a escolha de uma OS aberta para elaborar um orçamento. Figura 19 - Retorno da consulta A figura 20 apresenta uma ordem de serviço aberta e pronta para receber osdados de orçamento. Figura 20 - Consulta uma OS
  • 87. 87 A figura 21 apresenta a tela de cadastramento de serviços e peças,conforme o diagnostico do equipamento, ara a formação do orçamento. Figura 21 - Elaboração de Orçamento A figura 22 apresenta o resumo de um orçamento. Figura 22 - Resumo de orçamento
  • 88. 886.11 Segurança Física e Lógica O acesso ao sistema será efetuado através de login e senha, os funcionárioscadastrados terão acesso físico e lógico ao sistema e apenas aos recursos inerentesa sua função.6.12 Norma de Segurança Física Recomenda-se a utilização de um ambiente segregado das demais áreas deatividade da empresa para abrigar o servidor, ambiente este dotado de controle deacesso, sistema de prevenção contra incêndios e roubos, o equipamento servidor deaplicação deverá servir unicamente a este proposito, recomendamos a utilização demobiliário como armários e racks metálicos com tranca.6.13 Normas de Segurança Lógica Os funcionários serão cadastrados pelo gestor do estabelecimento através deuma identificação única que também lhe atribuirá o perfil adequado à atividade queeste desempenhará. As funções serão segregadas, ou seja, aquele que estabeleceo contato com o cliente não pode elaborar orçamentos ou efetuar alterações nomesmo, o sistema também será dotado de arquivos de log de acesso parapossibilitar a auditoria do sistema.
  • 89. 89 7. Plano de Implantação O plano de implantação tem a finalidade de descrever o conjunto de tarefasnecessárias aos testes e instalação do produto desenvolvido de modo que ele possaser efetivamente transferido com sucesso ao cliente, garantindo uma implantaçãobem sucedida para o novo sistema com o mínimo de impacto. É de responsabilidade do cliente garantir que os recursos de hardware e desoftware estejam devidamente instalados, implantar o produto nos ambientes deteste e produção e realizar os testes de homologação do produto, verificando se estáatendendo todos os requisitos funcionais.7.1 Hardware Por tratar-se de um sistema direcionado a micro e pequenas empresas omesmo equipamento em residir o servidor de aplicação, também poderá serinstalado o banco de dados, devido a baixa complexidade do sistema, este nãonecessita de uma capacidade de processamento muito grande, assim sendo umcomputador dotado de 4GB de memória, processador Intel I3, ou equivalente AMDatenderá plenamente aos requisitos de hardware para o servidor.7.2 Software Para executar o sistema SATI, no servidor de aplicação faz-se necessária ainstalação do servidor web Apache, que é capaz de suportar aplicações PHP ebanco de dados MySQL, disponível em versões para Linux e Windows e temdistribuição gratuita.
  • 90. 90 8. CONCLUSÃO Esse trabalho apresentou o desenvolvimento de um sistema observando asnecessidades de uma loja específica a Shift Computadores, no entanto o sistemadesenvolvido pode ser adaptado às necessidades de outras oficinas similares. Nossas pesquisas na Empresa Shift Computadores foram realizadas paraidentificar os principais fatores de risco que uma empresa desse tipo poderiaenfrentar para implantação de um sistema que realmente atendesse suasnecessidades. Nas reuniões com a equipe da Shift também foram esmiuçados todosos requisitos que o sistema teria que abranger para atender seu escopo. O segundopasso realizado foi a definição das tarefas de cada um dos integrantes da equipe dedesenvolvimento, suas metas e quais objetivos a serem atingidos em cada etapa. Dessa forma acreditamos que atingimos o resultado esperado entregando àempresa um sistema eficaz, fácil de manipular e que atende a todas asnecessidades atuais dos usuários e permita sua evolução com o crescimento daempresa, aliado a isso o SATI agrega a empresa uma ferramenta de gestão de altaqualidade visto que possibilita aos gestores obter uma fotografia do desempenho dasua equipe de colaboradores, identificar as atividades que demandam maiorutilização de seus recursos, e desta forma gerir seu capital e empregar tais recursosde forma mais eficaz e econômica para a otimização dos serviços prestados aosseus clientes.
  • 91. 91 9. REFERENCIAS BIBLIOGRÁFICASABBEY,Michael, Oracle 8: Um guia para iniciantes e COREY,Michael J.BALMMER, Steve. Mercado Brasileiro é Promissor. G1, São Paulo, 30 abr. 2010.Disponível em: <http://g1.globo.com/tecnologia/noticia/2010/04/brasil-sera-o-3-maior-mercado-de-pcs-no-mundo-diz-presidente-da-microsoft.html>. Acessado em: 21mar. 2011.ANSI/IEEE STD 100_1984. Atividades Heurísticas. Disponível em:http://www.arlima.com.br/2010/07/07/heuristicas-algoritmos-sdcas-pdcas-inovacao-e-metas/. Acessado em 20 mar. 2011.CARDOSO, Caique. UML na Pratica: do Problema ao Sistema. Rio deJaneiro:Editora Ciencia Moderna Ltda, 2003.COSTA, Rogerio Luis de C.. SQL guia prático. 2ª.ed. Rio de Janeiro: Brasport, 2006.DATE, C.J.. Introdução A Sistemas de Banco de Dados. 8ª.ed. São Paulo: Campus,2004.DALLOGLIO, Pablo. PHP Programando com Orientação a Objetos. 2ª ed. SãoPaulo: Novatec, 2009.DEBONI, José Eduardo Zindel. Modelagem Orientada a Objetos com a UML. SãoPaulo: Futura, 2003.DEITEL, H. M. Java, como programar/ H.M e P.J Deitel; trad. Carlos Arthur LangLisbôa - 4.ed - Porto Alegre : Bookman, 2003.DEITEL, H. M. JAVA – Como programar. 6ª.ed. São Paulo Editora PearsonPrentice Hall, 2005.ELMASRI, Ramez. Sistemas de banco de dados. Ramez Elmasri e Shamkant B.Navathe; revisor técnico Luis Ricardo de Figueiredo. São Paulo: Addison Wesley,2005.GUEDES, Gilleanes T. A. UML Uma Abordagem Prtática. São Paulo: Novatec ,2004.GALANTE, C. A., Banco de Dados Orientado a Objeto: Uma Realidade.Disponível em:http://www.fsma.edu.br/si/edicao3/banco_de_dados_orientado_a_objetos.pdf.Acessado em: 27/05/2011 as 00h32.GUIMARÃES, C. C. Fundamentos de Banco de Dados: Modelagem, projeto elinguagem SQL. São Paulo: Unicamp, 2003.
  • 92. 92KAPLAN, Robert S. A Estratégia em Ação - Balanced Scorecard/Roberts S Kaplan,David P.Norton: tradução Luiz Euclydes Trindade Frazão Filho. Rio de Janeiro:Campus, (1997).KENDALL, S. O Processo Unificado Explicado. Porto Alegre: Bookman, 2003.KORTH, Henry F.; SILBERSCHATZ, Abraham. Sistema de Banco de Dados. 2ª.ed.rev. São Paulo: Makron Books, 1995.KRUCHTEN, Philippe. Introdução ao RUP - Rational Unified Process. Rio deJaneiro: Editora Ciencia Moderna Ltda, (2003).MELO, Ana Cristina. Desenvolvendo Aplicações Com UML 2.0 - Do conceitual àImplementação. 2º. ed. Rio de Janeiro:Brasport, 2004.MORIMOTO, Carlos E. Hardware II, - o Guia Definitivo. São Paulo: GDH Press e SulEditores, 2010.MORAZ, Eduardo. Treinamento em PHP 5.0. São Paulo: Digerati Boosk , 2005.OLIVEIRA, Celso H. Poderoso de, Guia de consulta rápida Oracle 10G PL/SQL, SãoPaulo: Editora Novatec Editora Ltda. (2005).PINHEIRO,Wellington, Java 7: Modificações na Linguagem, em Detalhes eExemplos, Disponível em: http://www.infoq.com/br/articles/java7coin, Acessado em:28/05/2011 as 23h45.PRESSMAN, Roger S. Engenharia de Software. 3ª.ed.São Paulo: Makron Books,1995RAMALHO, José Antonio Alves. SQL: A Linguagem dos Bancos de Dados. Sãopaulo: Berkeley Brasil, 1999.SOUKUP, Ron. Desenvolvendo o Microsoft SQL Server 6.5. Rio de Janeiro:Campos, 1998.VASCONCELOS, Laercio. Consertando Micros. 2º.ed. Rio de Janeiro: LaercioVasconcelos Computação Ltda, 2010WELLING, Luke; THOMSON, Laura. PHP e MySQL Desenvolvimento Web. 3ª.ed.Rio de Janeiro: Elsevier, 2005.