Você está na página 1de 45

UML - Introdução

Prof. Dr. Wilson M. Yonezawa


Departamento de Computação
UNESP – FC - Bauru
A Crise do Software
¾ O que é a “Crise do Software?”?

¾ Quais as razões desta “crise”?

¾ Como podemos solucionar (se é que


podemos)?
Engenharia de Software

¾ O que é Engenharia de Software?

¾ Onde ela pode ajudar?

¾ Comunicação é o problema?
O que são modelos???
¾ Uma simplificação da realidade.
¾ Oferece um desenho de um sistema em um
determinado nível de abstração
¾ Exemplos de modelos:
z Modelo planetário
z Modelo atômico
z Modelo de um sistema de transporte coletivo
z Modelo de um sistema operacional
z Modelo de um sistema de gerenciamento de
alunos
Por que modelamos?

¾ Porque é uma forma de


entendermos melhor o sistema
que estamos construindo.
Onde um modelo nos ajuda?
¾ Nos ajuda a visualizar um sistema como
ele é ou como desejamos que seja
¾ Nos permite especificar a estrutura ou o
comportamento de um sistema
¾ Na construção de um guia para a
construção do sistema
¾ Na documentação das decisões
tomadas no projeto
Princípios da modelagem
¾ “A escolha dos modelos a serem criados tem
profunda influência sobre a maneira como um
determinado problema é atacado e como uma
solução é definida”
¾ “Cada modelo poderá ser expresso em
diferentes níveis de precisão”
¾ “Os melhores modelos estão relacionados à
realidade”
¾ “Nenhum modelo único é suficiente. Qualquer
sistema não-trivial será melhor investigado
por meio de um pequeno conjunto de
modelos quase independentes”
Ferramentas (freeware)

¾ MagicDraw
¾ Poseidon for UML
¾ ArgoUML
¾ Visual Paradigm for UML
¾ JUDE UML Modeling Tool.
O que é UML?
¾ UML = Unified Modeling Language
(Linguagem de Modelagem Unificada)

¾ Desenvolvida inicialmente no final de 1994


por Grady Booch e James Rumbaugh

¾ Ivar Jacobson, juntou-se ao grupo e


iniciou o trabalho de unificação das
metodologis Booch, OMT (Object Modeling
Technique) e OOSE (Object-Oriented Software
Engineering)em 1995.
O que é UML?
¾ “UML é uma linguagem padrão para
elaboração da estrutura de projetos de
software”

¾ “UML é adequada a modelagem de sistemas”

¾ “UML é apenas uma linguagem e, portanto, é


somente uma parte de um método para o
desenvolvimento de software”.

Booch, Rumbauch, Jacobson


Quais os objetivos da UML?
¾ UML é uma linguagem destinada a:

z Visualizar

z Especificar

z Construir

z Documentar artefatos de software.


Usando UML para visualizar
¾ UML permite elaborar modelos
explícitos que facilitam a comunicação

¾ UML utiliza um conjunto de símbolos


que permite comunicar idéias sem
ambigüidade

¾ Ex: Um modelo escrito por um


desenvolvedor pode ser interpretado
por outro desenvolver.
Usando UML para especificar
¾ Especificar é construir modelos
precisos, sem ambigüidades e
completos

¾ UML atende a todas as decisões


importantes em termos de análise,
projeto e implementação de
sistemas de software.
Usando UML para construir
¾ Modelos gerados em UML podem
ser conectados a várias linguagens
de programação

¾ É possível mapear modelos UML


em linguagens de programação e
vice-versa (engenharia reversa,
mas nem sempre é possível).
Usando UML para documentar
¾ Auxilia na documentação de artefatos de
software como: requisitos, arquitetura e
projeto

¾ UML proporciona uma linguagem para


expressão de requisitos e para a
realização de testes

¾ UML auxilia na modelagem das


atividades de planejamento do projeto e
gerenciamento e versões.
Blocos de construção da UML
¾ Itens
z Estruturais ¾ Diagramas
z Comportamentais
z Classes
z Agrupamento
z Objetos
z Anotacionais.
z Casos de Uso
z Seqüências
z Colaborações
¾ Relacionamentos z Gráficos de estados
z Dependência z Atividades
z Associação z Componentes
z Generalização z Implantação.
z Realização.
Itens em UML
¾ São abstrações identificadas como cidadãos
de primeira classe em um modelo

