Vous êtes sur la page 1sur 21

LabTech

Laboratrio Tcnico
Manual do Laboratrio DEV024
UML e Modelagem de dados com Visual
Studio .NET

Data de reviso: Abril de 2004

As informaes neste documento esto sujeitas a alteraes sem aviso prvio. Os exemplos de companhias,
organizaes, produtos, pessoas, e eventos utilizados neste documento so fictcios. Nenhuma associao com
qualquer companhia, organizao, produto, pessoa ou evento reais deve ser entendida como inferida. Respeito a
qualquer lei aplicvel de direito de cpia de inteira responsabilidade do usurio. Sem limitar os direitos sobre a
obra, nenhuma parte deste documento pode ser reproduzida, armazenada ou introduzida em um sistema de
armazenamento, ou transmitida em nenhuma forma ou por nenhum meio (eletrnico, mecnico, fotocpia,
gravao ou qualquer outro), ou por qualquer motivo, sem expressa permisso por escrito de Microsoft
Corporation.
Microsoft pode ter patentes, pedidos de patentes, marcas registradas, ou outro direito de propriedade intelectual
cobrindo os assuntos em questo deste documento. Exceto quando expressamente fornecido em qualquer
acordo de licena por escrito da Microsoft, a fabricao deste documento no te d nenhuma licena a estas
patentes, marcas registradas, direito sobre a obra, ou outra propriedade intelectual.
2015 Microsoft Corporation. Todos os direitos reservados.
Microsoft, MS-DOS, MS, Windows, Windows NT, MSDN, Active Directory, BizTalk, SQL Server, SharePoint,
Outlook, PowerPoint, FrontPage, Visual Basic, Visual C++, Visual J++, Visual InterDev, Visual SourceSafe, Visual
C#, Visual J#, e Visual Studio so todos marcas registradas ou marcas de Microsoft Corporation nos Estados
Unidos e/ou outros pases.
Outros nomes de produtos e empresas descritos aqui podem ser marcas registradas de seus respectivos donos.

Pgina i de 17

ndice
LAB 1: MODELAGEM UML COM VISUAL STUDIO .NET......................................................................................1
Requisitos............................................................................................................................................................. 1
Objetivos do Lab.................................................................................................................................................. 1
Exerccio 1 Criando um diagrama de caso de uso............................................................................................ 1
Tarefa 1 Criando um diagrama de caso de uso............................................................................................. 2
Tarefa 2 Adicionando casos de uso ao diagrama.......................................................................................... 2
Exerccio 2 Criando um diagrama de seqncia............................................................................................... 3
Tarefa 1 Adicionando um diagrama de seqncia ao modelo.......................................................................3
Tarefa 2 Adicionando linha de tempo ao diagrama de seqncia.................................................................4
Tarefa 3 Adicionando retngulos de ativao no diagrama de seqncia.....................................................4
Tarefa 4 Adicionando mensagens ao diagrama de seqncia......................................................................4
Exerccio 3 Criando um diagrama de classe..................................................................................................... 6
Tarefa 1 Adicionando um diagrama de classe ao modelo.............................................................................6
Tarefa 2 Adicionando classes ao diagrama de classe...................................................................................6
Exerccio 4 Gerando cdigo do modelo............................................................................................................. 7
Tarefa 1 Gerando o cdigo............................................................................................................................ 7
Exerccio 5 Engenharia reversa de cdigo para um diagrama de classe..........................................................8
Tarefa 1 Abrindo um projeto existente........................................................................................................... 8
Tarefa 2 Engenharia reversa no projeto para um modelo UML no Visio.......................................................8
Resumo do Laboratrio........................................................................................................................................ 9
LAB 2: MODELAGEM DE DADOS USANDO O VISUAL STUDIO .NET..............................................................10
Requisitos........................................................................................................................................................... 10
Objetivos do Lab................................................................................................................................................ 10
Exerccio 1 Desenho conceitual usando Object Role Modeling (ORM)...........................................................10
Tarefa 1 Criando um novo modelo ORM..................................................................................................... 10
Tarefa 2 Adicionando sentenas usando o editor de fatos..........................................................................11
Tarefa 3 Mostrando tipos de sentena no desenho.....................................................................................12
Exerccio 2 Criando os modelos fsico e lgico de banco de dados................................................................13
Tarefa 1 Criando um modelo lgico de banco de dados a partir do modelo ORM......................................13
Tarefa 2 Criando um modelo fsico de banco de dados a partir do modelo lgico......................................14
Exerccio 3 Engenharia reversa no modelo de dados.....................................................................................15
Tarefa 1 Engenharia reversa em um esquema existente de banco de dados.............................................15
Tarefa 3 Atualizando o banco de dados existente.......................................................................................16
Resumo do Laboratrio...................................................................................................................................... 16

