UML Components Alunos:

Slides:



Advertisements
Apresentações semelhantes
Orientação a objetos identidade abstração classificação encapsulamento
Advertisements

Requisitos de Software
Requisitos de Software
APSOO Aula 03.
APSOO Aula 05.
Projeto 1.
Rational Unified Process(RUP)
Centrado na arquitetura
Metodologias Equipe do Curso de ES para SMA
Professora: Aline Vasconcelos
Modelo de Arquitetura Diagrama de Componentes
Engenharia de Requisitos Requisito – sistema Caso de uso - usuário
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
RUP: Fluxo de Análise e Projeto
Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005.
Gabriel Silva Bornia Prof. Dr. Roberto Tom Price Orientador
Contratos Modelagem Funcional.
Modelagem para Web Aula de 11/04/2011.
Especificação de Requisitos de Software com Casos de Uso
WHITE LABEL SHOPPING CENTER
Análise de Sistemas Análise e Projeto Prof. Jeime Nunes Site:
Projeto de casos de uso RUP + Projeto de serviços SOA
SGE Sistema de Gerenciamento de Estabelecimentos
Web Services Uninorte Semana de Tecnologia da Informação
Sistema OnTheFly Deni Cavalcanti Emannuel Macêdo Fernando Silva
Engenharia de Software e Sistemas Danilo Veras e Rebeka Gomes.
Casos de Uso Modelagem e Programação Orientada a Objetos Curso Superior de Tecnologia em Sistemas para Internet Prof. Cristiano Stüpp Nunes
Fase de Concepção (Início, Planejamento)
Treinamento PHP Módulo 2 PHP Avançado Waelson Negreiros
PSBD II Projeto de Sistemas de Banco de Dados II
Processo de Aquisição Adilson de Almeida Cezar Meriguetti
Modelagem de processos de negócio com Diagrama de Atividades
Modelagem de processos de negócio com Diagrama de Atividades
GESTÃO DE PROJETOS DE MANUTENÇÃO
Especificação em Projeto de Sistemas
Levantamento de Requisitos
Abr-17 Atividades, Artefatos e Responsáveis da Disciplina de Análise e Projeto Fluxo de análise e projeto.
O Processo Unificado (UP)
Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes
Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes
Objetivos do Capítulo Explicar a importância da implementação de processos e tecnologias de gerenciamento de dados numa organização. Explicar as vantagens.
Capturando Requisitos com Use Cases Disciplina: Estudo do RUP Autor: Tiago Lima Massoni Orientacao: Augusto Sampaio Paulo Borba.
Sistema Virtual de Venda de Móveis
Laboratório de Programação
Processos de Software.
Modelando Sistemas em UML
Projeto de Sistemas Alexandre Monteiro. Agenda 2. Análise 3. Projeto 1. Revisão 4. Exercícios.
Abr-17 Analisar Caso de Uso Analisar caso de uso.
Tarciane Andrade Análise de Casos de Uso Tarciane Andrade
Abr-17 Projetar Subsistema Projetar subsistema.
Modelo de Análise e Projeto
Engenharia de Software e Sistemas
Processo Dirigido Pelos Use Cases Disciplina: Estudo do RUP Autor: Tiago Lima Massoni Orientação: Augusto Sampaio Paulo Borba.
Fluxo de Análise e Projeto 6 - Atividade Projetar Subsistema.
Copyright © 2006 Qualiti. Todos os direitos reservados. Projetar Classes.
A linguagem unificada de modelagem
Modelagem de Sistemas Orientada a Objeto Com UML
Aula 02 de Eng. de Requisitos
CIn-UFPE1 UML Uma linguagem unificada de modelagem Visão Geral.
APSI II Análise e Projeto de Sistemas de Banco de Dados II.
RUP – Rational Unified Process Márcia Seabra Cabral Prof. Augusto Sampaio Centro de Informática - UFPE.
Engenharia de Software com o RUP - Workflow de Requisitos
Fundamentos de Engenharia de SW Diagramas da UML Usados no Projeto de Software.
UML (Unified Modeling Language) A linguagem unificada de modelagem
/ de Julho de UFPE - Universidade Federal de Pernambuco CIn - Centro de Informática Pós-Graduação em Ciência da Computação Tópicos Avançados.
Projeto de Arquitetura de Software
Sistema de Gerenciamento de Conferências Tecnológicas Descrição de Casos de Uso e Plano de Projeto Grupo 2 Andre Esteve Henrique Baggio Rafael Cano Victor.
Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo.
1 Especificação de Sistemas de Software e a UML. 2 Modelagem de sistema A modelagem de sistema auxilia o analista a entender a funcionalidade do sistema.
Atividades, Artefatos e Responsáveis da Disciplina de Análise e Projeto.
Transcrição da apresentação:

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

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

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

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

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

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

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)

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

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

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

Identificação de Casos de Uso Responsável pela Reserva 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

Identificação de Casos de Uso Nome Realizar Reserva Iniciador Responsável pela Reserva Objetivo Reservar um quarto no hotel Etapas 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 Ou Pontos de Extensão

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

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

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 Etapas Caso de Uso Identificar exigências para o quarto Sistema fornece o preço Requisita uma reserva Interface do Sistema getDetalheHotel() getInfoQuarto() realizaReserva()

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

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

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

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

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

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

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

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

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 Diagrama de Caso de Uso Requisitos Diagramas de Caso de 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

UML Components FIM