21
Orientação a Objetos – Resumo da UML Tópicos: Introdução e histórico 1) Diagrama de Casos de Uso 2) Diagrama de Classes 3) Diagrama de Seqüência Objetivo : Fornecer uma int du ã sb UML Unifi d 3) Diagrama de Seqüência 4) Diagrama Transição de Estados 5) Diagrama de Atividades 6) Di d C t introdução sobre a UML Unified Modeling Language, através da apresentação dos diagramas mais importantes dessa linguagem de modelagem. 6) Diagrama de Componentes 7) Diagrama de Implementação UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira

UML Resumo

Embed Size (px)

Citation preview

Page 1: UML Resumo

Para ajudar a proteger sua privacidade, o PowerPoint impediu o download automático desta imagem externa. Para baixar e exibir esta imagem, clique em Opções na Barra de Mensagens e clique em Habilitar conteúdo externo.

Orientação a Objetos – Resumo da UML

Tópicos:Introdução e histórico

1) Diagrama de Casos de Uso2) Diagrama de Classes3) Diagrama de Seqüência Objetivo: Fornecer uma

int du ã s b UML Unifi d 3) Diagrama de Seqüência4) Diagrama Transição de Estados5) Diagrama de Atividades6) Di d C t

introdução sobre a UML – Unified Modeling Language, através da apresentação dos diagramas mais importantes dessa linguagem de modelagem.

6) Diagrama de Componentes7) Diagrama de Implementação

g

UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira

Page 2: UML Resumo

2Introdução e históricoUML

Objetivo: Fornecer uma introdução sobre UML – Unified ModelingLanguage, através da apresentação dos diagramas maisimportantes dessa linguagem de modelagem.

Ivar Jacobson, James Rumbaugh e Grandy Booch foram os autoresiniciais que unificaram três “métodos”: a OOSE, a OTM e o método Booch.

Em 1997 a Object Management Group (OMG), definiu a UML comolinguagem padrão para a modelagem OO.

[site oficial http://www.uml.org/ ]

UML não é um método. Ela não possui um fluxo de trabalho para orientar oengenheiro de software, ela possui somente a definição dos diagramasrecomendados. O método associado é denominado Rational Unified Process.

Principais diagramas utilizados pela UML são: Diagrama de Casos de Uso,Diagrama de Classes, Diagrama de Seqüência, Diagrama Transição deEstados, Diagrama de Atividades, Diagrama de Componentes e Diagrama deImplementação.

UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira

Implementação.

Page 3: UML Resumo

Introdução e históricoUML

Versão que utilizaremos (Setembro/2001 – suportada pelo UML 1 4

UML 1.5 Versão mais recente (março/2003) = UML 1.4.1 + Action Semantics

Versão que utilizaremos (Setembro/2001 suportada pelo OMONDO – www.eclipseuml.com)

UML 1.4

UML 1.3 Junho/1999 (UML User Guide)

UML 1.0 Primeira submissão à OMG – Jan/1997Consórcio ”Parceiros UML”

Outras empresas se juntam ao Consórcio - 1997 UML 1.1

Consórcio Parceiros UML

Junho/1996 UML 0.9

Método de Booch OMT (Rumbaugh) OOSE (Jacobson) Outros métodos

Unified Method 0.8 OOPSLA - 1995

1994

Método de Booch OMT (Rumbaugh) OOSE (Jacobson) Outros métodos

Page 4: UML Resumo

4UML User Guide

Modelagem - princípios

“ d l é l d i id d d “A modelagem é a parte central das atividades do processo de requisitos de um bom desenvolvimento de software.”

A principal finalidade da modelagem é comunicar o di d i i dentendimento que temos do sistema que estamos construindo.

A principal finalidade do software é atender as necessidades dos usuários e do negócio.

1) A escolha de quais modelos criar tem grande influência sobre como um problema é atacado e como a solução é apresentadaapresentada.

2) Qualquer modelo pode ser expresso por diferentes níveis de precisão.

3) Os melhores modelos são os conectados a realidade.4) Um único modelo não é suficiente. Um sistema complexo é

melhor abordado através de um pequeno grupo de modelos

UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira

p q g pindependentes.

Page 5: UML Resumo

5

C O DE U O M d l f i lid d d i

UC - Use Cases 1) Diagrama de Casos de Uso

CASO DE USO Modela uma funcionalidade do sistema,É descrito sob a forma de interações entre o ator e o sistema.É sempre iniciado por um ator primário e provê algo de valort n í l p ss ttangível para esse ator.Por ser descrito preferencialmente sob a forma textual, ele podeser utilizado com a idéia de contrato e para a comunicação entre os“stakeholders”.stakeholders .Um caso de uso é formado por cenários de sucesso e de fracasso.

