Sei sulla pagina 1di 41

Introduo a Unified Modeling Language

Josyane Lannes Florenzano de Souza


Mestre em Cincia da Computao PUCRS josyane@terra.com.br

Agenda

Histrico Contribuies para UML O que UML? Viso Geral da UML Benefcios O que modelagem visual? Notaes x Metamodelos Processo

Histrico

Sucessora da onda de mtodos de anlise e projeto orientado a objetos (OOA&D) Unifica os mtodos de Booch, Rumbaugh (OMT) e Jacobson

Contribuies para a UML


Meyer
Before and after conditions

Harel
Statecharts

Gamma, et al
Frameworks and patterns,

Booch
Booch method

HP Fusion
Operation descriptions and message numbering

Rumbaugh
OMT

Embley
Singleton classes and high-level view

Jacobson
OOSE

Wirfs-Brock
Responsibilities

Shlaer - Mellor
Object lifecycles

Odell
Classification

O que UML?

Linguagem de modelagem; No um mtodo;


Processo sugesto de quais passos a serem seguidos na elaborao de um projeto

Linguagem de Modelagem notao (grfica) utilizada por mtodos para expressar projetos

Mtodo

Ex: RUP

Viso Geral da UML

A UML uma linguagem destinada a:


visualizar especificar construir documentar

os artefatos de um sistema complexo de software. Artefatos: diagramas e documentos.

OMG (Object Management Group)

Adotou a UML em novembro de 1997 como padro RTF (Revision Task Force)

Pertencente a OMG Ficou responsvel pelas revises da UML

Benefcios da UML

Definir um mapeamento de anlise/abstrao para implementao; Definir uma expressiva e consistente notao; Ajuda a apontar omisses e inconsistncias; Suporta pequenas e grandes anlises.

O que modelagem visual?


Pedido

A modelagem captura as partes essenciais do sistema

Item

Enviar via

A modelagem visual modelar usando uma notao grfica padro

Sistemas de Computadores

Notaes x Metamodelos

Notaes

coisa grfica que vc v nos modelos; ela a sintaxe da linguagem de modelagem; Ex: notao de diagrama de classe define como itens e conceitos so representados: classe, associao e multiplicidade
0..1
multiplicidade

*
associao

classe

Notaes x Metamodelos

Metamodelos

Diagrama, geralmente um diagrama de classes, que define a notao.

Obs: se quiserem mais detalhes: ler manual de referncia, ou documentao oficial da UML, ou www.omg.org

Processo

Desenvolvido por Jacobson, Booch e Rumbaugh, 1999; pode-se usar qualquer processo com UML!!!

Processo

Viso Geral do Processo


Elaborao Construo Transio

Concepo

Um bate-papo na hora do caf...

Processo

Viso Geral do Processo


Elaborao Construo Transio

Concepo

Elabora o plano de negcio do projeto quanto custar e quanto ter de retorno

Processo

Viso Geral do Processo


Elaborao Construo Transio

Concepo

Uma vaga idia dos requisitos


Riscos de requisitos descobrir todos os casos de uso e esboar Riscos tecnolgicos diagrama de classe, pacote, utilizao Riscos de habilidades ou de especializao - consultoria Riscos polticos
esqueleto do modelo conceitual do domnio (classe, atividade, interao)

Processo

Viso Geral do Processo


Elaborao Construo Transio

Concepo

Uma vaga idia dos requisitos


Esta fase termina quando:
os desenvolvedores se sentirem vontade para estipular quanto tempo levar para construir cada caso de uso; todos os riscos significativos forem identificados.

Processo

Viso Geral do Processo


Elaborao Construo Transio

Concepo

Cada iterao um miniprojeto: Consiste de vrias


faz anlise projeto codificao teste

iteraes.

integrao para casos de uso designados para cada iterao

Processo

Viso Geral do Processo


Elaborao Construo Transio

Concepo

Um bom exemplo da fase de transio o perodo entre a verso beta e a verso final do produto

Vises e Diagramas 1.4 Estrutural


Grande rea Estrutural Viso Viso esttica Diagramas Diagrama de classe Elementos Classe; associao; dependncia; interface; realizao Use case; ator; associao; extend; include; generalizao de use case

Viso de use case

Diagrama de caso de uso

Vises e Diagramas - Dinmico


Grande rea Dinmico Viso Viso da mquina de estados Viso de atividade Viso de interao Diagramas Diagrama de statechart (estados) Diagrama de atividades Diagrame de seqncia Elementos Estado; evento; transio; ao Estado; atividade; transio; fork; unio Interao; objeto; mensagem; ativao

Diagrama de colaborao

Colaborao; interao; role de colaborao; mensagem

Diagramas UML 2.0


(13 diagramas oficiais)
1. 2.

3.
4. 5. 6.

7.
8. 9. 10. 11. 12. 13.

Atividades Classes Comunicao Componentes Estruturas compostas Distribuio Viso Geral da Interao Objetos Pacotes Sequncia Mquina de estado Sincronismo Caso de Uso

Componentes da UML

Elementos de modelagem Relacionamentos Mecanismos de extenso Diagramas

Elementos de Modelagem

Elementos Estruturais

Classe, interface, colaborao, use case e componente (agregado de classe)

Elementos de Comportamento

Interao, mquina de estados


Pacotes, subsistema Notas

Elementos de Agrupamento

Outros Elementos

Elementos de Modelagem
Classe
nome Shape + origin: Point
+ + + # move (p: Point) resize (s: Scale) display () invalidateRegion ()

