Arquitetura do SifraPHP
Autor: Renan Abreu | Publicado: 2009-01-16T18:19:00-08:00

Desenvolver produtos de alta qualidade é dever de todo engenheiro de software.Não basta dominar uma linguagem de programação, faz-se necessário criar mais do que simplesmente milhões de linhas de códigos.O bom analista sempre coloca em prática suas habilidades mais importantes, modelagem de dados e engenharia de requisitos, todavia, esta tarefa é muito complexa, pois , além de modelar dados e levantar requisitos, concentra esforços em realizar projetos arquiteturais.    Graças aos frameworks, nosso trabalho de projetar arquiteturas torna-se reduzido e menos desgastante porque “fornecem uma infra-estrutura do esqueleto de implementação específica [RP06]”, ou seja,  uma “miniarquitetura reusável que fornece a estrutura e o comportamento génericos para uma família de abstrações de software dentro de um contexto[RP06]”.    Baseando-se nos padrões de projetos, design paterns,típicos de linguagens orientada a objetos,foi concebido o framework SifraPHP.    Simples Framework PHP ou simplesmente SifraPHP, implementa um padrão arquitetural chamado MVC (Model View Controller).MVC tem a função de arquiteturar o software em três diferentes camadas: interface gráfica (View), regra do negócio ou modelagem de dados(Model) e controlador(Controller).    A camada View objetiva solucionar alguns problemas restringido o controle apenas sobre a interface.Esta característica é extremamente importante pois as telas não precisão saber como os dados serão tratados,ao excluir a camada de manipulação dos dados, também conhecida por Model, podemos inserir em nosso projeto um tempo único à implementação da IHM(interface homem máquina).    Projetar interfaces gráficas sempre foi um trabalho arduo, isso se dá ao fato de que a maioria dos usuários julgam uma aplicação apenas por sua aparência, porém, PIG(projeto de interface gráfica) traz trés grandes preocupações ao desenvolvedor : interface entre componentes do software, padronização entre interfaces (de produtos diferentes) e por último, interface entre homem máquina.Por não ser uma tarefa trivial e não haver exclusividade a construção desta,é comum notarmos aplicações com excelentes funcionalidades , apliacadas ao contexto do problema, mas que deixam a desejar no quisito homem máquina.       Analisar estruturas menores é um trabalho mais simples e menos sucetível a erros, por isso implementar a regra do negócio  sem que essa interfira na apresentação do softwar se torna uma tarefa confiável, isto resulta em um software de alta qualidade.Entretanto , sistemas não são funcionais se não houver uma comunicação entre Model(regra do negocio) e View(interface, telas).    A fim de solucionar este problema, a camada controller realiza operações de comunicação entre as camadas View e Model, através de mensagens.    Em resumo ,projetar sistemas é se orientar em informações aplicadas ao conhecimento técnico.Ao se tratar de engenharia de software ,para se obter essas informações, é preciso conhecer padrões de projetos e saber implementa-los, por isso o SifraPHP foi criado, para elevar o conhecimento e facilitar o uso do padrão MVC em parceria com a linguagem PHP.A versão 0.1.1 pode ser encontrada em :: SifraPHP_v.0.1.1.rarReferências Bibliográficas[RP06] Pressman, Roger S., Engenharia de Software,McGraw-Hill,2006.