Principais Diagramas Da Uml
Principais Diagramas Da Uml
Principais Diagramas Da Uml
1
Objetivo
Entender o que e como funciona na prtica a Linguagem de Modelagem Unificada
conhecida como UML e seus principais diagramas. A partir dos conceitos
apresentados aqui, irei demonstrar fundamentos bsicos da criao de um projeto do
zero, como dividir o problemas em partes retratando e utilizando a UML (s os
principais diagramas), e por final criar uma soluo no Visual Studio.
A ideia principal mostrar como podemos comear um projeto atravs de uma boa
anlise e repartindo o sistema e blocos para se ter um bom entendimento do que fazer
e mostrar, como pensar em solues e evitar erros no desenvolvimento de um projeto.
No importa qual projeto voc tem em mente, pode ser uma aplicao desktop, web
ou mobile o conceito ser tratado da mesma maneira. No importa qual a linguagem
ou o banco de dados utilizados, isso no mudar a forma de como ser projetado o
seu sistema, mas sim, como definir o escopo, qual plataforma e linguagem que ser
utilizada, modelar o sistema em partes para se ter um bom planejamento do que
fazer.
Ateno, no descreverei todos os diagramas da UML, apenas mostrarei conceitos
bsicos mais utilizados para criao de um projeto, isso tornaria os slides muito
longos, portanto, manterei o foco na objetividade da UML e somente os diagramas
principais mais utilizados. Objetivo modelar nosso sistema com alguns conceitos de
UML para que podemos obter maior produtividade no desenvolvimento.
2
Introduo a UML
A UML (Linguagem de Modelagem Unificada) uma linguagem criada para
visualizar, especificar, construir e documentar artefatos de um sistema de software.
A UML no uma metodologia de desenvolvimento de software, o que significa
que ela no diz o que voc deve fazer primeiro no desenvolvimento de um
software ou muito menos como projetar seu sistema, a UML apenas tem como
objetivo auxiliar e visualizar seu desenho e a comunicao entre os objetos.
A UML prov um conjunto de diagramas e seus componentes todos em conotao
(semntica) bem definidos, com isso possvel atravs de diagramas visualizar
cada parte do software e como ela ser retratada. Seguir os conceitos da UML
saber definir a raiz do problema antes que ele seja desenvolvido ou implementada,
conseguir localizar erros, pensar em solues ates mesmo do desenvolvimento
do projeto.
3
Diagrama de Caso de Uso
O diagrama de caso de uso um diagrama da UML que tem como finalidade
representar a interao entre o ator e o sistema e seu comportamento, cujo seu
objetivo facilitar a comunicao entre o sistema e o analista. Um diagrama de
caso de uso representado por:
- Atores;
-Caso de usos;
- Relacionamento entre estes elementos
4
Ator um usurio do sistema, que pode ser
um usurio humano ou um sistema
operacional, ou seja, o que vai se interagir
com o sistema.
5
Perguntas a serem usadas para auxiliar na identificao dos casos de uso
do sistema
6
Diagramas de Classes
o paradigma mais utilizado na UML, representado os tipos de objetos de um
sistema, podendo ser mapeado diretamente para uma linguagem orientada a
objetos tratando- se de uma estrutura lgica esttica mostrando elementos
declarativos de modelo, como classes, tipo e seus respectivos contedos e
relaes. Vejamos o exemplo abaixo:
7
Relacionamentos
As classes possuem um relacionamento entre elas (para comunicao), ou seja,
compartilham informaes entre si e colaboram umas com as outras.
Os principais tipos de relacionamentos so: Associao, Agregao/Composio,
Generalizao e Dependncia.
NomedaClasse 1 * NomedaClasse
Mtodo( ) Mtodo( )
8
Agregao um tipo de associao ( parte de, todo/parte) onde o objeto
parte um atributo de todo, a existncia do objeto-parte faz sentido, mas no
existindo o objeto todo.
9
Generalizao Tambm conhecida como herana representa suas
dependncias e hierarquias, ou seja uma Subclasse que herda itens especficos
da Superclasse.
10
MER (Modelo de Entidade e
Relacionamento)
O Modelo de Entidade e Relacionamento mais conhecido como MER, um modelo
conceitual onde se descreve o banco de dados representado por um Entidade e
Relacionamento (ER). No diagrama ER, utiliza-se smbolos grficos para
representar os requisitos dos usurios.
Entidade pode ser considerada por um objeto que identificado de forma nica em
relao aos outros objetos. Aps um levantamento de requisitos, pode se ter uma
ideia de como ser desenhado o MER e quantas entidades podem existir em um
determinado projeto.
11
Atributos
Um exemplo a Tabela
Relacionamento
Contato_Cliente que se relaciona
com a tabela Cliente onde um
cliente pode ter vrios contatos.
12
Observao
Foi apresentado um dos principais diagramas da UML, com isso possvel
criar um projeto pequeno usando como base esses diagramas. Como fase
inicial do projeto, necessrio modelar o sistema para que se consiga
enxergar os problemas e encontrar solues antes mesmo de partir para o
desenvolvimento. Claro que no pude descrever todos os diagramas e suas
respectivas funcionalidades, isso levaria mais tempo e a ideia criar um
projeto simples mas que tenha como intuito tirar as ideias do papel e separar
os problemas em partes, modelando e encontrando solues eficazes para os
problemas.
13
Ferramentas
O primeiro passo modelar nosso sistemas criar as classes que vamos utilizar,
os objetos e modelar nosso banco de dados. Para isso vamos utilizar a
ferramenta de modelagem Astah , com ela criaremos todos os nossos
diagramas essenciais para o projeto.
No link abaixo faremos o download da verso astah community.
Link: http://astah.net/download
astah community.
14
Criando o Diagrama de Casos de Uso
Aps instalado o astah vamos criar o nosso primeiro o diagrama de casos de
uso. No meu superior seleciona a opo Diagram -> UseCaseDiagram
15
Voc ver uma tela como esta, na parte superior tem as ferramentas necessrias
para se construir o caso de uso, selecionando estas ferramentas voc dever
criar seu caso de uso de acordo com a imagem abaixo. O ator que aquele que
interage com o sistema, podendo realizar o CRUD do cliente, produto, pedido e
usurio. Cada elipse representa os elementos que iremos interagir e com eles
suas classes e tabelas do projeto, assim sendo, faremos um crud para cada um
deles.
16
17
OBS: Fizemos o CRUD do cliente, com isso sabemos que nosso sistema ir
incluir, alterar, excluir e consultar um cliente. Faa isso para Pedido, Produto e
Usurio.
Com isso, a parte de Cliente do nosso sistema j est modelada. =)
18
Criando Diagrama de Classes
19
Fizemos nosso diagrama de classes, com base nesse diagrama criaremos
nossas classes no projeto. Podem ver que se trata de um projeto simples,
ento tentei deixar o mais bsico e didtico possvel para termos uma ideia de
como comear um projeto e modelar a partir dos diagramas da UML.
20
Criando nosso banco e dados
21
Segundo passo criar as tabelas
do nosso banco de acordo com
o diagrama: Cliente, Usurio,
Produto e Pedido
22
23
Terceiro passo criar o relacionamento entre as tabelas, ou seja,
as FK. Neste caso a tabela Pedido ir se relacionar com Cliente e
Produto. Execute o script abaixo no seu banco para criar as FKs
24
Criando o Projeto no Visual Studio
Agora que j temos nosso banco de dados pronto, o prximo passo criar o
projeto no visual studio seguindo de base a modelagem feita anteriormente do
nosso sistema. Com o visual studio aberto vamos criar um projeto novo
conforme a imagem abaixo.
25
Selecione a opo MVC e clique em OK
26
Aps criado o projeto em mvc ser aberta uma tela como esta. Normalmente separa-se
as camadas por projetos, com isso criarei as 3 principais camadas que so: DALL
(acesso a dados), BLL (camada de negcios), UI (camada de apresentao) e UnitTest
(camada de testes unitrios). Com o boto direito em cima da solution vamos add um
novo projeto DALL.
27
Com o boto direito na solution selecione Add New Project Web Application e crei
os projetos DALL, BLL e Unit Test conforme a imagem abaixo, e renome o projeto
principal para GerenciadorPedidosWebUI que ser nosso projeto principal contendo as
classes do MVC (Model, View e Controllers.
28
No projeto GerenciadorPedidosWebUi vamos clicar com o boto direito do mouse na
pasta Model e criar todas as classes e suas propriedades do nosso projeto seguindo o
diagrama de classes. OBS: ao criar o projeto MVC, por padro j criado classes no
projeto, contudo vamos excluir essas classes que no sero utilizadas e criar somente
as classes que foram definidas no diagrama de classes. Na View deixaremos somente a
pasta Shared, que poder ser usada posteriormente.
29
Agora faa o mesmo para as outras classe Pedido, Produto e Usuario
30
Dentro do projeto DALL vamos criar duas pastinhas Data.Base onde incluiremos nosso
modelo de dados, e Interface onde nela possuir as interfaces de nossas classes .
DataBase
Interface
31
Boto direito em cima do projeto GerenciadorPedidosDALL -> Add -> Class e crie todas
as classes que ser usada em nosso projeto conforme a imagem abaixo, e mantenham a
extenso do nome para melhor padronizao e organizao.
32
Dentro da pasta Interface crie as principais classes, as mesma criada no projeto DALL, ao
invs de selecionarmos Class selecione Interface conforme a imagem abaixo e faa para
o restante.
33
Conforme a imagem abaixo criamos os mtodos desta interface o CRUD e como
parmetro passamos a classe e o objeto. necessrio add nas referncia o projeto web
onde contm a classe de modelo. Faa o mesmo para as outras interfaces.
34
Aps criado a interface da classe agora o prximo passo criar as classes na DALL, para
que a classe Cliente possa herdar os mtodos da ICliente. O procedimento ser o
mesmo para as outras classes, no esquea de incluir a namespace da model
35
Consideraes
Agora que foram criadas as classes cliente nas camadas, faa o restante para:
Pedido, Produto e Usurio.
Agora podemos entender como a UML funciona e como ela faz diferena na
modelagem de um sistema, embora muitas pessoas no a utilizem, eu a
recomendo, pois antes de comearmos a desenvolver um software precisamos
colocar no papel o que devemos fazer para que quando chegarmos na parte da
codificao no teremos tantos erros e saberemos o que exatamente devemos
fazer.
Resolvi fazer este artigo pois, no inicio da minha carreira acadmica sempre tive
vontade de criar algo mas no sabia como comear, e no tinha achado nada
na internet que pudesse me orientar de alguma forma como modelar. Por isso
espero que gostem desse artigo e espero tambm que possa ajuda-los de
alguma forma a entender melhor sobre modelagem de sistemas e ajude a criar
seus projetos de uma forma simplifica.
36
Sobre
Jssica Nathany Carvalho Freitas
Graduada em Sistemas de Informao
Trabalho atualmente como programadora .NET
GuitHub: https://github.com/JNathany
Email: [email protected]
Site: www.jncoder.com.br
37