![Page 1: Processo de Desenvolvimento de Software Dirigida a Modelos e Orientada a Serviços (SOA/MDE) Vítor Braga – vtb@cin.ufpe.br](https://reader035.vdocuments.pub/reader035/viewer/2022062522/570638611a28abb8238ffd54/html5/thumbnails/1.jpg)
Processo de Desenvolvimento de Software Dirigida a Modelos e Orientada a Serviços (SOA/MDE)Vítor Braga – [email protected]
![Page 2: Processo de Desenvolvimento de Software Dirigida a Modelos e Orientada a Serviços (SOA/MDE) Vítor Braga – vtb@cin.ufpe.br](https://reader035.vdocuments.pub/reader035/viewer/2022062522/570638611a28abb8238ffd54/html5/thumbnails/2.jpg)
Análise e Projeto de SistemasObjetivos:
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
![Page 3: Processo de Desenvolvimento de Software Dirigida a Modelos e Orientada a Serviços (SOA/MDE) Vítor Braga – vtb@cin.ufpe.br](https://reader035.vdocuments.pub/reader035/viewer/2022062522/570638611a28abb8238ffd54/html5/thumbnails/3.jpg)
Conteúdo A&P no RUP
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
![Page 4: Processo de Desenvolvimento de Software Dirigida a Modelos e Orientada a Serviços (SOA/MDE) Vítor Braga – vtb@cin.ufpe.br](https://reader035.vdocuments.pub/reader035/viewer/2022062522/570638611a28abb8238ffd54/html5/thumbnails/4.jpg)
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
![Page 5: Processo de Desenvolvimento de Software Dirigida a Modelos e Orientada a Serviços (SOA/MDE) Vítor Braga – vtb@cin.ufpe.br](https://reader035.vdocuments.pub/reader035/viewer/2022062522/570638611a28abb8238ffd54/html5/thumbnails/5.jpg)
Desenvolvimento Orientado a Modelos?
![Page 6: Processo de Desenvolvimento de Software Dirigida a Modelos e Orientada a Serviços (SOA/MDE) Vítor Braga – vtb@cin.ufpe.br](https://reader035.vdocuments.pub/reader035/viewer/2022062522/570638611a28abb8238ffd54/html5/thumbnails/6.jpg)
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)?
![Page 7: Processo de Desenvolvimento de Software Dirigida a Modelos e Orientada a Serviços (SOA/MDE) Vítor Braga – vtb@cin.ufpe.br](https://reader035.vdocuments.pub/reader035/viewer/2022062522/570638611a28abb8238ffd54/html5/thumbnails/7.jpg)
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
![Page 8: Processo de Desenvolvimento de Software Dirigida a Modelos e Orientada a Serviços (SOA/MDE) Vítor Braga – vtb@cin.ufpe.br](https://reader035.vdocuments.pub/reader035/viewer/2022062522/570638611a28abb8238ffd54/html5/thumbnails/8.jpg)
Arquitetura Orientada a Serviços
![Page 9: Processo de Desenvolvimento de Software Dirigida a Modelos e Orientada a Serviços (SOA/MDE) Vítor Braga – vtb@cin.ufpe.br](https://reader035.vdocuments.pub/reader035/viewer/2022062522/570638611a28abb8238ffd54/html5/thumbnails/9.jpg)
O que é SOA?Estilo de arquitetura onde as funcionalidades de aplicações existentes são disponibilizadas na forma de serviços
![Page 10: Processo de Desenvolvimento de Software Dirigida a Modelos e Orientada a Serviços (SOA/MDE) Vítor Braga – vtb@cin.ufpe.br](https://reader035.vdocuments.pub/reader035/viewer/2022062522/570638611a28abb8238ffd54/html5/thumbnails/10.jpg)
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
![Page 11: Processo de Desenvolvimento de Software Dirigida a Modelos e Orientada a Serviços (SOA/MDE) Vítor Braga – vtb@cin.ufpe.br](https://reader035.vdocuments.pub/reader035/viewer/2022062522/570638611a28abb8238ffd54/html5/thumbnails/11.jpg)
Visão geral (Exemplo: RUP)
![Page 12: Processo de Desenvolvimento de Software Dirigida a Modelos e Orientada a Serviços (SOA/MDE) Vítor Braga – vtb@cin.ufpe.br](https://reader035.vdocuments.pub/reader035/viewer/2022062522/570638611a28abb8238ffd54/html5/thumbnails/12.jpg)
Visão geralEspecificação do modelo
de negócios Analisar serviços
Implementação
TesteAvaliação
PlanejamentoInicial
Planejamento
Modelagem do Negócio
Requisitos
Projetar Serviços
![Page 13: Processo de Desenvolvimento de Software Dirigida a Modelos e Orientada a Serviços (SOA/MDE) Vítor Braga – vtb@cin.ufpe.br](https://reader035.vdocuments.pub/reader035/viewer/2022062522/570638611a28abb8238ffd54/html5/thumbnails/13.jpg)
Objetivos do Processo Uma abordagem para
desenvolvimento de software orientado a modelo usando SOA para tentar resolver:Alinhamento dos Stakeholders
Integração Front-backend
![Page 14: Processo de Desenvolvimento de Software Dirigida a Modelos e Orientada a Serviços (SOA/MDE) Vítor Braga – vtb@cin.ufpe.br](https://reader035.vdocuments.pub/reader035/viewer/2022062522/570638611a28abb8238ffd54/html5/thumbnails/14.jpg)
Com
puta
tion
Inde
pend
ent
Mod
el (
CIM
)
Plat
form
Inde
pend
ent
Mod
el (
PIM
)
Plat
form
Spec
ific
Mod
el
(PSM
)
MDATerms
MDES
OA
Especificação do Modelo de Negócio
Analisar Serviços
Projetar Serviços
![Page 15: Processo de Desenvolvimento de Software Dirigida a Modelos e Orientada a Serviços (SOA/MDE) Vítor Braga – vtb@cin.ufpe.br](https://reader035.vdocuments.pub/reader035/viewer/2022062522/570638611a28abb8238ffd54/html5/thumbnails/15.jpg)
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
![Page 16: Processo de Desenvolvimento de Software Dirigida a Modelos e Orientada a Serviços (SOA/MDE) Vítor Braga – vtb@cin.ufpe.br](https://reader035.vdocuments.pub/reader035/viewer/2022062522/570638611a28abb8238ffd54/html5/thumbnails/16.jpg)
Fluxo de Atividades
[Casos de Uso]
Modelar conceitos de negócio [Modelo de Informação do Negócio]
Projetar Fluxo de Informação [Modelo Navegacional]
Elaborar Protótipo de Interface [Protótipo de Interface Gráfica]
[Requisitos]
![Page 17: Processo de Desenvolvimento de Software Dirigida a Modelos e Orientada a Serviços (SOA/MDE) Vítor Braga – vtb@cin.ufpe.br](https://reader035.vdocuments.pub/reader035/viewer/2022062522/570638611a28abb8238ffd54/html5/thumbnails/17.jpg)
Visão Geral dos Artefatos
[Requisitos]
[Casos de Uso]
[Modelo Navegacional][Modelo de Informação do Negócio]
[Protótipo de Interface Gráfica]
![Page 18: Processo de Desenvolvimento de Software Dirigida a Modelos e Orientada a Serviços (SOA/MDE) Vítor Braga – vtb@cin.ufpe.br](https://reader035.vdocuments.pub/reader035/viewer/2022062522/570638611a28abb8238ffd54/html5/thumbnails/18.jpg)
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)
![Page 19: Processo de Desenvolvimento de Software Dirigida a Modelos e Orientada a Serviços (SOA/MDE) Vítor Braga – vtb@cin.ufpe.br](https://reader035.vdocuments.pub/reader035/viewer/2022062522/570638611a28abb8238ffd54/html5/thumbnails/19.jpg)
Actor A
UC 01
UC 02
UC 03
UC 04
I 1 I2
10..1
I2 I31 1..*
I 1 I2
10..1
I 1 I2
10..1
I 1 I2
10..1I31 1..*
![Page 20: Processo de Desenvolvimento de Software Dirigida a Modelos e Orientada a Serviços (SOA/MDE) Vítor Braga – vtb@cin.ufpe.br](https://reader035.vdocuments.pub/reader035/viewer/2022062522/570638611a28abb8238ffd54/html5/thumbnails/20.jpg)
Fluxo de Atividades
[Casos de Uso]
Modelar conceitos de negócio [Modelo de Informação do Negócio]
Projetar Fluxo de Informação [Modelo Navegacional]
Elaborar Protótipo de Interface [Protótipo de Interface Gráfica]
[Requisitos]
![Page 21: Processo de Desenvolvimento de Software Dirigida a Modelos e Orientada a Serviços (SOA/MDE) Vítor Braga – vtb@cin.ufpe.br](https://reader035.vdocuments.pub/reader035/viewer/2022062522/570638611a28abb8238ffd54/html5/thumbnails/21.jpg)
Modelo Navegacional Gerar o modelo navegacional do
sistema 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)
![Page 22: Processo de Desenvolvimento de Software Dirigida a Modelos e Orientada a Serviços (SOA/MDE) Vítor Braga – vtb@cin.ufpe.br](https://reader035.vdocuments.pub/reader035/viewer/2022062522/570638611a28abb8238ffd54/html5/thumbnails/22.jpg)
![Page 23: Processo de Desenvolvimento de Software Dirigida a Modelos e Orientada a Serviços (SOA/MDE) Vítor Braga – vtb@cin.ufpe.br](https://reader035.vdocuments.pub/reader035/viewer/2022062522/570638611a28abb8238ffd54/html5/thumbnails/23.jpg)
Fluxo de Atividades
[Casos de Uso]
Modelar conceitos de negócio [Modelo de Informação do Negócio]
Projetar Fluxo de Informação [Modelo Navegacional]
Elaborar Protótipo de Interface [Protótipo de Interface Gráfica]
[Requisitos]
![Page 24: Processo de Desenvolvimento de Software Dirigida a Modelos e Orientada a Serviços (SOA/MDE) Vítor Braga – vtb@cin.ufpe.br](https://reader035.vdocuments.pub/reader035/viewer/2022062522/570638611a28abb8238ffd54/html5/thumbnails/24.jpg)
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?
![Page 25: Processo de Desenvolvimento de Software Dirigida a Modelos e Orientada a Serviços (SOA/MDE) Vítor Braga – vtb@cin.ufpe.br](https://reader035.vdocuments.pub/reader035/viewer/2022062522/570638611a28abb8238ffd54/html5/thumbnails/25.jpg)
Vamos Praticar!
![Page 26: Processo de Desenvolvimento de Software Dirigida a Modelos e Orientada a Serviços (SOA/MDE) Vítor Braga – vtb@cin.ufpe.br](https://reader035.vdocuments.pub/reader035/viewer/2022062522/570638611a28abb8238ffd54/html5/thumbnails/26.jpg)
Como criar os modelos?
Ferramentas de modelagem Rational Rose, RSA, Jude, StarUML, …
Powerpoint Ferramentas:
Axure (wireframe) Smartdraw (sitemap) Netbeans (Fluxo de telas)
![Page 27: Processo de Desenvolvimento de Software Dirigida a Modelos e Orientada a Serviços (SOA/MDE) Vítor Braga – vtb@cin.ufpe.br](https://reader035.vdocuments.pub/reader035/viewer/2022062522/570638611a28abb8238ffd54/html5/thumbnails/27.jpg)
QIB - Diagrama de Casos de Uso Usaremos o QIB como exemplo
Operadora do DOC
Desbloquear Talõesde Cheque
Efetuar Login
Alterar Senha
Consultar Saldo
Consultar Extrato
Consultar Qualiti CardRealizar Transferência
Consultar Cheques
Solicitar Talões de Cheque
Realizar DOC
ClienteAtor
Operadora Cartão de Crédito
Efetuar Pagamento do Qualiti Card
Mostrar Dados daConsulta
<<include>>
<<include>>
![Page 28: Processo de Desenvolvimento de Software Dirigida a Modelos e Orientada a Serviços (SOA/MDE) Vítor Braga – vtb@cin.ufpe.br](https://reader035.vdocuments.pub/reader035/viewer/2022062522/570638611a28abb8238ffd54/html5/thumbnails/28.jpg)
Fluxo de Atividades
[Casos de Uso]
Modelar conceitos de negócio [Modelo de Informação do Negócio]
Projetar Fluxo de Informação [Modelo Navegacional]
Elaborar Protótipo de Interface [Protótipo de Interface Gráfica]
[Requisitos]
![Page 29: Processo de Desenvolvimento de Software Dirigida a Modelos e Orientada a Serviços (SOA/MDE) Vítor Braga – vtb@cin.ufpe.br](https://reader035.vdocuments.pub/reader035/viewer/2022062522/570638611a28abb8238ffd54/html5/thumbnails/29.jpg)
QIB – Efetuar Login Observe o fluxo de eventos do Efetuar Login
Este caso de uso é responsável por autenticar um usuário do sistema.
Pré-condição: nenhumaPós-condição: um usuário válido é logado e sua sessão é registrada no sistema.
Fluxo de eventos principal1. 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.
![Page 30: Processo de Desenvolvimento de Software Dirigida a Modelos e Orientada a Serviços (SOA/MDE) Vítor Braga – vtb@cin.ufpe.br](https://reader035.vdocuments.pub/reader035/viewer/2022062522/570638611a28abb8238ffd54/html5/thumbnails/30.jpg)
Orientações para encontraras 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
![Page 31: Processo de Desenvolvimento de Software Dirigida a Modelos e Orientada a Serviços (SOA/MDE) Vítor Braga – vtb@cin.ufpe.br](https://reader035.vdocuments.pub/reader035/viewer/2022062522/570638611a28abb8238ffd54/html5/thumbnails/31.jpg)
QIB – Efetuar Login 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
Usário Conta
![Page 32: Processo de Desenvolvimento de Software Dirigida a Modelos e Orientada a Serviços (SOA/MDE) Vítor Braga – vtb@cin.ufpe.br](https://reader035.vdocuments.pub/reader035/viewer/2022062522/570638611a28abb8238ffd54/html5/thumbnails/32.jpg)
Efetuar Pagamento do Qualiti Card Descrição inicialEste 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.
![Page 33: Processo de Desenvolvimento de Software Dirigida a Modelos e Orientada a Serviços (SOA/MDE) Vítor Braga – vtb@cin.ufpe.br](https://reader035.vdocuments.pub/reader035/viewer/2022062522/570638611a28abb8238ffd54/html5/thumbnails/33.jpg)
Efetuar Pagamento do Qualiti Card 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.
![Page 34: Processo de Desenvolvimento de Software Dirigida a Modelos e Orientada a Serviços (SOA/MDE) Vítor Braga – vtb@cin.ufpe.br](https://reader035.vdocuments.pub/reader035/viewer/2022062522/570638611a28abb8238ffd54/html5/thumbnails/34.jpg)
Efetuar Pagamento do Qualiti Card Fluxo de eventos secundários
Fluxo Principal1. 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.
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.
![Page 35: Processo de Desenvolvimento de Software Dirigida a Modelos e Orientada a Serviços (SOA/MDE) Vítor Braga – vtb@cin.ufpe.br](https://reader035.vdocuments.pub/reader035/viewer/2022062522/570638611a28abb8238ffd54/html5/thumbnails/35.jpg)
Efetuar Pagamento do Qualiti Card Entidade?
Paagmento Cartão
Cartão de Credito
Conta Comprovante
Código de BarrasMensagem
Cliente
![Page 36: Processo de Desenvolvimento de Software Dirigida a Modelos e Orientada a Serviços (SOA/MDE) Vítor Braga – vtb@cin.ufpe.br](https://reader035.vdocuments.pub/reader035/viewer/2022062522/570638611a28abb8238ffd54/html5/thumbnails/36.jpg)
Modelo de Informação do negócio
Pagmento CartãoConta
Comprovante
Cliente
![Page 37: Processo de Desenvolvimento de Software Dirigida a Modelos e Orientada a Serviços (SOA/MDE) Vítor Braga – vtb@cin.ufpe.br](https://reader035.vdocuments.pub/reader035/viewer/2022062522/570638611a28abb8238ffd54/html5/thumbnails/37.jpg)
Fluxo de Atividades
[Casos de Uso]
Modelar conceitos de negócio [Modelo de Informação do Negócio]
Projetar Fluxo de Informação [Modelo Navegacional]
Elaborar Protótipo de Interface [Protótipo de Interface Gráfica]
[Requisitos]
![Page 38: Processo de Desenvolvimento de Software Dirigida a Modelos e Orientada a Serviços (SOA/MDE) Vítor Braga – vtb@cin.ufpe.br](https://reader035.vdocuments.pub/reader035/viewer/2022062522/570638611a28abb8238ffd54/html5/thumbnails/38.jpg)
Modelar informações (site map)
Home
Consultas Cadastro Transações Solicitações
![Page 39: Processo de Desenvolvimento de Software Dirigida a Modelos e Orientada a Serviços (SOA/MDE) Vítor Braga – vtb@cin.ufpe.br](https://reader035.vdocuments.pub/reader035/viewer/2022062522/570638611a28abb8238ffd54/html5/thumbnails/39.jpg)
Fluxo de Atividades
[Casos de Uso]
Modelar conceitos de negócio [Modelo de Informação do Negócio]
Projetar Fluxo de Informação [Modelo Navegacional]
Elaborar Protótipo de Interface [Protótipo de Interface Gráfica]
[Requisitos]
![Page 40: Processo de Desenvolvimento de Software Dirigida a Modelos e Orientada a Serviços (SOA/MDE) Vítor Braga – vtb@cin.ufpe.br](https://reader035.vdocuments.pub/reader035/viewer/2022062522/570638611a28abb8238ffd54/html5/thumbnails/40.jpg)
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
![Page 41: Processo de Desenvolvimento de Software Dirigida a Modelos e Orientada a Serviços (SOA/MDE) Vítor Braga – vtb@cin.ufpe.br](https://reader035.vdocuments.pub/reader035/viewer/2022062522/570638611a28abb8238ffd54/html5/thumbnails/41.jpg)
Dúvidas ?