Pgina ii de 17

Lab 1: Modelagem UML com Visual Studio .NET


Requisitos
De forma a completar este lab, voc precisar:
Acesso a um SQL server, configurado com autenticao integrada com o Windows.
Acesso ao banco de dados Northwind no SQL Server.
Acesso a um servidor IIS, com a aplicao web PetShop instalada.

Objetivos do Lab
Tempo estimado para completar este lab: 45 minutos
O objetivo deste lab criar um modelo de aplicao usando a Unified Modeling Language (UML) e o
Microsoft Visio, gerar cdigo a partir desde modelo, e engenharia reversa no cdigo a partir de um
projeto existente para criar um novo modelo.

O lab consiste em cinco exerccios:

Exerccio 1: Criando um diagrama de caso de uso


Criando um diagrama Use Case de um sistema de aluguel de carro.
Exerccio 2: Criando um diagrama de seqncia
Criando um diagrama de seqncia baseado no diagrama de caso de uso.
Exerccio 3: Criando um diagrama de classes
Criando um diagrama de classes baseado no diagrama de seqncia.
Exerccio 4: Gerando cdigo a partir do modelo
Gerando cdigo baseado no UML do sistema de aluguel de carro.

Exerccio 5: Engenharia reversa de um cdigo em um diagrama de


classe
Gerando um modelo a partir de um projeto existente.

Exerccio 1 Criando um diagrama de caso de uso


Neste exerccio, voc ir criar um diagrama de caso de uso para um sistema de aluguel de carro.

Pgina 1 de 17

Tarefa 1 Criando um diagrama de caso de uso

Clique em Start, aponte para Programs, e ento clique em Microsoft Visio.

Selecione File | New | Software | UML Model Diagram.

Na janela Model Explorer d um duplo - clique no sub-diretrio de Static Model Top Package. Se
a janela Model Explorer no estiver visvel, selecione UML | View | Model Explorer para mostrar
a mesma.

Configure a propriedade Name para Car Rental System. Clique em OK.

D um clique com o boto direito do mouse no pacote Car Rental System na janela Model
Explorer, selecione New | Use Case Diagram. Um diagrama de caso de uso com o nome Use
Case-1 dever aparecer embaixo do pacote Car Rental System.

D um clique com o boto direito do mouse no diagrama Use Case-1 na janela Model Explorer,
selecione Rename, e renomeie o diagrama para Use Case Diagram.

Tarefa 2 Adicionando casos de uso ao diagrama


Selecione e arraste um System Boundary dos modelos UML Use Case sobre o desenho de pgina
Use Case Diagram. Se o modelo no estiver visvel, selecione File | Stencils | Software | UML
Use Case.
Selecione 100% da caixa de seleo Zoom na toolbar.
Arraste para o topo do desenho.
D um duplo - clique nas formas System Boundary, e digite Car Rental System par renomear a
forma.
Clique em qualquer lugar fora da rea de texto para sair do modo de entrada de texto.
Selecione e arraste um Use Case do modelo UML Use Case no System Boundary. Repita isto mais
duas vezes. Arrume os casos de usos verticalmente.
D um duplo - clique em um destes casos de uso na pgina de desenho, e configure a propriedade
Name para Reserve Car. Renomeie os outros dois casos de uso para Pick Up Car e Return Car.
Selecione e arraste um Actor do modelo UML Use Case sobre a pgina de desenho fora da rea
System Boundary.
D um duplo - clique no Actor e configure a propriedade Name para Customer.
Selecione e arraste a forma Communicates do modelo UML Use Case sobre a pgina de desenho.
Repita isto mais duas vezes. As linhas devero aparecer com um marcador de erro vermelho para
indicar que elas no foram conectadas devidamente ainda.
Selecione e arraste a forma Communicates at que uma das suas extremidades intercepte um ponto
de conexo no Actor. Pontos de conexo so denotados por uma pequena marca azul "x" na
forma.

Pgina 2 de 17

