1 / 27

UML Components

UML Components. Alunos: Felipe Desiderati e Souza - felipedesiderati@terra.com.br Bernardo Faria de Miranda - bernardofm@yahoo.com.br. Agenda. Arquitetura de sistemas e componentes Workflow de Requisitos Workflow de Especificações Modelagem de componentes com UML.

kirima
Download Presentation

UML Components

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. UML Components • Alunos: • Felipe Desiderati e Souza - felipedesiderati@terra.com.br • Bernardo Faria de Miranda - bernardofm@yahoo.com.br

  2. Agenda • Arquitetura de sistemas e componentes • Workflow de Requisitos • Workflow de Especificações • Modelagem de componentes com UML

  3. Camadas de Arquitetura de Aplicação Apresentação Cliente Web HTTP Cliente Servidor Web RMI / IIOP / DCOM RMI / IIOP / DCOM Serviço Servidor de Aplicação Sistema Existente (Servidor) Qualquer JDBC / ODBC / SQL Dados Servidor de Banco de Dados

  4. Aplicação Blueprint Servidor Web A/JSP Servidor de Aplicação Objeto Componente Objeto Componente Objeto Componente Objeto Componente Objeto Componente Foco da apresentação: Como desenvolver esta parte? Banco de Dados Sistema existente

  5. Camadas de Aplicação Finer-Grain Apresentação Aplicação • UI Logic • O que o usuário vê? User Interface (UI) User Dialog (UD) • Dialog Logic (Casos de Uso) • Suporte à múltiplos UI’s • Estado de Diálogo Transitório Sistema Serviço • Transações de negócio • Permite múltiplos Diálogos • (incluindo Batch) • Estado de Integridade do Negócio Serviços de Sistema Serviços de Negócio • Sub-transações • Estado de Ocorrência do Negócio Dados

  6. Gerenciamento e Desenvolvimento • Processos de gerenciamento • Planejamento do trabalho e prazos • Alocação de recursos • Monitor de progresso • Controle de risco O% % Completo 100% Modelo de Conceito de Negócio Modelo de Caso de Uso Especificações de Componentes Componentes

  7. 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 Modelos de Casos de Uso Workflow de Especificação Especificações de Componentes e Arquiteturas Modelos de Conceitos de Negócio

  8. Workflows para o Processo de Desenv. Requisitos de Negócio Artefato Recursos Existentes Requisitos User Interface Modelo de Conceitos de Negócio Restrições Técnicas Componentes Especificação Provisionamento Montagem Modelo de Casos de Uso Especificações de Componente e Arquitetura Partes Teste Partes Testadas Deploy Workflow (c.f. RUP)

  9. Workflow de Requisitos Problema de Domínio de Conhecimento Requisitos de Negócio Workflow Desenvolvimento de Modelo de Negócio Conceitual Desenvolvimento de Processos de Negócio Decisões de Limite de Software Identificação de Casos de Uso Modelo de Negócio Conceitual Casos de Uso

  10. Modelo de Conceito de Negócio 1 1..* Rede Hoteleira Secretária 1..* 1 Hotel Hotel Contactado 1 1 * * 1..* * Alocação Cliente Reserva Quarto 1 * 0..1 * 1 1 * Endereço de Contato 0..1 1 1 Endereço Tipo Quarto 0..1 1 Pagamento Conta 0..1

  11. Identificação de Casos de Uso Um caso de uso descreve a interação que ocorre a partir de um único evento de negócio. Onde um evento dispara um número de etapas de processos, todas as etapas de um único caso de uso. Realizar Check In Chegada do Cliente/ Esperar por Evento [Senão] Verificar Disponibilidade Cancelar Reserva Cancelar Requisição/ Início Processo/ [Quarto Adequado] Refazer Requisição/ Realizar Reserva Refazer Reserva No Show/ (Cliente não se apresentou) Processar No Show Notificar Sistema de Pagamento Confirmar Reserva

  12. Identificação de Casos de Uso Responsável pelaReserva Sistema de Reserva Diagramas de Caso de Uso Cancelar Reserva Realizar Reserva Cliente Atualizar Reserva Realizar Check In Sistema de Pagamento Processar No Show Adicionar, alterar, remover hotel, quarto, cliente, etc Administrador da Reserva

  13. Identificação de Casos de Uso Nome Realizar Reserva Cenário Principal do Sucesso 1. Responsável pela Reserva pede para realizar uma reserva 2. Responsável pela Reserva seleciona hotel, datas, e tipo de quarto 3. Sistema fornece a disponibilidade e preço 4. Responsável pela Reserva concorda com o procedimento 5. Responsável pela Reserva fornece o nome e código postal 6. Responsável pela Reserva fornece email para contato 7. Sistema realiza a reserva e gera um ticket 8. Sistema fornece o ticket ao Responsável pela Reserva 9. Sistema cria e envia uma confirmação por email Extensões 3. Quarto não disponível a) Sistema oferece datas alternativas e/ou outros tipos de quartos b) Responsável pela Reserva seleciona um alternativa 6. Cliente já em arquivo a) Resumir 7 Iniciador Responsável pelaReserva Objetivo Reservar um quarto no hotel Etapas Ou Pontos de Extensão

  14. Workflow de Especificação Requisitos Especificação Identificação de Componentes Interação entre Componentes Especificação de Componentes Provisão

  15. Identificação de Componentes Modelo de Conceito de Negócio Modelo de Caso de Uso Identificação de Componentes Desenvolvimento de Modelo de Tipo de Negócio Interfaces Existentes Identificar Interfaces de Negócio Identificar Interfaces de Sistema e Operações Recursos Existentes Padrões de Arquitetura Criar Especificações de Componentes e Arqui- teturas Iniciais Modelo de Tipo de Negócio Interfaces de Negócio Especificações de Componentes e Arquiteturas Interfaces de Sistema

  16. Identificar Interfaces de Sistema e Op. As Interfaces de Sistema atuam como uma fachada - Elas são os pontos de contato entre os UI’s e outros agentes externos. São apoiadas pelo componentes na camada de serviços de sistema. Realizar Reserva Realizar Reserva Tipo de Diálogo Caso de Uso <<tipo interface>> IRealizaReserva Identificar exigências para o quarto Sistema fornece o preço Requisita uma reserva Etapas Caso de Uso Interface do Sistema getDetalheHotel() getInfoQuarto() realizaReserva()

  17. Desenv. de Modelo de Tipo de Negócio 1 1..* Rede Hoteleira Secretária 1..* 1 Hotel Hotel Contactado 1 1 * * 1..* * Alocação Cliente Reserva Quarto 1 * 0..1 * 1 1 * Endereço de Contato 0..1 1 1 Endereço Tipo Quarto 0..1 1 Pagamento Conta 0..1

  18. Identificar Interfaces de Negócio 1 <<tipo interface>> IHotelMgt <<tipo>> Tipo Quarto 1 1..* * <<core>> Hotel nome: String preco(Date): Currency precoEstadia(DateRange): Currency disponivel(DateRange): Boolean nome: String 1 1 1 1 * <<core>> Cliente 1..* * <<tipo>> Quarto nome: String codPostal: String email: String <<tipo>> Reserva numero: String * referencia: String datas: DateRange * Alocação 0..1 * * A responsabilidade por asse- gurar esta associação foi re- servado para IHotelMgt <<tipo interface>> IClienteMgt A responsabilidade pelos tipos de negócio é mostrada pelas detenções

  19. Arquiteturas de Componentes <<Espec. Componente>> SistemaReserva IRealizaReserva IRealizaCheckIn <<Espec. Componente>> SistemaPagamento IPagamento <<Espec. Componente>> ClienteMgr IClienteMgt <<Espec. Componente>> HotelMgr IHotelMgt

  20. Arq. Mínima de Objetos Componentes <<Espec. Componente>> :SistemaReserva IRealizaReserva IRealizaCheckIn <<Espec. Componente>> :SistemaPagamento IPagamento <<Espec. Componente>> :ClienteMgr IClienteMgt <<Espec. Componente>> :HotelMgr IHotelMgt

  21. Interação entre Componentes Interfaces de Negócio Interfaces de Sistema Especificações de Componentes e Arquiteturas Interação entre Componentes Descobrir Operações de Negócio Refinar Interfaces e Operações Refinar Especificações de Componentes e Arquiteturas Interfaces Especificações de Componentes e Arquiteturas

  22. Interação entre Componentes /IClienteMgt /IHotelMgt realizaReserva() 1: getClienteCompatibilizado() 2: notificaCliente() 2: realizaReserva() <<tipo dados>> DetalhesCliente /IRealizaReserva:SistemaReserva nome: String codPostal[0..1]: String email[0..1]: String <<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

  23. Especificação de Componentes Modelo de Tipo de Negócio Especificações de Componentes e Arquiteturas Interfaces Especificação de Componentes Descobrir Operações de Negócio Especificar Operações Pré/Pós-Condições Especificar Restrições para Componente- Interface Interfaces Especificações de Componentes e Arquiteturas

  24. Modelo de Interface de Informação <<tipo interface>> IClienteMgt getClienteCompatibilizado (in dcli: DetalhesCliente , out idcli: IdCliente) : Integer criaCliente (in dcli: DetalhesCliente, out idcli: IdCliente) : Boolean getDetalheCliente (in cli: IdCliente) : DetalhesCliente notificaCliente (in cli: IdCliente, in msg: String) * Cliente Define o conjunto de informações presumidas a serem assegurados por um objeto componente. Apenas para propó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 Tipo de Negócio. Id: IdCliente nome: String codPostal: String email: String

  25. 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.

  26. Diagramas UML Diagrama de Caso de Uso Diagrama de Modelo de Conceito de Negócio Requisitos Diagramas de Caso de Uso Diagrama de Classe Modelo de Conceito de Negócio Modelo de Caso de Uso Diagrama de Modelo de Tipo de Negócio Diagramas de Espec. de Interface Especificação Diagrama de Classe Modelo de Tipo de Negócio Diagrama de Responsa- bilidade de Interface Diagramas de Espec. de Componente Especificações de Interface Especificações de Componente Diagramas de Arq. de Componente Diagrama de Colaboração Arquitetura de Componente Diagrama de Interação de Componentes Interações Diagrama de Pacotes

  27. UML Components • FIM

More Related