1 fábrica de software com uml toacy c. oliveira. 2 agenda motivação contexto uml/mda exemplo...
TRANSCRIPT
![Page 1: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/1.jpg)
1
Fábrica de Software com UML
Toacy C. Oliveira
![Page 2: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/2.jpg)
2
Agenda Motivação Contexto
UML/MDA Exemplo Prático UML Profile
Definições Exemplo
Conclusão
![Page 3: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/3.jpg)
3
Como SW é feito atualmente?
ProgramaçãoModelagemProcesso de Desenvolvimento
![Page 4: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/4.jpg)
4
Como SW é feito atualmente?
ProgramaçãoModelagemProcesso de Desenvolvimento
![Page 5: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/5.jpg)
5
Como SW é feito atualmente?
ProgramaçãoModelagemProcesso de Desenvolvimento
![Page 6: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/6.jpg)
6
Como SW é feito atualmente?
ProgramaçãoModelagemProcesso de Desenvolvimento
![Page 7: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/7.jpg)
7
Ou seja..... Como a 30/40 anos atrás !!!! Utilizando um batalhão de pessoas....
PESSOAS = PROBLEMAS Têm humor (falta/excesso) Têm família...
Antes da reclamação. Eu não quero extinguir programadores... Eles são necessários!!
![Page 8: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/8.jpg)
8
Como melhorar? Que tal expandirmos alguns
conceitos já existentes? Industrialização Automação
Ex: Alguém escreve código binário hoje em dia? Alguém cria interface (Janelas,Botões,...) do zero?
![Page 9: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/9.jpg)
9
Fábrica Software? A idéia é simples.
PADRONIZAÇÃO
AUTOMAÇÃO DO PROCESSO DE DESENVOLVIMENTO
PRODUÇÃO EM “SÉRIE”
![Page 10: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/10.jpg)
10
Como ?
Sistemas devem ser construídos a partir de Padrões, Modelos, Arquiteturas, Frameworks e Ferramentas. Guiado por Processo Baseado em Reuso sistemático Utilizando Linguagens de Domínio Fazendo Transformações
![Page 11: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/11.jpg)
11
Desenvolvimento de Software
Mundo VirtualMundo Real
Necessidades-Informal-Processos de Negócio-Time to Market-Usabilidade
Necessidades-Formal-Manutenibilidade-HW em evolução (Moore)
Software
Pessoas-Clientes (com dinheiro!!)-Usuários (sem paciência)
Pessoas-Desenvolvedores-IT Geeks+
Como diminuir a lacuna entre o
formal/informal?
![Page 12: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/12.jpg)
12
Poder de Expressão A melhoria do processo de
desenvolvimento está fortemente atrelado ao poder de expressão das linguagens de representação de programas.
Aumentando seu poder de expressão na direção dos conceitos existentes no mundo real, melhoraremos o processo de desenvolvimento de software.
![Page 13: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/13.jpg)
13
Um Pouco de História
~50 – assembler (código de máquina) ~60 – cobol (linguagem mais próxima
da natural) ~70 – C/Pascal (funções, TADs) ~80 – Smaltalk / C++ (Objetos) ~90 – UML (Modelos) ~00 – MDA (Programação Generativa)
![Page 14: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/14.jpg)
14
UML + MDA
Duas iniciativas da OMG (Object Management Group) para aumentar o poder de representação/automação utilizado no desenvolvimento de software Padronização (UML) Automação (Transformação)
![Page 15: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/15.jpg)
15
UML
![Page 16: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/16.jpg)
16
UML
Linguagem de Modelagem que permite a representação de conceitos do mundo real, sob a ótica da orientação a objetos.
Na prática é o padrão adotado por desenvolvedores de software.
![Page 17: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/17.jpg)
17
UML Um modelo em UML pode conter
até 9 (v1.5) tipos de diagramas. Classes Atividades Casos de Uso Sequência Estado .......
![Page 18: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/18.jpg)
18
Caso de Uso
![Page 19: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/19.jpg)
19
Classes
![Page 20: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/20.jpg)
20
Entretanto.... UML não foi idealizada como “silver-
bullet” .
Existem conceitos difíceis de serem expressos em UML. Ex. Tempo
Para solucionar este problema UML prove mecanismos de extensão, os chamados Profiles (ou Perfis).
![Page 21: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/21.jpg)
21
MDA
![Page 22: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/22.jpg)
22
MDA
Model Driven Architecture Determina a especificação de
sistemas em diferentes nívels de abstração de modo que os modelos mais abstratos possam ser reutilizados para gerar aplicações em diferentes plataformas.
Modelo de Sistema de Vendas
. NET J2EE
T1 T2
![Page 23: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/23.jpg)
23 April 11, 2023
Diversidade de Plataformas
O número crescente de plataformas de execução de SW leva a uma multiplicação de soluções para cada plataforma. Soluções para PDA <> da solução
Telefone Celular pois possuem um conjunto de restrições (Requisitos Não Funcionais) diferentes.
Memória, Tamanho da Tela, Performance, etc.
![Page 24: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/24.jpg)
24 April 11, 2023
Alterações nos Requisitos
Mudanças de direcionamento da empresa.
Surgimento de um Hardware inovador.
Problemas com concorrentes.
![Page 25: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/25.jpg)
25 April 11, 2023
As Soluções
A solução é desenvolvida tendo em mente estes requisitos. Ex. PDA => CreateWindow (320 x
100) Cell => CreateWindow (200 x
100) PDA => CString Cell => char[50]
![Page 26: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/26.jpg)
26 April 11, 2023
Como reusar?
Reutilização é um princípio básico das engenharias pois permite uma utilização eficiente do conhecimento adquirido na solução de um problema. Racionaliza e sistematiza esta
solução.
![Page 27: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/27.jpg)
27 April 11, 2023
Constantes Bem... no nosso caso parece que o uso
de constantes pode resolver isto! Ex. PDA ou Cell => CreateWindow (WIND_H
x WIN_W)
WIND_H e WIND_W estão definidas em um arquivo de constantes separadas por um IFDEF, por exemplo.
![Page 28: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/28.jpg)
28 April 11, 2023
Talvez não!
A quantidade de tais restrições pode ser grande, levando a criação de um “arquivo de configuração” em separado. O gerenciamento de tais arquivos tende a sem complexo uma vez que estes representam dados desconexos.
![Page 29: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/29.jpg)
29 April 11, 2023
E quanto a parte dinâmica?
Algumas restrições podem estar relacionadas à dinâmica da execução do sistema.
![Page 30: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/30.jpg)
30 April 11, 2023
Reuso de Código
Nos já vimos anteriormente que o reuso de código não é tão interessante assim uma vez que não captura a abstração da solução.
Seria mais interessante reusarmos Design.
![Page 31: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/31.jpg)
31 April 11, 2023
Sempre foi assim ?
Sim, mas o contexto era outro pois não existia um fácil acesso a tantos dispositivos com capacidade de processamento relevante.
![Page 32: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/32.jpg)
32 April 11, 2023
Evolução
Fro
m
Mello
r
![Page 33: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/33.jpg)
33 April 11, 2023
Reuso
Fro
m
Mello
r
![Page 34: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/34.jpg)
34 April 11, 2023
MDA
![Page 35: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/35.jpg)
35 April 11, 2023
OMG - MDA
Fro
m
OM
G’s
sit
e
![Page 36: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/36.jpg)
36 April 11, 2023
MDA É melhor compreendida como sendo
uma filosofia de desenvolvimento onde modelos são construído abstraindo-se a plataforma de execução e, posteriormente, mapeados para estas.
É uma abordagem para a utilização de modelos durante o desenvolvimento de sistemas.
![Page 37: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/37.jpg)
37 April 11, 2023
No Silver Bullet
Não é uma grande novidade mas trás a tona um conceito que engenheiros de software vêm pregando a décadas.
Reutilização, Família de Aplicações, Ferramentas de Suporte ao Desenvolvimento,....
![Page 38: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/38.jpg)
38 April 11, 2023
Objetivo
Portabilidade Interoperabilidade Reutilização Redução de Custo Aumento da Qualidade
![Page 39: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/39.jpg)
39 April 11, 2023
Dirigida por Modelo?
Habilita a utilização de modelos para guiar o entendimento, projeto, construção, instalação, operação, manutenção e modificação do SW
![Page 40: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/40.jpg)
40 April 11, 2023
Por que modelos ?
Representam conceitos de mais alto nível, permitindo a reutilização da abstração.
Ex. Plantas Arquitetônicas.
![Page 41: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/41.jpg)
41 April 11, 2023
Organização
Modelos em MDA podem pertencer a 3 níveis de abstração de acordo com a distância em que se encontra da plataforma de execução.
![Page 42: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/42.jpg)
42 April 11, 2023
Big PictureCIM
PIM
PSM
Plataforma Plataforma
PSM
Transformação Transformação
![Page 43: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/43.jpg)
43 April 11, 2023
CIM
Computation Independent Model É uma visão do sistema que não
apresenta os detalhes computacionais, provavelmente por que são desconhecidos.
É utilizado por especialistas no domínio da aplicação.
![Page 44: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/44.jpg)
44 April 11, 2023
PIM
Platform Independent Model É uma visão do sistema focada na
“funcionalidade” de seus elementos, escondendo os detalhes necessários para sua execução em uma determinada plataforma.
![Page 45: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/45.jpg)
45 April 11, 2023
PSM
Platform Specific Model Representa o PIM levando em
consideração uma plataforma.
![Page 46: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/46.jpg)
46April 11, 2023
Plataforma? É o ambiente alvo
onde que contém a máquina de execução.
Pode ser um framework, uma máquina virtual ou o HW.
![Page 47: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/47.jpg)
47 April 11, 2023
Transformação
São responsáveis pelo mapeamento dos conceitos presentes em camadas distintas no MDA.
Relação x Mapeamento Manual x Automática
![Page 48: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/48.jpg)
48 April 11, 2023
Um Exemplo
AndroMDA MDWorkBench MDArte
![Page 49: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/49.jpg)
49
UML + MDA =>Fábrica de Software
Um Exemplo
![Page 50: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/50.jpg)
50
Lembrando, para ser fábrica...
Sistemas devem ser construídos a partir de Padrões, Modelos, Arquiteturas, Frameworks e Ferramentas. Guiado por Processo Baseado em Reuso sistemático Utilizando Linguagens de Domínio Fazendo Transformações
![Page 51: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/51.jpg)
51
Sistema Bancário (Requistos)
Autorizar saque
Sacar dinheiro pelo caixa
<<extend>>
Caixa
Gerente
Cliente
Liberar Talão
![Page 52: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/52.jpg)
52
Sistema Bancário (Projeto)
Conta
Talao
Saque
![Page 53: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/53.jpg)
53
Sistema Bancário
Há um requisito adicional: É necessário ter um controle de
acesso no sistema, ou seja, funcionalidades devem ser mapeadas para tipos de usuários com login/senha.
![Page 54: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/54.jpg)
54
Desenvolver vs Reusar Existem diversas implementações
prontas de Sistemas de Acesso
É decidido pela reutilização de um componente (framework) que provê os mecanismo de acesso requerido. Usuários têm login/senha. Usuários têm permissões.
![Page 55: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/55.jpg)
55
Ooopss...
No framework adotado não há o conceito de cliente/caixa.... Só de Usuário do Sistema. E usuário Administrador
No Sistema Bancário não há o conceito de Usuário/Administrador!!!
![Page 56: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/56.jpg)
56
Solução Podemos fazer marcações no Diagrama
de Caso de Uso para identificar quais atores são candidatos a usuários/administradores.
Estas marcações podem guiar um gerador de código para a “cola” entre o modelo do framework e o modelo do sistema. As marcações fazem parte de um Profile para
o domínio de Controle de Acesso.
![Page 57: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/57.jpg)
57
Marcações !!!! Guiar Gerador de Código !!!
Já falo nisso
![Page 58: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/58.jpg)
58
Solução
Autorizar saque
Sacar dinheiro pelo caixa
<<extend>>
<<usuario-sistema>>Caixa
<<usuário-adm>>Gerente
<<usuário-sistema>>Cliente
Liberar Talão
![Page 59: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/59.jpg)
59
e ainda através de um gerador....
Conta
Talao
Saque
Cliente
Caixa
Gerente
LiberarTalao()
Framework de
Acesso
Código Gerado pelo transformador
Adm
Usu
![Page 60: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/60.jpg)
60
Profile UML
MARCAÇÕES
![Page 61: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/61.jpg)
61
O que é um UML Profile? É um conjunto Stereotypes,
TaggedValues, Constraints e ícones que estendem UML de modo a expressar os conceitos de um domínio específico (linguagem do domínio).
Facilita a representação de novos conceitos em um modelo UML através de marcações nos elementos de design.
![Page 62: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/62.jpg)
62
Em UML profiles são...
![Page 63: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/63.jpg)
63
Stereotypes
Um estereótipo define como um elemento de modelo pode ser estendido.
![Page 64: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/64.jpg)
64
Uso
![Page 65: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/65.jpg)
65
Tagged-Values
São propriedades atreladas aos estereótipos que permitem o refinamento de um determinado conceito. Ex : Resolution from the previous
example
![Page 66: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/66.jpg)
66
Uso
A classe StopWatch é um tipo de Clock com with resolução igual a 2.
![Page 67: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/67.jpg)
67
Constraints Definem regras de boa formação
para os conceitos presentes em um profile.
São especificadas por uma descrição em linguagem natural acompanhada (opcionalmente) por uma restrição formal em OCL. OCL = Object Constraint Language
![Page 68: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/68.jpg)
68
Uso Um estereótipo só pode
especializar outro estereótipo generalization.general->forAll(e |
e.oclIsKindOf(Stereotype)) and generalization.specific->forAll(e | e.oclIsKindOf(Stereotype))
Os nomes dos estereótipos não podem conflitar com os existentes no metamodelo.
![Page 69: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/69.jpg)
69
Table Profile
![Page 70: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/70.jpg)
70
Transformação / Automação
![Page 71: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/71.jpg)
71
XMI
XMI é uma representação em XML de modelos UML.
Pode ser manipulado por programas para gerar... Outro arquivo XMI (Modelo) Código
![Page 72: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/72.jpg)
74
Resumindo
![Page 73: 1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão](https://reader035.vdocuments.net/reader035/viewer/2022062700/552fc17b497959413d8f0783/html5/thumbnails/73.jpg)
75
Alguns dados interessantes Estudo da EDS mostra que MDA pode
gerar até 80% da aplicação final http://www.omg.org/mda/mda_files/3302_AccelDev_PP.pdf
O ThalesGroup utiliza a abordagem Fabrica de Software com redução de até 70% no tempo de desenvolvomento
http://softwarefactories.com/workshops/OOPSLA-2005/Papers/Langlois.pdf