Selecione a extremidade no conectada da forma Communicates, e arraste para a extremidade para


um dos pontos de conexo de um caso de uso. O marcador de erro vermelho na forma
Communicates dever desaparecer.
Repita os dois passos anteriores para as outras formas Communicates, mas conectando os casos
de uso remanescentes.
Nota: Quando se conecta mltiplos pontos de finalizaes Communicates ao mesmo ponto de
conexo no Actor, esteja certo que as formas Communicates se conectam com o Actor e no uns aos
outros. Voc pode aumentar o nvel de zoom para ver mais claramente aonde a conexo feita.
Pressione e segure a tecla Shift enquanto seleciona cada forma Communicates, continue
segurando a tecla Shift e d um clique com o boto direito do mouse, ento selecione Shape
Display Options....
Na janela de dilogo UML Shape Display Options, desmarque as opes First end name, Second
end name e End multiplicities.
Clique em OK.
Escolha File | Save. Para o campo File name, digite C:\CarRentalSystem.vsd. Clique em Save.
Clique em OK para a janela de dilogo.

Exerccio 2 Criando um diagrama de seqncia


Neste Exerccio, voc criar um diagrama de seqncia para o sistema de aluguel de carro que foi
previamente definido.

Tarefa 1 Adicionando um diagrama de seqncia ao modelo

D um clique com o boto direito do mouse no pacote Car Rental System na janela Model
Explorer, selecione New | Sequence Diagram. Um diagrama de seqncia com o nome
Sequence-1 dever aparecer sobre o pacote Car Rental System.

D um clique com o boto direito do mouse no diagrama Sequence-1 na janela Model Explorer,
selecione Rename, e renomeie o diagrama para Sequence Diagram.
Pgina 3 de 17

Selecione 100% da caixa de seleo Zoom na toolbar.

Tarefa 2 Adicionando linha de tempo ao diagrama de seqncia

Selecione e arraste um Object Lifeline do modelo UML Sequence sobre a pgina de desenho. As
formas devero aparecer com um marcador de erro vermelho para indicar que eles no foram
ainda configurados devidamente.

Repita o ltimos passo mais duas vezes. Arrume as linhas de tempo uma ao lado da outra.

D um duplo - clique na forma mais a esquerda Object Lifeline na pgina de desenho.

Clique em New... para criar um novo Classifier, e configure a propriedade Name para Customer na
janela de dilogo UML Class Properties. Clique em OK.

Configure a propriedade Name para Customer na janela de dilogo UML Classifier Role
Properties.

Clique em OK. O marcador de erro vermelho dever desaparecer.

Repita o passo anterior no prximo Object Lifeline usando RentalAgent para o nome da classe
UML e Rental Agent para o nome do Classifier Role.

Repita para o ultimo Object Lifeline usando CarInventory para o nome da classe UML e Car
Inventory para o nome da Classifier Role.

Pressione e segure a tecla Shift enquanto seleciona cada forma Object Lifeline, continue
segurando a tecla Shift e d um clique com o boto direito do mouse, ento selecione Shape
Display Options....

Na janela de dilogo UML Shape Display Options, marque a opo Destruction marker.

Clique em OK.

Tarefa 3 Adicionando retngulos de ativao no diagrama de seqncia

Selecione e arraste um forma Activation do modelo UML Sequence sobre a pgina de desenho.
O retngulo dever ser marcado em vermelho para indicar que ele ainda no foi acoplado e
nenhuma linha de tempo.

Selecione e arraste a extremidade superior da forma Activation perto da parte superior da linha de
tempo Customer at que ela intercepte um ponto de conexo.

Conecte a outra extremidade da forma Activation para um ponto de conexo perto da parte
inferior da linha de tempo Customer.

Repita os trs ltimos passos para acoplar as formas Activation para as linhas de tempo Rental
Agent e Car Inventory.

Nota: Voc pode fazer as linhas de tempo maiores selecionando-as e redimensionando-as usando o
marcador losango amarelo perto da parte inferior da linha de tempo. Voc ter que redimensionar
tambm o retngulo de ativao selecionando o mesmo e usando os manipuladores de
redimensionamento em suas extremidades.

Pgina 4 de 17

Tarefa 4 Adicionando mensagens ao diagrama de seqncia

Selecione e arraste uma Message (call) do modelo UML Sequence sobre a pgina de desenho. A
linha dever aparecer com um marcador de erro vermelho porque no foi ainda conectado
propriamente.