¾ São utilizados para escrever modelos bem


formados

¾ Os relacionamentos reúnem Itens

¾ Os diagramas agrupam coleções de Itens

¾ Itens são os blocos de construção básicos


orientados a objetos da UML
Itens Estruturais
¾ São substantivos utilizados em modelos UML

¾ São partes estáticas do modelo,


representando elementos conceituais ou
físicos

¾ Existem 7 (sete) tipos de itens estruturais:


z Classes
z Interfaces
z Colaborações
z Casos de Usos
z Classes ativas
z Componentes
z Nós.
Itens Estruturais
¾ Exemplos de itens estruturais:


Itens Comportamentais
¾ São as partes dinâmicas dos modelos de UML

¾ São verbos de um modelo representando


comportamento no tempo e no espaço

¾ Existem 2 (dois) tipos principais de itens


comportamentais:
z Interação: Comportamento que abrange um
conjunto de mensagens trocadas entre objetos num
contexto específico

z Máquina de estados: Especifica as seqüências de


estados pelas quais objetos e interações passam
durante sua existência em resposta a eventos.
Itens Comportamentais
¾ Exemplos de itens comportamentais:

mensagem
Itens de Agrupamento
¾ São partes organizacionais dos modelos de
UML

¾ São blocos em que os modelos podem ser


descompontos

¾ Existe apenas 1 (um) item principal de


agrupamento:
z Pacotes:
• São mecanismos de propósito geral para a
organização de elementos em grupo

• Item apenas conceitual que existe apenas em tempo


de desenvolvimento.
Itens de Agrupamento
¾ Exemplos de itens de agrupamentos

Fonte: http://www.smartdraw.com/
Itens Notacionais

¾ São partes explicativas dos modelos de UML

¾ São comentários, incluídos para descrever,


esclarecer e fazer alguma observação sobre
qualquer elemento do modelo

¾ Existe apenas um item notacional, chamado


Notas.
Relacionamentos em UML

¾ São blocos relacionais básicos de


construção da UML

¾ Como os Itens, os relacionamentos


são utilizados para escrever modelos
bem-formado

Relacionamento de Dependência
Relacionamento de Dependência

¾ É um relacionamento semântico entre


dois itens nos quais a alteração de um
(o item independente) pode afetar a
semântica do outro item (o item
dependente)

¾ O relacionamento de dependência é
representado por linhas tracejadas.
Relacionamento de Associação
¾ É um relacionamento estrutural que
descreve um conjunto de ligações

¾ São conexões entre objetos

¾ Agregação é um tipo especial de


associação

¾ O relacionamento de associação é
representado por linhas sólidas.
Relacionamento de Generalização
¾ É um relacionamento especialização /
generalização nos quais os objetos dos
elementos especializados (filhos) são
substituíveis por objetos do elemento
generalizado (pais)

¾ Os filhos compartilham a estrutura e o


comportamento dos pais

¾ O relacionamento de associação é
representado por linha sólida com uma
seta apontando para o pai.
Relacionamento de Realização
¾ É um relacionamento semântico entre
classificadores, em que um classificador especifica
um contrato que outro classificador garante
executar

¾ São encontrados em dois lugares:


z Entre interfaces e as classes ou componentes
que as realizam
z Entre casos de uso e as colaborações que os
realizam

¾ O relacionamento de realização é representado por


linha tracejada com uma seta entre a generalização
e um relacionamento de dependência.
Diagramas em UML

¾ São apresentações gráficas de um conjunto de


elementos

¾ São desenhados para permitir a visualização de


um sistema sob diferentes perspectivas

¾ Apresenta uma visão parcial dos elementos que


compõe o sistema

¾ O mesmo elemento pode aparecer em vários


diagramas (todos, alguns ou em nenhum).
Diagrama de Classes

¾ Exibe conjunto de classes, interfaces e


colaborações, bem como seus
relacionamentos

¾ Mostram uma visão estática do sistema.

Fonte: http://www.smartdraw.com/
Diagrama de Objetos

¾ Exibe um conjunto de objetos e seus


relacionamentos

