A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

IN1008 – Projeto Conceitual de BD

Apresentações semelhantes


Apresentação em tema: "IN1008 – Projeto Conceitual de BD"— Transcrição da apresentação:

1

2 IN1008 – Projeto Conceitual de BD
Diagramas UML para Modelagem de dados Por: David Emmanuel

3 Roteiro Motivação Objetivos História da UML Conceitos importantes
Arquitetura da UML Diagramas UML UML Profile Data Modeling Referências

4 Motivação [1] [2] Unificação de todos os modelos do sistema (de aplicação a banco de dados) em torno de uma única linguagem, que pode ser compartilhada por todos os envolvidos no desenvolvimento do sistema (analistas, programadores, DBAs, etc) Permite diferentes tipos de modelagem, incluindo modelos para processos de negócio, fluxo de eventos, aplicações, arquiteturas e banco de dados O histórico evolutivo da especificação UML procura criar mecanismos de extensibilidade para atender requisitos de domínios específicos;

5 Objetivos [1] [2] [3] Facilitar a comunicação de todas as pessoas envolvidas no processo de desenvolvimento de um sistema Representar sistemas de softwares sob diversas perspectivas Ser independente de qualquer linguagem de programação Ser uma linguagem de modelagem visual expressiva, relativamente simples, e extensível Explorar as capacidades introduzidas na UML, com o uso de perfis (profiles), para atendimento das necessidades de modelagem de dados;

6 História da UML [4] [5] As linguagens de modelagem orientadas a objetos surgiram entre a partir da metade da década de 70 A quantidade de métodos orientados a objetos passou de pouco mais de 10 para mais de 50 no período de 1989 a 1994 Muitos destes métodos tiveram dificuldades para encontrar uma linguagem de modelagem capaz de atender inteiramente suas necessidades Destacaram-se alguns métodos: Método OMT – Object Modeling Technique (James Rumbaugh) Focado Análise e sistemas de informações com uso de dados Método Booch (Grady Booch) Permite a especificação de classes , objetos e interações Método OOSE - Object Oriented Software Engeneering (Ivar Jacobson) Suporte a captura de requisitos através de UseCases

7 História da UML [4] Na metade da década de 90 Booch (Rational Software Corporation), Jacobson (Objectory) e Rumbaugh (General Eletrics) partiram para a criação de uma linguagem unificada de modelagem Usando técnicas orientadas a objeto criariam uma linguagem que iria desde o conceito até o sistema executável Podendo ser utilizada por homens e máquinas, não somente para criar sistemas complexos como também sistemas menores e outros problemas que não fossem sistemas de informação. A criação da UML iniciou oficialmente em outubro de 1994 quando Rumbaugh se juntou a Booch na Rational, com foco inicial na junção dos métodos Booch e OMT. O esboço da versão 0.8 do Método unificado foi lançado em outubro de 1995, mesma época em que Jacobson se associou a Rational tentando incorporar o OOSE ao método.

8 História da UML [4] Após a versão 0.8 a integração do método OOSE ao método unificado ocorreu, resultando no lançamento da versão 0.9 da UML em junho de 1996 Esse método foi então aprovado pela comunidade de engenharia de software em geral O método despertou o interesse das empresas que criaram um consórcio com investimento de recursos tendo o propósito de trabalhar uma definição mais forte e completa da UML. Com isso foi definida a versão 1.0 da UML contando com o apoio destas empresas: Oracle, IBM, Unisys Microsoft, Rational, Intellicorp,Texas Instrument, HP I-Logix, ICON Computing e MCI Systemhouse

9 História da UML [4] Em janeiro de 1997, com uma linguagem de modelagem bem definida expressiva, poderosa e que poderia ser aplicada a uma grande variedade de projetos a UML foi oferecida a OMG (Object Management Group). De janeiro a julho de 1997 estas empresas se uniram ao grupo: Andersen Consulting, Ericson, Object Time Limited, Platinum Technology, Ptech, Recih Technologies, Softeam, Sterling e Taskon Um grupo liderado por Cris Kobryn (MCI SystemHouse) e administrado por Ed Eykholt (Rational) foi formado com o propósito de formalizar a especificação da UML e de integrar alinguagem com outros esforçoes de padronização. A versão 1.1 foi entregue a OMG em julho de 1997, em setembro foi aceita pelo Architecture Board da OMG, sendo logo após submetida a votação de todos os membros Em 14 novembro de 1997 a versão 1.1 foi adotada pela OMG

