Introdução a UML (Linguagem de Modelagem Unificada)

52
Introdução a UML (Linguagem de Modelagem Unificada)

Transcript of Introdução a UML (Linguagem de Modelagem Unificada)

Page 1: Introdução a UML (Linguagem de Modelagem Unificada)

Introdução a UML(Linguagem de Modelagem

Unificada)

Page 2: Introdução a UML (Linguagem de Modelagem Unificada)

2

Sistemas de Informações

A necessidade é a mãe das invenções ◦ Em conseqüência do crescimento da importância

da informação, surgiu a necessidade de gerenciar informações de uma forma adequada e eficiente e, desta necessidade, surgiram os denominados sistemas de informações

Page 3: Introdução a UML (Linguagem de Modelagem Unificada)

3

Sistemas de Informação

Um SI é uma combinação de pessoas, dados, processos, interfaces, redes de comunicação e tecnologia que interagem com o objetivo de dar suporte e melhorar o processo de negócio de uma organização com relação às informações◦ Vantagens do ponto de vista competitivo

Objetivo principal e final da construção de um SI: adição de valor à organização

Page 4: Introdução a UML (Linguagem de Modelagem Unificada)

4

Sistemas de Software

Um dos componentes de um SI é denominado sistema de software

Compreende os módulos funcionais computadorizados que interagem entre si para proporcionar a automatização de diversas tarefas

Característica intrínseca do desenvolvimento de sistemas de software: complexidade

Page 5: Introdução a UML (Linguagem de Modelagem Unificada)

5

Aumento da complexidade

• Uma analogia...

Sistemas de Software

Page 6: Introdução a UML (Linguagem de Modelagem Unificada)

6

Modelagem de sistemas de software

Page 7: Introdução a UML (Linguagem de Modelagem Unificada)

7

Modelos de Software

Na construção de sistemas de software, assim como na construção de sistemas habitacionais, também há uma gradação de complexidade◦ A construção desses sistemas necessita de um

planejamento inicial

Page 8: Introdução a UML (Linguagem de Modelagem Unificada)

8

Modelos de Software Um modelo pode ser visto como uma

representação idealizada de um sistema que se planeja construir

Maquetes de edifícios e de aviões e plantas de circuitos eletrônicos são apenas alguns exemplos de modelos

Page 9: Introdução a UML (Linguagem de Modelagem Unificada)

9

A princípio, podemos ver a construção de modelos como uma atividade que atrasa o desenvolvimento do software propriamente dito

Mas essa atividade propicia...◦ O gerenciamento da complexidade inerente ao

desenvolvimento de software.◦ A comunicação entre as pessoas envolvidas.◦ A redução dos custos no desenvolvimento.◦ A predição do comportamento futuro do sistema.

Entretanto, note o fator complexidade como condicionante dessas vantagens.

Razões para Construção de Modelos

Page 10: Introdução a UML (Linguagem de Modelagem Unificada)

Complexidade Complexidade de software não pode ser evitada!

Elementos responsáveis pela complexidade do software◦ Complexidade do domínio do problema ◦ Dificuldade no gerenciamento do processo de

desenvolvimento◦ A flexibilidade possível em sistemas de software

Mas podemos tratar◦ Decomposição◦ Abstração

Page 11: Introdução a UML (Linguagem de Modelagem Unificada)

Decomposição: Ilusão de Simplicidade

Page 12: Introdução a UML (Linguagem de Modelagem Unificada)

Decomposição Decompor em partes menores e menores,

refinando cada parte independentemente

Satisfazendo, assim, a restrição real do ser humano◦ Para entender qualquer nível de um dado sistema

precisamos compreender um aspecto por vez

Modelagem deve seguir este princípio◦ Vários modelos necessários ◦ Impossível entender de forma completa

Page 13: Introdução a UML (Linguagem de Modelagem Unificada)

Abstração: Dependente do Observador

Page 14: Introdução a UML (Linguagem de Modelagem Unificada)

