NORMA TÉCNICA PARA IMPLANTAÇÃO DE NOVOS SISTEMAS OU APLICAÇÕES NO BANCO DE DADOS CORPORATIVO Referência: NT-AI.04.02.01 http://www.unesp.br/ai/pdf/nt-ai.04.02.01.pdf Data: 27/07/2000 STATUS: EM VIGOR __________________________________________________________________ A Assessoria de Informática, órgão executivo responsável pela normatização e padronização de procedimentos referentes à área de informática, de acordo com o Regulamento Geral para Uso e Administração de Computadores e Redes da Unesp (RG-AI.00.01.01, Portaria UNESP 65/98), define a seguinte NORMA TÉCNICA: 1. RESUMO Este documento estabelece normas, regras e procedimentos que devem ser seguidos quando da implantação de novos sistemas ou aplicações no banco de dados corporativo. 2. PALAVRAS CHAVES MCA, DER, REALB, banco de dados, terceiros, desenvolvimento, Oracle, projeto conceitual dos dados, projeto lógico, modelo físico, diagrama entidade-relacionamento, scripts, objetos de banco de dados, implantação, protótipo, tabelas, chaves primárias, chaves únicas, chaves estrangeiras, check constraints, aceite, PL/SQL, visões, índices, triggers, procedimentos, funções, pacotes, teste, manutenção, cronograma. 3. DEFINIÇÕES 3.1 Unidades : Unidades Universitárias, Unidades Administrativas, Núcleos e Centros de Pesquisa, Fundações Associadas, Departamentos, Laboratórios, Diretorias, Seções, Setores e congêneres da UNESP, que possuam equipes de desenvolvimento e administração de banco dados local. 3.2 Terceiros : toda e qualquer entidade (empresa, micro-empresa, conjunto de um ou mais técnicos em informática tais como analistas, programadores, etc. que atuem como profissionais liberais, consultores independentes ou ligados a alguma corporação, etc.) que porventura prestem ou venham a prestar serviços para a UNESP, contratados temporariamente ou não, independente da atividade que desempenhem ou venham a desempenhar relacionadas ao desenvolvimento de sistemas e banco de dados. 3.3 Banco de Dados Corporativo : é um banco de dados relacional contendo objetos (tabelas, visões, procedimentos, etc.) que são compartilhados e usados por diversas aplicações ou sistemas ao mesmo tempo, evitando assim redundância de dados e garantindo integridade das informações, além de outras vantagens. Ele é composto por outros dois bancos de dados independentes, cada qual constituído por uma instância e uma base de dados. São assim denominados : Banco de Dados de Desenvolvimento e Banco de Dados de Produção. 3.4 Banco de Dados de Desenvolvimento : corresponde a uma instância e a uma base de dados com o objetivo de armazenar objetos de banco de dados e dados para testes dos novos sistemas ou aplicações, sendo um banco de dados relacional. Só é utilizado pelas equipes de desenvolvimento, devidamente autorizadas. Todo novo sistema ou aplicação deve, antes de ser colocado em produção, ser colocado no Banco de Dados de Desenvolvimento para testes e validação por parte do usuário final. 3.5 Banco de Dados de Produção : corresponde a uma instância e a uma base de dados com o objetivo de armazenar objetos de banco de dados e dados de sistemas ou aplicações já em produção, constituindo assim dados válidos e que são acessados por diversos usuários do banco de dados, devidamente autorizados. Também é um banco de dados relacional 3.6 DBA : O termo DBA é uma sigla de origem inglesa para Database Administrator. Como no jargão técnico, no comércio, em empresas, enfim em tudo que se relaciona com administração de banco de dados no mundo (inclusive no Brasil) se utiliza o termo DBA em vez da tradução para a língua local, resolvemos adotá-lo também na UNESP para referenciar aquele que é responsável por gerenciar e administrar o banco de dados. 3.7 Equipe de DBAs : é um grupo formado por dois ou mais técnicos e/ou analistas da Assessoria de Informática responsáveis pela administração do Banco de Dados Corporativo, devidamente treinados para tal tarefa de administração. A necessidade de uma equipe deve-se ao fato de que a administração de um banco de dados não deve ficar centralizada em uma única pessoa. 3.8 Equipe de Desenvolvimento : é qualquer grupo de dois ou mais técnicos, analistas e/ou programadores de uma Unidade responsáveis por definir, projetar, desenvolver e implantar sistemas, sejam de uso local e restrito a Unidade, seja de âmbito da comunidade UNESP. 3.9 Usuário Final : considera-se usuário final de um sistema ou aplicação um ou mais MCAs (Membros da Comunidade Acadêmica) que usufruirão direta e imediatamente de um novo sistema ou aplicação a ser implantado, sendo que o usuário final não necessariamente está vinculado a uma única Unidade. 3.10 Protótipo : é um conjunto de objetos de banco de dados de um sistema ou aplicação, conjunto este ainda em fase de testes realizados pelo Usuário Final e que está sujeito a correções por parte da equipe de desenvolvimento do sistema ou aplicação. 3.11 Produto Final : é um conjunto de objetos de banco de dados de um sistema ou aplicação, conjunto este já testado e corrigido, pronto para ser disponibilizado para uso do Usuário Final ou de outros usuários que possam se beneficiar do sistema ou aplicação. Isto porém não significa que o produto final não poderá passar manutenção corretiva (para corrigir erros detectados durante ou após a implantação) ou manutenção evolutiva (visando aperfeiçoar o sistema ou aplicação para atender novas necessidades do Usuário Final, não importa a origem destas). 3.12 Aceite : é uma ação que o Usuário Final toma junto a Equipe de Desenvolvimento ou dos Terceiros, responsáveis pelo sistema ou aplicação que foi solicitado para ser desenvolvido, sendo que tal ação representa o fato de que o sistema ou aplicação apresentado ao Usuário Final está de acordo com as expectativas e solicitações deste. 3.13 A documentação básica para fins de Banco de Dados é composta pelos seguintes itens : - Diagrama Entidade-Relacionamento (DER) - Projeto Conceitual de Dados - Modelo Físico de Banco de Dados, referentes ao sistema ou aplicação 3.14 Scripts de Criação de Objetos de Banco de Dados : considera-se Scripts de Criação de Objetos de Banco de Dados que compõe tanto o protótipo quanto o produto final de um sistema ou aplicação, qualquer conjunto de instruções SQL (padrão mundial de linguagem estruturada de consulta para bancos de dados relacionais) ou PL/SQL (PL/SQL é específico do banco de dados Oracle) que permitam criar ou alterar objetos de banco de dados tais como : - - Tabelas, incluindo chaves primárias, chaves únicas, chaves estrangeiras, e checagens de valores possíveis em colunas das tabelas (chamadas, no jargão técnico, de check constraints). Visões de tabela(s). Índices aplicados sobre coluna(s) das tabelas. Gatilhos (mais conhecidos, no jargão técnico, como triggers) Procedimentos, funções, pacotes e unidades de programa em geral. Qualquer outra estrutura não mencionada por ser pouco usada ou que não existia na versão do banco de dados Oracle quando este documento foi redigido. 4. NORMA TÉCNICA 4.1 O Produto Final de um sistema ou aplicação só poderá ser implantado no Banco de Dados de Produção após ser dado o Aceite, por parte do Usuário Final à Equipe de Desenvolvimento ou aos Terceiros, para o Protótipo do mesmo sistema ou aplicação, desde que o Protótipo já esteja no Banco de Dados de Desenvolvimento, devidamente testado e aprovado. 4.2 Em nenhuma hipótese, deverá ser feita a implantação do Protótipo e do Produto Final simultaneamente ou concomitantemente por partes, ou seja, à medida que vai se implantando as partes do Protótipo e testando-as, vai se implantando o Produto Final. 4.3 A forma de se dar o Aceite é algo que deve ser acertado em comum acordo entre o Usuário Final e a Equipe de Desenvolvimento ou Terceiro, ficando a Assessoria de Informática isenta de qualquer responsabilidade neste ato. 4.4 O Aceite deve ser único para o Protótipo e não para alguma de suas partes funcionais. 4.5 A Assessoria de Informática só se pronunciará contrária a um Aceite se, na implantação do Produto Final, houver diferenças estruturais de banco de dados entre o Protótipo testado e o Produto Final, diferenças estas que estejam em desacordo com Normas Técnicas existentes ou que, ao serem avaliadas pela Equipe de DBAs, se mostrem incompatíveis com características de um banco de dados relacional. 4.6 Nenhum sistema ou aplicação poderá ser colocado diretamente em produção e disponibilizado de imediato para uso por parte do Usuário Final sem antes passar por uma etapa de testes, onde no Protótipo do sistema ou aplicação deverá ser acertado os detalhes finais, corrigido os erros que ainda houverem e que forem possíveis de serem detectados e, principalmente, deverá ser validado junto ao Usuário Final do sistema ou aplicação 4.7 A implantação de novos sistemas ou aplicações deve, obrigatoriamente, obedecer às seguintes etapas : Etapa de Testes do Protótipo e Etapa de Disponibilização do Produto Final. 4.8 A Equipe de DBAs da Assessoria de Informática fica responsável, na Etapa de Testes do Protótipo, por : - Desempenhar todas as ações necessárias para implantar o Protótipo do sistema ou aplicação no Banco de Dados de Desenvolvimento, verificando detalhes técnicos e realizando acertos necessários. - Criar um número mínimo de contas de usuários no Banco de Dados de Desenvolvimento que permitam o Usuário Final realizar os testes conjuntamente com a Equipe de Desenvolvimento ou com Terceiros envolvidos, priorizando sempre a segurança e integridade do Banco de Dados Corporativo. - Monitorar periodicamente o Banco de Dados de Desenvolvimento, durante os testes. - Garantir que o Banco de Dados de Desenvolvimento esteja sempre disponível durante os testes e, caso ocorra falhas ou qualquer outro evento que possa impedir, prejudicar ou atrasar os testes, dar prioridade absoluta para resolução dos problemas no menor espaço de tempo possível. - Atender de imediato solicitações da Equipe de Desenvolvimento ou dos Terceiros responsáveis pelo Protótipo caso haja manutenção corretiva ou manutenção evolutiva no Protótipo. 4.9 Em caso de solicitação de qualquer objeto e respectivo conteúdo do Banco de Dados Corporativo, por parte da equipe responsável pelos testes, esta deverá ser encaminhada à Equipe de DBAs da Assessoria de Informática, através de ofício e aguardar resposta com prazo para execução da tarefa, pois esta deverá ser adaptada ao cronograma da Assessoria de Informática. 4.10 Apenas após ser dado o Aceite por parte do Usuário Final, é que o Produto Final do sistema ou aplicação poderá ser implantado e disponibilizado para uso real. A Equipe de DBAs da Assessoria de Informática fica responsável por desempenhar todas as ações necessárias para implantar o Produto Final do sistema ou aplicação no Banco de Dados de Produção, verificando detalhes técnicos e realizando acertos necessários. 4.11 Uma vez implantado e disponibilizado o Produto Final, qualquer manutenção corretiva ou evolutiva deverá obrigatoriamente ser solicitada por REALBs (Requisição de Alteração no Banco de Dados). 4.12 A Equipe de DBAs reserva-se o direito de desfazer tudo o que foi feito no Banco de Dados de Desenvolvimento para a implantação do Protótipo do sistema ou aplicação, caso se verifique alguma das seguintes condições : 4.13 - O Produto Final respectivo ao Protótipo já esteja em uso há mais de seis meses. - Falta de espaço útil no Banco de Dados de Desenvolvimento para implantação de Protótipos de novos sistemas ou aplicações. A Equipe de DBAs não poderá eliminar o Protótipo de um sistema ou aplicação do Banco de Dados de Desenvolvimento caso ele ainda esteja sendo utilizado por outros Protótipos. E, nestas condições, caso ocorra falta de espaço útil para implantação de novos Protótipos, a Equipe de DBAs fica responsável por encontrar uma solução que não prejudique os Protótipos existentes. 4.14 Quanto à forma de repasse dos Scripts de Criação de Objetos de Banco de Dados para a Equipe de DBAs, pode ser uma das seguintes : 1. Enviar os scripts em um ou mais arquivos tipo texto, formato ASCII, devidamente documentados quanto a sua finalidade, por e-mail. 2. Enviar os scripts em disquetes de 3 ½ polegadas, acompanhados de ofício explicativo à Assessoria de Informática. 3. Através do Sistema Documentador, segundo orientações e instruções passadas por analistas da Assessoria de Informática. 4.15 Os seguintes documentos são de caráter oficial e tem que ser apresentados pelas Equipes de Desenvolvimento e por Terceiros quando for necessário implantar Protótipos e Produtos finais de novos sistemas ou aplicações : Documentos Documentação Básica para Fins de Banco de Dados, a Política de Segurança e relação de usuários finais do sistema ou aplicação. Cronograma de Implantação Tipo Ofício Destino Assessoria de Informática / GES Ofício Notificação da implantação do Protótipo Ofício Notificação do Aceite do Protótipo Ofício Notificação da implantação do Produto Final Ofício Assessoria de Informática / GES Unidade da equipe de desenvolvimento Unidade(s) dos usuários finais do protótipo. Assessoria de Informática Unidade(s) dos usuários finais do protótipo Assessoria de Informática / GES Assessoria de Informática Unidade(s) dos usuários finais do protótipo Unidade(s) que usufruirão do produto final 4.16 Os documentos mencionados anteriormente devem ser mandados na ordem em que foram apresentados no quadro anterior, não podendo faltar nenhum. 4.17 A Equipe de DBAs reserva-se o direito de não implantar o Protótipo até que sejam recebidos a Documentação Básica para Fins de Banco de Dados, a Política de Segurança, a relação de Usuários Finais do sistema ou aplicação e a notificação da implantação do Protótipo bem como todos os Scripts de Criação de Objetos de Banco de Dados referentes ao Protótipo. 4.18 A Equipe de DBAs reserva-se o direito de não implantar o Produto Final até que sejam recebidos a notificação do Aceite do Protótipo e a notificação da implantação do Produto Final. A notificação do Aceite do Protótipo representa oficialmente a solicitação de se implantar o Produto Final no Banco de Dados de Produção, a partir do Protótipo existente no Banco de Dados de Desenvolvimento. 4.19 Nenhum sistema ou aplicação poderá ser implantado (seja o Protótipo, seja o Produto Final) sem o estabelecimento prévio de um Cronograma de Implantação entre a Equipe de DBAs e a Equipe de Desenvolvimento ou os Terceiros responsáveis pelo sistema ou aplicação. 4.20 A Equipe de Desenvolvimento e os Terceiros devem consultar o Usuário Final para que este determine a melhor época no cronograma para realização dos testes do Protótipo, para dar-se o Aceite. 4.21 O Cronograma de Implantação deve levar em conta prazos para : - 4.22 Definição e entrega da Documentação Básica para fins de Banco de Dados, permitindo a análise da mesma por parte da Equipe de DBAs. Correção (se houver necessidade) e entrega da versão final da Documentação Básica para fins de Banco de Dados. Definição da Política de Segurança e acesso ao sistema ou aplicativo Definição dos Usuários Finais. Envio dos Scripts de Criação de Objetos de Banco de Dados do protótipo para análise por parte da Equipe de DBAs. Entrega das versões finais dos Scripts de Criação de Objetos de Banco de Dados do Protótipo. Recebimento da notificação da implantação do Protótipo. Implantação do Protótipo. Recebimento da notificação da implantação do Produto Final Implantação do Produto Final. O Cronograma de Implantação pode ser redefinido pela Equipe de DBAs, sem consentimento prévio da Equipe de Desenvolvimento ou dos Terceiros quando : - Houverem atividades urgentes a serem realizadas no Banco de Dados Corporativos e que se estenderão por mais de 5 (cinco) dias úteis em decorrência de recuperação de falhas no Banco de Dados Corporativo, recuperação de cópias de segurança, problemas nas máquinas servidoras ou migração de plataforma ou de equipamento. - Ausência inesperada mas justificada e legal de 50 % mais um de membros da Equipe de DBAs. - Ocorrer motivos de força maior e não previstos. 4.23 Caso o Cronograma de Implantação seja redefinido pela Equipe de DBAs, deverá ser enviado um ofício da Assessoria de Informática à Equipe de Desenvolvimento ou à Unidade que estiver gerenciando os Terceiros, justificando a alteração do cronograma. 4.24 A Equipe de DBAs se reserva o direito de definir o Cronograma de Implantação por si própria, quando não houver interesse da Equipe de Desenvolvimento ou dos Terceiros nesta definição conjunta, ficando, neste caso, qualquer responsabilidade pelo cumprimento de prazos acordados entre os Usuários Finais e a Equipe de Desenvolvimento (ou Terceiros) a cargo exclusivo desta última. 4.25 A Equipe de DBAs se reserva o direito de atender às solicitações das Equipes de Desenvolvimento ou de Terceiros para implantação de protótipos e de produtos finais quando esta achar mais conveniente, sem prejuízo dos trabalhos que estiver realizando, em caso de nenhum Cronograma de Implantação ou nenhuma documentação oficial referente à implantação do sistema ou aplicação for enviada à Assessoria de Informática. 4.26 Apesar de ser possível interagir programas, formulários, relatórios, aplicativos, etc. implementados por softwares de outros fabricantes que não seja Oracle ou parceiro da Oracle, é preferível utilizar as ferramentas de front-end da Oracle com uma política definida. Não é regra geral, mas existem softwares não-Oracle que não conseguem reconhecer e tratar as restrições de integridade existentes no banco de dados. 4.27 Se houver necessidade de se utilizar como front-end um software que não seja da Oracle ou de um parceiro da Oracle, deve-se consultar a Equipe de DBAs para se saber se o software consegue ou não reconhecer e tratar as restrições de integridade do banco de dados, ficando a cargo da Equipe de DBAs permtir ou não o uso de tal software para interagir com o Banco de Dados Corporativo. __________________________________________________________________ Fim do Documento : 27/07/2.000 Este documento pode ser obtido em http://www.unesp.br/ai/pdf/nt-ai.04.02.01.pdf