Você está na página 1de 45

UML - Introduo

Prof. Dr. Wilson M. Yonezawa Departamento de Computao UNESP FC - Bauru

A Crise do Software
O que a Crise do Software?? Quais as razes desta crise? Como podemos solucionar (se que

podemos)?

Engenharia de Software
O que Engenharia de Software? Onde ela pode ajudar? Comunicao o problema?

O que so modelos???

Uma simplificao da realidade. Oferece um desenho de um sistema em um determinado nvel de abstrao Exemplos de modelos:
z z z z z

Modelo planetrio Modelo atmico Modelo de um sistema de transporte coletivo Modelo de um sistema operacional 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 construo de um guia para a construo do sistema Na documentao das decises tomadas no projeto

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 sistema no-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 unificao das metodologis Booch, OMT (Object Modeling OOSE (Object-Oriented Software Technique) e Engineering)em 1995.

O que UML?

UML uma linguagem padro para elaborao da estrutura de projetos de software UML adequada a modelagem de sistemas UML apenas uma linguagem e, portanto, somente uma parte de um mtodo para o desenvolvimento de software.
Booch, Rumbauch, Jacobson

Quais os objetivos da UML?

UML uma linguagem destinada a:


z

Visualizar Especificar Construir Documentar artefatos de software.

Usando UML para visualizar

UML permite elaborar modelos explcitos que facilitam a comunicao UML utiliza um conjunto de smbolos que permite comunicar idias sem ambigidade Ex: Um modelo escrito por um desenvolvedor pode ser interpretado por outro desenvolver.

Usando UML para especificar

Especificar construir modelos precisos, sem ambigidades e completos UML atende a todas as decises importantes em termos de anlise, projeto e implementao de sistemas de software.

Usando UML para construir

Modelos gerados em UML podem ser conectados a vrias linguagens de programao possvel mapear modelos UML em linguagens de programao e vice-versa (engenharia reversa, mas nem sempre possvel).

Usando UML para documentar

Auxilia na documentao de artefatos de software como: requisitos, arquitetura e projeto UML proporciona uma linguagem para expresso de requisitos e para a realizao de testes UML auxilia na modelagem das atividades de planejamento do projeto e gerenciamento e verses.

Blocos de construo da UML

Itens
z z z z

Estruturais Comportamentais Agrupamento Anotacionais.

Diagramas
z z z z

Relacionamentos
z z z z

z z z z z

Dependncia Associao Generalizao Realizao.

Classes Objetos Casos de Uso Seqncias Colaboraes Grficos de estados Atividades Componentes Implantao.

Itens em UML

So abstraes identificadas como cidados de primeira classe em um modelo So utilizados para escrever modelos bem formados Os relacionamentos renem Itens Os diagramas agrupam colees de Itens Itens so os blocos de construo bsicos orientados a objetos da UML

Itens Estruturais

So substantivos utilizados em modelos UML So partes representando fsicos


Classes Interfaces Colaboraes Casos de Usos Classes ativas Componentes Ns.

estticas elementos

do modelo, conceituais ou

Existem 7 (sete) tipos de itens estruturais:


z z z z z z z

Itens Estruturais

Exemplos de itens estruturais:

Itens Comportamentais

So as partes dinmicas dos modelos de UML So verbos de um modelo representando comportamento no tempo e no espao Existem 2 (dois) tipos principais de itens comportamentais:
z

Interao: Comportamento que abrange um conjunto de mensagens trocadas entre objetos num contexto especfico Mquina de estados: Especifica as seqncias de estados pelas quais objetos e interaes passam durante sua existncia em resposta a eventos.

Itens Comportamentais

Exemplos de itens comportamentais:

mensagem

Itens de Agrupamento

So partes organizacionais dos modelos de UML So blocos em que os modelos podem ser descompontos Existe apenas 1 (um) item principal de agrupamento:
z

Pacotes:
So mecanismos de propsito geral organizao de elementos em grupo para a

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

So partes explicativas dos modelos de UML So comentrios, includos para descrever, esclarecer e fazer alguma observao sobre qualquer elemento do modelo Existe apenas um item notacional, chamado Notas.

Relacionamentos em UML

So blocos relacionais bsicos de construo da UML Como os Itens, os relacionamentos so utilizados para escrever modelos bem-formado

Relacionamento de Dependncia

Relacionamento de Dependncia

um relacionamento semntico entre dois itens nos quais a alterao de um (o item independente) pode afetar a semntica do outro item (o item dependente) O relacionamento de dependncia representado por linhas tracejadas.

Relacionamento de Associao