Abstração• É uma das formas que nós humanos

tratamos a complexidade do mundo• Aspectos irrelevantes ao problema

estudado devem ficar de fora

Realidade Representada

Representação

Realidade Observada

Abstração

Carro Esporte Vermelho

Page 15: Introdução a UML (Linguagem de Modelagem Unificada)

Abstração em Modelos

Abstração cujo propósito é permitir que se conheça algo antes de construí-lo

O modelo omite os detalhes não essenciais tornando a manipulação mais fácil

Necessários durante a construção de softwares complexos

Page 16: Introdução a UML (Linguagem de Modelagem Unificada)

16

Diagramas e Documentação

No contexto de desenvolvimento de software, correspondem a desenhos gráficos que seguem algum padrão lógico.

Podemos também dizer que um diagrama é uma apresentação de uma coleção de elementos gráficos que possuem um significado predefinido.

Diagramas normalmente são construídos de acordo com regras de notação bem definidas.◦ Ou seja, cada forma gráfica utilizada em um diagrama

de modelagem tem um significado específico.

Page 17: Introdução a UML (Linguagem de Modelagem Unificada)

Diagramas permitem a construção de uma representação concisa de um sistema a ser construído. ◦ “uma figura vale por mil palavras”

No entanto, modelos também são compostos de informações textuais.

Dado um modelo de uma das perspectivas de um sistema, diz-se que o seu diagrama, juntamente com a informação textual associada, formam a documentação deste modelo.

Diagramas e Documentação

Page 18: Introdução a UML (Linguagem de Modelagem Unificada)

Modelagem de Software

A modelagem de sistemas de software consiste na utilização de notações gráficas e textuais com o objetivo de construir modelos que representam as partes essenciais de um sistema, considerando-se diversas perspectivas diferentes e complementares

Page 19: Introdução a UML (Linguagem de Modelagem Unificada)

Evolução histórica da modelagem de sistemas

Page 20: Introdução a UML (Linguagem de Modelagem Unificada)

Evolução do Software O rápido crescimento da capacidade

computacional das máquinas resultou na demanda por sistemas de software cada vez mais complexos

O surgimento de sistemas de software mais complexos resultou na necessidade de reavaliação da forma de desenvolver sistemas

Conseqüentemente as técnicas utilizadas para a construção de sistemas computacionais têm evoluído de forma impressionante, notavelmente no que tange à modelagem de sistemas

Page 21: Introdução a UML (Linguagem de Modelagem Unificada)

Evolução do Software

Na primeira metade da década de 90 surgiram várias propostas de técnicas para modelagem de sistemas segundo o paradigma orientado a objetos

Houve uma grande proliferação de propostas para modelagem orientada a objetos◦ diferentes notações gráficas para modelar uma mesma

perspectiva de um sistema◦ cada técnica tinha seus pontos fortes e fracos

Page 22: Introdução a UML (Linguagem de Modelagem Unificada)

Necessidade de um Padrão

Percebeu-se a necessidade de um padrão para a modelagem de sistemas, que fosse aceito e utilizado amplamente

Alguns esforços nesse sentido de padronização, o principal liderado pelo “três amigos”

Surge a UML (Unified Modeling Language) em 1996 como a melhor candidata para ser linguagem “unificadora”

Page 23: Introdução a UML (Linguagem de Modelagem Unificada)

Necessidade de um Padrão

Em 1997, a UML é aprovada como padrão pelo OMG

Desde então, a UML tem tido grande aceitação pela comunidade de desenvolvedores de sistemas.

É uma linguagem ainda em desenvolvimento Atualmente na versão 2.0

Page 24: Introdução a UML (Linguagem de Modelagem Unificada)

UML

Page 25: Introdução a UML (Linguagem de Modelagem Unificada)

UML (Linguagem de Modelagem Unificada) “A UML é a linguagem padrão

para visualizar, especificar, construir e documentar os artefatos de software de um sistema.”

Unificação de diversas notações anteriores

