introdução a uml (linguagem de modelagem unificada)
TRANSCRIPT
![Page 1: Introdução a UML (Linguagem de Modelagem Unificada)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/1.jpg)
Introdução a UML(Linguagem de Modelagem
Unificada)
![Page 2: Introdução a UML (Linguagem de Modelagem Unificada)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/2.jpg)
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)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/3.jpg)
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)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/4.jpg)
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)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/5.jpg)
5
Aumento da complexidade
• Uma analogia...
Sistemas de Software
![Page 6: Introdução a UML (Linguagem de Modelagem Unificada)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/6.jpg)
6
Modelagem de sistemas de software
![Page 7: Introdução a UML (Linguagem de Modelagem Unificada)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/7.jpg)
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)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/8.jpg)
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)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/9.jpg)
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)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/10.jpg)
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)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/11.jpg)
Decomposição: Ilusão de Simplicidade
![Page 12: Introdução a UML (Linguagem de Modelagem Unificada)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/12.jpg)
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)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/13.jpg)
Abstração: Dependente do Observador
![Page 14: Introdução a UML (Linguagem de Modelagem Unificada)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/14.jpg)
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)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/15.jpg)
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)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/16.jpg)
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)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/17.jpg)
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)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/18.jpg)
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)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/19.jpg)
Evolução histórica da modelagem de sistemas
![Page 20: Introdução a UML (Linguagem de Modelagem Unificada)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/20.jpg)
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)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/21.jpg)
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)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/22.jpg)
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)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/23.jpg)
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)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/24.jpg)
UML
![Page 25: Introdução a UML (Linguagem de Modelagem Unificada)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/25.jpg)
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)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/26.jpg)
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)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/27.jpg)
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)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/28.jpg)
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)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/29.jpg)
Utilizando UML
![Page 30: Introdução a UML (Linguagem de Modelagem Unificada)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/30.jpg)
Utilizando UML UML - linguagem de modelagem unificada
◦ Notação + semântica
![Page 31: Introdução a UML (Linguagem de Modelagem Unificada)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/31.jpg)
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)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/32.jpg)
Propósitos da UML
A UML é uma linguagem destinada a:◦ Documentar◦ Visualizar◦ Especificar◦ Construir
![Page 33: Introdução a UML (Linguagem de Modelagem Unificada)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/33.jpg)
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)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/34.jpg)
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)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/35.jpg)
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)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/36.jpg)
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)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/37.jpg)
Diagramas UML
![Page 38: Introdução a UML (Linguagem de Modelagem Unificada)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/38.jpg)
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)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/39.jpg)
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)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/40.jpg)
Diagramas da UML 2.0
![Page 41: Introdução a UML (Linguagem de Modelagem Unificada)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/41.jpg)
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)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/42.jpg)
Blocos de construção da UML
Itens Relacionamentos
![Page 43: Introdução a UML (Linguagem de Modelagem Unificada)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/43.jpg)
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)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/44.jpg)
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)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/45.jpg)
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)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/46.jpg)
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)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/47.jpg)
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)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/48.jpg)
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)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/49.jpg)
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)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/50.jpg)
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)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/51.jpg)
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)](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc10b497959413d8c1d9a/html5/thumbnails/52.jpg)
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