Selecione e arraste o inicio da seta da Message (call) at a seta interceptar um ponto de conexo
no retngulo de ativao da linha de tempo Customer. A Message (call) dever ser colocada
perto do canto superior direito do retngulo de ativao.

Selecione e arraste a extremidade em seta do Message (call) para interceptar o retngulo de


ativao da linha de tempo Rental Agent. O marcador vermelho de erro da forma Message (call)
dever desaparecer.

D um duplo - clique nesta Message (call).

Configure a propriedade Name para DoRental.

Configure o Return type para C#::int.

Adicione o texto Returns a Rental ID para a propriedade Documentation.

Clique em OK para a janela de dilogo UML Operation Properties e a janela de dilogo UML
Message Properties.

Selecione e arraste um novo Message (call) do modelo UML Sequence sobre a pgina de
desenho.

Conecte os pontos terminais ao retngulo de ativao Rental Agent e o retngulo de ativao Car
Inventory. Coloque a mensagem abaixo da mensagem DoRental.

D um duplo - clique nesta Message (call) no passo anterior e configure a propriedade Name para
CheckAvailability.

No painel Categories, selecione Parameters, clique em New, e configure o valor na coluna


Parameter para CarType.

Configure o valor na coluna Type para C#::string usando a caixa de seleo.

Clique em OK nas duas caixas de dilogo.

Selecione e arraste uma forma Message (return) do modelo UML Sequence sobre a pgina de
desenho.

Conecte os pontos terminais ao retngulo de ativao Customer e o retngulo de ativao Rental


Agent. Coloque a mensagem abaixo da mensagem CheckAvailability(CarType).

D um duplo - clique na forma Message (return) sobre o desenho e configure a propriedade Name
para Approve Rental.

Clique em OK.

Pressione CTRL + S para salvar as mudanas.

Pgina 5 de 17

Exerccio 3 Criando um diagrama de classe


Neste Exerccio, voc ir criar um diagrama de classe para o sistema de aluguel de carro definido
previamente.

Tarefa 1 Adicionando um diagrama de classe ao modelo

D um clique com o boto direito do mouse no pacote Car Rental System na janela Model
Explorer selecione New | Package.

Configure a propriedade Name para o pacote UML para Classes.

Clique em OK.

D um clique com o boto direito do mouse no pacote Classes na janela Model Explorer,
selecione New | Static Structure Diagram. Um diagrama de estrutura esttica com o nome Static
Structure-1 dever aparecer sobre o pacote Classes.

D um clique com o boto direito do mouse no diagrama Static Structure-1 na janela Model
Explorer, selecione Rename, e renomeie o diagrama para Class Diagram.

Selecione e arraste a classe CarInventory do pacote Car Rental System para a estrutura
Classes.

Repita o passo anterior para as classes Customer e RentalAgent.

Selecione 100% da caixa de seleo Zoom na toolbar.

Nota: Um pacote separado Classes foi adicionado para evitar conflitos de nomes entre o actor do
caso de uso Customer e a classe Customer, ambos sendo abaixo do pacote Car Rental System.

Tarefa 2 Adicionando classes ao diagrama de classe

Selecione e arraste a classe CarInventory da janela Model Explorer para a estrutura esttica do
desenho de pgina.

Repita o passo anterior para as classes Customer e RentalAgent.

Pgina 6 de 17

D um duplo - clique em Customer, selecione Attributes no painel Categories, e clique em New.

Configure o valor da coluna Attribute para Name.

Configure o valor da coluna Type para C#::string usando a caixa de seleo.

Configure o valor da coluna Visibility para public usando a caixa de seleo.

Clique em OK.

Selecione e arraste a forma Binary Association do modelo UML Static Structure sobre a pgina
de desenho. A linha dever aparecer com um marcador de erro vermelho para indicar que ela
ainda no foi conectada propriamente.

Clique e arraste uma das extremidades do Binary Association para interceptar um ponto de
conexo a classe Customer. Conecte a outra extremidade a classe Rental Agent.

Repita os dois passos anteriores para conectar as classes RentalAgent e CarInventory.

D um duplo - clique na classe Customer, configure Visibility para public.

Clique em OK.

Repita os dois passos anteriores para as classes RentalAgent e CarInventory.

Segure a tecla Shift e selecione ambas as formas Binary Association. Enquanto segura a tecla
Shift, d um clique com o boto direito do mouse e selecione Shape Display Options....

