O que a UML?
Modelos
O que um modelo?
O que modelamos?
Objetivos da Modelagem
Compreender melhor o sistema que estamos desenvolvendo Visualizar o sistema Documentar decises tomadas Especificar comportamento ou a estrutura de um sistema
Princpios da Modelagem
A escolha dos modelos a serem criados tem profunda influncia sobre a maneira como um determinado problema atacado e como uma soluo definida Cada modelo poder ser expresso em diferentes nveis de preciso Os melhores modelos esto relacionados realidade Nenhum modelo nico suficiente. Qualquer modelo no-trivial ser melhor investigado por meio de um pequeno conjunto de modelos quase independentes
A UML no
BOOCH
Diagrama de Estados Diagrama de Objetos (Colaborao) Diagrama de Processo (Desenvolvimento) Diagrama de Mdulos (Componentes)
UML
OMT
Diagrama de Estados Diagrama de Classes
OOSE
Algumas aplicaes
Sistemas de informaes corporativos Servios bancrios e financeiros Sistemas Tcnicos: Telecomunicaes, Transportes, Defesa/espao areo Vendas de varejo Sistemas de tempo real Cientficos Servios distribudos baseados na Web
Elementos da UML
Para formar um modelo conceitual da linguagem necessrio aprender trs elementos principais
Blocos de construo Regras que determinam como esses blocos podero ser combinados Mecanismos comuns aplicados na UML
Blocos de Construo
Trs tipos:
Itens da UML
Estruturais Comportamentais De agrupamento Anotacionais
Itens estruturais
So os substantivos dos modelos. So a parte esttica, representando elementos conceituais ou fsicos Sete tipos: classes, interfaces, colaboraes, casos de uso, classes ativas, componentes e Window ns
origin size
orderForm.java
Servidor
Componente N
Classe
Itens comportamentais
Representam as partes dinmicas dos modelos. So os verbos, representando comportamentos no tempo e no espao Dois tipos: interao e mquina de estado
Aguardando
exibir Mensagem
Estado
Itens de agrupamento
So as partes organizacionais dos modelos de UML. So os blocos em que os modelos podem ser decompostos pacotes Um pacote um mecanismo de propsito geral para a organizao de elementos em grupos
Regras de negcios
Pacote
Itens anotacionais
Partes explicativas dos modelos UML. So comentrios, includos para descrever, esclarecer e fazer alguma observao importante sobre qualquer elemento do modelo - notas
Retornar cpia
Nota
Relacionamentos
Dependncia Associao Generalizao Realizao
Dependncia
Relacionamento semntico entre dois itens, nos quais a alterao de um (o item independente) pode afetar a semntica do outro (o item dependente)
FilmClip name playOn() start() stop() reset () Channel
dependncia
Associao
um relacionamento estrutural que descreve um conjunto de ligaes, em que as ligaes so conexes entre objetos
Pessoa +emprega 1.. * +funcionario 1 Depart amento
associao
(Agregao)
A agregao um tipo especial de associao representando um relacionamento estrutural entre o todo e sua parte
Empresa 1
Generalizao
um relacionamento de especializao/generalizao, nos quais os objetos dos elementos especializados (os filhos) so substituveis por objetos do elemento generalizado (os pais)
Pessoa
Aluno
Professor
Funcionario
Realizao
um relacionamento semntico entre classificadores, em que um classificador especifica um contrato que outro classificador garante executar
<< Interface >> Agente da Regra Regras de contabilidade
realizao
Diagramas
Apresentaes grficas de um conjunto de elementos, geralmente representadas como grficos de vrtices (itens) e arcos (relacionamentos) Tipos: classes, objetos, pacotes, casos de uso, seqncias, colaboraes, estados, atividades, componentes e implantao
Diagramas de classes
Diagramas de classe so a espinha dorsal da maioria dos mtodos orientados a objeto, inclusive UML Descrevem a estrutura esttica do sistema (entidades e relacionamentos)
Diagramas de pacotes
Organizam elementos do sistema em grupos relacionados a fim de minimizar a dependncia entre eles
Diagramas de objetos
Descrevem a estrutura esttica de um sistema em um determinado momento Podem ser usados para testar a preciso dos diagramas de
Modelam a funcionalidade do sistema atravs de atores e casos de uso Casos de uso so servios ou funes fornecidas pelo sistema aos seus usurios
Diagramas de seqncias
Descreve as interaes entre as classes atravs das trocas de mensagens ao logo do tempo
Diagramas de colaboraes
Representam as interaes entre objetos em termos de mensagens em seqncia Descrevem tanto a estrutura esttica como o comportamento dinmico do sistema
Diagramas de estados
Descrevem o comportamento dinmico do sistema em resposta a estmulos externos So especialmente teis para modelar objetos reativos cujos estados so disparados por eventos especficos
Diagramas de atividades
Ilustram a natureza dinmica de um sistema modelando o fluxo de controle de uma atividade para outra Uma atividade representa uma operao em uma classe do sistema que resulta na mudana do estado do sistema Tipicamente, so usados para modelar fluxo de trabalho ou processos de negcio e funcionamento interno
Diagramas de componente
Descreve a organizao dos componentes fsicos de software Ex.: cdigo-fonte, cdigo em tempo de execuo (binrio) e
Diagramas de implantao
Regras da UML
Especificam o que dever ser um modelo bem-formado Modelos bem-formados so aqueles autoconsistentes semanticamente e em harmonia com todos os modelos a ele relacionados Regras para: nome, escopo, visibilidade, integridade e execuo
Arquitetura
A organizao do sistema de software A seleo dos elementos estruturais e suas interfaces Seu comportamento, conforme especificado nas colaboraes entre esses elementos A composio desses elementos estruturais e comportamentais em subsistemas cada vez maiores O estilo de arquitetura que orienta a organizao: os elementos estticos e dinmicos e suas respectivas interfaces,
Modelagem da arquitetura
vocabulrio funcionalidade gerenciamento da configurao montagem do sistema
Viso de projeto
comportamento
Viso da implementao