uml components zalunos: yfelipe desiderati e souza - felipedesiderati@terra.com.br ybernardo faria...

Post on 18-Apr-2015

108 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

UML Components

Alunos: Felipe Desiderati e Souza -

felipedesiderati@terra.com.br Bernardo Faria de Miranda - bernardofm@yahoo.com.br

Agenda

Arquitetura de sistemas e componentesWorkflow de RequisitosWorkflow de EspecificaçõesModelagem de componentes com UML

Dados

Serviço

Apresentação

Camadas de Arquitetura de Aplicação

Cliente Servidor Web

Cliente Web

Servidor de Aplicação

Servidor de Banco de Dados

Sistema Existente(Servidor)

HTTP

RMI / IIOP / DCOM

RMI / IIOP / DCOM

JDBC / ODBC / SQL

Qualquer

Aplicação Blueprint

Foco da apresentação:Como desenvolver esta parte?

Banco de DadosSistema

existente

Servidor de Aplicação

Servidor Web

A/JSP

ObjetoComponente

ObjetoComponente

ObjetoComponente

ObjetoComponenteObjeto

Componente

Camadas de Aplicação Finer-Grain

Apresentação

Serviço

Dados

• Dialog Logic (Casos de Uso)• Suporte à múltiplos UI’s• Estado de Diálogo Transitório

• UI Logic• O que o usuário vê?

• Sub-transações• Estado de Ocorrência do Negócio

• Transações de negócio• Permite múltiplos Diálogos (incluindo Batch)• Estado de Integridade do Negócio

Sis

tem

a

Aplic

açã

o

User Interface (UI)

User Dialog (UD)

Serviços de Negócio

Serviços de Sistema

Gerenciamento e Desenvolvimento

Processos de gerenciamento Planejamento do trabalho e prazos Alocação de recursos Monitor de progresso Controle de risco

Modelo de Conceito de Negócio

Especificações de Componentes

Componentes

Modelo de Caso de Uso

O% % Completo 100%

Gerenciamento e Desenvolvimento

Processos de desenvolvimento Criação de software de trabalho a partir de requisitos Foco no desenvolvimento de software (artefatos) Descrito independentemente dos processos de

gerenciamento Define a ordenação das restrições e dependências Organizado em Workflows

Workflow de Especificação

Modelos deCasos de Uso

Modelos deConceitos de Negócio

Especificações de Componentes e Arquiteturas

Workflows para o Processo de Desenv.

Requisitos

Especificação Provisionamento Montagem

Teste

Deploy

User Interface

RestriçõesTécnicas

Componentes

Requisitos de Negócio

Recursos Existentes

Modelo de Conceitos

de Negócio

Modelo de

Casos de Uso

Especificações de Componentee Arquitetura

Workflow (c.f. RUP)

Artefato

Partes

PartesTestada

s

Workflow de Requisitos

Workflow

Desenvolvimento deModelo de Negócio

Conceitual

Desenvolvimento deProcessos de

Negócio

Identificação deCasos de Uso

Casos de UsoModelo deNegócio Conceitual

Requisitos de NegócioProblema de Domínio de

Conhecimento

Decisões deLimite de Software

Modelo de Conceito de Negócio

Hotel

ReservaCliente Quarto

Endereço

Pagamento Conta

SecretáriaRede Hoteleira

Tipo Quarto

Hotel Contactado

Alocação

Endereço de Contato

1

1

1

1

1

1

11

1..*

1..*

1..*

1

0..1

0..1

0..1

0..1

* **

* *

*1

Identificação de Casos de Uso

Um caso de uso descreve a interação que ocorre a partir deum único evento de negócio. Onde um evento dispara umnúmero de etapas de processos, todas as etapas de umúnico caso de uso.

VerificarDisponibilidade

Realizar Reserva

Confirmar Reserva

Esperar porEvento

Notificar Sistemade Pagamento

Cancelar Reserva

Refazer Reserva

Processar No Show

Realizar Check In

[Senão]

[Quarto Adequado]

Chegada do Cliente/

Cancelar Requisição/

