É o profissional especialista de TI que produz, define, analisa, desenha, recomenda as características, funcionalidades, requisito(s) da(s) Base(s) de Dados relativamente à arquitectura do(s) sistema(s) e da arquitectura do software.
Responsabilidades, características, especialização, formação e tarefas do Arquitecto de Base de Dados.
- 1. Analisar e compreender de forma relevante;
- 1.1.1. Especificações dos requisitos.
- 1.1.2. Convenções.
- 1.1.3. Documentação de Administração dos produtores de SGBDR’s.
- 2. Arquitectura de Base de Dados;
- 2.1.1. Avaliar requisitos de relevância/impacto sobre as Bases de Dados.
- 2.1.2. Realizar o planeamento de capacidade das Bases de Dados.
- 2.1.3. Assegurar que a arquitectura do sistema e do software abordam devidamente a persistência.
- 2.1.4. Determinar a tecnologia de Dados adequada (i.e., relacional ou objecto)
- 2.1.5. Avaliar e seleccionar os SGBDR’s a serem incorporados nas aplicações de software.
- 2.1.6. Determinar onde as Bases de Dados serão disponibilizadas em sistemas de aplicações distribuídas multi-camadas (i.e., Bases de Dados Relacionais em Servidores Dedicados de Base de Dados, Base de Dados de Objectos na middle tier e Base de Dados Relacionais na camada de backend da infrastrutura).
- 2.1.7. Avaliar e seleccionar correctamente e de modo apropriado os equipamentos de armazenamento (NAS, DAS, SAN e Robot’s de Tape para Backup).
- 2.1.8. Produzir os modelos lógicos para as Bases de Dados.
- 2.1.9. Determinar se o software de acesso à Base de Dados necessita modificações.
- 2.1.10. Colaborar com outros profissionais para determinar:
- 2.1.10.1. O impacto das alterações da Base de Dados nos outros sistemas.
- 2.1.10.2. O custo ao nível de recursos humanos para alteração nas Base de Dados.
- 2.1.11. Especifica as autorizações dos utilizadores:
- 2.1.11.1. Quais os utilizadores que acedem a determinada Base de Dados.
- 2.1.11.2. A que Dados os utilizadores acedem em determinada Base de Dados.
- 2.1.12. O nível de acesso aos Dados (i.e., create, select, update, delete)
- 2.1.13. Avaliar de forma adequada a plataforma que suporta as Base de Dados.
- 2.1.14. Providenciar/Normalizar modelos de código fonte:
- 2.1.14.1. Acesso a Base de Dados.
- 2.1.14.2. Stored Procedures, Views, Functions, Triggers.
- 2.1.15. Produzir os itens relacionados com a Base de Dados nas áreas do desenvolvimento/implantação e operações:
- 2.1.15.1. Plano de Implantação.
- 2.1.15.2. Manual de Instalação.
- 2.1.15.3. Manual de Operações.
Perfil
Para cumprir esta função, o profissional Arquitecto de Base de Dados deverá possuir as seguintes características pessoais, conhecimentos técnicos, formação e experiência.
- 1. Características pessoais;
- 1.1.1. Pensamento lato e abstracto que permita:
- 1.1.1.1. Trabalhar confortavelmente e estrategicamente num alto nível de abstracção
- 1.1.1.2. Ter uma visão geral sem pormenores supérfluos.
- 1.1.1.3. Ter uma visão para além dos evidentes problemas e possíveis conexões entre os mesmo que pareçam não estar relacionados.
- 1.1.1.4. Capacidade de reconhecer questões essenciais subjacentes a situações complexas.
- 1.1.2. Capacidade de realizar e aplicar a engenharia nas seguintes situações:
- 1.1.2.1. Requisitos que provoquem conflitos significativos na arquitectura.
- 1.1.2.2. Decisões que envolvam competição por persistência, especialmente as Bases de Dados.
- 1.1.3. Capacidade de identificar requisitos arquitectónicos e suas ramificações na arquitectura das Base de Dados.
- 1.1.4. Capacidade de captar de uma forma clara e inequívoca o contexto da aplicação e da arquitectura do sistema, em particular base de dados herdadas.
- 1.1.5. Capacidade de estimar e projectar a actual e futura dimensão:
- 1.1.5.1. Da Base de Dados (i.e., média e número máximo de tabelas/classes e registos/objectos).
- 1.1.5.2. Hardware necessário (i.e., número e dimensão dos servidores de Base de Dados, Discos de Storage e Sistemas de Backup)
- 1.1.6. Capacidade de realizar confortavelmente tarefas de arquitectura em simultâneo.
- 1.1.7. Capacidade de tomar importantes decisões, mesmo com informação incompleta ou em conflito.
- 1.1.8. Alta capacidade de gerir e prioritizar os múltiplos desafios em simultâneo e concorrentes, tais como: questões, ambiguidades e contradições que são normais ocorrerem durante o processo de desenho e arquitectura das Base de Dados.
- 1.1.9. Capacidades consolidadas na análise e resolução de problemas.
- 1.1.10. Excelentes capacidades de comunicação verbais e escritas, capacidade de explicar e documentar a arquitectura da Base de Dados a diversas audiências
- 1.1.11. Sólidas competências de construção e motivação de equipas.
- 2. Especialização;
- 2.1.1. Conhecimentos aprofundados e práticos:
- 2.1.1.1. Tarefas, técnicas e ferramentas de arquitectura de Base de Dados.
- 2.1.1.2. Modelação lógica e física de Dados.
- 2.1.1.3. Teoria de modelação de Base de Dados, incluí normalização de dados, replicação de dados, integridade de dados e segurança de dados.
- 2.1.1.4. Desenvolvimento baseado em componentes, conceitos, modelos, infra-estrutura e interfaces.
- 2.1.1.5. Tecnologias de infra-estrutura e de integração de sistemas utilizadas para implementar as arquitecturas de sistemas, conhecimento dos fabricantes e produtos disponíveis.
- 2.1.1.6. Como desenvolver e implementar arquitecturas para aplicações distribuídas e acedida por várias plataformas heterogéneas.
- 2.1.1.7. Conceitos de Object-oriented (OO), como Abstracção, Encapsulação, Herança e polimorfismo.
- 2.1.1.8. Linguagens de Modulação (i.e., UML, OML, Modelação E-R, ) incluído a capacidade de produzir e interpretar os documentos e diagramas associados.
- 2.1.1.9. Ferramentas de modelação de Base de Dados.
- 2.1.1.10. Standards e orientações gerais de Arquitectura.
- 2.1.2. Sólidos conhecimentos:
- 2.1.2.1. Teóricos e práticos de ferramentas de Administração de Base de Dados.
- 2.1.2.2. Principais padrões e mecanismos de persistência reutilizáveis.
- 2.1.2.3. Modelos de arquitecturas de Base de Dados para aplicações específicas ou famílias de aplicações.
- 2.1.2.4. Mecanismos de segurança das Base de Dados.
- 2.1.2.5. Conceitos e técnicas de Engenharia.
- 2.1.2.6. Objectos, casos de uso, processos e modelagem funcional.
- 2.1.2.7. Arquitectura de Hardware e Software.
- 2.1.2.8. Redes e equipamentos de rede.
- 2.1.2.9. Conhecimentos teóricos e práticos de ferramentas de Engenharia de Software.
- 2.1.2.10. Conhecimentos Básicos:
- 2.1.2.10.1 Domínio da Aplicação.
- 2.1.2.10.2 Negócio da Empresa cliente.
- 2.1.2.11. Conhecimentos teóricos e práticos de ferramentas de testes e integração.
- 2.1.2.12. Ferramentas de gestão de configurações, controlo de configurações.
- 3. Formação;
- 3.1.1. Bacharelato, licenciatura ou outro ciclo superior de estudos em Engenharia Informática, Engenharia Informática e de Sistema, Engenharia de Sistemas e Informática, Engenharia Informática e de Computadores, Engenharia Electrotécnica e de Computadores, Informática, Matemática Informática ou equivalente.
- 3.1.2. Formação Profissional dos fabricantes de SGBDR’s (i.e., Oracle, Microsoft, IBM, MySQL, etc.)
- 3.1.3. Prática em:
- 3.1.3.1. Projectos, tarefas relevantes, técnicas, produtos.
- 3.1.3.2. Ferramentas, conceitos e diagramas de modelagem de Dados.
- 3.1.3.3. SGBDR’s.
- 3.1.3.4. Técnicas e Conceitos de Data Warehouse
- 3.1.3.5. Auto-formação e actualização na leitura de livros, revistas e artigos da especialidade.
- 4. Tarefas;
- 4.1.1. Arquitectura de persistência e Base de Dados:
- 4.1.1.1. Seleccionar os padrões da Arquitectura.
- 4.1.1.2. Concepção da Arquitectura lógica.
- 4.1.1.3. Concepção da Arquitectura Física.
- 4.1.1.4. Concepção do Mecanismo da Arquitectura.
- 4.1.1.5. Reutilização da Arquitectura
- 4.1.1.6. Documentação da Arquitectura.
- 4.1.1.7. Garantia da Integridade da Arquitectura.
- 4.1.1.8. Ambientes de Engenharia, incluí fornecedores SGBDR’s.
- 4.1.1.9. Avaliação de SGBDR’s
- 4.1.1.10. Selecção de SGBDR’s.
- 4.1.1.11. Implementação;
- 4.1.1.11.1. Planeamento da implementação.
- 4.1.2. Operações;
- 4.1.2.1. Documentação das Operações, incluí:
- 4.1.2.1.1. Documentação incluindo operações: (tarefas operacionais de administração de Base de Dados, tarefas Operacionais, tarefas de instalação de Base de Dados e software associado).
- 4.1.3. Engenharia da Qualidade;
- 4.1.3.1. Controle de Qualidade – Avaliação de requisitos.
- 4.1.3.2. Inspeccionar e avaliar o desenho da Base de Dados.
- 4.1.4. Documento do design da Base de Dados.
- 4.1.5. Componente de Software.
- 4.1.6. Garantia de Qualidade – Auditoria do Desenvolvimento da Base de Dados.
- 4.1.7. Técnicas, tarefas relacionadas com a Base de Dados.
- 4.1.8. Standards, modelos, validação e verificação do documento de design da Base de Dados.
João Paulino