10 História da UML [4] [5] [6] [7]
Após ter sido adotada como padrão pela OMG a manutenção da UML foi então assumida pela RTF (Revision Task Force) da OMG, sob a responsabilidade de Cris Kobryn. A RTF lançou uma versão editorial, a UML 1.2 em junho de 1998 No final do mesmo ano a RTF lançou a UML 1.3 A UML está em contínuo desenvolvimento, depois da versão 1.3 surgiram a UML 1.4 em 2001, em março de 2003 a UML 1.5, em agosto do mesmo ano a UML 2.0 e em novembro de 2007 a UML 2.1 Por último a UML 2.2 lançada em fevereiro de 2009 em que está organizada em 2 volumes, o Infrastructure UML e o Superstructure UML

11 Conceitos importantes [2]
MetaModelagem – técnica de criação de metamodelos. Modelagem – arte e ciência de criar modelos de uma determinada realidade. MetaModelo – modelos que descrevem artefatos e as regras para um modelo. Modelo – consiste na interpretação de um dado domínio do problema (fragmento do mundo real sobre o qual as tarefas de modelagem incidem). Esquema – especificação de um modelo usando uma determinada linguagem, formal ou informal, textual ou gráfica. Diagrama – representação gráfica do esquema.

12 Arquitetura da UML [8] Arquitetura de 4 níveis da OMG: Camada
Descrição Exemplo M3 Meta-metamodelo Define a linguagem para especificar metamodelos MOF MetaClass, MetaAttribute, MetaOperation M2 Metamodelo Instância de um meta-metamodelo. Define a linguagem para especificar um modelo. UML e CWM Class, Property, Operation, Component M1 Modelo Instância de um metamodelo, Define a linguagem para definir um domínio da informação. Modelos de domínio específico. Ex.: Modelo de locadora. M0 Objeto do Usuário – dados do usuário Instância de um modelo. Define os valores de um domínio específico. Instâncias do modelo locadora, objetos. Ex.: Locacao # 0123, DVD ...

13 Arquitetura da UML [8] Exemplo da Arquitetura de 4 níveis da OMG

14 Arquitetura da UML [8] UML 2.2: Pacotes do volume Infrastructure:
A especificação da UML 2.2 está organizada em dois volumes: Infrastructure Superstructure (próximo slide) Metalinguagem CORE para reuso na definição de metamdelos, incluindo MOF, UML e CWM. Pacotes do CORE: Criação de novas línguas baseado no mesmo core de metalinguagem como UML. Metamodelo no núcleo da arquitetura MDA.

15 Arquitetura da UML [8] UML 2.2:
Pacotes de alto nível do pacote Superstructure: Superstructure Estende e personaliza a Infrastructure para definir o metamodelo UML. Define os elementos que compõem as notações de modelagem da UML, criadas pela extensão e acréscimo dos elementos básicos definidos na Infrastructure.

16 Diagramas UML [5] [9] Diagramas são os meios utilizados para visualização dos blocos de construção da UML São representações gráficas de um conjunto de elementos Permitem visualizar o sistema sob diversas perspectivas Dividem-se em dois tipos Diagramas Estruturais Definem os elementos do sistema e seus relacionamentos Diagramas Comportamentais Definem a funcionalidade do sistema, ou seja a interação entre seus elementos

17 Diagramas UML [11] Diagramas Estruturais Diagrama de Classes
Define os elementos básicos de um modelo: os tipos, as classes, as interfaces e os relacionamentos entre eles.

18 Diagramas UML [11] Diagramas Estruturais Diagrama de Objetos
Similar ao diagrama de classes porém sua principal diferença é que ele apresenta atributos com valores Corresponde a uma instância do diagrama de classes, mostrando o estado de um sistema em um determinado ponto do tempo

19 Diagramas UML [11] Diagramas Estruturais Diagrama de Implantação
Mostra a configuração dos elementos de processamento em tempo de execução, além dos componentes, processos e objetos existentes no sistema

20 Diagramas UML [11] Diagramas Estruturais Diagrama de Componentes
Apresenta as dependências entre componenetes de software, incluindo implementação de classes, arquivos de código fonte, arquivo de código binário, arquivos executáveis e scripts

21 Diagramas UML [5] [11] Diagramas Comportamentais
Diagrama de Caso de Uso Modela as interações entre o usuário e o sistema, definindo o comportamento, as exigências e o resultado esperado de uma funcionalidade

22 Diagramas UML [12] Diagramas Comportamentais Diagrama de Estado
Demonstra todos os possíveis estados de um objeto, como esses estados mudam (transições) e como os objetos respondem aos eventos

23 Diagramas UML [12] Diagramas Comportamentais Diagrama de Sequência
Mostra as interações entre os objetos a partir de um evento disparado pelo usuário em forma de linha do tempo