No Show/(Cliente não se apresentou)

Início Processo/

Refazer Requisição/

Identificação de Casos de Uso

Sistema de Reserva

Cancelar Reserva

Realizar Reserva

Adicionar, alterar, remover

hotel, quarto,cliente, etc

Diagramas deCaso de Uso

Realizar Check In

Processar No Show

Atualizar Reserva

Cliente

Sistema de Pagamento

Administrador da Reserva

Responsável pela Reserva

Cenário Principal do Sucesso1. Responsável pela Reserva pede para realizar uma reserva2. Responsável pela Reserva seleciona hotel, datas, e tipo de quarto3. Sistema fornece a disponibilidade e preço4. Responsável pela Reserva concorda com o procedimento5. Responsável pela Reserva fornece o nome e código postal6. Responsável pela Reserva fornece email para contato7. Sistema realiza a reserva e gera um ticket8. Sistema fornece o ticket ao Responsável pela Reserva9. Sistema cria e envia uma confirmação por email

Extensões3. Quarto não disponível

a) Sistema oferece datas alternativas e/ou outros tipos de quartosb) Responsável pela Reserva seleciona um alternativa

6. Cliente já em arquivoa) Resumir 7

Identificação de Casos de Uso

Nome Realizar Reserva

Iniciador Responsável pela Reserva

Objetivo Reservar um quarto no hotel

Etapas

OuPontos deExtensão

Workflow de Especificação

Requisitos

Provisão

EspecificaçãoIdentificação deComponentes

Interação entreComponentes

Especificação deComponentes

Identificação de Componentes

Identificação deComponentesDesenvolvimento de

Modelo de Tipo deNegócio

Identificar Interfacesde Negócio

Criar Especificações deComponentes e Arqui-

teturas Iniciais

Interfaces deNegócio

Modelo deTipo de Negócio

Modelo deCaso de Uso

Padrões deArquitetura

Modelo deConceito de Negócio

Identificar Interfacesde Sistema e Operações

InterfacesExistentes

RecursosExistentes

Especificações deComponentes eArquiteturas

Interfaces deSistema

Identificar Interfaces de Sistema e Op.

As Interfaces de Sistema atuam como uma fachada - Elas sãoos pontos de contato entre os UI’s e outros agentes externos.São apoiadas pelo componentes na camada de serviços desistema.

RealizarReserva

RealizarReserva

Identificar exigências para o quartoSistema fornece o preçoRequisita uma reserva

<<tipo interface>>IRealizaReserva

getDetalheHotel()getInfoQuarto()realizaReserva()

Caso de Uso

EtapasCaso de

Uso

Tipo de Diálogo

Interface doSistema

Desenv. de Modelo de Tipo de Negócio

Hotel

ReservaCliente Quarto

Endereço

Pagamento Conta

SecretáriaRede Hoteleira

Tipo Quarto

Hotel Contactado

Alocação

Endereço de Contato

1

1

1

1

1

1

11

1..*

1..*

1..*

1

0..1

0..1

0..1

0..1

* **

* *

*1

Identificar Interfaces de Negócio

<<core>>Hotel

nome: String

<<tipo>>Quarto

numero: String<<tipo>>

Reserva

referencia: Stringdatas: DateRange

<<core>>Cliente

nome: StringcodPostal: Stringemail: String

<<tipo>>Tipo Quarto

nome: Stringpreco(Date): CurrencyprecoEstadia(DateRange): Currencydisponivel(DateRange): Boolean

<<tipo interface>>IClienteMgt A responsabilidade pelos tipos

de negócio é mostrada pelasdetenções

A responsabilidade por asse-gurar esta associação foi re-servado para IHotelMgt

1

11

1

1

1

*

*

*

*

*

*

* 1..*

1..*

0..1Alocação

<<tipo interface>>IHotelMgt

Arquiteturas de Componentes

<<Espec. Componente>>SistemaReserva

<<Espec. Componente>>SistemaPagamento

<<Espec. Componente>>ClienteMgr

<<Espec. Componente>>HotelMgr

IRealizaReserva