Desmarque as opes First end name, Second end name e End multiplicities.

Clique em OK.

Pressione CTRL + S para salvar as mudanas.

Exerccio 4 Gerando cdigo do modelo


Neste Exerccio, voc ir gerar cdigo baseado em um modelo existente.

Tarefa 1 Gerando o cdigo

Selecione UML | Code | Generate.

Configure Target language para C#.

Configure Project Location para C:\.


Pgina 7 de 17

Marque Add Classes to Visual Studio Project.

Selecione Class Library da caixa de seleo Template.

Marque Create directory for solution.

Marque Static Model sobre Select classes for code generation.

Clique em OK. Se uma caixa de dilogo perguntar se voc gostaria de criar um novo diretrio para
o projeto, clique em Yes.

Tarefa 2 Examinando o cdigo gerado pelo Visio

Abra Windows Explorer e navegue para C:\CarRentalSystem.

D um duplo - clique em CarRentalSystem.sln para abrir a soluo no Visual Studio .NET.

Na Solution Explorer, d um duplo - clique nos vrios arquivos sobre o diretrio Classes.

Note que os atributos foram modificados para variveis pblicas e a documentao para o mtodo
DoRental se tornou comentrio.

Feche o Visual Studio .NET.

Exerccio 5 Engenharia reversa de cdigo para um diagrama de classe


Neste Exerccio, voc criar um novo modelo UML baseado em um projeto existente.

Tarefa 1 Abrindo um projeto existente

Clique em Start, aponte para Programs, aponte para Microsoft .NET Pet Shop, Ento clique em
Pet Shop Visual Studio .NET Solution.

Nota: Caso aparea uma janela de mensagem perguntando se voc deseja atualizar o projeto para a
nova verso, marque Yes.
Nota: Algumas caixas de dilogo sobre controle de verso de fonte de cdigo podem aparecer. Clique
em OK quando voc vir estas caixas de dilogo.

Tarefa 2 Engenharia reversa no projeto para um modelo UML no Visio

Selecione Project | Visio UML | Reverse Engineer.

Na janela de dilogo Select Visio UML File, aceite os nomes de arquivos padro e clique em
Save.

Nota: Clique em Yes se voc vir uma caixa de dilogo que pergunte se voc gostaria de sobrescrever
um arquivo existente.
O Visual Studio .NET ir agora comear o processo de engenharia reversa. Uma vez completado, o
Visio abrir o projeto PetShop contendo o desenho dos objetos que representam o cdigo do projeto
PetShop.
Pgina 8 de 17

Na janela Model Explorer do Visio, exponha o diretrio Web | Inc e seus sub-diretrios para
revelar os objetos projetados representando as classes no cdigo do projeto PetShop.

Selecione e arraste a classe ControlAddress sobre o subdiretrio Components sobre a pgina


de desenho.

Selecione 100% da caixa de seleo Zoom na toolbar.

D um clique com o boto direito do mouse em ControlAddress na pgina de desenho de projeto,


e selecione Shape Display Options.

Marque Attributes no grupamento Suppress.

Clique OK.

Externo ao projeto, no namespace System.Web.UI, resides a classe base UserControl da qual a


classe ControlAddress deriva. As definies para estes tipos base foram importados tambm.

Na janela Model Explorer exponha System, exponha Web, e exponha UI para acessar o desenho
UML representando um UserControl.

Selecione e arraste o UserControl sobre a pgina de desenho.

Note que o Visio automaticamente detecta os relacionamentos entre o UserControl e a classe


derivada ControlAddress e cria um smbolo de generalizao de acordo.

Sobre o subdiretrio Inc d um clique com o boto direito do mouse em Static Structure-1,
selecione Rename e renomeie para Web Controls.

Pressione CTRL + S para salvar as mudanas.

Feche o Microsoft Visio.

Resumo do Laboratrio
Neste lab voc realizou os seguintes exerccios.

Exerccio 1: Criando um diagrama de caso de uso