24 Diagramas UML [9] Diagramas Comportamentais Diagrama de Comunicação
É focado na organização estrutural dos objetos que enviam e recebem mensagens

25 Diagramas UML [11] Diagramas Comportamentais Diagrama de Atividade
É uma variação do diagrama de estados, representa a execução das ações e as transições que são acionadas pela conclusão de outras atividades

26 UML Profile Data Modeling [10]
Proposto por Scott Ambler O primeiro elemento que deve ser especificado é o tipo de modelo que está sendo elaborado Isto pode ser feito através de um texto descritivo em um elemento Nota da UML ou através de um estereótipo

27 UML Profile Data Modeling [10]
No caso do modelo físico de dados, pode-se também definir o tipo de armazenamento

28 UML Profile Data Modeling [10]
Tabelas de um banco de dados são definidas através de Class Boxes Estas são divididas em três seções Seção 1 Nome da tabela e estereótipo associado abaixo Seção 2 Colunas da tabela com especificação do seu tipo de dados Estereótipo também devem ser associados para definir o tipo de chave ou restrição do atributo Seção 3 Definição dos triggers associados às tabela

29 UML Profile Data Modeling [10]
Exemplo de representação de uma tabela e seus componentes de acordo com o Profile

30 UML Profile Data Modeling [10]
Class boxes também são utilizadas na representação de Views Deve ser levado em conta o emprego obrigatório do estereótipo <<View>>, cuja finalidade é facilitar a distinção entre as tabelas, pois nestas o uso do estereótipo <<Table>> é opcional

31 UML Profile Data Modeling [10]
A representação de índices também é feita através de Class Boxes Deve-se nomear o índice na primeira seção do Class box e empregar o estereótipo <<Index>> A dependência com relação a coluna que compõe o um índice pode ser expressa de 2 modos Descrevendo a coluna de dependência na segunda seção do Class Box e fazendo uma ligação com a tabela Fazendo uma ligação de dependência entre o Class Box que representa o índice e conectá-lo diretamente na tabela que é utilizada para a formação do índice

32 UML Profile Data Modeling [10]
Índice representado das duas maneiras possíveis

33 UML Profile Data Modeling [10]
Da mesma maneira que os elementos anteriores as Stored Procedures também são representadas através de Class Boxes Na primeira seção do Class Box deve ser informado um nome para a Stored Procedure e também deve ser empregado o estereótipo <<Stored Procedures>> A próxima seção é utilizada para descrever a lista de Stored Procedures ou funções, sendo que devem ser especificados os parâmetros de entrada e o tipo de retorno gerado

34 UML Profile Data Modeling [10]
Exemplo de uma Stored Procedure de acordo com o perfil proposto por Scott Ambler

35 UML Profile Data Modeling [10]
Lista de estereótipos que podem ser utilizados no modelo físico de dados em associação com o elemento Class Box da UML

36 UML Profile Data Modeling [10]
A representação das chaves de uma tabela é feita através de estereótipos e também por intermédio de tagged values Os estereótipos são utilizados para definir o tipo de chave Tagged Values são conjuntos definidos por expressões do tipo “nome = valor” As tagged values são utilizadas para aumentar o nível de detalhamento das chaves da tabela informando seu tipo e como é feita a sua composição A composição de uma chave é feita através da especificação da sua ordem

37 UML Profile Data Modeling [10]
Exemplo de representação de chaves com estereótipos e Tagged Values

38 UML Profile Data Modeling [10]
Analisando a figura anterior conclui-se que a composição das chaves pode ser expressa conforme a tabela a seguir

39 UML Profile Data Modeling [10]

40 UML Profile Data Modeling [10]
Os relacionamentos entre tabelas, também chamados de associações, são representadas por linhas sólidas entre as mesmas Este profile define uma série de estereótipos que podem ser utilizados durante a modelagem, porém, o próprio autor recomenda a utilização da representação visual dos mesmos sempre que possível

41 UML Profile Data Modeling [10]

42 UML Profile Data Modeling [10]
A especificação de restrições é feita com a utilização da OCL (Object Constraint Language) A OCL é uma linguagem declarativa através da qual são feitas as descrições de regras que se aplicam aos modelos

43 Referências [1] Diagramas UML para modelagem de Dados – Clarissa Borba e Fabrício Cabral [2] Diagramas UML para modelagem de Dados – Érick Gomes [3] [4] [5] IntroducaoUML.pdf [6] [7] [8] [9] [10] UML Data Modeling Profile – TC de Felipe Dalle Molle UFRGS [11] [12]

44


Carregar ppt "IN1008 – Projeto Conceitual de BD"

Apresentações semelhantes


Anúncios Google