Mentores: Booch, Rumbaugh e Jacobson◦ “Três Amigos”◦ IBM Rational

(www.rational.com)

Page 26: Introdução a UML (Linguagem de Modelagem Unificada)

A UML “A Linguagem de Modelagem Unificada (UML) é uma

linguagem para especificar, visualizar, construir e documentar os artefatos de sistemas de software, bem como para modelar negócios e outros sistemas que não sejam de software”

Iniciou a partir da junção dos métodos desenvolvidos Jim Rumbaugh (OMT – Object Modeling Technique) e Grady Booch (Booch)

Page 27: Introdução a UML (Linguagem de Modelagem Unificada)

UML (Linguagem de Modelagem Unificada) UML é...

◦ uma linguagem visual◦ independente de linguagem de programação.◦ independente de processo de desenvolvimento

UML não é...◦ uma linguagem programação (mas possui versões!)◦ uma técnica de modelagem

A UML é suportada por ferramentas :◦ Rational Rose (IBM), Together (Borland), Visual Paradigm,

Poseidon, Jude, Umbrela, etc....

Page 28: Introdução a UML (Linguagem de Modelagem Unificada)

Ferramentas Poseidon - existe um versão opensource (Community

version) Pacestar UML - Uma versão shareware de uma ferramenta

mais simples. Rational Rose - Cópia demo do (Rational Rose Limited

Edition).(Tem 10 MB)

Dia - http://www.gnome.org/projects/dia/ ArgoUML - http://www.argoUML.tigris.org Jude - http://jude.change-vision.com/jude-web/index.html Umbrello - http://uml.sourceforge.net/download.php Visual Paradigm - http://www.visual-paradigm.com/

Page 29: Introdução a UML (Linguagem de Modelagem Unificada)

Utilizando UML

Page 30: Introdução a UML (Linguagem de Modelagem Unificada)

Utilizando UML UML - linguagem de modelagem unificada

◦ Notação + semântica

Page 31: Introdução a UML (Linguagem de Modelagem Unificada)

Uso da UML

Usada em diversos sistemas

Abrange qualquer característica de um sistema OO, através de seus diagramas

Aplica-se em diferentes fases do processo

Page 32: Introdução a UML (Linguagem de Modelagem Unificada)

Propósitos da UML

A UML é uma linguagem destinada a:◦ Documentar◦ Visualizar◦ Especificar◦ Construir

Page 33: Introdução a UML (Linguagem de Modelagem Unificada)

Documentar Artefatos como requisições de negócios,

modelo de arquitetura, código fonte, modelo de análise, protótipo e outros documentos, pode ser documentados com a UML.

Page 34: Introdução a UML (Linguagem de Modelagem Unificada)

Visualizar No processo de desenvolvimento de

sistemas, é quase impossível a visualização de toda a sua estrutura sem um modelo que o represente. Dessa forma, a UML disponibiliza símbolos gráficos para a representação de artefatos de software

Page 35: Introdução a UML (Linguagem de Modelagem Unificada)

Especificar Especificar significa: construir modelos

precisos, sem ambigüidades e completos. A UML atende todos os requisitos de

especificação dentro de um processo, desde a fase de análise até a fase de testes e implementação do sistema concluído

Page 36: Introdução a UML (Linguagem de Modelagem Unificada)

Construir Na UML é possível realizar um mapeamento

dos modelos gerados, para as linguagens de programação e até mesmo para banco de dados relacionais ou orientados a objetos

Page 37: Introdução a UML (Linguagem de Modelagem Unificada)

Diagramas UML

Page 38: Introdução a UML (Linguagem de Modelagem Unificada)

Diagramas da UML Um diagrama na UML é uma apresentação

de uma coleção de elementos gráficos que possuem um significado predefinido◦ No contexto de desenvolvimento de software,

correspondem a desenhos gráficos que seguem algum padrão lógico

Page 39: Introdução a UML (Linguagem de Modelagem Unificada)

Diagramas da UML Um processo de desenvolvimento que utilize

