Designer arquitetônico de soluções mobile com UML e suas 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. Apresentação sobre arquitetura e projeto de soluções mobile utilizando ferramentas como UML, SOAML, SYSML e abordando tópicos como design patterns, principles of design e melhores práticas.
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
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.
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
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
Pendências : Logos , Uml
Falar dos formatos de transporte : Xml , json , binário
Vamos fazer uma viagem
Vamos pensar como: temos que fazer uma festa o Padrão é compra o bolo fazer o convite mais de acordo com o contexto.
Base de dados local do mobile , sincronização e replicação de dados
Webservice(endpoint) Soap e Restfull
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
Base de dados local do mobile , sincronização e replicação de dados
Webservice(endpoint) Soap e Restful
Base de dados local do mobile , sincronização e replicação de dados
Webservice(endpoint) Soap e Restful