SlideShare a Scribd company logo
1 of 18
Download to read offline
MWSD01-R01 : Introdução a Arquitetura e
Projeto de Soluções Mobile
FACILITADOR: ALEX ALMEIDA(ARQUITETO DE SOFTWARE)
EMAIL: DVP.ALEX@GMAIL.COM.BR
TWITTER: HTTPS://TWITTER.COM/DVPALEX
CEL.: 11 98721-3845
http://www.meetup.com/Sao-Paulo-Mobile-wsdevs-Meetup/
https://www.facebook.com/wsdevs
https://twitter.com/workshopdevs
Whatsapp: 11 987213845
Agenda
• Apresentação
• Proposta
• UML
• SOAML
• SYSML
• Design Patterns
• Principles of Design
• Melhores práticas
• Arquitetura Base
Apresentação
Quem somos então e o que nos trás aqui?
O que é WSDEVS?
• Grupo para compartilhamento e replicação prática de conhecimentos de tecnologias.
Modelo de trabalho.
Proposta
Replicar o conhecimento de soluções Mobile utilizando design patterns, principles of design e melhores práticas de mercado
afim obter melhores resultados nos desafios de desenvolvimento soluções mobile tento a UML e suas extensões como
principal ferramenta de designer mais não se limitando apenas a ela.
Soluções Mobile tem um nível muito maior de exigência das demais plataformas principalmente em termos de : Tamanho dos
artefatos, Peformance, Testabilidade, Mantenabilidade, Comunicação e Robustez dado as limitações de hardwares , links,
variedades de tecnologias que precisam ser integradas(Entidades Autenticadoras, Legado, Middleware ...), Infraestrutura e
principalmente a diversidade de devices;
Desenvolver soluções nas principais plataformas nativas – IOS, Android e Windows e ainda Hibrida com Phonegap.
“Projetar e construir soluções Mobiles com as melhores práticas , Design Patterns, Principle of Design são apenas
necessidades básicas."
Designer arquitetônico de soluções mobile com UML e sua extensões através de melhores práticas,
Design Patterns e Principle Design para as plataformas IOS, Android, Windows phone e Híbrido com
Phonegap
UML
UML – Linguagem de notação para sistemas orientados a objeto aplicada a especificação e
análise de sistemas em seus aspectos funcionais , não funcionais e arquitetônicos
UML – SOAML Extension
SoaML – Extensão da UML dirigida a SOA;
UML – SYSML extension
SysML – Extensão UML dirigida a Engenharia
de Software;
UML – SYSML extension
SysML – Extensão UML dirigida a Engenharia
de Software;
Diagramas SysML:
• Requeriment Diagram;
UML – SYSML extension
SysML – Extensão UML dirigida a Engenharia
de Software;
Diagramas SysML:
• Parametric Diagram.
Design Patterns
Grupos de Design Patterns:
• Creational Patterns (Padrões de Criação): Tratam da construção do objeto e o de
referência;
• Structural Patterns (Padrões Estruturais): Tratam da relação entre objetos e como eles
interagem entre sim para formarem grandes objetos complexos;
• Behavioral Patterns (Padrões Comportamentais): Tratam da comunicação entre os
objetos, especialmente em termos de responsabilidade e de algoritimos.
Design Patterns – Padrões de Projeto, Blueprint(Desenho técnico,
documentação de arquitetura), Solução reconhecidas para problemas comum.
Design Patterns
• Creational Patterns (Padrões de Criação):
• Abstract Factory
• Builder
• Factory Method
• Prototype
• Singleton
• Structural Patterns (Padrões Estruturais):
• Adapter
• Bridge
• Composite
• Decorator
• Façade (ou Facade)
• Flyweight
• Proxy
Design Patterns – Padrões de Projeto, Blueprint(Desenho técnico, documentação de arquitetura),
Solução reconhecidas para problemas comum.
• Behavioral Patterns (Padrões Comportamentais
• Chain of Responsibility
• Command
• Interpreter
• Iterator
• Mediator
• Memento
• Observer
• State
• Strategy
• Template Method
• Visitor
Principles of DesigN
Single Responsibility Principle (SRP), ou, Princípio da Responsabilidade Única. Esse princípio diz que as classes devem ser coesas, ou seja,
terem uma única responsabilidade. Classes assim tendem a ser mais reutilizáveis, mais simples, e propagam menos mudanças para o resto do
sistema.
• Open Closed Principle (OCP), ou Princípio do Aberto Fechado. Diz que as classes devem poder ter seu comportamento facilmente
estendidas quando necessário, por meio de herança, interface e composição. Ao mesmo tempo, não deve ser necessário abrir a própria
classe para realizar pequenas mudanças. No fim, o princípio diz que devemos ter boas abstrações espalhadas pelo sistema.
• Liskov Substitution Principle (LSP), ou Príncipio da Substituição de Liskov. Esse princípio diz que precisamos ter cuidado para usar herança.
Herança é um mecanismo poderoso, mas deve ser usado com parcimônia, evitando os casos de Gato-estende-Cachorro, apenas por
possuírem algo em comum.
• Interface Segregation Principle (ISP), ou Princípio da Segregação de Interfaces. Esse princípio diz que nossos módulos devem ser enxutos,
ou seja, devem ter poucos comportamentos. Interfaces que tem muitos comportamentos geralmente acabam se espalhando por todo o
sistema, dificultando manutenção.
• Dependency Inversion Principle (DIP), ou Princípio da Inversão de Dependências. Esse princípio diz que devemos sempre depender de
abstrações, afinal abstrações mudam menos e facilitam a mudança de comportamento e as futuras evoluções do código.
Principles of Design
Melhores práticas
Plataformas : IOS, Android, Windows Phone e Híbrido(Phonegap)
Campos de uso:
• Codificação
• Acesso de Recursos
• Usabilidade(UI) e Melhor experiência para o usuário(UX)
• Montagem da esteira de desenvolvimento e execução do projeto
• Teste
• Delivery
Melhores Práticas
Soluções mobile
Arquitetura base: Visão Geral
Webapi
Soluções mobile - CLOUD
Arquitetura base: Google App Engine
Soluções mobile - CLOUD
Arquitetura base: Windows Azure
Soluções mobile - CLOUD
FIM ! Dúvidas?
http://www.meetup.com/Sao-Paulo-Mobile-wsdevs-Meetup/
http://www.meetup.com/SOA-WSDEVS-Meetup/
http://www.meetup.com/Sao-Paulo-Scrum-Alm-e-MS-TFS-Meetup/
Nossos Meetups:

More Related Content

Similar to Designer Mobile com UML

Aula4-modelagem e uml
Aula4-modelagem e umlAula4-modelagem e uml
Aula4-modelagem e umlneilaxavier
 
Programação orientada à objetos & mvc
Programação orientada à objetos & mvcProgramação orientada à objetos & mvc
Programação orientada à objetos & mvcJhordam Siqueira
 
Análise e Projeto de Sistemas com UML e Java
Análise e Projeto de Sistemas com UML e JavaAnálise e Projeto de Sistemas com UML e Java
Análise e Projeto de Sistemas com UML e Javaarmeniocardoso
 
Codecon - Fundamentos da Arquitetura de Software: Estruturando Sistemas Sem P...
Codecon - Fundamentos da Arquitetura de Software: Estruturando Sistemas Sem P...Codecon - Fundamentos da Arquitetura de Software: Estruturando Sistemas Sem P...
Codecon - Fundamentos da Arquitetura de Software: Estruturando Sistemas Sem P...Pedro Castilho
 
Apresentação Introdução Design Patterns
Apresentação Introdução Design PatternsApresentação Introdução Design Patterns
Apresentação Introdução Design PatternsLucas Simões Maistro
 
Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Mo...
Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Mo...Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Mo...
Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Mo...Edson Oliveira Junior
 
Introdução a arquitetura de sistemas com .NET
Introdução a arquitetura de sistemas com .NETIntrodução a arquitetura de sistemas com .NET
Introdução a arquitetura de sistemas com .NETMário Meyrelles
 
DDD – Domain Driven Design
DDD – Domain Driven DesignDDD – Domain Driven Design
DDD – Domain Driven DesignÍtalo Bandeira
 
Umlv4 090813182632-phpapp02
Umlv4 090813182632-phpapp02Umlv4 090813182632-phpapp02
Umlv4 090813182632-phpapp02Jhonefj
 
Frameworks de desenvolvimento web
Frameworks de desenvolvimento webFrameworks de desenvolvimento web
Frameworks de desenvolvimento webArlindo Santos
 
Projeto de Sistemas - Aula005
Projeto de Sistemas - Aula005Projeto de Sistemas - Aula005
Projeto de Sistemas - Aula005Cláudio Amaral
 
Um desenvolvedor com princípios SOLID
Um desenvolvedor com princípios SOLIDUm desenvolvedor com princípios SOLID
Um desenvolvedor com princípios SOLIDHélio Medeiros
 

Similar to Designer Mobile com UML (20)

Aula4-modelagem e uml
Aula4-modelagem e umlAula4-modelagem e uml
Aula4-modelagem e uml
 
Programação orientada à objetos & mvc
Programação orientada à objetos & mvcProgramação orientada à objetos & mvc
Programação orientada à objetos & mvc
 
Análise e Projeto de Sistemas com UML e Java
Análise e Projeto de Sistemas com UML e JavaAnálise e Projeto de Sistemas com UML e Java
Análise e Projeto de Sistemas com UML e Java
 
Codecon - Fundamentos da Arquitetura de Software: Estruturando Sistemas Sem P...
Codecon - Fundamentos da Arquitetura de Software: Estruturando Sistemas Sem P...Codecon - Fundamentos da Arquitetura de Software: Estruturando Sistemas Sem P...
Codecon - Fundamentos da Arquitetura de Software: Estruturando Sistemas Sem P...
 
Apresentação Introdução Design Patterns
Apresentação Introdução Design PatternsApresentação Introdução Design Patterns
Apresentação Introdução Design Patterns
 
Travalho versao final
Travalho versao finalTravalho versao final
Travalho versao final
 
O emprego do_rup_na_uml_-_trabalho_poo_2012
O emprego do_rup_na_uml_-_trabalho_poo_2012O emprego do_rup_na_uml_-_trabalho_poo_2012
O emprego do_rup_na_uml_-_trabalho_poo_2012
 
Padrões de design orientado a objetos
Padrões de design orientado a objetosPadrões de design orientado a objetos
Padrões de design orientado a objetos
 
Aula 8 Modelagem de Dados
Aula 8 Modelagem de DadosAula 8 Modelagem de Dados
Aula 8 Modelagem de Dados
 
Princípios SOLID
Princípios SOLIDPrincípios SOLID
Princípios SOLID
 
Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Mo...
Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Mo...Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Mo...
Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Mo...
 
00 apresentacao
00   apresentacao00   apresentacao
00 apresentacao
 
Introdução a arquitetura de sistemas com .NET
Introdução a arquitetura de sistemas com .NETIntrodução a arquitetura de sistemas com .NET
Introdução a arquitetura de sistemas com .NET
 
DDD – Domain Driven Design
DDD – Domain Driven DesignDDD – Domain Driven Design
DDD – Domain Driven Design
 
Análise e Modelagem com UML
Análise e Modelagem com UMLAnálise e Modelagem com UML
Análise e Modelagem com UML
 
Umlv4 090813182632-phpapp02
Umlv4 090813182632-phpapp02Umlv4 090813182632-phpapp02
Umlv4 090813182632-phpapp02
 
Frameworks de desenvolvimento web
Frameworks de desenvolvimento webFrameworks de desenvolvimento web
Frameworks de desenvolvimento web
 
Projeto de Sistemas - Aula005
Projeto de Sistemas - Aula005Projeto de Sistemas - Aula005
Projeto de Sistemas - Aula005
 
Um desenvolvedor com princípios SOLID
Um desenvolvedor com princípios SOLIDUm desenvolvedor com princípios SOLID
Um desenvolvedor com princípios SOLID
 
Aula07
Aula07Aula07
Aula07
 

Designer Mobile com UML

  • 1. MWSD01-R01 : Introdução a Arquitetura e Projeto de Soluções Mobile FACILITADOR: ALEX ALMEIDA(ARQUITETO DE SOFTWARE) EMAIL: DVP.ALEX@GMAIL.COM.BR TWITTER: HTTPS://TWITTER.COM/DVPALEX CEL.: 11 98721-3845
  • 3. Agenda • Apresentação • Proposta • UML • SOAML • SYSML • Design Patterns • Principles of Design • Melhores práticas • Arquitetura Base
  • 4. Apresentação Quem somos então e o que nos trás aqui? O que é WSDEVS? • Grupo para compartilhamento e replicação prática de conhecimentos de tecnologias. Modelo de trabalho.
  • 5. Proposta Replicar o conhecimento de soluções Mobile utilizando design patterns, principles of design e melhores práticas de mercado afim obter melhores resultados nos desafios de desenvolvimento soluções mobile tento a UML e suas extensões como principal ferramenta de designer mais não se limitando apenas a ela. Soluções Mobile tem um nível muito maior de exigência das demais plataformas principalmente em termos de : Tamanho dos artefatos, Peformance, Testabilidade, Mantenabilidade, Comunicação e Robustez dado as limitações de hardwares , links, variedades de tecnologias que precisam ser integradas(Entidades Autenticadoras, Legado, Middleware ...), Infraestrutura e principalmente a diversidade de devices; Desenvolver soluções nas principais plataformas nativas – IOS, Android e Windows e ainda Hibrida com Phonegap. “Projetar e construir soluções Mobiles com as melhores práticas , Design Patterns, Principle of Design são apenas necessidades básicas." Designer arquitetônico de soluções mobile com UML e sua extensões através de melhores práticas, Design Patterns e Principle Design para as plataformas IOS, Android, Windows phone e Híbrido com Phonegap
  • 6. UML UML – Linguagem de notação para sistemas orientados a objeto aplicada a especificação e análise de sistemas em seus aspectos funcionais , não funcionais e arquitetônicos
  • 7. UML – SOAML Extension SoaML – Extensão da UML dirigida a SOA;
  • 8. UML – SYSML extension SysML – Extensão UML dirigida a Engenharia de Software;
  • 9. UML – SYSML extension SysML – Extensão UML dirigida a Engenharia de Software; Diagramas SysML: • Requeriment Diagram;
  • 10. UML – SYSML extension SysML – Extensão UML dirigida a Engenharia de Software; Diagramas SysML: • Parametric Diagram.
  • 11. Design Patterns Grupos de Design Patterns: • Creational Patterns (Padrões de Criação): Tratam da construção do objeto e o de referência; • Structural Patterns (Padrões Estruturais): Tratam da relação entre objetos e como eles interagem entre sim para formarem grandes objetos complexos; • Behavioral Patterns (Padrões Comportamentais): Tratam da comunicação entre os objetos, especialmente em termos de responsabilidade e de algoritimos. Design Patterns – Padrões de Projeto, Blueprint(Desenho técnico, documentação de arquitetura), Solução reconhecidas para problemas comum.
  • 12. Design Patterns • Creational Patterns (Padrões de Criação): • Abstract Factory • Builder • Factory Method • Prototype • Singleton • Structural Patterns (Padrões Estruturais): • Adapter • Bridge • Composite • Decorator • Façade (ou Facade) • Flyweight • Proxy Design Patterns – Padrões de Projeto, Blueprint(Desenho técnico, documentação de arquitetura), Solução reconhecidas para problemas comum. • Behavioral Patterns (Padrões Comportamentais • Chain of Responsibility • Command • Interpreter • Iterator • Mediator • Memento • Observer • State • Strategy • Template Method • Visitor
  • 13. Principles of DesigN Single Responsibility Principle (SRP), ou, Princípio da Responsabilidade Única. Esse princípio diz que as classes devem ser coesas, ou seja, terem uma única responsabilidade. Classes assim tendem a ser mais reutilizáveis, mais simples, e propagam menos mudanças para o resto do sistema. • Open Closed Principle (OCP), ou Princípio do Aberto Fechado. Diz que as classes devem poder ter seu comportamento facilmente estendidas quando necessário, por meio de herança, interface e composição. Ao mesmo tempo, não deve ser necessário abrir a própria classe para realizar pequenas mudanças. No fim, o princípio diz que devemos ter boas abstrações espalhadas pelo sistema. • Liskov Substitution Principle (LSP), ou Príncipio da Substituição de Liskov. Esse princípio diz que precisamos ter cuidado para usar herança. Herança é um mecanismo poderoso, mas deve ser usado com parcimônia, evitando os casos de Gato-estende-Cachorro, apenas por possuírem algo em comum. • Interface Segregation Principle (ISP), ou Princípio da Segregação de Interfaces. Esse princípio diz que nossos módulos devem ser enxutos, ou seja, devem ter poucos comportamentos. Interfaces que tem muitos comportamentos geralmente acabam se espalhando por todo o sistema, dificultando manutenção. • Dependency Inversion Principle (DIP), ou Princípio da Inversão de Dependências. Esse princípio diz que devemos sempre depender de abstrações, afinal abstrações mudam menos e facilitam a mudança de comportamento e as futuras evoluções do código. Principles of Design
  • 14. Melhores práticas Plataformas : IOS, Android, Windows Phone e Híbrido(Phonegap) Campos de uso: • Codificação • Acesso de Recursos • Usabilidade(UI) e Melhor experiência para o usuário(UX) • Montagem da esteira de desenvolvimento e execução do projeto • Teste • Delivery Melhores Práticas
  • 15. Soluções mobile Arquitetura base: Visão Geral Webapi
  • 16. Soluções mobile - CLOUD Arquitetura base: Google App Engine
  • 17. Soluções mobile - CLOUD Arquitetura base: Windows Azure
  • 18. Soluções mobile - CLOUD FIM ! Dúvidas? http://www.meetup.com/Sao-Paulo-Mobile-wsdevs-Meetup/ http://www.meetup.com/SOA-WSDEVS-Meetup/ http://www.meetup.com/Sao-Paulo-Scrum-Alm-e-MS-TFS-Meetup/ Nossos Meetups:

Editor's Notes

  1. Pendências : Logos , Uml Falar dos formatos de transporte : Xml , json , binário Vamos fazer uma viagem
  2. Vamos pensar como: temos que fazer uma festa o Padrão é compra o bolo fazer o convite mais de acordo com o contexto.
  3. Base de dados local do mobile , sincronização e replicação de dados Webservice(endpoint) Soap e Restfull
  4. Base de dados local do mobile , sincronização e replicação de dados Webservice(endpoint) Soap e Restful Identidade Digital Aplicações mobile devem ser elásticas e de alta dispobilidade Outros Cloud : Amazon Jelastic
  5. Base de dados local do mobile , sincronização e replicação de dados Webservice(endpoint) Soap e Restful
  6. Base de dados local do mobile , sincronização e replicação de dados Webservice(endpoint) Soap e Restful