a UML como linguagem de modelagem envolve a criação de diversos documentos◦ Estes documentos, denominados artefatos de

software, podem ser textuais ou gráficos Os artefatos gráficos produzidos no

desenvolvimento de um SSOO são definidos através dos diagramas da UML

Page 40: Introdução a UML (Linguagem de Modelagem Unificada)

Diagramas da UML 2.0

Page 41: Introdução a UML (Linguagem de Modelagem Unificada)

Diagrama na UML Um diagrama é a apresentação gráfica de

um conjunto de elementos, geralmente representados como gráficos de vértice (itens) e arcos (relacionamentos).

Um diagrama constitui uma projeção de um determinado sistema

Page 42: Introdução a UML (Linguagem de Modelagem Unificada)

Blocos de construção da UML

Itens Relacionamentos

Page 43: Introdução a UML (Linguagem de Modelagem Unificada)

Itens Os itens são blocos de construção da modelagem

orientada a objetos. Existem quatro tipos de itens na UML. São eles:◦ Itens estáticos: representam a estrutura do modelo,

elementos conceituais e físicos (classes, colaborações, caso de uso, etc.)

◦ Itens dinâmicos: definem o comportamento do modelo (interações e estados dos objetos)

◦ Pacotes: são partes organizacionais da UML.◦ Notas: são as partes explicativas da modelo na UML

(comentário e observações de esclarecimentos no modelo

Page 44: Introdução a UML (Linguagem de Modelagem Unificada)

Itens estáticos - Classe Uma classe é um conjunto de objetos

que compartilham os mesmos atributos, operações e relacionamentos.

NotaFiscal

codigonaturezaOperacaocondicaoPagamentotipoPrestServicodataEmissaovalor

Registrar()Recuperar()Cancelar()

Page 45: Introdução a UML (Linguagem de Modelagem Unificada)

Itens estáticos – Colaboração

Uma colaboração é o nome dado à interação entre duas ou mais classes, com o objetivo de fornecer algum comportamento cooperativo. Ocorrem por meio de troca de mensagens entre dois ou mais objetos

Page 46: Introdução a UML (Linguagem de Modelagem Unificada)

Itens estáticos – Caso de uso

Um caso de uso é um documento que descreve os cenários pretendidos para um sistema, com o objetivo de atender às necessidades do usuário:

registrarProdutos

Page 47: Introdução a UML (Linguagem de Modelagem Unificada)

Itens estáticos – Componentes

Um componente é a parte física de um sistema.

NotaFiscal.java

Page 48: Introdução a UML (Linguagem de Modelagem Unificada)

Itens dinâmicos

Os itens dinâmicos representam as partes de um sistema que possam ter alguma alteração. Existem dois tipos principais de itens dinâmicos:◦ Interação◦ Máquina de estados

Page 49: Introdução a UML (Linguagem de Modelagem Unificada)

Itens dinâmicos – Interação

Representa a realização dos processos de um sistema, por meio de troca de mensagem entre objetos. Podem envolver mensagens, seqüências de ações e conexões entre objetos.

Uma interação é representada por uma flecha.

Mensagem

Page 50: Introdução a UML (Linguagem de Modelagem Unificada)

Itens dinâmicos – Máquina de estados

Representa um comportamento que especifica as seqüências de estados pelos quais os objetos passam durante sua existência, de acordo com os eventos atendidos. No exemplo a seguir, temos um estado possível para o objeto “Venda”.

Venda Pendente

Page 51: Introdução a UML (Linguagem de Modelagem Unificada)

Pacotes Os pacotes organizam os modelos criados

na UML. APRESENTAÇÃO REGRA DO NEGÓCIO

CONEXÃO COM BANCO

Page 52: Introdução a UML (Linguagem de Modelagem Unificada)

Notas As notas representam comentários,

observações e esclarecimentos que podem se utilizar para qualquer elemento da UML. No exemplo a seguir, a representação de uma nota informando a última versão de uma classe.

Última versão: 2.0