atributos assinatura operaes

visibilidade

Responsibilities - manage shape state - handle basic shape transformations

compartimento extra

Elementos de Modelagem

Dependncia Associao
associao

Generalizao Realizao

nome
0..1

multiplicidade navegao
empregos e: empregador empregado

fim

* fim

especificao de interface

nome do papel

Mecanismos de Extenso

Stereotype Tagged value Constraint (OCL)

Mecanismos de Extenso

Constraints
Pessoa
{Pessoa.empregador= Pessoa.chefe.empregador}

Empresa

Targed Value

TransaoKioski
Form=standalone1, Biblioteca=Xc1, ndice=ambos

Servidor
Targed value para gerao de cdigo

Stereotypes

<<database>> Reserva

Casos de Uso

Conjunto de cenrios amarrados por um objetivo comum de um usurio.

Seqncia de passos que descreve uma interao entre um usurio e um sistema

Exemplo de Cenrio de Compra de um Produto


Loja on line baseada na web:

O cliente navega no catlogo de itens e adiciona itens desejados sua cesta de compras. Quando o cliente deseja pagar, descreve o endereo de entrega, fornece as informaes do carto de crdito e confirma a venda. O sistema verifica a autorizao do carto de crdito e confirma a venda imediatamente e envia um e-mail logo a seguir.
Comprar produto

Descrio exemplo de texto de caso de uso


O cliente navega no catlogo e seleciona itens a serem comprados 2. O cliente vai para o check out 3. O cliente preenche o formulrio de remessa (endereo de entrega; opo de entrega imediata ou em trs dias) 4. O sistema apresenta a informao total do faturamento incluindo a remessa, os preos e os impostos 5. O cliente preenche a informao de carto de crdito 6. O sistema autoriza a compra 7. O sistema confirma imediatamente a venda 8. O sistema manda uma confirmao para o cliente por e-mail Alternativa: Falha na Autorizao No item 6, o sistema falha na autorizao da compra por crdito Permite ao cliente resubmeter a informao do carto de crdito e tentar novamente
1.

Diagrama de Casos de Uso


Descreve o que o sistema far; Serve de contrato entre o usurio, cliente e desenvolvedores; Valida o que o sistema far; composto de atores e casos de uso; Cada caso de uso no modelo deve ser descrito em detalhes; Descreve passo-a-passo como o sistema interage com os atores.

Exemplos 1 Diagrama de Casos de Uso

Aluno ator

matricular na disciplina caso de uso

Professor
selecionar disciplina para ministrar

Exemplos 2 Diagrama de Casos de Uso

Aluno
Mantm Horrio

Solicita Lista de Cursos

Professor

Sistema Cobrana
Mantm Curriculum Secretaria

Exemplo 3 Diagrama de Casos de Uso


Estabelecer limites Analisar riscos Atualizar Contas <<include>>

Gerente Comercial

sistema de contabilidade
Avaliar Negcio

Fechar Preo

<<include>>

Analista Comercial

Ator
Generalizao Caso de Uso

Registrar Negcio

esteretipos
Vendedor

Negcio c/ Limites Excedidos

Ator

Papel que um usurio desempenha em relao ao sistema; Ator desempenha os casos de uso; Um nico ator pode desempenhar muitos casos de uso; Um caso de uso pode ter reciprocamente vrios atores desempenhando-o; Os atores podem ser humano, sistema externo.

Associao entre casos de uso


Associao de incluso Ocorre quando h uma parte do comportamento que semelhante em mais de um caso de uso e voc no quer ficar copiando descrio deste comportamento Generalizao de caso de uso Utiliza quando tem um que semelhante a outro, mas faz um pouco mais.

Associao entre casos de uso


Extenso Semelhante a generalizao mas possui mais regras; O caso de uso estendido pode acrescentar comportamento para o caso de uso-base, mas este tipo de caso deve declarar certos pontos de extenso, e o caso de uso da extenso pode acrescentar comportamento adicional naqueles pontos de extenso.

Exemplo 4 Associao de Extenso

Compra Por Cliente Regular

<<extend>> (info. de pagamento, info de entrega)

Comprar um Produto Pontos de extenso


info. de pagamento info. de entrega

Regras

Use incluso quando voc estiver se repetindo em dois ou mais casos de uso separados e voc deseja evitar a repetio. Use generalizao quando voc estiver descrevendo uma variao em comportamento normal e voc deseja descrev-la sem muito rigor. Use extenso quando voc estiver descrevendo uma variao em comportamento normal e deseja utilizar a forma mais controlada, explicando os pontos de extenso no caso de uso.

Quando utilizar casos de uso

No consigo imaginar, no momento, uma situao na qual no utilizaria casos de uso. Ferramenta essencial na captura de requisitos e no planejamento e controle de um projeto iterativo. Captura de casos de uso uma das tarefas bsicas na fase de elaborao. Importante: Casos de Uso representam uma viso externa do sistema. Como tal, no espere nenhuma correlao entre eles e classes dentro do sistema.

Referncia Bibliogrfica
FOWLER, M; SCOTT, K. UML essencial: um breve guia para a linguagem-padro de modelagem de objetos. 2. ed. Porto Alegre : Bookman, 2000. 169 p.

Bibliografia complementar
RIZZONI, Ariadne M. B.; CHIOSSI , Thelma C. dos Santos. Introduo Engenharia de Software. So Paulo, Unicamp. 2001.

Potrebbero piacerti anche