Trabalho deCurso -
CESUFOZ -2009
FernandoGeraldo
Mantoan
Objetivo Geral
ReferencialTeorico
Arquiteturas deSoftware
Design Patterns
PHP
Descricao doAmbienteExperimental
Tecnologias
Padroes
Estrutura Fısica
Aplicativos
ArquiteturaProposta
Implementacao
Estudo de Caso
Demonstracao
ConsideracoesFinais eTrabalhosFuturos
Proposta de Arquitetura de DesenvolvimentoWeb Baseada em PHP Utilizando Design
Patterns. Um Estudo de Caso
Fernando Geraldo MantoanOrientador: Prof. Gildomiro Bairros
CESUFOZ - Centro de Ensino Superior de Foz do Iguacu
7 de dezembro de 2009
Trabalho deCurso -
CESUFOZ -2009
FernandoGeraldo
Mantoan
Objetivo Geral
ReferencialTeorico
Arquiteturas deSoftware
Design Patterns
PHP
Descricao doAmbienteExperimental
Tecnologias
Padroes
Estrutura Fısica
Aplicativos
ArquiteturaProposta
Implementacao
Estudo de Caso
Demonstracao
ConsideracoesFinais eTrabalhosFuturos
Sumario
1 Objetivo Geral
2 Referencial TeoricoArquiteturas de SoftwareDesign PatternsPHP
3 Descricao do Ambiente ExperimentalTecnologiasPadroesEstrutura FısicaAplicativos
4 Arquitetura Proposta
5 ImplementacaoEstudo de CasoDemonstracao
6 Consideracoes Finais e Trabalhos Futuros
Trabalho deCurso -
CESUFOZ -2009
FernandoGeraldo
Mantoan
Objetivo Geral
ReferencialTeorico
Arquiteturas deSoftware
Design Patterns
PHP
Descricao doAmbienteExperimental
Tecnologias
Padroes
Estrutura Fısica
Aplicativos
ArquiteturaProposta
Implementacao
Estudo de Caso
Demonstracao
ConsideracoesFinais eTrabalhosFuturos
Objetivo Geral
Objetivo Geral
Propor uma arquitetura de desenvolvimento de aplicacoes emPHP contendo design patterns que forneca uma maior estruturaorganizacional, padronizacao de programacao, facilidade demanutencao, menos repeticao de codigo e que evite bad smell.
Trabalho deCurso -
CESUFOZ -2009
FernandoGeraldo
Mantoan
Objetivo Geral
ReferencialTeorico
Arquiteturas deSoftware
Design Patterns
PHP
Descricao doAmbienteExperimental
Tecnologias
Padroes
Estrutura Fısica
Aplicativos
ArquiteturaProposta
Implementacao
Estudo de Caso
Demonstracao
ConsideracoesFinais eTrabalhosFuturos
Sumario
1 Objetivo Geral
2 Referencial TeoricoArquiteturas de SoftwareDesign PatternsPHP
3 Descricao do Ambiente ExperimentalTecnologiasPadroesEstrutura FısicaAplicativos
4 Arquitetura Proposta
5 ImplementacaoEstudo de CasoDemonstracao
6 Consideracoes Finais e Trabalhos Futuros
Trabalho deCurso -
CESUFOZ -2009
FernandoGeraldo
Mantoan
Objetivo Geral
ReferencialTeorico
Arquiteturas deSoftware
Design Patterns
PHP
Descricao doAmbienteExperimental
Tecnologias
Padroes
Estrutura Fısica
Aplicativos
ArquiteturaProposta
Implementacao
Estudo de Caso
Demonstracao
ConsideracoesFinais eTrabalhosFuturos
Arquiteturas de Software
Arquiteturas de Software
Abstracao de detalhes;
Analise de efetividade do projeto;
Importancia na: Comunicacao, Decisoes iniciais eAbstracao.
Trabalho deCurso -
CESUFOZ -2009
FernandoGeraldo
Mantoan
Objetivo Geral
ReferencialTeorico
Arquiteturas deSoftware
Design Patterns
PHP
Descricao doAmbienteExperimental
Tecnologias
Padroes
Estrutura Fısica
Aplicativos
ArquiteturaProposta
Implementacao
Estudo de Caso
Demonstracao
ConsideracoesFinais eTrabalhosFuturos
Sumario
1 Objetivo Geral
2 Referencial TeoricoArquiteturas de SoftwareDesign PatternsPHP
3 Descricao do Ambiente ExperimentalTecnologiasPadroesEstrutura FısicaAplicativos
4 Arquitetura Proposta
5 ImplementacaoEstudo de CasoDemonstracao
6 Consideracoes Finais e Trabalhos Futuros
Trabalho deCurso -
CESUFOZ -2009
FernandoGeraldo
Mantoan
Objetivo Geral
ReferencialTeorico
Arquiteturas deSoftware
Design Patterns
PHP
Descricao doAmbienteExperimental
Tecnologias
Padroes
Estrutura Fısica
Aplicativos
ArquiteturaProposta
Implementacao
Estudo de Caso
Demonstracao
ConsideracoesFinais eTrabalhosFuturos
Design PatternsDefinicao
Definicao de Design Patterns
Problema, solucao e reutilizacao;
Classes e instancias;
Problemas distintos;
Documentacao e manutencao.
Trabalho deCurso -
CESUFOZ -2009
FernandoGeraldo
Mantoan
Objetivo Geral
ReferencialTeorico
Arquiteturas deSoftware
Design Patterns
PHP
Descricao doAmbienteExperimental
Tecnologias
Padroes
Estrutura Fısica
Aplicativos
ArquiteturaProposta
Implementacao
Estudo de Caso
Demonstracao
ConsideracoesFinais eTrabalhosFuturos
Design PatternsLista dos Padroes
Figura: Padroes de Projeto e seus Relacionamentos.
Trabalho deCurso -
CESUFOZ -2009
FernandoGeraldo
Mantoan
Objetivo Geral
ReferencialTeorico
Arquiteturas deSoftware
Design Patterns
PHP
Descricao doAmbienteExperimental
Tecnologias
Padroes
Estrutura Fısica
Aplicativos
ArquiteturaProposta
Implementacao
Estudo de Caso
Demonstracao
ConsideracoesFinais eTrabalhosFuturos
Sumario
1 Objetivo Geral
2 Referencial TeoricoArquiteturas de SoftwareDesign PatternsPHP
3 Descricao do Ambiente ExperimentalTecnologiasPadroesEstrutura FısicaAplicativos
4 Arquitetura Proposta
5 ImplementacaoEstudo de CasoDemonstracao
6 Consideracoes Finais e Trabalhos Futuros
Trabalho deCurso -
CESUFOZ -2009
FernandoGeraldo
Mantoan
Objetivo Geral
ReferencialTeorico
Arquiteturas deSoftware
Design Patterns
PHP
Descricao doAmbienteExperimental
Tecnologias
Padroes
Estrutura Fısica
Aplicativos
ArquiteturaProposta
Implementacao
Estudo de Caso
Demonstracao
ConsideracoesFinais eTrabalhosFuturos
PHPPHP
PHP
Rasmus Lerdorf (1994);
Andi Gutmans e Zeev Suraski (1998);
Hypertext Preprocessor ;
Versao 5 (OO, Zend Engine 2, Webservices, ExtensibleMarkup Language).
Trabalho deCurso -
CESUFOZ -2009
FernandoGeraldo
Mantoan
Objetivo Geral
ReferencialTeorico
Arquiteturas deSoftware
Design Patterns
PHP
Descricao doAmbienteExperimental
Tecnologias
Padroes
Estrutura Fısica
Aplicativos
ArquiteturaProposta
Implementacao
Estudo de Caso
Demonstracao
ConsideracoesFinais eTrabalhosFuturos
PHPPrincipais Frameworks PHP
Frameworks
Aplicativo;
Ferramentas e subsistemas;
Servicos necessarios para sistemas;
Don’t Repeat Yourself ;
Alguns Frameworks para PHP: Zend Framework,CakePHP e Code Igniter.
Trabalho deCurso -
CESUFOZ -2009
FernandoGeraldo
Mantoan
Objetivo Geral
ReferencialTeorico
Arquiteturas deSoftware
Design Patterns
PHP
Descricao doAmbienteExperimental
Tecnologias
Padroes
Estrutura Fısica
Aplicativos
ArquiteturaProposta
Implementacao
Estudo de Caso
Demonstracao
ConsideracoesFinais eTrabalhosFuturos
Sumario
1 Objetivo Geral
2 Referencial TeoricoArquiteturas de SoftwareDesign PatternsPHP
3 Descricao do Ambiente ExperimentalTecnologiasPadroesEstrutura FısicaAplicativos
4 Arquitetura Proposta
5 ImplementacaoEstudo de CasoDemonstracao
6 Consideracoes Finais e Trabalhos Futuros
Trabalho deCurso -
CESUFOZ -2009
FernandoGeraldo
Mantoan
Objetivo Geral
ReferencialTeorico
Arquiteturas deSoftware
Design Patterns
PHP
Descricao doAmbienteExperimental
Tecnologias
Padroes
Estrutura Fısica
Aplicativos
ArquiteturaProposta
Implementacao
Estudo de Caso
Demonstracao
ConsideracoesFinais eTrabalhosFuturos
Descricao do Ambiente ExperimentalTecnologias Envolvidas
Tecnologias Envolvidas
UML;
PHP;
Apache HTTP;
HTML;
MySQL.
Trabalho deCurso -
CESUFOZ -2009
FernandoGeraldo
Mantoan
Objetivo Geral
ReferencialTeorico
Arquiteturas deSoftware
Design Patterns
PHP
Descricao doAmbienteExperimental
Tecnologias
Padroes
Estrutura Fısica
Aplicativos
ArquiteturaProposta
Implementacao
Estudo de Caso
Demonstracao
ConsideracoesFinais eTrabalhosFuturos
Descricao do Ambiente ExperimentalPadroes Envolvidos
Padroes Envolvidos
Programacao Orientada a Objetos;
Design Patterns:
Singleton;Factory ;Facade;Observer ;Data Mapper ;Table Data Gateway ;Model-View-Controller ;
Trabalho deCurso -
CESUFOZ -2009
FernandoGeraldo
Mantoan
Objetivo Geral
ReferencialTeorico
Arquiteturas deSoftware
Design Patterns
PHP
Descricao doAmbienteExperimental
Tecnologias
Padroes
Estrutura Fısica
Aplicativos
ArquiteturaProposta
Implementacao
Estudo de Caso
Demonstracao
ConsideracoesFinais eTrabalhosFuturos
Descricao do Ambiente ExperimentalEstrutura Fısica
Servidor
CPU Sempron 3800+;
512 MB de memoria DDR 400MHz;
HD de 80GB PATA.
Cliente
CPU Pentium Dual Core T2130 1.86GHz;
2GB de memoria DDR2 667MHz;
HD de 160GB Sata.
Trabalho deCurso -
CESUFOZ -2009
FernandoGeraldo
Mantoan
Objetivo Geral
ReferencialTeorico
Arquiteturas deSoftware
Design Patterns
PHP
Descricao doAmbienteExperimental
Tecnologias
Padroes
Estrutura Fısica
Aplicativos
ArquiteturaProposta
Implementacao
Estudo de Caso
Demonstracao
ConsideracoesFinais eTrabalhosFuturos
Descricao do Ambiente ExperimentalEstrutura Fısica
Estrutura Logica
SO GNU/Linux Ubuntu 9.10 Karmic Koala,2.6.31-14-generic;
Pacotes: apache2 2.2.12, php5 5.2.10, pdo-mysql 5.1.37,mysql-server-5.1 5.1.37.
Trabalho deCurso -
CESUFOZ -2009
FernandoGeraldo
Mantoan
Objetivo Geral
ReferencialTeorico
Arquiteturas deSoftware
Design Patterns
PHP
Descricao doAmbienteExperimental
Tecnologias
Padroes
Estrutura Fısica
Aplicativos
ArquiteturaProposta
Implementacao
Estudo de Caso
Demonstracao
ConsideracoesFinais eTrabalhosFuturos
Descricao do Ambiente ExperimentalFrameworks
Frameworks
Zend Framework - Simplicidade, Produtividade, Web 2.0,Codigo bem testado, Baixo acoplamento dos componentes.
Trabalho deCurso -
CESUFOZ -2009
FernandoGeraldo
Mantoan
Objetivo Geral
ReferencialTeorico
Arquiteturas deSoftware
Design Patterns
PHP
Descricao doAmbienteExperimental
Tecnologias
Padroes
Estrutura Fısica
Aplicativos
ArquiteturaProposta
Implementacao
Estudo de Caso
Demonstracao
ConsideracoesFinais eTrabalhosFuturos
Sumario
1 Objetivo Geral
2 Referencial TeoricoArquiteturas de SoftwareDesign PatternsPHP
3 Descricao do Ambiente ExperimentalTecnologiasPadroesEstrutura FısicaAplicativos
4 Arquitetura Proposta
5 ImplementacaoEstudo de CasoDemonstracao
6 Consideracoes Finais e Trabalhos Futuros
Trabalho deCurso -
CESUFOZ -2009
FernandoGeraldo
Mantoan
Objetivo Geral
ReferencialTeorico
Arquiteturas deSoftware
Design Patterns
PHP
Descricao doAmbienteExperimental
Tecnologias
Padroes
Estrutura Fısica
Aplicativos
ArquiteturaProposta
Implementacao
Estudo de Caso
Demonstracao
ConsideracoesFinais eTrabalhosFuturos
Arquitetura Proposta
Arquitetura Proposta
Figura: Diagrama da Arquitetura Proposta
Trabalho deCurso -
CESUFOZ -2009
FernandoGeraldo
Mantoan
Objetivo Geral
ReferencialTeorico
Arquiteturas deSoftware
Design Patterns
PHP
Descricao doAmbienteExperimental
Tecnologias
Padroes
Estrutura Fısica
Aplicativos
ArquiteturaProposta
Implementacao
Estudo de Caso
Demonstracao
ConsideracoesFinais eTrabalhosFuturos
Sumario
1 Objetivo Geral
2 Referencial TeoricoArquiteturas de SoftwareDesign PatternsPHP
3 Descricao do Ambiente ExperimentalTecnologiasPadroesEstrutura FısicaAplicativos
4 Arquitetura Proposta
5 ImplementacaoEstudo de CasoDemonstracao
6 Consideracoes Finais e Trabalhos Futuros
Trabalho deCurso -
CESUFOZ -2009
FernandoGeraldo
Mantoan
Objetivo Geral
ReferencialTeorico
Arquiteturas deSoftware
Design Patterns
PHP
Descricao doAmbienteExperimental
Tecnologias
Padroes
Estrutura Fısica
Aplicativos
ArquiteturaProposta
Implementacao
Estudo de Caso
Demonstracao
ConsideracoesFinais eTrabalhosFuturos
Estudo de CasoCasos de Uso
Diagrama de Casos de Uso
Figura: Diagrama de Casos de Uso
Trabalho deCurso -
CESUFOZ -2009
FernandoGeraldo
Mantoan
Objetivo Geral
ReferencialTeorico
Arquiteturas deSoftware
Design Patterns
PHP
Descricao doAmbienteExperimental
Tecnologias
Padroes
Estrutura Fısica
Aplicativos
ArquiteturaProposta
Implementacao
Estudo de Caso
Demonstracao
ConsideracoesFinais eTrabalhosFuturos
Estudo de CasoClasses
Diagrama de Classes
Figura: Diagrama de Classes
Trabalho deCurso -
CESUFOZ -2009
FernandoGeraldo
Mantoan
Objetivo Geral
ReferencialTeorico
Arquiteturas deSoftware
Design Patterns
PHP
Descricao doAmbienteExperimental
Tecnologias
Padroes
Estrutura Fısica
Aplicativos
ArquiteturaProposta
Implementacao
Estudo de Caso
Demonstracao
ConsideracoesFinais eTrabalhosFuturos
Sumario
1 Objetivo Geral
2 Referencial TeoricoArquiteturas de SoftwareDesign PatternsPHP
3 Descricao do Ambiente ExperimentalTecnologiasPadroesEstrutura FısicaAplicativos
4 Arquitetura Proposta
5 ImplementacaoEstudo de CasoDemonstracao
6 Consideracoes Finais e Trabalhos Futuros
Trabalho deCurso -
CESUFOZ -2009
FernandoGeraldo
Mantoan
Objetivo Geral
ReferencialTeorico
Arquiteturas deSoftware
Design Patterns
PHP
Descricao doAmbienteExperimental
Tecnologias
Padroes
Estrutura Fısica
Aplicativos
ArquiteturaProposta
Implementacao
Estudo de Caso
Demonstracao
ConsideracoesFinais eTrabalhosFuturos
Demonstracao
Demonstracao
Trabalho deCurso -
CESUFOZ -2009
FernandoGeraldo
Mantoan
Objetivo Geral
ReferencialTeorico
Arquiteturas deSoftware
Design Patterns
PHP
Descricao doAmbienteExperimental
Tecnologias
Padroes
Estrutura Fısica
Aplicativos
ArquiteturaProposta
Implementacao
Estudo de Caso
Demonstracao
ConsideracoesFinais eTrabalhosFuturos
Consideracoes Finais e Trabalhos FuturosConsideracoes Finais
Consideracoes Finais
Organizacao no desenvolvimento;
Reusabilidade e solucao de problemas comuns a projetosde software;
Legibilidade e camadas logicas;
Manutenibilidade, com documentacao completa daarquitetura;
Concluindo: Ciclo de vida de um software prolongado;vantagens para clientes e para desenvolvedores.
Trabalho deCurso -
CESUFOZ -2009
FernandoGeraldo
Mantoan
Objetivo Geral
ReferencialTeorico
Arquiteturas deSoftware
Design Patterns
PHP
Descricao doAmbienteExperimental
Tecnologias
Padroes
Estrutura Fısica
Aplicativos
ArquiteturaProposta
Implementacao
Estudo de Caso
Demonstracao
ConsideracoesFinais eTrabalhosFuturos
Consideracoes Finais e Trabalhos FuturosTrabalhos Futuros
Trabalhos Futuros
Adicionar ou remover design patterns de acordo com osproblemas que os projetos de software apresentem;
Desacoplar a arquitetura do Zend Framework, isto facilitaa migracao entre frameworks PHP;
Basear a arquitetura em plugins, o que traz maisconsistencia e praticidade na adicao ou remocao defuncionalidades.
Trabalho deCurso -
CESUFOZ -2009
FernandoGeraldo
Mantoan
Objetivo Geral
ReferencialTeorico
Arquiteturas deSoftware
Design Patterns
PHP
Descricao doAmbienteExperimental
Tecnologias
Padroes
Estrutura Fısica
Aplicativos
ArquiteturaProposta
Implementacao
Estudo de Caso
Demonstracao
ConsideracoesFinais eTrabalhosFuturos
Referencias Bibliograficas
BASS, L.; CLEMENTS, P.; KAZMAN, R. Software Architecture in Practice. 2. ed. Boston: Addison
Wesley, 2003.
BUSCHMANN, F. et al. Pattern-Oriented Software Architeture. Chichester: Wiley, 1996.
DALL’OGLIO, P. PHP - Programando com Orientacao a Objetos. Sao Paulo: Novatec, 2007.
FOWLER, M. et al. Patterns of Enterprise Application Architecture. Indianapolis: Addison-Wesley,
2002.
GAMMA, E. et al. Design Patterns, Elements of Reusable Object-Oriented Software. Indianapolis:
Addison-Wesley, 1995.
MELO, A. A. de; NASCIMENTO, M. G. F. do. PHP Profissional. Sao Paulo: Novatec, 2007.
PRESSMAN, R. S. Engenharia de Software. 5. ed. Rio de Janeiro: McGraw-Hill, 2002.
VAROTO, A. C. Visoes em Arquitetura de software. Sao Paulo: [s.n.], 2002.
ZEND. Zend Framework. 2009. Disponıvel em: <http://framework.zend.com>. Acesso em: 20 nov.
2009.
Trabalho deCurso -
CESUFOZ -2009
FernandoGeraldo
Mantoan
Objetivo Geral
ReferencialTeorico
Arquiteturas deSoftware
Design Patterns
PHP
Descricao doAmbienteExperimental
Tecnologias
Padroes
Estrutura Fısica
Aplicativos
ArquiteturaProposta
Implementacao
Estudo de Caso
Demonstracao
ConsideracoesFinais eTrabalhosFuturos
Duvidas ???
Top Related