Criando um diagrama Use Case de um sistema de aluguel de carro.
Exerccio 2: Criando um diagrama de seqncia
Criando um diagrama de seqncia baseado no diagrama de caso de uso.
Exerccio 3: Criando um diagrama de classes
Criando um diagrama de classes baseado no diagrama de seqncia.
Exerccio 4: Gerando cdigo a partir do modelo
Gerando cdigo baseado no UML do sistema de aluguel de carro.
Exerccio 5: Engenharia reversa de um cdigo em um diagrama de classe
Gerando um modelo a partir de um projeto existente.
Neste lab voc criou um diagrama de caso de uso para um sistema de aluguel de carros. Voc criou
um diagrama de seqncia baseado no caso de uso, e ento derivou um diagrama de classe do
Pgina 9 de 17

diagrama de seqncia. Voc gerou cdigo baseado no diagrama de classe, e notou como o modelo
mapeia o cdigo. Voc tambm gerou um diagrama de classe baseado em um projeto existente e
descobriu como o cdigo mapeia de volta para o modelo.

Pgina 10 de 17

Lab 2: Modelagem de dados usando o Visual Studio .NET


Requisitos
De maneira a completar este lab, voc necessita:
Acesso a um SQL server, configurado com autenticao integrada com o Windows.
Acesso ao banco de dados Northwind no SQL Server.
Alguma familiaridade com os utilitrios cliente do SQL Server.

Objetivos do Lab
Tempo estimado para completar este lab: 30 minutos
O objetivo deste lab criar um modelo de dados usando a tcnica Object Role Modeling (ORM) e o
Microsoft Visio, gerar o modelos fsicos e lgicos do banco de dados baseados no desenho conceitual
e explorar as capacidades de engenharia reversa do Visual Studio .NET.

O lab consiste em 3 exerccios:

Exerccio 1: Desenho conceitual usando Object Role Modeling (ORM)


Crie um diagrama ORM de um banco de dados de artigos de revista.
Exerccio 2: Criando os modelos lgico e fsicos do banco de dados
Crie um modelo lgico de um modelo ORM model, e gere scripts de Data
Definition Language (DDL) para criar o modelo fsico.
Exerccio 3: Engenharia reversa no modelo de dados
Crie um modelo lgico de dados baseado em um esquema de banco de
dados existente.

Exerccio 1 Desenho conceitual usando Object Role Modeling (ORM)


Neste Exerccio, voc ir criar um modelo de dados conceitual baseado no uso de ORM

Tarefa 1 Criando um novo modelo ORM

Clique em Start, aponte para Programs, e ento clique em Microsoft Visio.

Selecione File | New | Database | ORM Source Model.


Pgina 11 de 17

Tarefa 2 Adicionando sentenas usando o editor de fatos

Clique na aba Business Rules da janela Business Rules. Se a janela no estiver visvel, selecione
Database | View | Business Rules.

D um duplo - clique na primeira entrada no painel Fact Types da janela Business Rules para
mostrar o editor de fatos.

Nota: Voc pode acessar tambm o editor de fatos selecionando Database | View | Fact Editor.

Clique na radio button Guided sobre Input style. A caixa de seleo dever indicar Binary.

Configure a propriedade da parte esquerda Object Name para Author.

Configure a propriedade Relationship para writes.

Configure a propriedade da parte direita Object Name para Article.

Configure a propriedade Inverse relationship para are written by.

Clique na aba Object.

Configure a Reference / identifier para o Author para id.

Selecione o objeto Article na lista Select object.

Configure a Reference / identifier para Article para id.

Clique na aba Constraints.

Selecione One or More para a resposta para Constraint Question #1.

Selecione One or More para a resposta para Constraint Question #2.

Clique na aba Examples.

Clique na primeira linha vazia abaixo da coluna Author, e Configure o valor para 101.

Clique na primeira linha vazia abaixo da coluna Article, e Configure o valor para Database Design
Using ORM.

Adicione uma segunda linha para Author, configure para 102, e a Article, configure para Database
Design Using ORM.

Adicione uma terceira linha para Author, configure para 101, e a Article, configure para
Essential .NET.

Clique em Analyze....

Nota: No deve aparecer nenhum aviso de erro.

Clique em Apply UC Constraints. As regras nicas so adicionadas ao modelo.

Clique em OK para fechar o editor de fato.

O fato anterior foi inserido usando o estilo Guided Input. Voc ir agora entrar um fato usando o estilo
Freeform. Note que voc deve usar o estilo Freeform se voc tiver que entrar com um fato com uma
arity maior que quatro, ou seja, maior que quatro papis esto presentes no fato.

Pgina 12 de 17

D um duplo - clique na linha vazia abaixo do fato adicionado nos passos anteriores.

Clique no radio button Freeform.