IRealizaCheckIn

IClienteMgt

IPagamento

IHotelMgt

Arq. Mínima de Objetos Componentes

<<Espec. Componente>>:SistemaReserva

<<Espec. Componente>>:SistemaPagamento

<<Espec. Componente>>:ClienteMgr

<<Espec. Componente>>:HotelMgr

IRealizaReserva

IRealizaCheckIn

IClienteMgt

IPagamento

IHotelMgt

Interação entre Componentes

Interação entreComponentes

Descobrir Operaçõesde Negócio

Refinar Especificaçõesde Componentes e

Arquiteturas

Refinar Interfaces eOperações

Interfaces

Interfaces deNegócio

Especificações de Componentes e Arquiteturas

Especificações de Componentes e Arquiteturas

Interfaces deSistema

Interação entre Componentes

/IClienteMgt

/IRealizaReserva:SistemaReserva

/IHotelMgt

<<tipo dados>>DetalhesCliente

nome: StringcodPostal[0..1]: Stringemail[0..1]: String

2: realizaReserva()

realizaReserva() 1: getClienteCompatibilizado()

2: notificaCliente()

<<tipo interface>>IRealizaReserva

getDetalheHotel (in hot: String) : DetalhesHotel []getInfoQuarto (in res: DetalhesReserva, out disponivel: Boolean, out preco: Currency)realizaReserva (in res: DetalhesReserva, in cli: DetalhesCliente, out referencia: String) : Integer

<<tipo interface>>IHotelMgt

getDetalheHotel (in hot: String) : DetalhesHotel []getInfoQuarto (in res: DetalhesReserva, out disponivel: Boolean, out preco: Currency)realizaReserva (in res: DetalhesReserva, in cli: IdCliente, out referencia: String) : Boolean

Especificação de Componentes

Especificação deComponentes

Descobrir Operaçõesde Negócio

Especificar Restriçõespara Componente-

Interface

Especificar OperaçõesPré/Pós-Condições

Interfaces

Modelo de Tipode Negócio

Especificações de Componentes e Arquiteturas

Especificações de Componentes e ArquiteturasInterfaces

Modelo de Interface de Informação

<<tipo interface>>IClienteMgt

getClienteCompatibilizado (in dcli: DetalhesCliente , out idcli: IdCliente) : IntegercriaCliente (in dcli: DetalhesCliente, out idcli: IdCliente) : BooleangetDetalheCliente (in cli: IdCliente) : DetalhesClientenotificaCliente (in cli: IdCliente, in msg: String)

Define o conjunto de informações presumidas a seremassegurados por um objeto componente. Apenas parapropósitos de especificação.

As implementações não necessitam guardar estas infor-mações, mas precisam ser capazes de obtê-las.

O modelo necessita apenas explicitar os efeitos das ope-rações.

O modelo pode ser derivado a partir do Modelo de Tipode Negócio.

Cliente

Id: IdClientenome: StringcodPostal: Stringemail: String

*

Pré e Pós-Condições

Se a pré-condição é verdadeira, a pós-condição precisa ser verdadeira.

Se a pré-condição é falsa, a pós-condição não se aplica.

Uma pré-condição perdida é assumida como verdadeira.

Pré e pós-condições podem ser escritas em uma linguagem natural, ou em uma linguagem formal como a OCL.

Diagramas UML

Requisitos

Modelo de Conceito de Negócio

Modelo de Caso de Uso

Especificação

Modelo de Tipo de Negócio

Especificações de Interface

Especificações de Componente

Arquitetura de Componente

Interações

Diagramasde Caso de

Uso

Diagramasde Espec. de

Interface

Diagramasde Espec. deComponente

Diagramasde Arq. de

Componente

Diagrama deCaso de Uso

Diagrama deClasse

Diagramade Modelo deConceito de

Negócio

Diagramade Modelo de

Tipo deNegócio

Diagramade Responsa-bilidade deInterface

Diagramade Interação deComponentes

Diagrama deClasse

Diagrama deColaboração

Diagrama dePacotes

UML Components

FIM

top related