Este artigo foi Desenvolvido por: Euclezio Menezes, e a contribuição indispensavel do amigo Alexandre Marinho sem o mesmo não seria possivel fazer este artigo.
INTRODUÇÂO
A UML (Unified
Modeling Language) é uma linguagem para especificação, documentação,
visualização e desenvolvimento de sistemas orientados a objetos. É um modelo
padrão para desenvolvimento de software que reúne melhores práticas de
metodologia de sistemas. Neste modelo, diversos diagramas auxiliam na
visualização do problema e a concepção da solução, permitindo uma visão macro
dos objetos e seus relacionamentos; propõe um visual para especificação
(modelagem) de sistemas orientados a objetos, fornece representação gráfica
para os elementos essenciais do paradigma de objetos como Classes, atributos,
objetos, troca de mensagens, etc.
Esta linguagem sintetiza
os principais métodos existentes, sendo considerada uma das linguagens mais
expressivas para modelagem de sistemas orientados a objetos. Por meio de seus
diagramas é possível representar sistemas de softwares sob diversas
perspectivas de visualização. Facilita a comunicação de todas as pessoas
envolvidas no processo de desenvolvimento de um sistema (gerentes,
coordenadores, analistas, desenvolvedores), por apresentar um vocabulário de
fácil entendimento.
Os sistemas
necessitam de uma série de especificações e geralmente tais documentos são
longos e muito detalhados. A modelagem proporcionada pela UML permite
simplificar o entendimento de um sistema, ao transformar suas complexidades em
objetos gráficos simples, onde a lógica interna de seu funcionamento é abstraída.
1.
MODELAGEM
Através da modelagem
também conseguimos estruturar um sistema. A manutenção que ocorrer nos
posteriores ciclos de desenvolvimento fica mais fácil de ser efetuada já que a
mesma ocorre inicialmente num nível lógico, e não no código (programa), de
forma que se pode evoluir os diagramas que serão alterados e verificar suas
conseqüências, antes de se preocupar com a fase de desenvolvimento.
A utilização da UML
nos permite que tenhamos uma melhor visualização do cenário em que o sistema
será utilizado, para assim facilitar a comunicação entre os interessados,
fazendo com que a especificação necessária permita uma definição mais precisa
dos modelos de construção. Estas facilitam o mapeamento do modelo UML para
linguagens de programação, sendo uma ferramenta de documentação de vários
aspectos do sistema.
Serve para abstrair a
complexidade do negócio, facilita melhorias, auxilia na identificação de novas
oportunidades de negócio, gera Inovações, estabelece entendimento comum aos responsáveis,
A estrutura básica da
UML é formada por:
Descrição de Casos de Uso e Diagrama de
Casos de Uso
Diagrama de Classes
Diagrama de Seqüência
Diagrama de Atividades
2. CASOS DE USO
É uma descrição
textual completa de um determinado processo, identificando seu cenário
principal, isto é, o fluxo normal que ocorreria normalmente.
Este documento é
estruturado descrevendo-se seus passos / instruções sem se ater a detalhes de
tecnologia, porém identificando o limite/restrição/faixa de dados.
Além disto, aqui
identificamos o(s) ator(es) que interage(m) com o sistema, as exceções (fluxos
/ cenários alternativos) também são explicadas porém a ênfase é dada no fluxo principal.
Através da
documentação do sistema, identificamos os atores, eventos e seus processos, de
forma a eleger os possíveis Casos de Uso.
O Ator pode ser
entendido como um elemento externo que interage com o sistema. Geralmente
simboliza um usuário de algum departamento, mas também pode simbolizar outros
elementos tais como um temporizador (relógio) que aciona o sistema de tempos em
tempos para realizar alguma ação ou sistemas externos que interagem com um
determinado sistema:
3. NOTAÇÂO
– O diagrama de Caso
de Uso é representado por:
• atores;
• casos de uso;
• relacionamentos
entre estes elementos.
– Estes
relacionamentos podem ser:
» associações entre
atores e casos de uso;
» generalizações
entre os atores;
» generalizações,
extends e includes entre os casos de uso.
– Casos de uso podem
opcionalmente estar envolvidos por um retângulo que representa os limites do
sistema.
Atores
Um ator é
representado por um boneco e um rótulo com o nome do ator. Um ator é um usuário
do sistema, que pode ser um usuário humano ou um outro sistema
Caso de Uso
Um caso de uso é
representado por uma elipse e um rótulo com o nome do caso de uso.
Um caso de uso define
uma grande função do sistema. A implicação é que Diagrama de Casos de Uso uma
função pode ser estruturada em outras funções e, portanto, um caso de uso pode
ser estruturado.
Relacionamentos
Entre um Ator e um
caso de uso: Associação
Define uma
funcionalidade do sistema do ponto de vista do usuário
Entre Atores:
Generalização
• Os casos de uso de
B são também casos de uso de A;
• A tem seus próprios
casos de uso.
Entre casos de uso
Um relacionamento include
de um caso de uso A para um caso de uso B indica que B é essencial para o
comportamento de A. Pode ser dito também que B is_part_of A.
Um relacionamento
extend de um caso de uso B para um caso de uso A indica que o caso de uso B
pode ser acrescentado para descrever o comportamento de A. A extensão é
inserida em um ponto de extensão do caso de uso A.
Ponto de extensão em
um caso de uso é uma indicação de que outros casos de uso poderão ser
adicionados a ele. Quando o caso de uso for invocado, ele verificará se suas
extensões devem ou não ser invocadas.
Exemplo:
·
Quando
se especifica B extends A, a semântica é:
·
Dois
casos de uso são definidos: A e A extended by B;
·
B é uma
variação de A. Contém eventos adicionais, para certas condições;
·
Tem que
ser especificado onde B é inserido em A
Entre casos de uso:
Generalização
·
Caso de
uso B “é um” caso de uso A (A é uma generalização de B, ou B é uma
especialização de A).
·
Um
relacionamento entre um caso de uso genérico para um mais específico, que herda
todas as características de seu pai.
·
Sistema
Limites do sistema:
representado por um retângulo envolvendo os casos de uso que compõem o sistema
Nome do sistema:
Localizado dentro do retângulo
4. DIAGRAMA DE CLASSES
O Diagrama de classes é um dos principais e mais
conhecidos diagramas da UML. Ele ajuda ao desenvolvedor, Analista de sistema e
até mesmo ao gerente de projetos e pessoas chaves do projeto a entender a
estrutura de um aplicativo ou funcionalidade do mesmo.
O diagrama de classes esta contido a uma categoria
de diagramas estruturais da UML, que tem como premissa mostrar a estrutura que
esta proposta para a funcionalidade/componente/aplicativo.
Basicamente um diagrama de classes é formada por
tais itens:
Classes - Objetos que fazem sentido para o
negócio ou para a estrutura do aplicativo, representação de um objeto real ou
palavra significativa que dá sentido ao que se propôe. Exemplo: (Casa, Pessoa e
etc)
Atributos da Classe -
Elementos que caracterizam a classe a qual pertecem. Os atributos efetivamente
é as informações contidas no sistema, por exemplo, saldo de uma conta corrente.
(Conta correte é uma classe, o seu saldo atual é o atributo) um outro exemplo,
a classe Pessoa, atributo altura. Os atributos são modificados por métodos que
contem regras e assim alteram os atributos e com isso o estado da classe.
Métodos da Classe -
Os métodos da classe fazem com que o programa execute as chamadas do algoritmo
(Funções), é como um bloco de instrução, contendo ou não regras que faz com que
os atributos modifiquem seus valores e que uma classe converse com outras
classes de objeto gerando assim as suas associações que juntas geram o
funcionamento do aplicativo.
Abaixo um exemplo de diagrama de classes:

Exemplo de Diagrama de Classes
O que vemos na imagem acima além das classes e seus
respectivos atributos e métodos, são as linhas que interligam as classes, que
são denominadas de associação.
5. DIAGRAMA DE SEQÜÊNCIA
Diagrama de seqüência (ou Diagrama de Seqüência de Mensagens)
é um diagrama usado em UML (Unified Modeling Language), representando a seqüência
de processos (mais especificamente, de mensagens passadas entre objetos) num
programa de computador. Como um projeto pode ter uma grande quantidade de
métodos em classes diferentes, pode ser difícil determinar a sequência global
do comportamento. O diagrama de seqüência representa essa informação de uma
forma simples e lógica.
Um diagrama de seqüência descreve a maneira como os grupos de
objectos colaboram em algum comportamento ao longo do tempo. Ele registra o
comportamento de um único caso de uso e exibe os objectos e as mensagens
passadas entre esses objetos no caso de uso.
Em síntese: o
Diagrama de Seqüência é uma das ferramentas UML usadas para representar interações
entre objetos de um cenário, realizadas através de operações ou métodos
(procedimentos ou funções). Este diagrama é construído a partir do Diagrama de
Casos de Usos. Primeiro, define-se qual o papel do sistema (Use Cases), depois,
é definido como o software realizará seu papel (Seqüência de operações).
O diagrama de seqüência dá ênfase a ordenação temporal em que
as mensagens são trocadas entre os objetos de um sistema. Entende-se por
mensagens os serviços solicitados de um objeto a outro, e as respostas
desenvolvidas para as solicitações.
Conceitos
·
Atores: São entidades externas que interagem com
o sistema e que solicitam serviços.
·
Objetos: Representam as instâncias das classes
representadas no processo.
·
Gate: Indica um ponto em que a mensagem pode ser
transmitida para dentro ou para fora.
·
Fragmento: Fragmentos de interação como: Alt
(Alternativa), Opt (Opcional), Break (Parar), Loop (Repetição) e outras.
·
Linha de vida: As linhas de vida compõem a
dimensão vertical.
Exemplo:

6.
DIAGRAMA DE ATIVIDADES
Um diagrama de
atividade é essencialmente um gráfico de fluxo, mostrando o fluxo de controle
de uma atividade para outra e serão empregados para fazer a modelagem de
aspectos dinâmicos do sistema. Na maior parte, isso envolve a modelagem das etapas
seqüenciais em um processo computacional;
Enquanto os diagramas
de seqüência dão ênfase ao fluxo de controle de um objeto para outro, os
diagramas de atividades dão ênfase ao fluxo de controle de uma atividade para
outra;
Uma atividade é uma
execução não atômica em andamento em uma máquina de estados e acabam
resultando em alguma ação, formada pelas computações atômicas executáveis que
resultam em uma mudança de estado do sistema ou o retorno de um valor.
Características:
Um diagrama de
atividades é essencialmente um fluxograma que dá ênfase à atividade que ocorre
ao longo do tempo. Você pode considerar um diagrama de atividades como um
diagrama de seqüência cujo interior é revelado;
Um diagrama de
seqüência observa os objetos que passam mensagens;
Um diagrama de
atividade observa as operações passadas entre os objetos;
Mostra o fluxo de uma
atividade para outra;
Uma atividade é uma
execução em andamento;
As atividades
resultam em uma ação;
As ações abrangem a
chamada a outras operações, enviando um sinal, criando ou destruindo um objeto;
Exemplo 1 – Cadastrar
Cliente
REFERENCIAS:
http://www.purainfo.com.br/artigos/o-que-e-uml/,
acesso em 30/03/2013.
http://techblog.desenvolvedores.net/2011/04/11/introducao-uml/,
acesso em 30/03/2013.
https://projetos.inf.ufsc.br/arquivos_projetos/projeto_721/artigo.tcc.pdf,
acesso em 30/03/2013.
http://nasaulas.files.wordpress.com/2011/03/uml_nao_e_documentacao.pdf,
acesso em 30/03/2013.
http://imasters.com.br/artigo/3004/uml/diagramas-sequencia-e-atividades/,
acesso em 02/04/2013.
http://www.macoratti.net/net_uml1.htm.
acesso em 02/04/2013.
TONSIG, Sérgio Luiz. Engenharia de
Software, Análise e Projeto de Sistemas. Editora Futura,São Paulo, Brasil:
2003.
STADZISZ, Paulo Cézar Projeto de Software Utilizando
a UML.UTFPR, Departamento de Informática: 2002.
CARDOSO, Caíque. UML na Prática, do
Problema ao Sistema. Editora Ciência Moderna Ltda. Rio de Janeiro, Brasil:
2003.





Comentários
Postar um comentário