Introdução
Conforme definido em [NBG01], a modelagem de dados conceituais representa o estágio inicial no desenvolvimento do
design dos dados persistentes e do armazenamento de dados persistentes para o sistema. Em muitos casos, os dados
persistentes do sistema são gerenciados por um RDBMS (Relational Database Management System). As entidades de negócios
e de sistema identificadas em um nível conceitual a partir dos modelos de negócios e dos requisitos do sistema se
desenvolverão por meio das atividades de análise de caso de uso, design de caso de uso e tarefas de design de banco de
dados em designs detalhados de tabela física que serão implementados no RDBMS. Observe que o Modelo de Dados
Conceituais descrito neste documento de conceito não é um produto de trabalho separado. Ele consiste em uma
visualização composta de informações contidas nos produtos de trabalho Modelagem de Negócios, Requisitos e Disciplinas
de Análise e Design existentes, que são relevantes para o desenvolvimento do Modelo de
Dados.
O Modelo de Dados geralmente se desenvolve por meio dos três estágios
gerais a seguir:
-
Conceitual-Este estágio desenvolve a identificação das principais entidades de negócios e de sistema de alto
nível e os respectivos relacionamentos, que definem o escopo do problema a ser tratado pelo sistema. Essas
principais entidades de negócios e de sistema são definidas utilizando os elementos de modelagem do perfil UML para
a modelagem de negócios incluída no Modelo de Análise de Negócios e nos elementos do modelo de Classe de Análise do Modelo de Análise.
-
Lógico-Este estágio desenvolve o refinamento das entidades conceituais de negócios e de sistema de alto
nível em entidades lógicas mais detalhadas. Opcionalmente, essas entidades lógicas e seus relacionamentos podem ser
definidos em um Modelo de Dados Lógicos, utilizando os elementos de modelagem do perfil UML para o design de banco
de dados, conforme descrito em Diretrizes:
Modelo de Dados. Este Modelo de Dados Lógicos opcional faz parte do Produto de Trabalho: Modelo de Dados e não de um produto de
trabalho separado do RUP.
-
Físico-Este estágio envolve a transformação dos designs de classe lógica em designs detalhados e otimizados
de tabela de banco de dados física. O estágio físico também inclui o mapeamento dos designs de tabela de banco
de dados para espaços de tabelas e para o componente de banco de dados no design de armazenamento de banco de
dados.
As tarefas relacionadas ao design de banco de dados se estendem por todo o ciclo de vida do desenvolvimento de software
e as tarefas iniciais de design de banco de dados podem ser iniciadas durante a fase de
iniciação. Para projetos que utilizam a modelagem de negócios para descrever o contexto de negócios do
aplicativo, o design de banco de dados pode iniciar em um nível conceitual com a identificação de Agentes de Negócios e
Casos de Uso de Negócios no Modelo de Casos de Uso de Negócios e de Trabalhadores e Entidades de Negócios no Modelo de
Análise de Negócios. Para projetos que não utilizam modelagem de negócios, o design de banco de dados pode
iniciar no nível conceitual com a identificação de Agentes do Sistema e Casos de Uso do Sistema no Modelo de Casos de
Uso e a identificação de Classes de Análise no Modelo de Análise a partir das Realizações de Casos de Uso.
A figura a seguir mostra o conjunto de elementos do Modelo de Dados Conceituais que reside nos Modelos de Negócios,
Modelos de Requisitos e Modelo de Análise.
As seções a seguir descrevem os elementos dos Modelos de Negócios, do Modelo de Casos de Uso e do Modelo de Análise que
podem ser utilizados para definir o Modelo de Dados Conceituais para dados persistentes no sistema.
Elementos da Modelagem de Dados
Conceituais
Modelos de Negócios
Modelo de Caso de Uso de Negócios
O Modelo de Casos de Uso de Negócios consiste em Agentes de Negócios e Casos de Uso de Negócios. Os Casos de Uso
de Negócios representam os principais processos de negócios que são utilizados para definir o contexto para o sistema a
ser desenvolvido. Os Agentes de Negócios representam as principais entidades externas que interagem com o negócio
por meio dos Casos de Uso de Negócios. A figura a seguir mostra um exemplo de Modelo de Casos de Uso de Negócios
muito simples para um aplicativo de leilão on-line.
Como entidades de significância para o problema de espaço do sistema, os Agentes de Negócios são entidades candidatas
para o Modelo de Dados Conceituais. No exemplo anterior, os Agentes de Negócios Comprador e Vendedor são
entidades candidatas para as quais o aplicativo de leilão on-line deve armazenar informações.
Modelo de Análise de Negócios
O Modelo de Análise de Negócios contém classes que modelam os Trabalhadores de Negócios e Entidades de Negócios
identificados a partir da análise do fluxo de trabalho no Caso de Uso de Negócios. Os Trabalhadores de Negócios
representam os trabalhadores participantes que executam as ações necessárias para executar esse fluxo de
trabalho. As Entidades de Negócios são "itens" que os Trabalhadores de Negócios utilizam ou produzem durante esse
fluxo de trabalho. Em muitos casos, as Entidades de Negócios representam tipos de informações que o sistema deve
armazenar persistentemente.
A figura a seguir mostra um exemplo de diagrama de seqüência que representa os Trabalhadores de Negócios e as Entidades
de Negócios de um cenário do Caso de Uso de Negócios intitulado "Fornecer Leilão On-line", para gerenciar um leilão.
Neste exemplo simplificado, o objeto Gerenciador de Leilão representa uma função Trabalhador de Negócios que
provavelmente será executada pelo próprio sistema de gerenciamento de leilão on-line. Os objetos Leilão e Item de
Leilão são Entidades de Negócios que são utilizadas ou produzidas pelo Gerenciador de Leilão, que atua como um agente
para os Agentes de Negócios Vendedor e Comprador. De uma perspectiva de design de banco de dados, as Entidades de
Negócios Leilão e Item de Leilão são entidades candidatas ao Modelo de Dados Conceituais.
Requisitos e Modelos de Análise
Para projetos que não executam modelagem de negócios, os Requisitos (Caso de Uso do Sistema) e os Modelos de Análise
contêm elementos do modelo que podem ser utilizados para desenvolver um Modelo de Dados Conceituais. Para
projetos que utilizam modelagem de negócios, as entidades de negócios e os relacionamentos identificados nos Modelos de
Análise de Negócios são refinados e detalhados no Modelo de Análise como Classes de Entidade.
Modelo de Casos de Uso de Sistema
O Modelo de Casos de Uso de Sistema contém Agentes de Sistema e Casos de Uso de Sistema que definem as principais
interações dos usuários com o sistema. Os Casos de Uso de Sistema definem os requisitos funcionais do sistema.
De uma perspectiva de modelagem de dados conceituais, os Agentes de Sistema representam entidades externas ao sistema
para os quais o sistema pode precisar armazenar informações persistentes. Isso é importante nos casos em que o Agente
de Sistema é um sistema externo que fornece dados para e/ou recebe dados do sistema sob desenvolvimento. Os
Agentes de Sistema podem ser derivados dos Agentes de Negócios no Modelo de Casos de Uso de Negócios e dos
Trabalhadores de Negócios no Modelo de Análise de Negócios.
A figura a seguir representa o Modelo de Casos de Uso de Negócios para o sistema de leilão on-line. Neste modelo,
os Agentes de Negócios Comprador e Vendedor são agora derivados de um Agente de Negócios genérico Usuário.Um novo
Agente de Sistema denominado Agência de Serviço de Crédito foi incluído para refletir a necessidade de processar
pagamentos por meio de uma entidade externa. Este novo Agente de Sistema é uma outra entidade candidata ao Modelo
de Dados Conceituais.
Modelo de Análise
O Modelo de Análise contém as Classes de Análise identificadas nas Realizações de Casos de Uso para
os Casos de Uso de Sistema. Os tipos de Classes de Análise de interesse fundamental de uma perspectiva de modelagem de
dados conceituais são as as Classes de Análise de Entidade. Conforme definido em Diretrizes:
Classe de Análise, as Classes de Análise de Entidade representam informações gerenciadas pelo sistema que devem ser
armazenadas de modo persistente. As Classes de Análise de Entidade e seus relacionamentos formam a base do Modelo
de Dados inicial para o aplicativo.
As Classes de Análise de Entidade no Modelo de Análise podem ser refinadas e detalhadas para Classes de Design
Persistente lógicas no Modelo de Design. Essas classes de design classes representam tabelas candidatas no Modelo
de Dados. Os atributos das classes são colunas candidatas às tabelas e também representam chaves candidatas para
elas. Diretrizes: Bancos de Dados Relacionais de Engenharia de Redirecionamento para obter
uma descrição de como os elementos no Modelo de Design podem ser mapeados para os elementos do Modelo de Dados.
|