Processo de Desenvolvimento de Software Dirigida a Modelos e Orientada a Serviços (SOA/MDE) Vítor Braga – vtb@cin.ufpe.br.

Slides:



Advertisements
Apresentações semelhantes
Análise e Projeto Orientado a Objetos
Advertisements

DISCIPLINA: Introdução à Computação
Engenharia de Software
UML no CICLO de DESENVOLVIMENTO
APSOO Aula 03.
UML Modelando um sistema.
(Unified Modeling Language)
Rational Unified Process(RUP)
Centrado na arquitetura
RUP: Fluxo de Análise e Projeto
Classes e objetos Modelagem
Análise de Casos de Uso Alexandre Motnteiro.
WHITE LABEL SHOPPING CENTER
Análise de Sistemas Análise e Projeto Prof. Jeime Nunes Site:
Projetar Serviços Vítor Braga –
RUPinho Qualidade de Software
Aula 1 Minicurso: Astah Ministrantes: André Martins; Camila Brondani;
Unibratec Análise e Gerencia de Projetos Profº Henrique Vila Nova
Projeto: IF718 – Análise e Projeto de Sistemas
Projeto de casos de uso RUP + Projeto de serviços SOA
Análise e Projeto de Sistemas
Arquitetura Orientado a Serviços
Analisar Serviços Vítor Braga – Objetivos da aula Apresentar os passos necessários para realizar a atividade analisar Serviços Discutir.
Modelos de Análise e Projeto
Arquitetura do Software
Caso de Uso - Definição Um caso de uso é uma descrição narrativa de uma seqüência de eventos que ocorre quando um ator (agente externo) usa um sistema.
Engenharia de Software e Sistemas Danilo Veras e Rebeka Gomes.
Fase de Concepção (Início, Planejamento)
Casos de Uso no Engenharia de Software e Sistemas {abab, dtvp, jmmn, mscla, rmb2,
SOA Service Oriented Architecture. Copyright © 2008 Qualiti. Todos os direitos reservados. Copyright © 2006 Qualiti. Todos os direitos reservados. Estilo/padrão.
Abr-17 Atividades, Artefatos e Responsáveis da Disciplina de Análise e Projeto Fluxo de análise e projeto.
Analisar Caso de Uso 10/04/ /04/2017 Analisar caso de uso
Bruno Silva Desenvolvido a partir de
O Processo Unificado (UP)
Análise e Projeto de Sistemas
Capturando Requisitos com Use Cases Disciplina: Estudo do RUP Autor: Tiago Lima Massoni Orientacao: Augusto Sampaio Paulo Borba.
Projetar Arquitetura. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 2 Objetivos.
RUP - Cap. 4 – Processo Centrado na Arquitetura
RUP - Cap. 3 – Processo Dirigido por Caso de Uso
Fase de Concepção Levantamento de Requisitos, Organização de Requisitos, Planejamento dos Ciclos Iterativos.
Projeto de Sistemas Alexandre Monteiro. Agenda 2. Análise 3. Projeto 1. Revisão 4. Exercícios.
Desenvolvimento de Software Dirigido a Modelos
Abr-17 Analisar Caso de Uso Analisar caso de uso.
UML e a Ferramenta Astah
Tarciane Andrade Análise de Casos de Uso Tarciane Andrade
Use Cases e Fluxo de Eventos
Abr-17 Projetar Subsistema Projetar subsistema.
Modelo de Análise e Projeto
Análise de Casos de Uso Rafael Duarte Alexandre Mota [rmd,
Engenharia de Software e Sistemas
Processo Dirigido Pelos Use Cases Disciplina: Estudo do RUP Autor: Tiago Lima Massoni Orientação: Augusto Sampaio Paulo Borba.
Requisitos Não funcionais
2 - Visão Geral do Fluxo de Análise e Projeto
Análise e Projeto de Sistemas Unified Modeling Language Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores.
Copyright © 2006 Qualiti. Todos os direitos reservados. Projetar Classes.
Analisar Serviços Vítor Braga – Computation Independent Model (CIM) Platform Independent Model (PIM) Platform Specific Model (PSM) MDA.
Análise e Projeto OO com UML e Padrões
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
APSI II Análise e Projeto de Sistemas de Banco de Dados II.
©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso.
IF 718 Análise e Projeto de Sistemas Augusto Sampaio Vitor Braga (Estágio docência) Camila Sá (Monitora) Parte do material cedido pela Qualiti Software.
Interações entre objetos
Analisar Caso de Uso. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 2 Objetivos.
/ 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.
Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo.
Atividades, Artefatos e Responsáveis da Disciplina de Análise e Projeto.
IF718 Análise e Projeto de Sistemas Augusto Sampaio - acas Vitor Braga - vtb (Estágio docência) Diogo Peixoto - dcp (Monitor) Parte do material.
©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso.
O Processo Unificado (PU). 2 O que é o Processo Unificado (PU)? É um modelo de processo de software baseado no modelo incremental, visando a construção.
Transcrição da apresentação:

Processo de Desenvolvimento de Software Dirigida a Modelos e Orientada a Serviços (SOA/MDE) Vítor Braga – vtb@cin.ufpe.br

Análise e Projeto de Sistemas Objetivos: Processo de Análise e Projeto no RUP Processo baseado em paradigmas recentes: SOA (Software-Oriented Architecture) MDA (Model-Driven Architecture) Análise comparativa contínua entre os processos Técnicas de modelagem OO em UML Ênfase em Padrões de Projeto e Arquiteturais Consolidação dos conceitos em um exemplo construído incrementalmente Uso de uma ferramenta de modelagem Análise e Projetos OO com UML

Conteúdo A&P no RUP A&P com SOA e MDA Disciplina de A&P Análise de caso de uso Projetar arquitetura Projetar casos de uso A&P com SOA e MDA Introdução ao processo Especificação do modelo de negócios Analisar serviços Projetar serviços Projetar subsistemas (componentes) Projetar classes Projetar concorrrência e distribuição Projetar base de dados Análise e Projetos OO com UML

Objetivos da aula Apresentar os passos necessários para realizar a atividade especificação do modelo de negócios Discutir e mostrar o passo a passo para a construção dos artefatos Prática: Elaborar o modelos para a aplicação QIB

Desenvolvimento Orientado a Modelos?

Desenvolvimento Orientado a Modelos A principal motivação é aumentar a produtividade: Reutilização Independência de tecnologia Automação Aumentar o nível de abstração Foco no modelo (negócio), não no código “The model is the code” O que é um modelo? Model Driven Architecture (MDA)?

MDA Abordagem orientada negócio para a construção de sistemas de software onde modelos são refinados a partir das necessidades do negócio até a sua realização em soluções de software

Arquitetura Orientada a Serviços

O que é SOA? Estilo de arquitetura onde as funcionalidades de aplicações existentes são disponibilizadas na forma de serviços

O que são serviços Serviço é um componente que atende a uma função de negócio (business function). Ele pode receber e responder requisições ocultando os detalhes de sua implementação. Desacoplados em relação ao cliente/consumidor Descritos através de contratos de operações

Visão geral (Exemplo: RUP)

Especificação do modelo Visão geral Requisitos Especificação do modelo de negócios Modelagem do Negócio Analisar serviços Planejamento Projetar Serviços Planejamento Inicial Implementação Avaliação Teste

Objetivos do Processo Uma abordagem para desenvolvimento de software orientado a modelo usando SOA para tentar resolver: Alinhamento dos Stakeholders Integração Front-backend

M D E S O A MDA Terms Computation Independent Model (CIM) Model (PIM) Platform Model (PSM) Specific MDA Terms M D E S O A

Objetivos Gerar artefatos para facilitar e alinhar o entendimento entre os stakeholders Prototipação e avaliação da GUI Organização das informações Input p/ Designers Teste de usabilidade previamente

Fluxo de Atividades

Visão Geral dos Artefatos

Modelo de Informação do Negócio Modelo conceitual das informações/entidades manipuladas pelo sistema Pré modelo E-R Vai ajudar na organização das informações Multiplicidade é opcional Modelo independente de computação (CIM)

Modelo conceitual das informações/entidades manipuladas pelo sistema

Fluxo de Atividades

Modelo Navegacional Gerar o modelo navegacional do sistema Pode ser: Fluxo de informação do sistema Pode ser: Sitemap Interface flow diagram (Diagrama de fluxo) Screen Flow (Fluxo de Tela) Modelo independente de computação (CIM) Sitemap: muito usado em aplicações web Interface Flow diagram: extenção de UML (ORCAS UML2 Profile for GUI Modeling) Screen Flow diagram/ Navigation diagram / interface-flow diagram: modelo de digramas bem util para mobile, sistemas desktop e projetos web pequenos.

Sitemap: muito usado em aplicações web Interface Flow diagram: extenção de UML (ORCAS UML2 Profile for GUI Modeling) Screen Flow diagram/ Navigation diagram / interface-flow diagram: modelo de digramas bem util para mobile, sistemas desktop e projetos web pequenos.

Fluxo de Atividades

Protótipo de Interface Gráfica Sitemap + Modelo de Informação do negócio = “wireframe detalhado” Layout completo das telas do sistema: Organização das informações Ações de links e botões Tratamento de erros e fluxos secundários Exemplos: www.cin.ufpe.br/~vtb/wireframes http://www.axure.com/Samples/AxureRPFeaturesSample/AxureRPFeaturesSample_Start.html http://www.axure.com/Samples/RegistrationSample/RegistrationSample_Start.html É opcional É útil?

Vamos Praticar!

Como criar os modelos? Ferramentas de modelagem Powerpoint Rational Rose, RSA, Jude, StarUML, … Powerpoint Ferramentas: Axure (wireframe) Smartdraw (sitemap) Netbeans (Fluxo de telas)

QIB - Diagrama de Casos de Uso abr-17 Usaremos o QIB como exemplo A descoberta das entidades será ilustrada com exemplos do Qualiti Internet Banking. Analisar caso de uso

Fluxo de Atividades

QIB – Efetuar Login Observe o fluxo de eventos do Efetuar Login abr-17 Observe o fluxo de eventos do Efetuar Login Este caso de uso é responsável por autenticar um usuário do sistema. Pré-condição: nenhuma Pós-condição: um usuário válido é logado e sua sessão é registrada no sistema. Fluxo de eventos principal 1. O cliente informa login e senha. 2. O sistema verifica se o login e a senha são válidos (verifica-se se o login e senha pertencem a uma conta). 3. O sistema registra o início de uma sessão de uso. Fluxos secundários - No passo 2, se o login ou a senha forem inválidos, o sistema exibe uma mensagem e volta ao passo 1. Analisar caso de uso

Orientações para encontrar as Entidades abr-17 Orientações para encontrar as Entidades Usando a descrição do caso de uso, use a abordagem tradicional de filtrar substantivos identifique substantivos no fluxo de eventos remova candidatos redundantes e vagos remova atores que apenas interagem com o sistema mas não fazem parte da modelagem remova atributos e operações Para encontrar classes de entidade observe o glossário e o fluxo de eventos do caso de uso. Os substantivos encontrados são candidatos naturais a classes de entidade. Se tiver sido realizada a modelagem do negócio, o modelo do negócio também é uma boa fonte para encontrar essas classes. Durante a realização deste passo é natural tentar identificar hierarquias de classes, porém, devem ser identificadas apenas hierarquias que sejam explícitas no caso de uso, isto é, que sejam inerentes a natureza da aplicação. A decisão de usar ou não herança deve ser postergada sempre que possível para as atividades de projeto. Analisar caso de uso

QIB – Efetuar Login Entidades e relacionamentos abr-17 Entidades e relacionamentos Conta é uma entidade que armazena o login e senha de um usuário. Algumas entidades levantadas podem ser eliminadas e novas serão adicionadas Este primeiro levantamento de classes de entidade pode revelar classes que não serão realmente utilizadas no caso de uso e serão eliminadas. As atividades seguintes indicarão mais claramente que classes realmente são utilizadas. Analisar caso de uso

Efetuar Pagamento do Qualiti Card abr-17 Efetuar Pagamento do Qualiti Card Descrição inicial Este caso de uso é responsável por realizar o pagamento do Qualiti Card com a operadora de cartão de crédito. Cada cliente possui apenas um cartão como titular, estando vinculado a apenas uma operadora. Pré-condição: O cliente deve estar conectado ao sistema (ter efetuado o login). Pós-condição: O valor do pagamento é debitado da conta do cliente, o pagamento é enviado à operadora do cartão de crédito e a transação é registrada no sistema. Analisar caso de uso

Efetuar Pagamento do Qualiti Card abr-17 Fluxo de eventos principal 1. O cliente informa os dados necessários para efetuar o pagamento do cartão: - O código de barras da fatura que deseja efetuar o pagamento. - O valor que deseja pagar. 2. O sistema recupera a conta bancária do cliente logado. 3. O sistema verifica se o saldo da conta do cliente é suficiente para realizar o pagamento. 4. O sistema debita da conta do cliente. 5. O sistema envia o pagamento à operadora de cartão de crédito. 6. O sistema registra a transação de pagamento e emite um comprovante da mesma para o usuário. A transação registrada contém os dados da conta do cliente, o código de barras da fatura, data, hora e valor do pagamento. Analisar caso de uso

Efetuar Pagamento do Qualiti Card abr-17 Fluxo de eventos secundários Fluxo Principal O cliente informa os dados necessários para efetuar o pagamento do cartão: - O código de barras da fatura que deseja efetuar o pagamento. - O valor que deseja pagar. O sistema recupera a conta bancária do cliente logado 3. O sistema verifica se o saldo da conta do cliente é suficiente para realizar o pagamento. 4. O sistema debita da conta do cliente. 5. O sistema envia o pagamento à operadora de cartão de crédito. 6. O sistema registra a transação de pagamento e emite um comprovante da mesma para o usuário. A transação registrada contém os dados da conta do cliente, o código de barras da fatura, data, hora e valor do pagamento. Fluxo secundário - No passo 3, se o saldo disponível na conta do cliente for menor que o valor do pagamento, o sistema informa que o saldo é insuficiente e retorna para o passo 1. - No passo 5, se a operadora de cartão de crédito estiver inativa, o sistema exibe uma mensagem e cancela a operação. - Em qualquer momento o usuário pode cancelar a operação. Analisar caso de uso

Efetuar Pagamento do Qualiti Card abr-17 Efetuar Pagamento do Qualiti Card Entidade? Este primeiro levantamento de classes de entidade pode revelar classes que não serão realmente utilizadas no caso de uso e serão eliminadas. As atividades seguintes indicarão mais claramente que classes realmente são utilizadas. Analisar caso de uso

Modelo de Informação do negócio

Fluxo de Atividades

Modelar informações (site map)

Fluxo de Atividades

Modelo de interface gráfica Exercício: Baseado no sitemap e no modelo de informação, construa o protótipo da interface Sugestão: User Axure RP http://www.axure.com/downloads.aspx http://www.axure.com/downloadThanks.aspx?version=50 http://www.youtube.com/watch?v=xgUE3BuaKZ4&feature=related http://www.youtube.com/watch?v=sieYeDepdzA&feature=related http://www.youtube.com/watch?v=-NwsjE5LY1M&feature=related

Dúvidas ?