¾ Descrevem fotografias estáticas de


instâncias de itens encontrados nos
diagramas de classes

¾ Abrangem a visão estática da estrutura ou


do processo de um sistema.

Fonte: http://www.smartdraw.com/
Diagrama de Casos de Uso

¾ Exibe um conjunto de caso de uso e


atores, e seus relacionamentos

¾ Fornecem um meio para organização e


modelagem de comportamento do sistema

¾ Abrangem a visão estática de casos de


usos do sistema.

Fonte: http://www.smartdraw.com/
Diagrama de Interação
¾ Diagramas de seqüência e colaboração são tipos
de diagramas de interação

¾ Abrangem uma visão dinâmica do sistema

¾ Exibe uma interação consistindo de um conjunto


de objetos e seus relacionamentos, incluindo
mensagens trocadas entre eles.

Fonte: http://www.smartdraw.com/
Diagrama de Gráficos de Estados
¾ Exibem uma máquina de estados,
formada por estados, transições,
eventos e atividades

¾ Abrangem uma visão dinâmica de


um sistema

¾ Modelam comportamento de
interfaces, classes ou
colaborações.

Fonte: http://www.smartdraw.com/
Diagrama de Atividades

¾ Tipo especial de diagrama de gráfico


de estados

¾ Exibe o fluxo de uma atividade para


outra no sistema

¾ Modela a função de um sistema e


enfatiza o fluxo de controle entre
objetos.

Fonte: http://www.smartdraw.com/
Diagrama de Componentes

¾ Exibe as organizações e as dependências


existentes em um conjunto de componentes

¾ Visão estática da implementação de um sistema

¾ Relaciona-se com os diagramas de classes, uma


vez que os componentes são mapeados para
uma ou mais classes, interfaces e colaborações.

Fonte: http://www.smartdraw.com/
Diagrama de Implementação

¾ Mostra a configuração dos nós de


processamento em tempo de execução e os
componentes neles existentes

¾ Visão estática do funcionamento de uma


arquitetura

¾ Relaciona-se com os diagramas de


componentes.

Fonte: http://www.smartdraw.com/
Regras da UML
¾ Como combinar os “blocos de construção”?

¾ “Modelos bem-formados são aqueles auto-


consistentes semanticamente e em harmonia com
todos os modelos a eles relacionados”

¾ Regras para:
z Quais nomes podem ser atribuídos as coisas (nomes)
z O contexto que termina um significado específico para um
nome (escopo)
z Como tais nomes podem ser vistos e utilizados
(visibilidade)
z Como os itens se relacionamento entre si de forma
adequada e consistente (integridade)
z O que significa executar ou simular um modelo dinâmico
(execução).
Sobre os modelos em UML

¾ Situações possíveis durante a construção de


modelos:
z Parciais: Certos elementos ficam ocultos para
simplificar a visão do modelo
z Incompletos: Certos elementos podem ser omitidos
z Inconsistentes: A integridade do modelo não é
assegurada.

¾ Objetivos a ser alcançado:


z Construir modelos bem-formados
Mecanismos básicos da UML
¾ Especificações

¾ Adornos

¾ Divisões comuns (dicotomia interface /


implementação)

¾ Mecanismos de extensão
z Estereótipos
z Valores atribuídos
z Restrições
Arquitetura de um sistema
¾ Arquitetura é o conjunto de decisões
significativas acerca dos seguintes itens:

z Organização do sistema

z Seleção dos elementos estruturais e suas


interfaces

z Comportamento do sistema

z Composição dos elementos estruturais e


comportamentais

z Estilo de arquitetura
Arquitetura de um sistema
Referências
¾ Booch, G., Rumbaugh, J., Jacobson, I.
UML Guia do Usuário 11a Tiragem.
Editora Campus, Rio de Janeiro, 2000.
¾ Pender, T. UML Bible, Wiley Publishing
Inc. Indianapolis, 2003.
¾ Larman, C. Utilizando UML e Padrões, 1a
edição. Bookman, São Palulo, 2002.
Referências na Web

¾ http://www.smartdraw.com/

¾ http://pigseye.kennesaw.edu/~dbraun/

¾ http://www.uml.org/

¾ http://www-306.ibm.com/software/rational/uml/

Você também pode gostar