Entre com Article(id) appears in Issue(id) em Enter FreeForm Fact.

Nota: O texto em parntesis indica a entidade reference / identifier.

Clique na aba Constraints.

Configure a resposta para a Constraint Question #1 to Exactly One.

Configure a resposta para a Constraint Question #2 to One or More.

Clique em Apply para adicionar o novo fato enquanto mantm o editor de fatos aberto.

Todos os objetos gravados at agora so da entidade kind, marcados por uma reference / identifier.
Voc ir agora entrar um fato usando um tipo de valor que auto-identificado.

Clique na aba Fact.

Entre com o fato freeform Author has AuthorName.

Clique na aba Object.

Selecione o objeto AuthorName.

Mude a escolha da caixa de seleo Object kind para Value.

Clique na aba Constraints.

Configure a resposta para a Constraint Question #1 to Exactly One.

Configure a resposta para a Constraint Question #2 to One or More.

Clique em OK.

Tarefa 3 Mostrando tipos de sentena no desenho

Selecione 100% da caixa de seleo Zoom na toolbar.

Segure a tecla Shift e clique no primeiro fato listado no painel Fact Types, e ento clique no ltimo
fato.

Clique e arraste a seleo inteira para a pgina de desenho.

Dica: Um jeito alternativo de mostrar os fatos no desenho selecionando um objeto do painel Object
Types, e arrastando a seleo para a pgina de desenho. Voc pode dar um clique com o boto direito
do mouse no objeto no desenho e selecionar Show Relationships para trazer automaticamente
qualquer objeto relacionado sobre a pgina de desenho.

Selecione Database | View | Verbalizer.

Selecione qualquer objeto na pgina de desenho, e veja a descrio textual dos fatos relacionados
na janela Verbalizer.

Nota: O Verbalizer prov um forma legal de permitir especialistas de domnios no tcnicos de


verificar a validade do modelo de dados.

Pgina 13 de 17

Escolha File | Save. Para o campo File name, digite C:\ORM_Articles.vsd. Clique em Save.

Clique em OK para a janela de dilogo de propriedade.

Exerccio 2 Criando os modelos fsico e lgico de banco de dados


Neste exerccio, voc ir criar o modelo lgico a partir do modelo ORM. Voc ir ento criar as tabelas
fsicas de banco de dados do modelo lgico.

Tarefa 1 Criando um modelo lgico de banco de dados a partir do modelo ORM

Selecione File | New | Database | Database Model Diagram.

Selecione Database | Project | Add Existing Document....

Na janela de dilogo Add Document to Project, escolha o diagrama ORM salvo previamente.
Clique em Open.

Selecione Database | Project | Build.... para o campo File name, digite C:\DB_Articles.vsd.
Clique em Save.

Nota: Um aviso pode aparecer na janela Output. Este aviso pode ser ignorado.

Segure a tecla Shift e selecione as tabelas Article, Author e Author writes Article da janela
Tables and Views.

Clique e arraste a seleo inteira para a pgina de desenho.

Selecione 100% da caixa de seleo Zoom na toolbar.

Selecione Database | Model | Error Check.

Nota: No dever haver avisos de erro. um bom hbito verificar o modelo por erros enquanto est
sendo construdo.

Pgina 14 de 17

Tarefa 2 Criando um modelo fsico de banco de dados a partir do modelo lgico

Selecione Database | Generate....

Marque Generate a text file of the DDL Script.

Deixe a propriedade File name para o padro.

Marque Generate new database.

Clique em Next.

Selecione Microsoft SQL Server da lista de seleo Installed Visio drivers.

Selecione o radio button Create database.

Configure a propriedade Data source name para uma nova conexo de nome Data_Lab (voc
cria esta nova conexo clicando em New e preenchendo os dados padres para o servidor SQL no
Localhost).

Configure a propriedade Database name para ORMDatabase.

Clique em Next.

No existe nenhum nome de usurio e senha necessrios para a janela de dilogo Connect Data
Source. Clique em OK

Clique em Finish.

Clique em Close na janela de dilogo SQL Server Create Database.

O assistente ir criar um banco de dados de nome ORMDatabase. Uma janela de dilogo aparecer
perguntando se voc gostaria de ver o script de Data Definition Language (DDL) gerado.

Clique em Yes.

