1 UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS DEPARTAMENTO DE SISTEMAS E COMPUTAÇÃO CURSO DE SISTEMAS DE INFORMAÇÃO — BACHARELADO TRABALHO DE CONCLUSÃO DE CURSO I (TCC-I) PROPOSTA PARA O TRABALHO DE CONCLUSÃO DE CURSO - Aplicado Versão: 2 Título: SISTEMA DE MONITORAMENTO DE SGBD SQL SERVER Palavras-chave: Banco de Dados. Monitoramento. SGBD. 1 IDENTIFICAÇÃO Nome: Marlon Rafael Schramm Código/matrícula: 95278 Endereço residencial: Rua: França Complemento: apt 102 n: 363 Bairro: Das nações CEP: 89133000 Telefone fixo: 33940770 Cidade: Indaial UF: SC Celular: 88084276 Endereço comercial: Empresa: KeepIT Rua: XV de novembro CEP: n: Cidade: Blumenau E-Mail FURB: [email protected] Bairro: Centro UF: SC Telefone: E-Mail alternativo: [email protected] 1.1 ORIENTADOR Nome: E-Mail FURB: E-Mail alternativo: 1.2 SUPERVISOR/ESPECIALISTA DA APLICAÇÃO Nome: Função/Cargo: Telefone contato: 2 2 DECLARAÇÕES 2.1 DECLARAÇÃO DO ALUNO Declaro que estou ciente do Regulamento do Trabalho de Conclusão de Curso de Sistemas de Informação e que a proposta, a qual concordo, foi revisada e está dentro dos padrões metodológicos da disciplina. Ainda me comprometo pela obtenção de quaisquer recursos necessários para o desenvolvimento do trabalho, caso esses recursos não sejam disponibilizados pela Universidade Regional de Blumenau (FURB). Assinatura: Local/Data: 2.2 DECLARAÇÃO DO ORIENTADOR Declaro que estou ciente do Regulamento do Trabalho de Conclusão do Curso de Sistemas de Informação e que a proposta, a qual concordo, foi por mim revisada em todas as páginas. Ainda me comprometo a orientar o aluno da melhor forma possível de acordo com o plano de trabalho explícito nessa proposta. Assinatura: Local/Data: 2.3 DECLARAÇÃO DO SUPERVISOR/ESPECIALISTA DA APLICAÇÃO Declaro que estou ciente do Regulamento do Trabalho de Conclusão do Curso de Sistemas de Informação e que minha participação no referido trabalho não implica em nenhuma relação de ordem trabalhista e de remuneração bem como, manifesto ciência de que, por tratar-se de trabalho acadêmico, não tenho qualquer direito relacionada à sua autoria. Outrossim, autorizo a publicação do referido trabalho como também de informações técnicas de outros sistemas a ele relacionados. Assinatura: Local/Data: 3 TCC-I-APLICADO - AVALIAÇÃO DO ESPECIALISTA-1 Acadêmico(a): Marlon Rafael Schramm ASPECTOS AVALIADOS 1. INTRODUÇÃO 1.1. O tema de pesquisa está devidamente contextualizado / delimitado? 1.2. O problema está claramente formulado ? 1.3. A justificativa apresentada está coerente com o problema apresentado? 2. OBJETIVOS 2.1. O objetivo geral está claramente definido e é passível de ser alcançado? 2.2. São apresentados objetivos específicos (opcionais) coerentes com o objetivo geral? Caso não sejam apresentados objetivos específicos, deixe esse item em branco. 3. RELEVÂNCIA 3.1. A proposta apresenta um grau de relevância que justifique o desenvolvimento do TCC? 4. FUNDAMENTAÇÃO DO SISTEMA 4.1. A revisão bibliográfica está de acordo com o tema abordado e é suficiente sobre o assunto? 4.2. A descrição do sistema atual está clara, adequadamente fundamentada? 4.3. São apresentados trabalhos correlatos, bem como é realizada a correlação dos mesmos com a proposta? 5. 6 DESENVOLVIMENTO / ESPECIFICAÇÃO / MODELAGEM 5.1 A descrição do sistema proposto está clara, adequadamente fundamentada e abrange solução para todos os problemas apresentados? 5.2 Os requisitos funcionais e não funcionais do software a ser desenvolvido foram claramente descritos e estão coerentes com os objetivos da proposta? 5.3 Os requisitos a serem implementados são suficientes para a software? 5.4 O diagrama de casos de uso apresentado está correto e coerente com os requisitos? Ver descrição dos casos no apêndice. AVALIAÇÃO GERAL (organização e apresentação gráfica / linguagem usada) 6.1 A exposição do assunto é ordenada, isto é, as idéias estão bem encadeadas e a linguagem utilizada é clara? 6.2 As informações retiradas de outros autores estão devidamente referenciadas e constam nas referências bibliográficas? 6.3 As referências bibliográficas citadas contemplam adequadamente os assuntos abordados na proposta (são usadas obras atualizadas e/ou as mais importantes da área)? A proposta de TCC deverá ser revisada, isto é, necessita de complementação, se: qualquer um dos itens tiver resposta NÃO ATENDE; se 4 (quatro) itens tiverem resposta ATENDE PARCIALMENTE; ou PARECER: ( ) APROVADA Assinatura do (a) avaliador(a): ( ) NECESSITA DE COMPLEMENTAÇÃO Local/data: atende parcialmente não atende atende Avaliador(a): 4 TCC-I-APLICADO - AVALIAÇÃO DO ESPECIALISTA-2 Acadêmico(a): Marlon Rafael Schramm 1. INTRODUÇÃO 1.1. O tema de pesquisa está devidamente contextualizado / delimitado? 1.2. O problema está claramente formulado / justificado? 1.3. A justificativa apresentada está coerente com o problema apresentado? 2. OBJETIVOS 2.1. O objetivo geral está claramente definido e é passível de ser alcançado? 2.2. São apresentados objetivos específicos (opcionais) coerentes com o objetivo geral? Caso não sejam apresentados objetivos específicos, deixe esse item em branco. 3. RELEVÂNCIA 3.1. A proposta apresenta um grau de relevância que justifique o desenvolvimento do TCC? 4. FUNDAMENTAÇÃO DO SISTEMA 4.1. A revisão bibliográfica está de acordo com o tema abordado e é suficiente sobre o assunto? 4.2. A descrição do sistema atual está clara, adequadamente fundamentada? 4.3. São apresentados trabalhos correlatos, bem como é realizada a correlação dos mesmos com a proposta? 5. DESENVOLVIMENTO / ESPECIFICAÇÃO / MODELAGEM 5.1 A descrição do sistema proposto está clara, adequadamente fundamentada e abrange solução para todos os problemas apresentados? 5.2 Os requisitos funcionais e não funcionais do software a ser desenvolvido foram claramente descritos e estão coerentes com os objetivos da proposta? 5.3 Os requisitos a serem implementados são suficientes para a software? 6 5.4 O diagrama de casos de uso apresentado está correto e coerente com os requisitos? Ver descrição dos casos no apêndice. AVALIAÇÃO GERAL (organização e apresentação gráfica / linguagem usada) 6.1 A exposição do assunto é ordenada, isto é, as idéias estão bem encadeadas e a linguagem utilizada é clara? 6.2 As informações retiradas de outros autores estão devidamente referenciadas e constam nas referências bibliográficas? 6.3 As referências bibliográficas citadas contemplam adequadamente os assuntos abordados na proposta (são usadas obras atualizadas e/ou as mais importantes da área)? A proposta de TCC deverá ser revisada, isto é, necessita de complementação, se: qualquer um dos itens tiver resposta NÃO ATENDE; se 4 (quatro) itens tiverem resposta ATENDE PARCIALMENTE; ou PARECER: ( ) APROVADA Assinatura do (a) avaliador(a): ( ) NECESSITA DE COMPLEMENTAÇÃO Local/data: não atende ASPECTOS AVALIADOS atende parcialmente atende Avaliador(a): 5 TCC-I-APLICADO - AVALIAÇÃO METODOLÓGICA (PROFESSOR DE TCC-I) Acadêmico(a): Marlon Rafael Schramm 1. Os elementos pré-textuais (capa e folha de rosto) estão adequadamente formatados? 2. Os elementos textuais (capítulos, seções, formatação) estão corretamente definidos e formatados? 3. Os parágrafos (fonte, alinhamento, margem, espaçamento) estão corretos? 4. As siglas estão todas devidamente apresentadas? 5. As citações obedecem às normas da ABNT? 6. Os textos de citação (direta – citar página, quantidade de linhas, espaçamento, aspas - e indireta) estão adequadamente apresentados? 6. As listas estão adequadamente formatadas (numeração, alinhamento, uso do “;”e início com letra minúscula)? 8. As ilustrações e tabelas estão adequadamente formatadas (legenda, fonte, borda)? 9. As referências bibliográficas obedecem às normas da ABNT? 10. Os elementos pós-textuais (descrição casos de uso e outros) estão adequadamente apresentados? A proposta de TCC deverá ser revisada, isto é, necessita de complementação, se: qualquer um dos itens tiver resposta NÃO ATENDE; se 4 (quatro) itens tiverem resposta ATENDE PARCIALMENTE. PARECER: ( ) APROVADA ( ) NECESSITA DE COMPLEMENTAÇÃO Assinatura do (a) avaliador(a): Local/data: não atende ASPECTOS AVALIADOS atende parcialmente atende Avaliador(a): 6 UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE SISTEMAS DE INFORMAÇÃO – BACHARELADO MARLON RAFAEL SCHRAMM SISTEMA DE MONITORAMENTO DE SGBD SQL SERVER Proposta de Trabalho de Conclusão de Curso submetida à Universidade Regional de Blumenau para a obtenção dos créditos na disciplina Trabalho de Conclusão de Curso I do curso de Sistemas de Informação — Bacharelado. Prof. Mauro M. Mattos – Orientador BLUMENAU 2011 / 1 7 1 INTRODUÇÃO Hoje, com a constante mudança nos processos de trabalho surge a Era do Conhecimento dentro de uma empresa, e cada vez mais existe a necessidade de gerenciar e controlar de maneira eficaz toda e qualquer informação, uma vez que adquirindo mais conhecimento através da informação têm-se mais soluções e possibilidade de evoluir o negócio. Segundo Davenport e Prusak (1998, p. 6), o conhecimento pode ser comparado a um sistema vivo, que cresce e se modifica à medida que interage com o meio ambiente. Devido o aumento de informações nas empresas alinhado com a necessidade de gerenciar tudo isto surgiu os softwares e junto seus bancos de dados, possibilitando armazenar todos os dados de que uma empresa necessita. Para que seja viável guardar as informações de uma forma segura e que seja obtida facilmente, houve muita evolução chegando-se a criar um Sistema Gerenciador de Banco de Dados (SGBD). Segundo Silberschatz (1999, p. 21) um SGBD consiste em uma coleção de arquivos e programas que são inter-relacionados que acabam permitindo ao usuário um acesso para consulta e alterações desses dados. Em qualquer organização onde muitas pessoas compartilham muitos recursos, existe a necessidade de um administrador chefe para supervisionar e gerenciar estes recursos. Num ambiente de base de dados, o recurso primário é uma base de dados e os recursos secundários são o próprio SGBD e softwares relacionados. A administração desses recursos é de responsabilidade de um DBA (Database Administrator) (Date, 2000, p.18). Logo este DBA detém todos os privilégios a respeito de definição de acesso a dados e tem que garantir o funcionamento correto, através de manutenções regulares e acompanhamento de qualquer alteração que for realizada, todo este processo é chamado de monitoramento de banco de dados. Conforme Risch (1989, p. 445) o monitoramento de banco de dados compreende observar as constantes alterações feitas nas bases de dados e poder dar informações e alertar para tomadas de decisões sobre as diferentes situações do banco de dados. 8 A KeepIT é uma empresa de prestação de serviço de infra estrutura de TI. Dentre os seus serviços esta o monitoramento de servidores em seus clientes. Em função disto constatou-se necessidade de monitoramento dos recursos administrador. Neste contexto propõe-se um sistema que consiga monitorar as atividades de manutenção periódica preventiva de um SGBD SQL Server centralizando estas informações em uma intranet utilizando a ferramenta de colaboração da Microsoft, SharePoint Foundation. 1.1 PROBLEMA Devido a complexidade de monitorar todos databases dentro da empresa e a crescente quantidade e tamanho das bases de dados, o administrador necessita monitorar em tempo real estas informações. Apesar de existir ferramentas disponíveis no mercado elas possuem um custo elevado o que inviabiliza a sua adoção por empresas de pequeno e médio porte. A gestão destas atividades na KeepIT é onerosa e vem sendo realizada através da construção de scripts personalizados o que induz o erros e atrasos. 1.2 JUSTIFICATIVA Em função do número de clientes monitorado e diversidades de bases e sistemas operacionais envolvidos faz-se necessário desenvolver uma solução que permita unificar o processo de monitoramento. O enfoque planejado para a solução desta questão envolve a construção de uma interface Web que sirva de front-end para as bases monitoradas. Desta forma será possível unificar a interface de monitoramento permitindo um ganho na qualidade do serviço prestado. Além disso, a aplicação a ser desenvolvida armazenará logs de eventos permitindo uma análise cítrica de uma determinada operação tanto, por parte do cliente como dos profissionais envolvidos no processo. 1.3 OBJETIVOS O objetivo deste trabalho é a concepção de uma solução de monitoramento remoto de Banco de Dados. 9 Objetivos específicos: a) disponibilizar uma aplicação web para monitoramento de vários bancos de dados SQL Server. b) validar a aplicação através de um estudo de caso. 2 FUNDAMENTAÇÃO TEÓRICA Este capítulo introduz os conceitos relacionados ao escopo do projeto. Além disso, são apresentados o atual sistema e trabalhos correlatos. 2.1 GERENCIAMENTO E ADMINISTRAÇÃO DO BANCO DE DADOS Na essência, um sistema de banco de dados simplesmente é um sistema computadorizado que armazena registros (DATE, 2000). Realizando uma comparação, ele próprio pode ser visto como o equivalente a um depósito de arquivamento. Em outros termos é um repositório para coleções de arquivo. Para organizar tudo isto deve-se ter um usuário com autonomia para exercer tal função. Para entender o que é um administrador de dados pode-se ser feito uma comparação com uma organização onde existem os administradores que são declarados como gerentes, já o gerente do banco de dados diferentemente do administrador de dados ele é muito técnico, chamado de DBA (Database Administrator) (DATE, 2000). No ambiente de banco de dados o principal recurso é o próprio banco de dados e a seguir o SGBD e os software relacionados, a administração destes recursos é responsabilidade do administrador de banco de dados (ELMASRI; NAVATHE, 2005). O DBA pode ajudar a evitar problemas de integridade no banco utilizando-se de implementações do tipo restritivas de integridade que também é conhecido como regras de negócio (DATE, 2000). O administrador do banco tem autoridade especial para executar comandos que alteram o esquema de um banco de dados. Estes comandos por si só causam grandes efeitos sobre o banco de dados (GARCIA-MOLINA; ULLMAN; WIDOM, 2001). Segundo DATE (2000, p.25) o DBA tem a jurisdição completa sobre o banco de dados, pode assegurar que o único acesso seja por canais apropriados. Com isto pode-se 10 tratar as regras para segurança ou regras a serem validadas toda hora que houver uma tentativa de acesso destas informações, que sempre são confidenciais. O DBA também é responsável pela coordenação e monitoração do seu uso e por adquirir recursos de software e hardware conforme necessário (ELMASRI; NAVATHE, 2005). Ficam evidentes duas funções no contexto de banco de dados, que são esclarecidas (DATE, 2000): o administrador de dados (DA – data administrator) e o administrador de banco de dados. Elas estão diretamente associadas, pois o DA é responsável por tomar as decisões estratégicas e também de normas com relação às informações da empresa. Já o DBA, fica com a tarefa de fornecer o suporte técnico necessário para executar as decisões do DA (SILBERSCHATZ; KORTH; HENRY, 1999). Com isto o DBA é responsável por controlar o sistema de banco de dados em um nível técnico (DATE, 2000). Algumas das funções de um DBA são: - definir o esquema conceitual; - definir o esquema interno; - definir restrições de segurança e integridade; - definir normas de descarga e recarga; - monitorar o desempenho e responder a requisitos de mudança. 2.2 MONITORAMENTO DE BANCO DE DADOS Para garantir um estado de funcionamento considerado apropriado para um banco de dados, devem-se realizar vários monitoramentos, que muitas vezes é realizado pelo DBA, que detém conhecimento técnicos para planejar monitoramentos periódicos e em tempo real. Mas todos estes processos requerem muito tempo e dedicação já que um SGBD fornece diversas informações sobre os diversos recursos que um banco de dados disponibiliza. Entre eles estão a possibilidade de conseguir acompanhar as mudanças ocorrendo no banco de dados, tanto com alertas quanto com histórico de problemas e acontecimentos. Isto amplia a possibilidade de evitar futuros problemas. Segundo Risch (1989, p. 445) o monitoramento do banco de dados se resume em analisar as constantes mudanças realizadas nas bases de dados e conseguir prover informações e avisos para tomadas de decisões referentes às possíveis situações adversas. 11 O acompanhamento do banco de dados remotamente ou a distância é um dos desejos da grande maioria dos que trabalham neste segmento da informática LUCHTENBERG (2002, p3). Em diversos livros e nas próprias ferramentas de banco de dados é possível encontrar informações sobre como realizar monitoramento de hardware (ALMEIDA, 2007). Porém as informações da base de dados como espaço em disco, número de tabelas, número de quantidade de vezes que foi realizada uma manutenção, quantidade de objetos bloqueados, são muito importante para o bom funcionamento e que muitas vezes são esquecidas, que vêem à tona quando o problema ocorre. Segundo Almeida (2007, p. 17) as empresas tem um bom planejamento de infraestrutura antes de ampliar o uso de um banco de dados. O estudo para que isto seja possível é feito através de avaliação do hardware para que consiga indicar que o mesmo está ou não em condições de suportar a demanda de requisições de acesso e também como rede, processador, disco entre outros, este estudo pode ser complementado com um monitoramento de SGBD. De maneira geral o monitoramento de hardware é necessário, porém deixa de ser uma atividade para monitorar com tamanha constância diferente de monitorar um SGBD (ALMEIDA, 2007, p. 17). 2.3 SHAREPOINT FOUNDATION O SharePoint é uma plataforma de colaboração corporativa via Web, que permite conectar e capacitar pessoas por meio de um conjunto integrado de recursos avançados. Este produto facilita o trabalho em conjunto, de modo que os colaboradores podem configurar sites da Web para compartilhar informações, gerenciar documentos com versionamento e até publicar relatórios que ajudem na tomada de decisões. O SharePoint no mundo do Business Intelligence (BI) é comumente utilizado como servidor front-end, ou seja, especialmente para mostrar as informações úteis para a empresa (ENGLISH, 2011, p. 6). Posteriormente foi lançado a versão 2007 mais conhecida como MOSS – Microsoft Office SharePoint Server, já utilizando a versão 2.0 do .NET. Nesta versão foram oferecidos recursos como BI, portal, Search, gerenciamento de conteúdo e formulários de negócios. 12 A última versão lançada em 2010, foi totalmente desenvolvida no .NET FrameWork 3.5 e utiliza também recursos SilverLight para a camada de apresentação ficar mais interativa e agradável. Todos os recursos existentes na versão anterior foram aprimoradas e algumas foram incluídas, por exemplo pacote de soluções para implantação de projetos em SharePoint, novas WebParts foram incluídas e diversas outras funcionalidades e integrações com os produtos Microsoft. 2.4 SISTEMA ATUAL Atualmente no setor de TI da empresa KeepIT não existe software que realize o monitoramento dos bancos de dados dos clientes e dela própria. A única forma para garantir o bom funcionamento do banco de dados é baseada em planos de manutenção, os quais são executados conforme estabelecido com os DBAs (quando existentes). Tendo em vista que não existe nenhum sistema controlando todas as alterações efetuadas. No banco de dados, foi desenvolvida uma procedure, implantada nos clientes para que todo dia seja executada e envie informações para a KeepIT. Retorna com os tamanhos das bases de dados. Com isto a equipe de suporte pode atuar antecipando possíveis problemas com falta de espaço em disco. Segue abaixo o diagrama de atividade que é realizado atualmente na KeepIT. Figura 1 – Diagrama de atividades 13 2.5 TRABALHOS CORRELATOS Três trabalhos estão relacionados ao escopo do presente projeto : Risch (1989) , Luchtenberg (2002) e Almeida (2007). Risch (1989) dos laboratórios de pesquisa da HP, descreve a arquitetura para um sistema de monitoramento de objetos de banco de dados de alto nível. O Trabalho ajudou na compreensão de diversos conceitos sobre monitoramento e alertas. Entre as vantagens da arquitetura pode-se citar o fato de minimizar o peso de processamento do software de monitoramento sobre o banco de dados, sistema de notificações eficaz e localização automática de recursos para monitorar. Luchtenberg (2002) descreve o desenvolvimento de um software chamado NetDBA para o monitoramento do banco de dados Oracle através de uma ferramenta WEB, sua principal vantagem é executar procedimentos administrativos e monitoração básica diariamente de uma banco de dados Oracle sem depender de sua estação de trabalho. Almeida (2007) descreve o desenvolvimento de um sistema de monitoramento de SGBD chamado de Einstein, ele foi idealizado como um sistema comum de monitoramento, porém que traz recursos que não estão disponíveis em outras ferramentas analisadas na monografia, e procura atender as necessidades dos DBAs. Além disso, softwares do tipo serviço (O Einstein Monitor), têm uma forma de desenvolvimento diferenciada de sistemas visuais, pois não possuem componentes e eventos assim como em outros tipos de software (Web, Desktop). Há ainda uma solução comercial da Microsoft chamado de System Center que é uma família de soluções de gerenciamento de TI. Nesta família existe um produto denominado de Microsoft System Center Operations Manager (SCOM) que possui um complemento (Package) para ser instalado possibilitando monitorar os SGBDs. Com ele é possível: - monitora os usuários e funções atribuídos; avalia desempenho; monitora replicação de dados; monitora topologia do banco de dados; monitora os serviços (Jobs); monitora espaço das databases; monitora tempo de resposta para os sistemas que utilizam o SGBD. 14 DESENVOLVIMENTO Neste capítulo será descrito as especificações e detalhamentos do software proposta, apresentando as suas características, os requisitos funcionais, os não funcionais e os diagramas de caso de uso. 2.6 SISTEMA PROPOSTO Propõem-se o desenvolvimento de uma aplicação WEB para monitoramento do SGBD SQL Server 2008R2, que seja fácil de utilizar e que possua uma melhor interatividade com o usuário que irá utilizar. Isto implica em otimizar o tempo de um DBA responsável pelo estado do banco de dados, garantindo assim uma resposta antecipada para evitar problemas com integridade dos dados e o seu desempenho. O sistema deverá disponibilizar vários tipos de relatórios tanto em formato PDF quanto disponibilizar de forma gráfica para o usuário. Na seção dos relatórios haverá relatórios de histórico do espaço que os database estão ocupando, previsão de falta de espaço em disco por unidade quando houver, relatório da quantidade de objetos que englobam Views, Procedures, Tables e Triggers e, por último, relatórios com estatísticas de crescimento dos databases. Como infraestrutura será utilizado o SharePoint Foundation que já permite controle de acesso. Será possível cadastrar o monitoramento de várias instâncias de SQL Server, garantindo que todas as databases da empresa fiquem sobre vigilância do mesmo sistema. 2.7 ESPECIFICAÇÃO DOS REQUISITOS O Quadro 1 apresenta os requisitos funcionais previstos para o sistema e sua rastreabilidade, ou seja, vinculação com os casos de uso associados. Requisitos Funcionais RF01: O sistema deverá permitir o usuário efetuar login no sistema. Caso de Uso UC01 15 RF02: O sistema deverá permitir o usuário cadastrar as instâncias de UC02 SQL que vão ser monitoradas. RF03: O sistema deverá permitir o usuário cancelar o monitoramento de uma determinada instância SQL. RF04: O sistema deverá emitir relatório de histórico de espaço em disco. RF05: O sistema deverá emitir relatório de previsão de falta de espaço em disco. RF06: O sistema deverá emitir relatório da quantidade de objetos por instância. RF07: O sistema deverá emitir relatório de percentual de crescimento das bases. RF08: O sistema deverá emitir relatório sobre as execuções dos backups realizados. RF09: O sistema deverá emitir relatórios sobre as execuções dos planos de manutenção: Rebuild Index, Desfragmentação, limpeza de histórico. RF10: O sistema deverá emitir relatório indicando status dos databases. RF11: O sistema deverá permitir o DBA controlar o acesso ao sistema UC03 Quadro 1: Requisitos funcionais O Quadro 2 lista os requisitos não funcionais previstos para o sistema. Requisitos Não Funcionais RNF01: O sistema deverá monitorar banco de dados SQL Server 2008R2. RNF02: O sistema deverá ser implementado em C# 3.5. RNF03: O sistema deverá ser Web. RNF04: O sistema deverá utilizar a plataforma SharePoint Foundation para hospedar as páginas. Quadro 2: Requisitos não funcionais 3.3 MODELAGEM Esta seção apresenta os diagramas que serão necessários para o entendimento da arquitetura do sistema de monitoramento de banco de dados. 16 3.3.1 DIAGRAMAS DE CASO DE USO Esta seção apresenta o diagrama de casos de uso preliminar do sistema proposto, sendo que o detalhamento de cada caso de uso. Na figura 2, têm-se os casos de uso com os atores envolvidos no sistema proposto. Figura 2: Diagrama de caso de uso Na Figura 3 tem-se caso de uso com os atores envolvidos na emissão de relatórios; Figura 3 - Caso de Uso sobre os relatórios 17 3.3.2 DIAGRAMAS DE CLASSE Na Figura 3 se apresenta o diagrama de classes com as classes que representam as entidades serão persistidas no banco de dados. Cada classe de entidade é representada no banco de dados como uma tabela. Figura 3 – Diagrama de classes das entidades A função de cada classe de entidade está descrita a seguir: a) classe Script - classe que possui os métodos referentes ao monitoramento; b) classe Base - classe que possui os atributos referentes às bases de dados c) classe HistoricoPlanoManutencao - classe que possui os atributos referentes ao histórico dos planos de manutenção; d) classe HistoricoMonitoramento - classe que possui os atributos referentes ao monitoramento do servidor; e) classe Objeto - classe que possui os atributos referentes a quantidade de objetos monitorados em um certo dia referente a uma base; que poderá ser do tipo: Views, Procedure, Tables ou Triggers f) classe HistoricoEspacoDisco - classe que possui os atributos 18 referentes ao histórico do espaços em disco de uma base; g) classe CrescimentoBase - classe que possui os atributos referentes ao crescimento de uma base. h) Classe percentual – Classe herdada pela CrescimentoBase que possui os atributos referentes ao percentual de crescimento diário, semanalmente e mensalmente. a) Classe TipoObjeto – Classe que define o tipo de objeto, podendo ser: Views, Procedure, Tables ou Triggers 19 3 REFERÊNCIAS BIBLIOGRÁFICAS ALMEIDA, Henrique Gurgacz de. Einstein: sistema de monitoramento de SGBD. Curitiba, [s.n.], 2007. 85f.il. DATE, C.J. Introdução a Sistemas de banco de dados. 7.ed.Rio de Janeiro: Campus, 2000. DAVENPORT, Thomas; PRUSAK, Laurence. Conhecimento empresarial. Rio de Janeiro: Campus, 1998. ELMASRI, Ramez; NAVATHE, Shamkant B. Sistemas de banco de dados.4. ed. São Paulo : Pearson Education do Brasil : Addison Wesley, 2005. xviii, 724 p, il. ENGLISH BILL, Brian A.; Mark F.Microsoft. SharePoint 2010 Administrator’s Companion. Redmond, 2011. GARCIA-MOLINA, Hector; ULLMAN, Jeffrey D; WIDOM, Jennifer. Implementação de sistemas de bancos de dados. Rio de Janeiro : Campus, 2001. 685p, il. LUCHTENBERG, Rodrigo; VALDAMERI, Alexander Roberto; UNIVERSIDADE REGIONAL DE BLUMENAU, Curso de Ciências da Computação. Ferramenta Web de monitoração, administração e extração de informações de um SGBD Oracle. , 2002. xii, 56p, il. Orientador: Alexander Roberto Valdameri. Disponível em: <http://www.bc.furb.br/docs/MO/2002/257304_1_1.pdf>. Acesso em: 25 set. 2003. MELO, Rubens N.; SILVA, Sidney D.; TANAKA, Asterio K. Banco de Dados em Aplicações Cliente/Servidor. Rio de Janeiro: Infobook, 1997. RISCH, T. Monitoring Database Objects. Hewlett-Packard Laboratories Amsterdam, 1989. SILBERSCHATZ, Abranham, KORTH, Henry F; SUDARSHAN, S. Sistema de Banco de Dados. 3 ed. — São Paulo: MAKRON Books, 1999. 20 APÊNDICE A – Detalhamento dos casos de uso Nos quadros abaixo, tem-se o detalhamento dos casos de uso do Sistema. No Quadro 3 apresenta-se o caso de uso "Login". UC01 O sistema deverá permitir o usuário efetuar login no sistema Descrição Permite ao usuário através da identificação por usuário e senha conectar-se ao sistema. Ator Usuário Pré-condição Sistema deve estar hospedado no servidor web. O usuário deve estar cadastrado no AD e associado no SharePoint. Fluxo principal 1. Usuário preenche seu login e sua senha; 2. Sistema valida os dados de login e senha do usuário; 3. Sistema direciona o Usuário para a página de menu do protótipo. Fluxo alternativo (a) Pós-condição nome de usuário e/ou senha inválido(s) alerta com mensagem “usuário ou senha inválida” é mostrada. Usuário entra conectado ao sistema. Quadro 3 – Descrição do caso de uso Login No Quadro 4 apresenta-se o caso de uso "Cadastrar instância". UC02 O sistema deverá permitir o usuário cadastrar as instâncias de SQL que vão ser monitoradas Descrição Permitir ao usuário que seja possível cadastrar o endereço do SQL Server (Instância) que será monitorada. Ator Usuário Pré-condição Usuário deve fazer login no sistema. O usuário deve ter permissões especiais no banco de dados (dbCreator e Sysadmin) Fluxo principal 1. Sistema mostra a janela de cadastro; 2. Usuário opta por incluir novo banco de dados para monitoramento; Cenário – Visualização Cenário – Edição Cenário – Inclusão Sistema mostra os registros dos servidores cadastrados. 1. Sistema mostra registros cadastrados; 2. Usuário seleciona um registro para edição; 3. Sistema mostra o endereço do servidor e o nome da instancia; 4. Usuário altera registro e seleciona opção para atualizar; 5. Sistema mostra os registros cadastrados com o registro alterado. 1. Sistema mostra registros cadastrados; 2. Usuário inclui um novo registro; 3. Sistema mostra os registros cadastrados. 21 Cenário – Exclusão Pós-condição 1. Sistema mostra registros cadastrados; 2. Usuário seleciona um registro para exclusão; 3. Sistema exclui o registro e mostra os registros restantes. Usuário visualizou, editou, apagou ou cadastrou uma instància para monitoramento. Quadro 4 – Descrição do caso de uso Cadastrar instância No Quadro 5 apresenta-se o caso de uso "Cancelar monitoramento". UC02 O sistema deverá permitir o usuário cancelar monitoramento das instâncias de SQL Descrição Permitir ao usuário que seja possível cancelar o endereço do SQL Server (Instância) que será monitorada. Ator Usuário Pré-condição Usuário deve fazer login no sistema. O usuário deve ter permissões especiais no banco de dados (dbCreator e Sysadmin) Fluxo principal 3. Sistema mostra a janela de cadastro; 4. Usuário opta por excluir um banco de dados que está em monitoramento; Cenário – Visualização Cenário – Edição Sistema mostra os registros dos servidores em monitoramento. 6. Sistema mostra registros cadastrados; 7. Usuário seleciona um registro para edição; 8. Sistema mostra o endereço do servidor e o nome da instancia; 9. Usuário altera registro e seleciona opção para atualizar; 10. Sistema mostra os registros cadastrados com o registro alterado. Cenário – Inclusão Cenário – Exclusão Pós-condição 4. Sistema mostra registros cadastrados; 5. Usuário inclui um novo registro; 6. Sistema mostra os registros cadastrados. 4. Sistema mostra registros cadastrados; 5. Usuário seleciona um registro para exclusão; 6. Sistema exclui o registro e mostra os registros restantes. Usuário visualizou, editou, apagou ou cadastrou uma instància para monitoramento. Quadro 5 – Descrição do caso de uso Cancelar Monitoramento