UML
(Unified Modeling Language)
Linguagem Unificada de
Modelagem
Prof: Ivan Fontainha Aula 2
Site: http://sites.google.com/site/ivanfontainha/
http://ivan.fontainha.googlepages.com
Bibliografia
BOOCH, Grady; RUMBAUGH, James; JACOBSON,
Ivar. UML: guia do usuário. 2.ed. rev. e atual. Rio de Janeiro: Elsevier, Campus, c2006.
MELO, Ana Cristina. Desenvolvendo aplicações com UML 2.2: do conceitual à implementação. 3.ed. Rio de Janeiro: Brasport, 2010.
UML - Introdução
O que é?
A UML é uma linguagem para:
Especificar
Visualizar
Construir
Documentar
UML - Introdução
Quando surgiu?
Surgiu no final dos anos oitenta e no inicio
UML - Introdução
A UML não tem as características de um
método.
A UML não representa uma sequência de
passos para a resolução de um problema,
como deveria ser no caso de um método
Então, a UML não é um método e sim uma
UML - Introdução
A UML pode ser utilizada tanto no
UML - Introdução
Existem várias metodologias de modelagem
orientadas a objeto que, até o surgimento da
UML, causavam uma guerra entre a
comunidade de desenvolvedores orientado a
objetos
A UML acabou com esta guerra, trazendo as
UML - Introdução
A UML é uma tentativa de padronizar a
UML - Objetivos
O objetivos da UML são:
A
modelagem de sistemas (não apenas de
softwares) usando os conceitos da orientação
a objetos
Estabelecer uma união fazendo com que
métodos
conceituais
sejam
também
executáveis
Criar uma linguagem de modelagem usável
UML – Uso da UML
A UML é usada no desenvolvimento dos mais
diversos tipos de sistemas
Ela abrange sempre qualquer características de
um sistema em um de seus diagramas
É também aplicada em diferentes fases do
UML – Uso da UML
Um dos objetivos da UML é descrever qualquer
tipo de sistema, em termos de diagramas
orientados a objetos
O uso mais comum é para criar modelos de
UML – Uso da UML
Tipos de Sistemas que são utilizados a UML e
suas características mais comuns:
Sistemas de Informação: Armazenar, pesquisar,
editar e mostrar informações para usuários
Sistemas Técnicos: Manter e controlar equipamentos
UML – Fases de Desenvolvimento
Existem cinco fases no desenvolvimento de
sistemas de software (devem ser executadas
nesta ordem):
Análise de Requisitos
Análise
Design (projeto)
UML – Fases de Desenvolvimento
Análise de Requisitos:
Captura as intenções e necessidades dos usuários
do sistema a ser desenvolvido através do uso de funções chamadas “use-cases”
Através do desenvolvimento de use-cases, as
UML – Fases de Desenvolvimento
Análise de Requisitos:
Os atores externos e os use-cases são modelados
com relacionamentos que possuem comunicação associativa entre eles ou são desmembrados em hierarquia
O diagrama de use-cases mostrará o que os atores
UML – Fases de Desenvolvimento
Análise:
A fase de análise está preocupada com as primeiras
abstrações (classes e objetos) e mecanismos que estarão presentes no domínio do problema
As classes são modeladas e ligadas através de
UML – Fases de Desenvolvimento
Análise:
As colaborações entre classes também são
mostradas neste diagrama para desenvolver os use-cases modelados anteriormente
Nesta fase somente serão modeladas classes que
pertençam ao domínio principal do problema do software, ou seja, classes técnicas que gerenciem
banco de dados, interface, comunicação,
UML – Fases de Desenvolvimento
Design (Projeto):
Nesta fase, o resultado da análise é expandido em
soluções
Novas classes serão adicionadas para prover uma
UML – Fases de Desenvolvimento
Design (Projeto):
As classes do domínio do problema modeladas na
fase de análise são mescladas nessa nova infra-estrutura técnica tornando possível alterar tanto o domínio do problema quanto à infra-estrutura
Resulta no detalhamento das especificações para a
UML – Fases de Desenvolvimento
Programação:
Nesta fase as classes provenientes do design são
convertidas para o código da linguagem orientada a objeto escolhida
O grau de dificuldade depende da escolha da
linguagem
Não é aconselhável traduzir mentalmente os modelos
UML – Fases de Desenvolvimento
Programação:
Os modelos criados nas fases passadas são o
significado do entendimento e da estrutura do sistema, porém ainda podem ser alterados caso o analista julgue necessário, o que não pode é alterar a programação sem alterar os modelos anteriores senão estes não estarão mais demonstrando o real perfil do sistema
È uma fase separada e distinta onde os modelos
UML – Fases de Desenvolvimento
Testes – temos 3 tipos de testes:
Unidade: são para classes individuais ou grupos de
classes e são geralmente testados pelo programador
Integração: são aplicados já usando as classes e
componentes integrados para se confirmar se as classes estão cooperando uma com as outras como especificado nos modelos
Aceitação: observam o sistema como uma “caixa
UML – Ferramentas
Comerciais e “Free Editions”:
MagicDraw
Togheter
Poseidon
Enterprise Architect
Ratinal Rose
Jude
Omondo Eclipse UML
UML – Ferramentas
Livres:
Umbrello
ArgoUML
Dia
BOUML
Fajuba