ATOR Abstração do ambiente externo do sistema.Pode representar um papel desempenhado outro sistema um órgãoPode representar um papel desempenhado, outro sistema, um órgão,que usa o sistema.

At

UC 1

Especificação do Caso de Uso

AtorUC 2

UC 3

UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira

UC 3

Page 6: UML Resumo

61) Diagrama de Casos de UsoUC - Use Cases

atorcaso de uso relacionamento

Fazer matrícula Apresentar

débitos“estende”

Aluno

Consultar horários

Encerrar matrículas

“inclui”

“inclui”horários

Autenticar

usuário

Secretaria

Fornecer notasProfessor

Sistema de Adm. Cursos

usuário

UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira

comunicação – a direção indica quem iniciou

Page 7: UML Resumo

UC - Use Cases 1) Diagrama de Casos de Uso

UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira

Page 8: UML Resumo

82) Diagrama de ClassesObjetos - Classes

O diagrama de classes:

Mostra classes, interfaces, colaborações e relacionamentos.

O diagrama de classes:1) envolve a modelagem do vocabulário do sistema. 2) faz a modelagem da visão estática do sistema.3) instâncias de objetos são povoadas na classe desse objeto.4) um objeto encapsula suas informações e seu comportamento.

atributosAlunonome: Nomeendereço: string

d lg

telefone: numériconome da classe

operações

adicionarAlunoobterTodosAlunos

UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira

operações

Page 9: UML Resumo

92) Diagrama de ClassesObjetos - Classes

multiplicidade

DepartamentoEscolatem temé responsavel por0..1

*

agregaçãomultiplicidade

é b d

1..*1..*

é t ib id

1..*

promoveé membro de

frequenta ministra

0..11..**

é atribuido a

generalizaçãoAluno Curso Instrutor

q

1..****

* *

g

AlunoMatric AlunoAvulso Avaliação

associação

UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira

Page 10: UML Resumo

10Mensagens 3) Diagrama de Seqüência

Diagrama de Seqüência eDiagrama de Seqüência eDiagrama de Colaboração

Modelam as interações entre os objetos Modelam as interações entre os objetos através das mensagens trocadas entre eles.

A fi lid d é d t ã d • A finalidade é proceder a representação do funcionamento do sistema e, assim, encontrar alguma omissão cometida nos modelos anteriores.

UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira

Page 11: UML Resumo

11Introdução 3) Diagrama de Seqüência

nome do ator

Objeto 1:

Nome da classe

Objeto N:

Nome da classe

nome do atorClasse do ator

1. evento 2. operação

3. operaçãolista de parametros

Texto

4. operaçãolista de parametros

Textodescritivo

lista de parametros5. evento

Possui seqüência temporal; apresenta a linha de vida do objeto e um

UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira

q p p jretângulo estreito que representa a duração da ação desempenhada.

Page 12: UML Resumo

3) Diagrama de Seqüência12

objeto Acondição

mensagem síncrona

[ ]

objeto B

mensagem

objeto

[se novo]<<create>>

Mensagem(auto delegação)

mensagem

(auto delegação)valor de retornobarra de ativação

símbolo de destruição Tempo(top-down)

<<destroy>>m ç

linha de vida

UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira

Page 13: UML Resumo

133) Diagrama de Colaboração

3 operação

Faz ênfase à organização do caminho das mensagens e representa a seqüência

3. operação (lista de parâmetros)temporal através da numeração das

mensagens .

Objeto 1:

Nome da classeObjeto 2

1. evento 2. operação

4. operação (lista de parâmetros)

nome do atorClasse do ator

Objeto 3 :Nome da classe

5. operação (lista de parâmetros)

fluxo de objeto

UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira

Page 14: UML Resumo

14StateChart 4) Diagrama Transição de Estados

O DTE é utilizado para modelar o aspecto dinâmico dos casos de uso e para mapear o ciclo de vida de objetos.

1) representa, como uma máquina de estados, o ciclo de vida de um objeto importante para o sistema ou o comportamento de um caso de uso.

2) é utilizado também para construir o software.3) um estado é uma situação “estática” (do objeto ou do UC) que

somente será alterada se alguma condição for ativada (por um evento externo ou por uma necessidade de resposta temporal).

4) di i ã d d4) um evento dispara uma transição de estados.5) só inicie seu diagrama após identificar a maioria dos estados e das

transiçõesÃTRANSIÇÃO: é um relacionamento de mudança entre dois estados,

provocada por um evento pré-determinado.ESTADO: é uma situação ou condição na vida de um objeto.

UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira

Page 15: UML Resumo

15DTE 4) Diagrama Transição de Estados

Pilha

Criou pilhaCriar pilha /

Criar nova pilhaMensagem "Pilha criada"