O editor de cdigo mostrar o script. Note que so comandos SQL para criar o banco de dados e as
tabelas do modelo. Existem tambm comandos para adicionar chaves primrias e estrangeiras para as
tabelas. O assistente pode gerar tambm uma DDL voltada para um banco de dados diferente, como
Microsoft Access, Oracle ou DB2.
Pgina 15 de 17

Feche o Code Editor.

Para ver as mudanas feitas para o banco de dados, voc pode usar uma aplicao como o Microsoft
SQL Server Enterprise Manager.

Clique em Start, aponte para Programs, selecione Microsoft SQL Server e ento clique
Enterprise Manager.

Exponha o n Microsoft SQL Servers e ento exponha SQL Server Group.

Abra o n local do SQL Server, e clique no diretrio Databases.

Note que o banco de dados ORMDatabase foi criado.

Exponha o n ORMDatabase.

Clique em Tables.

Note que as tabelas Article, Author, Author writes Article foram criadas.

Feche o Enterprise Manager.

Exerccio 3 Engenharia reversa no modelo de dados


Neste exerccio, voc vai criar um modelo lgico de banco de dados em um esquema existente de
banco de dados.

Tarefa 1 Engenharia reversa em um esquema existente de banco de dados

No Microsoft Visio, selecione File | New | Database | Database Model Diagram.

Selecione Database | Reverse Engineer....

Selecione Microsoft SQL Server da caixa de seleo Installed Visio drivers.

Configure a propriedade Data source name para uma nova conexo de nome Data_Lab2 (voc
cria esta nova conexo clicando em New e preenchendo os dados padres para o servidor SQL no
Localhost e apontando para o banco de dados ORMDatabase).

Clique em Next.

A janela de dilogo Connect Data Source aparecer. Clique em OK.

Desmarque Views e Stored procedures.

Clique em Next.

Marque as tabelas Article, Author e Author writes Article.

Clique em Finish.

Selecione 100% da caixa de seleo Zoom na toolbar.

D um duplo - clique na tabela Articles.

Na janela Database Properties, selecione a categoria Columns.

Pgina 16 de 17

Clique em Add.

Configure a propriedade Physical Name para ArticleDate.

Configure a propriedade Data Type para datetime.

Escolha File | Save. Para o campo File name, digite C:\Reverse_DB_ORM.vsd. Clique em
Save.

Clique em OK para a janela de dilogo propriedades.

Tarefa 3 Atualizando o banco de dados existente

Selecione Database | Update....

Marque Generate a text file with the DDL script. Deixe o nome padro para o arquivo

Marque Update the database.

Clique em Next.

Selecione Microsoft SQL Server da caixa de seleo Installed Visio drivers.

Selecione Data_Lab2 da Data sources.

Clique em Next.

A janela de dilogo Connect Data Source aparecer. Clique em OK.

Nota: O esquema de banco de dados existente ser atualizado neste ponto. O assistente pode indicar
que em algumas tabelas no banco de dados no foram realizadas engenharia reversa. Isto normal e
pode ser ignorado.

Clique em Finish.

Clique em Yes para ver o script de DDL gerado.

Note que a coluna ArticleDate foi adicionada a tabela Articles. O mesmo procedimento de engenharia
reversa pode tambm ser usado para recriar um modelo conceitual usando um modelo ORM Source
Model ao invs de um Database Model Diagram.

Resumo do Laboratrio
Neste lab voc realizou os seguintes exerccios.

Exerccio 1: Desenho conceitual usando Object Role Modeling (ORM)


Crie um diagrama ORM de um banco de dados de artigos de revista.
Exerccio 2: Criando os modelos lgico e fsicos do banco de dados
Crie um modelo lgico de um modelo ORM model, e gere scripts de Data
Definition Language (DDL) para criar o modelo fsico.
Exerccio 3: Engenharia reversa no modelo de dados
Crie um modelo lgico de dados baseado em um esquema de banco de
Pgina 17 de 17

dados existente.

Neste lab voc criou um modelo conceitual de banco de dados usando ORM, usando fatos para
descrever o modelo. A partir do modelo conceitual voc gerou um modelo lgico, e ento criou um
esquema fsico do banco de dados usando o modelo lgico. Voc realizou tambm engenharia reversa
em um esquema existente de banco de dados para recriar o modelo lgico. Voc ento usou as
capacidades de ida e volta de engenharia mudando o modelo e atualizando o banco de dados
existente com estas mudanas.

Pgina 18 de 17