um relacionamento estrutural descreve um conjunto de ligaes So conexes entre objetos Agregao associao um tipo especial

que

de

O relacionamento de associao representado por linhas slidas.

Relacionamento de Generalizao

um relacionamento especializao / generalizao nos quais os objetos dos elementos especializados (filhos) so substituveis por objetos do elemento generalizado (pais) Os filhos compartilham a estrutura e o comportamento dos pais O relacionamento de associao representado por linha slida com uma seta apontando para o pai.

Relacionamento de Realizao

um relacionamento semntico entre classificadores, em que um classificador especifica um contrato que outro classificador garante executar So encontrados em dois lugares: z Entre interfaces e as classes ou componentes que as realizam z Entre casos de uso e as colaboraes que os realizam O relacionamento de realizao representado por linha tracejada com uma seta entre a generalizao e um relacionamento de dependncia.

Diagramas em UML

So apresentaes grficas de um conjunto de elementos So desenhados para permitir a visualizao de um sistema sob diferentes perspectivas Apresenta uma viso parcial dos elementos que compe o sistema O mesmo elemento pode aparecer em vrios diagramas (todos, alguns ou em nenhum).

Diagrama de Classes

Exibe conjunto de classes, interfaces e colaboraes, bem como seus relacionamentos Mostram uma viso esttica do sistema.

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

Diagrama de Objetos

Exibe um conjunto de objetos e seus relacionamentos Descrevem fotografias estticas de instncias de itens encontrados nos diagramas de classes Abrangem a viso esttica 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 organizao e modelagem de comportamento do sistema Abrangem a viso esttica de casos de usos do sistema.

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

Diagrama de Interao

Diagramas de seqncia e colaborao so tipos de diagramas de interao Abrangem uma viso dinmica do sistema Exibe uma interao consistindo de um conjunto de objetos e seus relacionamentos, incluindo mensagens trocadas entre eles.

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

Diagrama de Grficos de Estados

Exibem uma mquina de estados, formada por estados, transies, eventos e atividades Abrangem uma viso dinmica de um sistema Modelam comportamento interfaces, classes colaboraes. de ou

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

Diagrama de Atividades

Tipo especial de diagrama de grfico de estados Exibe o fluxo de uma atividade para outra no sistema Modela a funo de um sistema e enfatiza o fluxo de controle entre objetos.

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

Diagrama de Componentes

Exibe as organizaes e as dependncias existentes em um conjunto de componentes Viso esttica da implementao de um sistema Relaciona-se com os diagramas de classes, uma vez que os componentes so mapeados para uma ou mais classes, interfaces e colaboraes.

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

Diagrama de Implementao

Mostra a configurao dos ns de processamento em tempo de execuo e os componentes neles existentes Viso esttica arquitetura Relaciona-se componentes. do com funcionamento os de uma de

diagramas

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

Regras da UML

Como combinar os blocos de construo? Modelos bem-formados so aqueles autoconsistentes semanticamente e em harmonia com todos os modelos a eles relacionados Regras para:
z z

Quais nomes podem ser atribudos as coisas (nomes) O contexto que termina um significado especfico para um nome (escopo) Como tais nomes podem ser vistos e utilizados (visibilidade) Como os itens se relacionamento entre si de forma adequada e consistente (integridade) O que significa executar ou simular um modelo dinmico (execuo).

Sobre os modelos em UML

Situaes possveis durante a construo de modelos:


z z z

Parciais: Certos elementos ficam ocultos para simplificar a viso do modelo Incompletos: Certos elementos podem ser omitidos Inconsistentes: A integridade do modelo no assegurada.

Objetivos a ser alcanado:


z

Construir modelos bem-formados

Mecanismos bsicos da UML


Especificaes Adornos Divises comuns implementao)


Esteretipos Valores atribudos Restries

(dicotomia

interface

Mecanismos de extenso
z z z

Arquitetura de um sistema

Arquitetura o conjunto de decises significativas acerca dos seguintes itens:


z

Organizao do sistema Seleo dos interfaces elementos estruturais e suas

Comportamento do sistema Composio dos comportamentais Estilo de arquitetura elementos estruturais e

Arquitetura de um sistema

Referncias
Booch,

G., Rumbaugh, J., Jacobson, I. UML Guia do Usurio 11a Tiragem. Editora Campus, Rio de Janeiro, 2000. Pender, T. UML Bible, Wiley Publishing Inc. Indianapolis, 2003. Larman, C. Utilizando UML e Padres, 1a edio. Bookman, So Palulo, 2002.

Referncias 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