Excluiu pilhaExcluir pilha /Deletar pilha

Mensagem "Pilha excluida"

Retirou elementovazia

f:-

Retirou elementoRetirar /

Colocou elementoIncluir /

Retirar /Mensagem "Pilha vazia"

Pilha carregada

Retirar elementoMensagem "Operação OK"

Retirou elementoRetirar /

Colocou elementoIncluir /

Colocar elementoMensagem "Operação OK"

f:-

Colocou elementoIncluir /

Colocar elemento

Retirar elementoMensagem "Operação OK"

Retirou elementoRetirar /

Retirar elemento

Colocar elementoMensagem "Operação OK"

Pilha cheia

f:-

Colocou elementoIncluir /

Colocar elemento

Colocar elementoMensagem "Operação OK"

Retirar elementoMensagem "Operação OK"

UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira

f: Colocar elementoMensagem "Pilha cheia"

Page 16: UML Resumo

165) Diagrama de Atividadesactivities

O Diagrama de Atividades também é utilizado para modelar aspectos dinâmicos do sistema.

O diagrama de atividades:1) é essencialmente um fluxograma que modela o fluxo de controle

seqüencial de atividades de atividade para atividadeseqüencial de atividades, de atividade para atividade.2) é utilizado para especificar e comunicar o encadeamento das

atividades dos usuários quando esses interagem com o sistema.3) s t ifi õ s t és d bif õ s j õ s t és 3) representa ramificações através de bifurcações e junções através

de barras de sincronização.4) é um tipo de diagrama de transição de estados onde a transição é

única e somente ocorre na condição de fim do estado (atividade)única e somente ocorre na condição de fim do estado (atividade).5) deve ser elaborado 1 diagrama para cada caso de uso.

UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira

Page 17: UML Resumo

175) Diagrama de Atividadesactivities

Atender paciente

Paciente MédicoLaboratório

Consultainício

l l id

raias

Marcar consultaAtender paciente

Prescrever receitaConsulta

Consultaclasse envolvida

bifurcação

[exames sim]

[exames não]

Pedir examesPacientePaciente

Caso de Uso:

ATENDER

Finalizar consulta

atividadePACIENTE

Fazer examesAtualizar exames

Finalizar consulta

barra de sincronizaçãotérmino

UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira

Page 18: UML Resumo

186) Diagrama de Componentes

- Retrata os componentes de software e suas dependências.

Componente fonte: é tipicamente o arquivo de código fonte deimplementação de uma ou mais classes.

Componente binário: é o código objeto que é resultado dap g j qcompilação de um componente fonte. Ele pode ser um arquivocom o código objeto, uma biblioteca estática ou uma bibliotecadinâmica.

Componente executável: é um arquivo de programa executável que é resultado da “link-edição” de componentes binários ( estático, na hora de link, ou dinâmico, na hora de executar). um elevador té d h daté o andar chamado.

- Documenta o empacotamento físico das classes.- Identifica a alocação dos processos em processadores

UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira

Identifica a alocação dos processos em processadores.

Page 19: UML Resumo

196) Diagrama de Componentes

Manuseador de Janelas(ManJanel.cpp)

BibliotecaGrafica (BGrafica.dll)

Manuseador de Janelas

(ManJanel.obj)

(ManJanel.cpp)

Manuseador

Manuseador Comum

(ManComum.cpp)

ProgramaCliente (PCliente.exe)

Manuseador Comum

(ManComum.obj)

Classe Principal (Principa.obj)

Classe Principal (Principa.cpp)

UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira

Page 20: UML Resumo

207) Diagrama de Implementação

- Mostra a configuração de nós de processamento em tempo de execução e os componentes de software que existem nesses nós.

: caixa <<10-T Ethernet>>

: atendimento<<10-T Ethernet>>principal : server

vel.= 300mHz

fechamento.exepagamento.exe

Reserva.exealuguel.exe

vel. 300mHzmem.=128 megas

BD-patins.exeSistPatins.exe

: administração

fechamento exe

<<10-T Ethernet>>

fechamento.exealuguel.exe

UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira

Page 21: UML Resumo

21BIBLIOGRAFIA

Booch, Grandy; Jacobson, Ivar; Rumbaugh, James; The Unified Modeling Language User Guide; The Addison-Wesley Object Technology Series, (1999).

P R S E h i d S ft M G Hill H d 6th diti Pressman, R. S.; Engenharia de Software, McGraw-Hill, Hardcover, 6th edition, (2006), ISBN 0-07-28318-2.

Sommerville, I.; Engenharia de Software, 8a edição; Pearson Addison-Wesley(2007) ISBN 978-85-88639-28-7(2007) ISBN 978 85 88639 28 7.

UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira