Você está na página 1de 38

MINISTRIO DA CINCIA E TECNOLOGIA INSTITUTO NACIONAL DE PESQUISAS ESPACIAIS

UML: Viso Geral


Gilberto Ribeiro de Queiroz
gribeiro@dpi.inpe.br

Disponvel em: http://www.dpi.inpe.br/~gribeiro/apresentacoes 29 de Fevereiro de 2008.

Sumrio

UML:

Motivao Diagramas

Oficina:

Criando diagramas UML com o JUDE Community 5

UML

Segundo a OMG, a Unified Modeling Language uma linguagem visual para especificao, construo e documentao de artefatos de software O propsito da modelagem (criao de esquemas UML) , principalmente, para entender e no para documentar! UML sozinha no resolve nada:

Ela deve ser usada dentro de um processo de desenvolvimento!

Processo de Desenvolvimento de Sistemas

Estabelece uma abordagem para a construo, desenvolvimento e manuteno de software:

Ex: UML + OpenUP (definio das fases de desenvolvimento e estabelecimento das regras do jogo!)

Atualmente metodologias evolucionrias:


so

iterativas

Ciclo repetitivo, com fases de curta durao Fases contemplam todas as etapas do ciclo de desenvolvimento (requisitos, anlise, projeto, implementao, teste e validao) As fases no tentam varrer todo o conhecimento do problema, isso obtido ao longo do tempo

Por que / Para que usar UML?

Vamos usar os diagramas UML para:

Ajudar a conceber nossas idias, em relao ao sistema que estivermos projetando

Pensar antes de codificar!

Apresentar nossas idias ao grupo de forma que todos possam interagir e discutir um determinado ponto

Aumentar a participao e envolvimento do time!

Documentar nossas idias quando elas j estiverem bem consolidadas para que novos integrantes e novos colaboradores possam acelerar sua compreenso dos sistemas desenvolvidos pelo grupo

UML

Diagramas servem para capturar diferentes vises do sistema:

Estrutural: esttica

Diagrama de Classes Diagrama de Objetos Diagrama de Componentes Diagrama de Implantao Diagrama de Casos de Uso Diagrama de Seqncia Diagrama de Atividades Diagrama de Estados Diagrama de Colaborao

Comportamental: dinmica

Diagramas de Casos de Uso

UML: Diagrama de Casos de Uso

Composto por:

Atores:

Pessoas que desempenham algum papel no sistema Entidades externas, como outros sistemas, que interagem com o sistema sendo projetado Processos ou funes que o sistema deve realizar de forma automtica ou mesmo manual Geralmente associadas a descries textuais Atores x Casos de Uso Casos de Uso x Casos de Uso

Casos de Uso:

Relacionamentos:

UML: Diagrama de Casos de Uso

Descrio Casos Uso


#05 Quem incia Pr-Condio Ator Administrador Nenhum outro administrador deve estar logado no sistema 1. O Administrador informa seu login/senha 2. O sistema verifica na ACL se o usurio possui privilgios especiais 3. Se o usurio no for um super-usurio interrompe processo 4. O sistema mostra a lista de usurios e grupos 5. O Administrador entra com a seguintes informaes: - nome do novo usurio, diretrio home, senha inicial, privilgios, data expirao da conta 6. O servidor valida os dados 7. As informaes da nova conta so gravadas na ACL Gerenciar Contas Usurios

Cenrio 1: Criar Nova Conta

Fluxo de Exceo

Diagrama de Atividades

Diagrama de Atividades

usado para mostrar uma seqncia de atividades. Mostra o fluxo de trabalho (workflow) a partir de um ponto inicial at um ponto final, detalhando as decises do caminho tomado durante a execuo das tarefas. Este diagrama possui vrias aplicaes, desde a definio do fluxo bsico de um programa at a definio de um processo com as suas tomadas de decises e aes.

Diagrama de Atividades
Aes

Execuo em Paralelo Estado Inicial

Ponto de Tomada de Deciso

Ponto de Juno

Estado Final

Diagrama de Atividades

Podemos ainda ter parties:


Elas ajudam a separar as aes em blocos Ex: aes realizadas pelo departamento A e aes realizadas pelo departamento B

Podemos ter o envio de objetos entre uma ao e outra:

Ex: Pedido

Diagrama de Classes

Representao de uma Classe

Nome da classe Compartimento dos Atributos Compartimento dos Mtodos

Acessibilidade dos Atributos e Mtodos: + atributo ou mtodo pblico # atributo ou mtodo protegido - atributo ou mtodo privado

Representao de um Classe

Atributos estticos aparecem sublinhados Mtodos Virtuais aparecem em itlico

Atributos estticos aparecem sublinhados Mtodos estticos aparecem sublinhados

Representao de uma Interface

A classe TePolygon Implementa a Interface

Interface Geometry: pode ter atributos e mtodos como as classes

Associao

class Proprietario { private: string nome; vector<Lote*> lotes; public: string getNome(); };

class Lote { private: double area; Proprietario* proprietario_; public: double getArea(); };

Generalizao

Superclasse

Subclasses A classe TeGeometry abstrata: por isso o itlico

Agregao/Composio

Agregao Composio

Diagrama de Classes Outras Consideraes

UML d o suporte para classes templates Herana de classes templates expressa com bind de templates Classes de associaes:

pode

ser

servem para qualificar os relacionamentos

Diagrama de Objetos

Diagrama de Objetos

Diagrama de Seqncia

Diagrama de Seqncia

Apresenta a ordem temporal das mensagens enviadas e recebidas pelos objetos Mostram a troca de mensagens entre diversos objetos num cenrio especfico Na minha viso (Gribeiro):

Ajuda a descobrir onde colocar os mtodos! Ajuda a verificar se a comunicao entre as classes est coerente!

Diagrama de Seqncia
Cenrio: Editar Nova Feio Geogrfica

Diagrama de Estados

Diagrama de Estado

Modela o individual

comportamento

de

um

objeto

Especifica as seqncias de estados pelos quais um objeto passa durante seu tempo de vida em resposta a eventos

Diagrama Estados

Diagrama de Estados

Choice:

Usado quando temos um estado em que o objeto est escolhendo o prximo estado. Ex: Escolhendo Tipo de Mensagem:

HTTP => Entra no estado Criando Mensagem HTTP Fax => Entra no estado Criando Mensagem FAX SMS => Entra no estado Criando Mensagem SMS

Histrico de Estado:

Ex: Mquina Lavar => quando religada precisa lembrar em qual estado estava.

Diagrama de Pacotes

UML: Packages

Organizao Lgica dos Artefatos:


Agrupar artefatos Organizar o modelo

Diagrama de Pacotes (Package Diagram)

Diagrama de Componentes

Diagrama de Componentes

Diagrama de Implantao

UML: Diagrama de Implantao