Professional Documents
Culture Documents
Laboratrio Tcnico
Manual do Laboratrio DEV024
UML e Modelagem de dados com Visual
Studio .NET
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
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.
Pgina 1 de 17
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.
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.
Pgina 2 de 17
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 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.
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.
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.
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
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.
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.
Selecione e arraste uma forma Message (return) do modelo UML Sequence sobre a pgina de
desenho.
D um duplo - clique na forma Message (return) sobre o desenho e configure a propriedade Name
para Approve Rental.
Clique em OK.
Pgina 5 de 17
D um clique com o boto direito do mouse no pacote Car Rental System na janela Model
Explorer selecione New | Package.
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.
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.
Selecione e arraste a classe CarInventory da janela Model Explorer para a estrutura esttica do
desenho de pgina.
Pgina 6 de 17
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.
Clique em OK.
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.
Clique em OK. Se uma caixa de dilogo perguntar se voc gostaria de criar um novo diretrio para
o projeto, clique em Yes.
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.
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.
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.
Clique OK.
Na janela Model Explorer exponha System, exponha Web, e exponha UI para acessar o desenho
UML representando um UserControl.
Sobre o subdiretrio Inc d um clique com o boto direito do mouse em Static Structure-1,
selecione Rename e renomeie para Web Controls.
Resumo do Laboratrio
Neste lab voc realizou os seguintes exerccios.
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
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.
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.
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....
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 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 em OK.
Segure a tecla Shift e clique no primeiro fato listado no painel Fact Types, e ento clique no ltimo
fato.
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 qualquer objeto na pgina de desenho, e veja a descrio textual dos fatos relacionados
na janela Verbalizer.
Pgina 13 de 17
Escolha File | Save. Para o campo File name, digite C:\ORM_Articles.vsd. Clique em Save.
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.
Nota: No dever haver avisos de erro. um bom hbito verificar o modelo por erros enquanto est
sendo construdo.
Pgina 14 de 17
Clique em Next.
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).
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.
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
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 ORMDatabase.
Clique em Tables.
Note que as tabelas Article, Author, Author writes Article foram criadas.
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.
Clique em Next.
Clique em Finish.
Pgina 16 de 17
Clique em Add.
Escolha File | Save. Para o campo File name, digite C:\Reverse_DB_ORM.vsd. Clique em
Save.
Marque Generate a text file with the DDL script. Deixe o nome padro para o arquivo
Clique em Next.
Clique em Next.
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.
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.
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