PADRÕES DE PROJETOS (DESIGN PATTERNS) PARA WEB COM PHP

Tamanho: px
Começar a partir da página:

Download "PADRÕES DE PROJETOS (DESIGN PATTERNS) PARA WEB COM PHP"

Transcrição

1 PADRÕES DE PROJETOS (DESIGN PATTERNS) PARA WEB COM PHP Carlos David Rocha de Souza 1 RESUMO O desenvolvimento utilizando padrões de projeto (Design Patterns) não deve ser considerado uma maneira de reutilização de códigos prontos, mas sim boas idéias de desenvolvê-los. A finalidade deste artigo é mostrar boas práticas de programação orientada a objeto, com aplicação de padrões de projeto enterprise para solucionar o problema proposta pela aplicação web utilizando a linguagem de programação PHP5 (Hypertex Preprocessor), o servidor web/sgdb WampServer2.0h (Apache, PHP5, phpmyadmin e MySQL) e IDE NetBeans 6.5. Palavras-chave: Design Patterns; PHP; MVC Model View Controller. DESIGN PATTERNS FOR WEB WITH PHP ABSTRACT The development using Design Patterns should not be considered a way of reutilization of ready codes, but, good ideas for developing them. The objective of this article is to show good practice of programming guided to object, with application of Design Patterns enterprise to solve the problem proposed by the application web using the programming language PHP5 (Hypertex Preprocessor), the server web/sgdb WampServer2.0h (Apache, PHP5, phpmyadmin and MySQL) and GO NetBeans 6.5. Key-Words: Design Patterns; PHP; MVC Model View Controller. INTRODUÇÃO Logo após aprender uma linguagem de programação ao avaliar outros projetos e percebendo que códigos de outros desenvolvedores aparentam ser mais complexo e com um funcionamento melhor, daí geralmente nasce um questionamento de como alcançar tal grau de excelência no desenvolvimento de aplicativos. Neste artigo, trataremos do conceitos e práticas de regras ou padrões de projetos, comumente chamadas de Design Pattern que é uma maneira de alcançar um objetivo no desenvolvimento de aplicativos com linguagem de programação orientada a objetos codificando classes e métodos. Os padrões de projetos estão em um nível mais elevado do que o próprio código desenvolvido, buscando mostrar como alcançar um objetivo e auxiliando no desenvolvimento mais eficaz do código orientado a objeto. Dessa forma, além da usar a metodologia de pesquisa bibliográfica, neste artigo expressamos uma abordagem de estudo de caso ao exemplificar por meio de uma aplicação para web e seu caso de uso que utiliza design pattern para solucionar o caso proposto no desenvolvimento em camadas do aplicativo para otimizar a segurança do código.

2 2. PADRÃO DE PROJETO (DESIGN PATTERN) No desenvolvimento de sistemas de deparado algum problema que fica a impressão que já foi visto antes e criado uma solução para tal, porém não foi elaborado uma documentação sobre a solução nem se guardou em memória. 1 Tecnólogo em Sistemas de Informação (2005); Especialista em ciências da computação (2007). Atuante na área da tecnologia da informação desde Atualmente é professor na Faculdades Unidas do Vale do Araguaia; Analista de redes na Bmz Couros Ltda e Desenvolvedor de Aplicações Orientadas a Objeto e para Web. [email protected] É neste ponto que se aplica o padrão de projeto, pois para GABRIEL (2008), não é mais aceitável que a cada vez que deparasse com uma determinada situação, até repetitiva, tenha que se pensar novamente em uma busca de uma solução nova. O que dever ser feito no momento de identificação pela primeira vez de uma situação, é documentá-la. Para isso devese dar um nome, explicando o contexto no qual está inserida, descrevendo a solução encontrada e mostrando as consequências desta solução, de forma que da próxima vez que esta situação for identificada, conte com a ajuda dessa documentação para solucionar o problema. Este tipo de documentação da solução de um problema faz com que os profissionais menos experientes possam aprender a partir da experiência documentada de outros profissionais e não tenham um que começar do zero. Dessa forma evita-se erros cometidos anteriormente até que se chegue a um resultado ou solução satisfatória, ganhando tempo no desenvolvimento da aplicação final. A utilização de padrões de projetos no desenvolvimento de aplicações otimiza na elaboração da documentação facilitando na manutenção dos sistemas já existentes. Segundo GONÇALVES (2007), um padrão descreve um problema que ocorre inúmeras vezes em determinado contexto, e descreve ainda a solução para esse problema, de modo que essa solução possa ser utilizada sistematicamente em distintas situações. Para DALL OGLIO (2007) um padrão pode ser definido como a abstração de uma forma concreta que se repete em um contexto específico não-arbitrário. Já MELO (2007) afirma que: Cada pattern é uma regra de trê partes, uma que expressa uma relação entre um certo contexto, um certo sistema de forças que ocorre repetidamente nesse contexto, e uma certa configuração de software que permite que estas forças sejam resolvidas. 3. TIPOS DE PADRÕES DE PROJETO

3 Os padrões são organizados em grupos e nomeados a partir de suas funcionalidades de utilização. A seguir apresentaremos topicamente as descrições dos mais comuns. 3.1 Padrões Estruturais Descreve como os objetos interagem entre si. Em outras palavras, eles abordam o framework estrutural dos objetos: Bridge: Separa uma abstração de sua implementação, de modo que as duas possam variar independentemente. Adapter: Permite que dois objetos se comuniquem mesmo que tenha interfaces incompatíveis. Composite: Agrupa os objetos em estrutura de árvore para representar a hierarquia do tipo partes - todo. O Composite permite que os clientes tratem objetos individuais e composições de objetos de maneira uniforme. Decorator: Atribui responsabilidade adicionais a um objeto dinamicamente.o Decorator fornece uma alternativa flexível a subclasses para a extensão da funcionalidade. Facade: Fornece uma interface única para um subsistema com diversas interfaces. O Façade define uma interface de nível mais alto que torna o subsistema mais fácil de usar. Flyweight: Usa compartilhamentos para dar suporte inúmeros objetos, de granularidade fina, de forma eficiente. Proxy: Fornece um objeto representante ou marcador de outro objeto, para controlar o acesso ao mesmo. 3.2 Padrões Comportamentais Descreve como podemos usar os objetos para alterar o comportamento de um sistema em tempo de execução: Observer: Define um uma dependência um-para-muitos entre objetos, de modo que, quando um objeto muda de estado todos os seus dependentes são notificados e atualizados. Mediator: Cria um objeto que age como um mediador, controlando a interação entre um conjunto de objetos.

4 Chain of Responsibility: Evita o dependência do remetente (cliente) de uma requisição ao seu destinatário, dando a oportunidade de mais de objeto tratar a requisição. Command: Encapsula uma requisição como um objeto, desta forma permitindo que você parametrize clientes de diferentes solicitações. Interpreter: É usado para ajudar uma aplicação a entender uma declaração de linguagem natural e executar a funcionalidade da declaração. Iterator: Oferece um método (um meio) para fazer acesso aos elementos de uma coleção. Visitor: É usado Quando as operações necessitam ser realizadas sobre inúmeros elementos de um modelo de objeto. Template Method: Define o esqueleto de um algoritmo em uma operação, adiando a definição de alguns passos para as subclasses. Memento: Possibilita armazenar o estado de um objeto de modo que o mesmo possa ser recuperado. State: Permite que um objeto altere seu comportamento quando se estado interno muda. Strategy: Define uma família de algoritmos, encapsular cada um deles e fazêlos intercambiáveis. 3.3 Padrões de Criação São utilizados no instante da criação do objeto e são divididos em: Abstract Factory: Provê uma interface para criação de famílias de objetos relacionados ou dependentes sem especificar suas classes concretas. Factory Method: Define uma interface para criar um objeto, mas deixa as subclasses decidirem qual classe a ser instanciada. Singleton: Garante que uma classe tenha somente uma "instance" (objeto) Builder Separa a construção de um objeto complexo da sua representação, de modo que o mesmo processo de construção possa criar diferentes representações. Prototype: Especifica os tipos de objetos a serem criados usando uma "instance" prototípica e criar novos objetos copiando este protótipo. 3.4 Padrões Enterprise

5 3.4.1 MVC - Model-View-Controller O padrão Model-View-Controller é um padrão de arquitetura ou seja ele indica o que dever ser organização global do sistema. Ele sugere a separação por camadas modelo, visão e controle da aplicação: Modelo (Model): encapsula o estado da aplicação, responde consulta do seu estado, expõe funcionalidade da aplicação, e notifica a visão de mudanças. Controle (Controller): define comportamento do aplicativo, mapeia usuários gestores para atualizações no modelo, seleciona visão para resposta, um visão para cada funcionalidade. Visão (View): detem o modelo, pede atualizações ao modelo, manda usuários gestores ao controlador, permite o controlador escolher visão. 4. AMBIENTES DE DESENVOLVIMENTO E USO DOS PADRÕES DE PROJETO Antes da escolha do padrão de projeto a ser adotado é importante conhecê-lo por completo, com a realização de uma leitura abrangente de sua fundamentação teórica. É recomendado que se se estude as seções de descrição do problema a ser solucionado e do padrão a ser adotado na solução, pesquise exemplos de códigos do padrão escolhido, defina nomes para os participantes do padrão que tenham sentido no contexto da aplicação. Também qe se defina de forma lógica e padronizada os nomes para as classes a serem criadas e codificadas, especifique nomes para aplicação e operações do padrão, que se codifique a operação para suportar as responsabilidades e colaborações presentes na solução do programa proposto. 4.1 Ambientes de Desenvolvimento: Outro aspecto a considerar são as escolhas das ferramentas de auxílio ao desenvolvedor. Alguns dos ambientes de desenvolvimento mas utilizados e que trazem maior produtividade na implementação são: NETBEANS O NetBeans no atual mercado de IDEs de desenvolvimento é considerado uma das melhores do mercado open source. Desenvolvida pela Sun Microsystems e mantida pela comunidade, a cada versão vem se mostrando uma madura e consistente ferramenta para desenvolvimento.

6 No desenvolvimento de aplicações web essa IDE vem sendo uma excelente alternativa para aqueles que desejam desenvolver de forma rápida e simples suas aplicações, por possuir sistema de depuração em tempo de desenvolvimento, mostrando as falhas de digitação, variáveis não declaradas, métodos inexistentes, importações de bibliotecas entre outras funções WAMPSERVER WampServer é um software publicado sob a GNU General Public License desenvolvido pela PHP Team. É usado para instalar rapidamente no computador os softwares PHP 5, MySQL e Apache, disponibilizando suporte ao uso de scripts PHP localmente no windows. A versão da aplicação para sistema operacional Linux é Lamp que contem todos os aplicativos e funcionalidades da versão plataforma windows DBDESIGNER Editor visual para criação de banco de dados mysql que integra criação, modelagem, desenvolvimento e manutenção dos bancos em um ambiente simples e agradável. Comparável com produtos como Oracle's Designer, IBM's Relational Rose, CA Erwin. O DBDesigner é OpenSource distribuído sobre a licença GPL Aplicação ARTIGOMVCPHP Com a evolução da internet há uma crescente movimentação no desenvolvimento de sistema que sejam separados e desenvolvidos em camadas. Dessa forma, o problema proposto é desenvolver um aplicativo para web divido em camadas para ter uma maior proteção de seu código acesso rápidas e seguro a base de dados. Um aplicativo que na sua camada de apresentação ao browser do usuário não contenha scripts query que possam ser capturados e manipulados por hackers. Buscando a solução de tal problema, será adotado neste caso de uso o padrão de projeto Model-View-Controller. Onde a aplicação será dividida em camadas. A Primeira Camada Model (modelo) será codificada uma classe com o nome class.pessoa.php essa classe era responsável pelo modelo de negócios da aplicação nela será codificado os atributos, nome, endereço, bairro, cidade, uf, telefone, os métodos get e set para cada atributo, e os métodos para manipulações do banco de dados através de strings query, o método all( ) será responsável por efetuar uma consulta no banco de dados de todos os dados

7 cadastrados e armazenado em um array, o método intopessoa ( ) será responsável por pegar todos os dados instanciados no objeto pessoa e gravar no banco de dados, o método alterpessoa ( ) será responsável por alterar os dados já cadastrados em banco através de um identificador que será o idtbpessoa, o método delpessoa( ) será responsável por excluir informações cadastradas em banco através de um identificador que será o idtbpessoa. A Segunda camada Controller (Controlador) será responsável pelo comportamento do aplicativo, mapeando o acesso aos métodos contidos na class.pessoa.php a mesma será codificada com o nome class.control.pessoa ela terá o atributo control que recebera a string que o usuário desejar ter acesso, o método Controle será responsável por acessar o método all ( ) da classe model, o método cadpessoa será responsável pelo controle do método intopessoa ( ) da classe model, o método alterpessoa ira controlar o método alterpessoa ( ) da classe model e o método delpessoa ira controlar o método delpessoa ( ) da class model. A Terceira camada é a responsável por interagir com o browser do usuário será codificada uma classe com o nome view_pessoa.php nela terá as chamadas do controlador pra visualização de dados e manipulações pelo browser do usuário onde o mesmo terá respostar em código HTML no protocolo http. A Camada conexão com SGDB e banco, será codificado uma classe php com o nome conexaodb.php ela será responsável por estabelecer uma comunicação com o banco de dados artigodb e o SGDB MySQL. Antes e iniciar a programação dos códigos com o auxilio da ferramenta de modelagem de banco de dados o DBDesigner será criado um Diagrama de Entidades e Relacionamentos da tabela tbpessoa e depois sincronizar a modelagem com o banco para geração da tabela modelada. Figura 01 DER tbpessoa Com o auxilio da IDE NetBeans será criado um projeto de modelagem UML com o nome UMLArtigoMVCPHP para criação da representação do diagrama de classes.

8 Figura 02 Diagrama de Classes Projeto artigomvcphp Utilizando a IDE NetBeans será criado um projeto para web e php com o nome artigomvcphp e salvo na pasta C:\wamp\www\artigomvcphp\ onde foi salva as codificações php. descritas abaixo, por meio do código responsável pela comunicação com SGDB MySQL e banco de dados: conexaodb.php <?php $local = 'localhost'; $login = 'root'; $senha = ''; $banco = 'artigodb'; mysql_pconnect($local, $login, $senha); mysql_select_db($banco);?> class.pessoa.php Logo a seguir, temos o código responsável pela primeira camada model (modelo): <?php require('../config/conexaodb.php'); class Pessoa public $nome; public $endereco;

9 public $bairro; public $cidade; public $uf; public $telefone; public $idtbpessoa; protected function getnome() return $nome; protected function getendereco() return $endereco; protected function getbairro() return $bairro; protected function getcidade() return $cidade; protected function getuf() return $uf; protected function gettelefone() return $telefone; protected function getidtbpessoa() return $idtbpessoa; protected function setnome($nome) $this->nome = $nome; protected function setendereco($endereco) $this->endereco = $endereco; protected function setbairro($bairro) $this->bairro = $bairro; protected function setcidade($cidade) $this->cidade = $cidade; protected function setuf($uf) $this->uf = $uf; protected function settelefone($telefone) $this->telefone = $telefone; protected function setidtbpessoa($idtbpessoa) $this->idtbpessoa = $idtbpessoa; public function all() $sql = "SELECT * FROM `tbpessoa`"; $result = while($dados = mysql_fetch_array($result)) $pessoa = new Pessoa();

10 $pessoa->setidtbpessoa(array('idtbpessoa' => $dados['idtbpessoa'])); $pessoa->setnome(array('nome' => $dados['nome'])); $pessoa->setendereco(array('endereco' => $dados['endereco'])); $pessoa->setbairro(array('bairro' => $dados['bairro'])); $pessoa->setcidade(array('cidade' => $dados['cidade'])); $pessoa->setuf(array('uf' => $dados['uf'])); $pessoa->settelefone(array('telefone' => $dados['telefone'])); $arr[] = $pessoa; return $arr; public function intopessoa($nome,$endereco,$bairro,$cidade,$uf,$telefone) $sql = "INSERT INTO `tbpessoa` ( `idtbpessoa`, `nome`,`endereco`,`bairro`, `cidade`,`uf`,`telefone`) VALUES (NULL, '$nome','$endereco','$bairro','$cidade','$uf','$telefone');"; public function delpessoa($idtbpessoa) $sql = "DELETE FROM `tbpessoa` WHERE `tbpessoa`.`idtbpessoa` = $idtbpessoa;"; public function alterpessoa($alteridtbpessoa,$alternome,$alterendereco,$alterbairro,$altercidade,$alteruf,$altertelefone) if($alternome!= '') $sql= "UPDATE `artigodb`.`tbpessoa` SET `nome` = '$alternome' WHERE `tbpessoa`.`idtbpessoa` =$alteridtbpessoa;"; if($alterendereco!= '') $sql= "UPDATE `artigodb`.`tbpessoa` SET `endereco` = '$alterendereco' WHERE `tbpessoa`.`idtbpessoa` =$alteridtbpessoa;"; if($alterbairro!= '') $sql= "UPDATE `artigodb`.`tbpessoa` SET `bairro` = '$alterbairro' WHERE `tbpessoa`.`idtbpessoa` =$alteridtbpessoa;"; if($altercidade!= '') $sql= "UPDATE `artigodb`.`tbpessoa` SET `cidade` = '$altercidade' WHERE `tbpessoa`.`idtbpessoa` =$alteridtbpessoa;"; if($alteruf!= '') $sql= "UPDATE `artigodb`.`tbpessoa` SET `uf` = '$alteruf' WHERE `tbpessoa`.`idtbpessoa` =$alteridtbpessoa;"; if($altertelefone!= '') $sql= "UPDATE `artigodb`.`tbpessoa` SET `telefone` = '$altertelefone' WHERE `tbpessoa`.`idtbpessoa` =$alteridtbpessoa;";?> O fragmento do código responsável pela segunda camada controller(controlador) está colocado a seguir: class.control.pessoa.php <?php

11 require('../model/class.pessoa.php'); class Control public $control; public function Controle() $this->control = new Pessoa(); return $this->control->all(); public function alterpessoa($alteridtbpessoa,$alternome,$alterendereco,$alterbairro,$altercidade,$alteruf,$altertelefone) if($alteridtbpessoa == '') print "=*Ao alterar uma pessoa, é obrigatório informar o ID.<br>"; else $this->control = new Pessoa(); $this->control- >alterpessoa($alteridtbpessoa,$alternome,$alterendereco,$alterbairro,$altercidade,$alteruf,$altertelefone); public function delpessoa($idtbpessoa) if($idtbpessoa == '' ) print "=* Se estiver tentando excluir uma pessoa, não esqueça de informar o ID.<br>"; else $this->control = new Pessoa(); $this->control->delpessoa($idtbpessoa); print " -Pessoa excluido com sucesso!.<br>"; public function cadpessoa($nome,$endereco,$bairro,$cidade,$uf,$telefone) if($nome == '' $endereco == '' $bairro == '' $cidade== '' $uf == '' $telefone == '') print "=*Ao inserir um registro é obrigatório informar: Nome, endereco, bairro, cidade, uf, telefone <br>"; else $this->control = new Pessoa(); $this->control->intopessoa($nome,$endereco,$bairro,$cidade,$uf,$telefone); A seguir temos o fragmento do código responsável pela terceira camada view(visão): view_pessoa.php <?php require('../control/class.control.pessoa.php');.. <body> <p>gravar Informações Pessoa</p> <form id="form1" name="form1" method="post" action=""> <table width="707" height="242" align="left"> <td colspan="2">formulário de Cadastro de Pessoas</td> <td width="61">nome:</td> <td width="630"><label> <input name="nome" type="text" id="nome" size="102" maxlength="100" /> </label></td> <td>endereço:</td> <td><input name="endereco" type="text" id="endereco" size="102" maxlength="100" /></td>

12 <td>bairro:</td> <td><input name="bairro" type="text" id="bairro" size="52" maxlength="50" /></td> <td>cidade:</td> <td><input name="cidade" type="text" id="cidade" size="102" maxlength="100" /></td> <td>uf:</td> <td><select name="uf" id="uf"> <option value="am">am</option> <option value="mt">mt</option> </select> <label></label></td> <td>telefone</td> <td><input name="telefone" type="text" id="telefone" size="16" maxlength="14" /></td> <td height="43" colspan="2"><label> <input type="submit" name="button" id="button" value="gravar" /> </label></td> </table> </form> <p>alterar Informações Cadastradas</p> <form id="form2" name="form2" method="post" action=""> <table width="707" height="242" align="left"> <td colspan="2">formulário de Manutenção de Pessoas</td> <td width="61">id:</td> <td width="630"><label> <input name="alteridtbpessoa" type="text" id="alteridtbpessoa" size="13" maxlength="11" /> </label></td> <td width="61">nome:</td> <td width="630"><label> <input name="alternome" type="text" id="alternome" size="102" maxlength="100" /> </label></td> <td>endereço:</td> <td><input name="alterendereco" type="text" id="alterendereco" size="102" maxlength="100" /></td> <td>bairro:</td> <td><input name="alterbairro" type="text" id="alterbairro" size="52" maxlength="50" /></td> <td>cidade:</td> <td><input name="altercidade" type="text" id="altercidade" size="102" maxlength="100" /></td> <td>uf:</td>

13 <td><select name="alteruf" id="alteruf"> <option value="am">am</option> <option value="mt">mt</option> </select> <label></label></td> <td>telefone</td> <td><input name="altertelefone" type="text" id="altertelefone" size="16" maxlength="14" /></td> <td height="43" colspan="2"><label> <input type="submit" name="button" id="button" value="alterar" /> </label></td> </table> </form> <p>exluir Informações Cadastradas</p> <form id="form3" name="form3" method="post" action=""> <table width="707" height="98" align="left"> <td height="33" colspan="2">formulário de Exclusão de Pessoas</td> <td width="61" height="29">id:</td> <td width="630"><label> <input name="idtbpessoa" type="text" id="idtbpessoa" size="13" maxlength="11" /> </label></td> <td height="26" colspan="2"><label> <input type="submit" name="button" id="button" value="excluir" /> </label></td> </table> </form> <p align="left">lista dos Dados Cadastrados</p> <table width="1234" align="left"> <tr bordercolor="#ffffff" bgcolor="#333333"> <td width="68"><div align="left" class="style1">código</div></td> <td width="278"><div align="left" class="style1">nome</div></td> <td width="223"><div align="left" class="style1">endereço</div></td> <td width="156"><div align="left" class="style1">bairro</div></td> <td width="288"><div align="left" class="style1">cidade</div></td> <td width="32"><div align="left" class="style1">uf</div></td> <td width="143"><div align="left" class="style1">telefone</div></td> <?php $c = new Control(); $arr = $c->controle(); for ($i = 0; $i < count($arr); $i++)?> <tr bgcolor="#cccccc"> <td><div align="left" class="style2"> <?php print $arr[$i]->idtbpessoa['idtbpessoa'];.. print $arr[$i]->telefone['telefone'];?> </div></td>

14 <?php?> </table> <p> </p> <p> </p> </body> </html> Efetuando o acesso com o browser, pode ser visualizado o resultado da aplicação e envio de pedidos para manipulação de dados. A figura abaixo demonstra visualização do browser cliente: Figura 03 Tela do Browser CONSIDERAÇÕES FINAIS O principal propósito deste artigo foi proporcionar ao leitor um estudo de caso que demonstrasse na pratica como utilizar um padrão de projeto em uma aplicação web. O estudo foi realizado com a linguagem de programação PHP5 para codificação de suas classes.

15 Os padrões de projetos vão mais alem do que a própria programação do código e da engenharia de seus diagramas, a sua principal busca é a melhoria da lógica de solução de problemas propostos reutilizando o padrão em outras aplicações. Havendo necessidade de criação de novas telas de cadastro bastaria ao desenvolvedor utilizar o mesmo padrão adotado e testando para criação das classes de model, controller e view. Levando em consideração que um dos maiores problemas, falando em desenvolvimento de sistemas, não é codificação inicial, mas sim a manutenção do código, com o padrão adotado no artigo o MVC isso seria solucionado já que ele trabalha em camadas facilitando a manutenção de suas telas lembrando que o plano de negócio estaria protegido contra possíveis erros de codificação. REFERÊNCIAS BIBLIOGRÁFICAS DALL OGLIO, Pablo. PHP PROGRAMAÇÃO COM ORIENTAÇÃO A OBJETO: design patterns: São Paulo SP. Novatec Editora Ltda MELO, Alexandre Altair de. PHP PROFISSIONAL: design patterns, wampserver: São Paulo SP. Novatec Editora Ltda GONÇALVES, Edson. DESENVOLVENTO APLICAÇÕES WEB: model-viewcontroller: Rio de Janeiro RJ. Editora Ciência Moderna Ltda GONÇALVES, Edson. DESENVOLVENTO APLICAÇÕES WEB COM NETBEANS IDE 6: model-view-controller, netbeans: Rio de Janeiro RJ. Editora Ciência Moderna Ltda 2008.

Testes com Design Patterns

Testes com Design Patterns Helder da Rocha ([email protected]) 31 de março de 2005 71. Que padrão de design pode ser usado para permitir que uma implementação específica e uma hierarquia de abstrações possa variar independentemente?

Leia mais

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES Alexandre Egleilton Araújo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil [email protected], [email protected] Resumo.

Leia mais

Manipulação de Dados em PHP (Visualizar, Inserir, Atualizar e Excluir) Parte 2

Manipulação de Dados em PHP (Visualizar, Inserir, Atualizar e Excluir) Parte 2 Desenvolvimento Web III Manipulação de Dados em PHP (Visualizar, Inserir, Atualizar e Excluir) Parte 2 Prof. Mauro Lopes 1-31 21 Objetivos Nesta aula iremos trabalhar a manipulação de banco de dados através

Leia mais

Programação Orientada a Objetos. Padrões de Criação

Programação Orientada a Objetos. Padrões de Criação Programação Orientada a Objetos Padrões de Criação Cristiano Lehrer, M.Sc. Objetivos Apresentar cada um dos 23 padrões clássicos descrevendo: O problema que solucionam. A solução. Diagramas UML (Unified

Leia mais

Universidade Federal Rural de Pernambuco. Bacharelado em Sistemas de Informação. Disciplina: Análise e Projeto de Sistemas de Informação

Universidade Federal Rural de Pernambuco. Bacharelado em Sistemas de Informação. Disciplina: Análise e Projeto de Sistemas de Informação Universidade Federal Rural de Pernambuco Bacharelado em Sistemas de Informação Disciplina: Análise e Projeto de Sistemas de Informação Docente: Rodrigo Aluna: Thays Melo de Moraes Diagramas do Projeto

Leia mais

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB)

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB) RELATÓRIO DE ENTREGA DO PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB) PARA A ELABORAÇÃO DOS PLANOS MUNICIPAIS DE GESTÃO INTEGRADA DE RESÍDUOS SÓLIDOS PMGIRS PARA OS MUNICÍPIOS DE NOVO HORIZONTE, JUPIÁ, GALVÃO,

Leia mais

Rotina de Discovery e Inventário

Rotina de Discovery e Inventário 16/08/2013 Rotina de Discovery e Inventário Fornece orientações necessárias para testar a rotina de Discovery e Inventário. Versão 1.0 01/12/2014 Visão Resumida Data Criação 01/12/2014 Versão Documento

Leia mais

Programação Avançada. Padrões de Projeto de Software. Fonte: Oswaldo B. Peres e K19 Treinamentos

Programação Avançada. Padrões de Projeto de Software. Fonte: Oswaldo B. Peres e K19 Treinamentos Programação Avançada Padrões de Projeto de Software 1 Fonte: Oswaldo B. Peres e K19 Treinamentos Introdução Projetar software OO reusável e de boa qualidade é uma tarefa difícil; Para realizar essa tarefa

Leia mais

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: ([email protected]) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

Leia mais

2 Diagrama de Caso de Uso

2 Diagrama de Caso de Uso Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa

Leia mais

SISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária

SISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária SISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária Cascavel Novembro de 2009 Pedro Patitucci Finamore Daniel Bordignon Cassanelli Marco Antonio da Rosa DIAGRAMAS DE CLASSE E SEQUÊNCIA

Leia mais

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL Prof. MSc. Hugo Souza Iniciando nossas aulas sobre

Leia mais

Curso - Padrões de Projeto Módulo 1: Introdução

Curso - Padrões de Projeto Módulo 1: Introdução Curso - Padrões de Projeto Módulo 1: Introdução Vítor E. Silva Souza [email protected] http://www.javablogs.com.br/page/engenho http://esjug.dev.java.net Sobre o Instrutor Formação: Java: Graduação

Leia mais

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional Juarez Bachmann Orientador: Alexander Roberto Valdameri Roteiro Introdução Objetivos Fundamentação teórica Desenvolvimento

Leia mais

Noções de. Microsoft SQL Server. Microsoft SQL Server

Noções de. Microsoft SQL Server. Microsoft SQL Server Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados

Leia mais

1Introdução Helder da Rocha ([email protected])

1Introdução Helder da Rocha (helder@acm.org) J930 Padrões Projeto de 1Introdução Helder da Rocha ([email protected]) argonavis.com.br O que é um padrão? Maneira testada ou documentada de alcançar um objetivo qualquer Padrões são comuns em várias áreas

Leia mais

Padrões GoF. Leonardo Gresta Paulino Murta [email protected]

Padrões GoF. Leonardo Gresta Paulino Murta leomurta@ic.uff.br Padrões GoF Leonardo Gresta Paulino Murta [email protected] Agenda Introdução Padrões de Criação Padrões de Estrutura Padrões de comportamento Leonardo Murta Padrões GoF 2 Introdução Os padrões GoF (Gamma

Leia mais

Procedimentos para Reinstalação do Sisloc

Procedimentos para Reinstalação do Sisloc Procedimentos para Reinstalação do Sisloc Sumário: 1. Informações Gerais... 3 2. Criação de backups importantes... 3 3. Reinstalação do Sisloc... 4 Passo a passo... 4 4. Instalação da base de dados Sisloc...

Leia mais

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP AULA 4 VISÃO BÁSICA DE CLASSES EM PHP Antes de mais nada, vamos conhecer alguns conceitos, que serão importantes para o entendimento mais efetivos dos assuntos que trataremos durante a leitura desta apostila.

Leia mais

Desenvolvendo Websites com PHP

Desenvolvendo Websites com PHP Desenvolvendo Websites com PHP Aprenda a criar Websites dinâmicos e interativos com PHP e bancos de dados Juliano Niederauer 19 Capítulo 1 O que é o PHP? O PHP é uma das linguagens mais utilizadas na Web.

Leia mais

Desenvolvimento de Aplicações para Internet Aula 8

Desenvolvimento de Aplicações para Internet Aula 8 Desenvolvimento de Aplicações para Internet Aula 8 Celso Olivete Júnior [email protected] na aula passada Orientação a Objetos Classes Objetos Construtores Destrutores 2 na aula passada Construtores

Leia mais

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE Amarildo Aparecido Ferreira Junior 1, Ricardo Ribeiro Rufino 1 ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil [email protected]

Leia mais

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões Prof. MSc. Hugo Souza Se você precisar manter informações sobre seus usuários enquanto eles navegam pelo seu site, ou até quando eles saem

Leia mais

Curso de Aprendizado Industrial Desenvolvedor WEB

Curso de Aprendizado Industrial Desenvolvedor WEB Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos II Professor: Cheli dos S. Mendes da Costa Modelo Cliente- Servidor Modelo de Aplicação Cliente-servidor Os

Leia mais

J930. Padrões. Projeto. Introdução. argonavis.com.br. Helder da Rocha ([email protected])

J930. Padrões. Projeto. Introdução. argonavis.com.br. Helder da Rocha (helder@acm.org) Padrões de J930 Projeto Introdução Helder da Rocha ([email protected]) argonavis.com.br O que é um padrão? Maneira testada ou documentada de alcançar um objetivo qualquer Padrões são comuns em várias áreas

Leia mais

Documento de Análise e Projeto VideoSystem

Documento de Análise e Projeto VideoSystem Documento de Análise e Projeto VideoSystem Versão Data Versão Descrição Autor 20/10/2009 1.0 21/10/2009 1.0 05/11/2009 1.1 Definição inicial do documento de análise e projeto Revisão do documento

Leia mais

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE Aluno: Roberto Reinert Orientador: Everaldo A. Grahl Roteiro de apresentação Introdução Objetivos Fundamentação Teórica Workflow Processo

Leia mais

SCIM 1.0. Guia Rápido. Instalando, Parametrizando e Utilizando o Sistema de Controle Interno Municipal. Introdução

SCIM 1.0. Guia Rápido. Instalando, Parametrizando e Utilizando o Sistema de Controle Interno Municipal. Introdução SCIM 1.0 Guia Rápido Instalando, Parametrizando e Utilizando o Sistema de Controle Interno Municipal Introdução Nesta Edição O sistema de Controle Interno administra o questionário que será usado no chek-list

Leia mais

Faculdade de Tecnologia SENAC Goiás. Disciplina: Gerenciamento de Rede de Computadores. Goiânia, 16 de novembro de 2014.

Faculdade de Tecnologia SENAC Goiás. Disciplina: Gerenciamento de Rede de Computadores. Goiânia, 16 de novembro de 2014. Faculdade de Tecnologia SENAC Goiás Disciplina: Gerenciamento de Rede de Computadores : Goiânia, 16 de novembro de 2014. Faculdade de Tecnologia SENAC Goiás Professor: Marissol Martins Alunos: Edy Laus,

Leia mais

http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho vi http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Administração de Redes de Computadores Resumo de Serviços em Rede Linux Controlador de Domínio Servidor DNS

Leia mais

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS Uso do SQLite no Android Professor: Danilo Giacobo OBJETIVOS DA AULA Aprender a persistir dados utilizando o banco de dados SQLite. Conhecer e utilizar a classe SQLiteOpenHelper.

Leia mais

Conteúdo Programático de PHP

Conteúdo Programático de PHP Conteúdo Programático de PHP 1 Por que PHP? No mercado atual existem diversas tecnologias especializadas na integração de banco de dados com a WEB, sendo o PHP a linguagem que mais se desenvolve, tendo

Leia mais

Algoritmos e Programação (Prática) Profa. Andreza Leite [email protected]

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br (Prática) Profa. Andreza Leite [email protected] Introdução O computador como ferramenta indispensável: Faz parte das nossas vidas; Por si só não faz nada de útil; Grande capacidade de resolução

Leia mais

INSTALAÇÃO OASIS + WAMP SERVER NO AMBIENTE WINDOWS

INSTALAÇÃO OASIS + WAMP SERVER NO AMBIENTE WINDOWS INSTALAÇÃO OASIS + WAMP SERVER NO AMBIENTE WINDOWS Este tutorial foi desenvolvido pelos analistas Hézio Silva e José Mendes pertencentes ao quadro de TI do Banco da Amazônia S/A, sediado em Belém-Pa e

Leia mais

JDBC Java Database Connectivity

JDBC Java Database Connectivity 5 JDBC Java Database Connectivity Prof. Autor: Daniel Morais dos Reis e-tec Brasil Programação Avançada Para Web Página1 Meta Trabalhar com bancos de dados em aplicações web em JSP através das classes

Leia mais

Programação para Internet Orientada a Objetos com PHP & MySQL Instalando e configurando um ambiente de ferramentas PHP e MySQL. Prof. MSc.

Programação para Internet Orientada a Objetos com PHP & MySQL Instalando e configurando um ambiente de ferramentas PHP e MySQL. Prof. MSc. Programação para Internet Orientada a Objetos com PHP & MySQL Instalando e configurando um ambiente de ferramentas PHP e MySQL Prof. MSc. Hugo Souza Na última aula falamos um pouco sobre as ferramentas

Leia mais

Principais Comandos SQL Usados no MySql

Principais Comandos SQL Usados no MySql Principais Comandos SQL Usados no MySql O que é um SGBD? Um Sistema Gerenciador de Banco de Dados (como no Brasil) ou Sistema Gestor de Base de Dados (SGBD) é o conjunto de programas de computador (softwares)

Leia mais

AULA 8 CRIANDO UMA CLASSE EM PHP INTERAGINDO COM BANCO DE DADOS - COM RELACIONAMENTO ENTRE TABELAS

AULA 8 CRIANDO UMA CLASSE EM PHP INTERAGINDO COM BANCO DE DADOS - COM RELACIONAMENTO ENTRE TABELAS AULA 8 CRIANDO UMA CLASSE EM PHP INTERAGINDO COM BANCO DE DADOS - COM RELACIONAMENTO ENTRE TABELAS Na grande maioria dos sistemas, faz-se necessário utilizar informações que estão armazenadas em uma determinada

Leia mais

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio 32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio

Leia mais

O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE

O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE Renan Leme Nazário, Ricardo Rufino Universidade Paranaense (Unipar) Paranavaí PR - Brasil [email protected], [email protected] Resumo. Este artigo

Leia mais

Aplicação Prática de Lua para Web

Aplicação Prática de Lua para Web Aplicação Prática de Lua para Web Aluno: Diego Malone Orientador: Sérgio Lifschitz Introdução A linguagem Lua vem sendo desenvolvida desde 1993 por pesquisadores do Departamento de Informática da PUC-Rio

Leia mais

Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL.

Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL. Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2012 Edição 7 Listando e Gravando Listando itens em ComboBox e gravando os dados no

Leia mais

Manipulação de Banco de Dados com Java. Ms. Bruno Crestani Calegaro ([email protected]) Maio/ 2015

Manipulação de Banco de Dados com Java. Ms. Bruno Crestani Calegaro (bruno.calegaro@ifsc.edu.br) Maio/ 2015 Manipulação de Banco de Dados com Java Ms. Bruno Crestani Calegaro ([email protected]) Maio/ 2015 Acesso a um SGBD Em sistemas mais simples o uso de arquivos pode ser usado mas para aplicações

Leia mais

Programando em PHP. Conceitos Básicos

Programando em PHP. Conceitos Básicos Programando em PHP www.guilhermepontes.eti.br [email protected] Conceitos Básicos Todo o escopo deste estudo estará voltado para a criação de sites com o uso dos diversos recursos de programação web

Leia mais

Manual do Visualizador NF e KEY BEST

Manual do Visualizador NF e KEY BEST Manual do Visualizador NF e KEY BEST Versão 1.0 Maio/2011 INDICE SOBRE O VISUALIZADOR...................................................... 02 RISCOS POSSÍVEIS PARA O EMITENTE DA NOTA FISCAL ELETRÔNICA.................

Leia mais

Arquitetura de Aplicações JSP/Web. Padrão Arquitetural MVC

Arquitetura de Aplicações JSP/Web. Padrão Arquitetural MVC Arquitetura de Aplicações JSP/Web Padrão Arquitetural MVC Arquitetura de Aplicações JSP/Web Ao projetar uma aplicação Web, é importante considerála como sendo formada por três componentes lógicos: camada

Leia mais

Engenharia de Software III

Engenharia de Software III Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf ([email protected]) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,

Leia mais

Introdução ao Aplicativo de Programação LEGO MINDSTORMS Education EV3

Introdução ao Aplicativo de Programação LEGO MINDSTORMS Education EV3 Introdução ao Aplicativo de Programação LEGO MINDSTORMS Education EV3 A LEGO Education tem o prazer de trazer até você a edição para tablet do Software LEGO MINDSTORMS Education EV3 - um jeito divertido

Leia mais

Aula 1: Noção Básica e Criação de Tabelas.

Aula 1: Noção Básica e Criação de Tabelas. Aula 1: Noção Básica e Criação de Tabelas. Introdução Olá! Seja bem-vindo a apostila de Microsoft Access 2010. Access 2010 é um Sistema de Gerenciamento de Banco de Dados da Microsoft, distribuído no pacote

Leia mais

mkdir /srv/www/default/html/calculadora/imagens mkdir /srv/www/default/html/calculadora/blocos

mkdir /srv/www/default/html/calculadora/imagens mkdir /srv/www/default/html/calculadora/blocos Programando em PHP www.guilhermepontes.eti.br [email protected] Criando uma Calculadora Primeiramente deve se criar uma estrutura para armazenar os arquivos necessários para o funcionamento da calculadora.

Leia mais

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02 ArpPrintServer Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02 1 Sumário INTRODUÇÃO... 3 CARACTERÍSTICAS PRINCIPAIS DO SISTEMA... 3 REQUISITOS DE SISTEMA... 4 INSTALAÇÃO

Leia mais

Tópicos de Ambiente Web. Modulo 2 Processo de desenvolvimento de um site Professora: Sheila Cáceres

Tópicos de Ambiente Web. Modulo 2 Processo de desenvolvimento de um site Professora: Sheila Cáceres Tópicos de Ambiente Web Modulo 2 Processo de desenvolvimento de um site Professora: Sheila Cáceres Roteiro Motivação Desenvolvimento de um site Etapas no desenvolvimento de software (software:site) Analise

Leia mais

José Benedito Lopes Junior ¹, Marcello Erick Bonfim 2

José Benedito Lopes Junior ¹, Marcello Erick Bonfim 2 ISBN 978-85-61091-05-7 Encontro Internacional de Produção Científica Cesumar 27 a 30 de outubro de 2009 Definição de uma tecnologia de implementação e do repositório de dados para a criação da ferramenta

Leia mais

Repeater no GASweb. Regiões

Repeater no GASweb. Regiões Repeater no GASweb Por: Rodrigo Silva O controle de servidor Repeater é um container básico que permite a você criar uma lista de qualquer informação que deseja em uma página Web. Ele não tem uma aparência

Leia mais

SAD Gestor Gerenciador de Backup

SAD Gestor Gerenciador de Backup SAD Gestor Gerenciador de Backup [email protected] SAD Gestor Gerenciador de Backup SAD Gerenciador de Backup Esse aplicativo foi desenvolvido para realizar cópias compactadas de bancos de dados

Leia mais

Tutorial. Transmitindo arquivos via FTP. FTP Protocolo da internet responsável pelo envio e recebimento de arquivos com maior eficiência e rapidez.

Tutorial. Transmitindo arquivos via FTP. FTP Protocolo da internet responsável pelo envio e recebimento de arquivos com maior eficiência e rapidez. Tutorial Transmitindo arquivos via FTP FTP Protocolo da internet responsável pelo envio e recebimento de arquivos com maior eficiência e rapidez. Para uma transferência de arquivos via FTP, são necessários

Leia mais

Procedimentos para Instalação do Sisloc

Procedimentos para Instalação do Sisloc Procedimentos para Instalação do Sisloc Sumário: 1. Informações Gerais... 3 2. Instalação do Sisloc... 3 Passo a passo... 3 3. Instalação da base de dados Sisloc... 16 Passo a passo... 16 4. Instalação

Leia mais

Histórico de Revisão Data Versão Descrição Autor

Histórico de Revisão Data Versão Descrição Autor H6Projetos Documento de Requisitos Versão 1.3 Histórico de Revisão Data Versão Descrição Autor 05/09/2013 1.0 Preenchimento do Capítulo 2 Requisitos Funcionais Evilson Montenegro 26/09/2013 1.1 Preenchimento

Leia mais

Iniciando o MySQL Query Brower

Iniciando o MySQL Query Brower MySQL Query Brower O MySQL Query Browser é uma ferramenta gráfica fornecida pela MySQL AB para criar, executar e otimizar solicitações SQL em um ambiente gráfico. Assim como o MySQL Administrator foi criado

Leia mais

2 echo "PHP e outros.";

2 echo PHP e outros.; PHP (Hypertext Preprocessor) Antes de qualquer coisa, precisamos entender o que é o PHP: O PHP(Hypertext Preprocessor) é uma linguagem interpretada gratuita, usada originalmente apenas para o desenvolvimento

Leia mais

Padrões de Projeto de Software Orientado a Objetos

Padrões de Projeto de Software Orientado a Objetos Padrões de Projeto de Software Orientado a Objetos Ricardo Argenton Ramos [Baseado nos slides do professor Fabio Kon - USP] 1 Padrões de Projeto de Software OO Também conhecidos como Padrões de Desenho

Leia mais

Boas Práticas de Desenvolvimento Seguro

Boas Práticas de Desenvolvimento Seguro Boas Práticas de Desenvolvimento Seguro Julho / 2.012 Histórico de Revisões Data Versão Descrição Autor 29/07/2012 1.0 Versão inicial Ricardo Kiyoshi Página 2 de 11 Conteúdo 1. SEGURANÇA DA INFORMAÇÃO

Leia mais

MVC e Camadas - Fragmental Bliki

MVC e Camadas - Fragmental Bliki 1 de 5 20-03-2012 18:32 MVC e Camadas From Fragmental Bliki Conteúdo 1 Introdução 2 Camadas: Separação Entre Componentes 3 MVC: Interação Entre Componentes 4 Conclusão 5 Referências Introdução A Arquitetura

Leia mais

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. [email protected]

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS Prof. Angelo Augusto Frozza, M.Sc. [email protected] ROTEIRO 1. Conceitos de Orientação a Objetos Introdução O paradigma da POO Classes

Leia mais

ProgramaTchê programatche.net Programação OO com PHP

ProgramaTchê programatche.net Programação OO com PHP Roteiro 2 Objetivos: * Apresentar a sintaxe básica para utilização de Orientação a Objetos em PHP. Ferramentas necessárias Navegador, NetBeans, Servidor Apache. 1 Orientação a Objetos em PHP PHP é uma

Leia mais

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl Ferramenta de apoio a gerência de configuração de software Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl Roteiro de apresentação Introdução Objetivos Fundamentação Teórica Gerência de Configuração

Leia mais

Programação Web Prof. Wladimir

Programação Web Prof. Wladimir Programação Web Prof. Wladimir Linguagem de Script e PHP @wre2008 1 Sumário Introdução; PHP: Introdução. Enviando dados para o servidor HTTP; PHP: Instalação; Formato básico de um programa PHP; Manipulação

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor

Leia mais

Programação de Computadores - I. Profª Beatriz Profº Israel

Programação de Computadores - I. Profª Beatriz Profº Israel Programação de Computadores - I Profª Beatriz Profº Israel Ambiente de Desenvolvimento Orientação a Objetos É uma técnica de desenvolvimento de softwares que consiste em representar os elementos do mundo

Leia mais

Manual Captura S_Line

Manual Captura S_Line Sumário 1. Introdução... 2 2. Configuração Inicial... 2 2.1. Requisitos... 2 2.2. Downloads... 2 2.3. Instalação/Abrir... 3 3. Sistema... 4 3.1. Abrir Usuário... 4 3.2. Nova Senha... 4 3.3. Propriedades

Leia mais

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma:

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma: 1 Introdução A utilização de frameworks como base para a construção de aplicativos tem sido adotada pelos desenvolvedores com três objetivos básicos. Primeiramente para adotar um padrão de projeto que

Leia mais

Integração de sistemas utilizando Web Services do tipo REST

Integração de sistemas utilizando Web Services do tipo REST Integração de sistemas utilizando Web Services do tipo REST Jhonatan Wilson Aparecido Garbo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil [email protected] [email protected]

Leia mais

USANDO O IZCODE PARA GERAR SOFTWARE RAPIDAMENTE

USANDO O IZCODE PARA GERAR SOFTWARE RAPIDAMENTE USANDO O IZCODE PARA GERAR SOFTWARE RAPIDAMENTE SUMÁRIO usando o izcode... 1 para gerar software rapidamente... 1 introdução... 2 o que é o izcode?... 2 Como funciona o izcode?... 2 os tipos diferentes

Leia mais

Scriptlets e Formulários

Scriptlets e Formulários 2 Scriptlets e Formulários Prof. Autor: Daniel Morais dos Reis e-tec Brasil Programação Avançada Para Web Página1 Meta Permitir ao aluno aprender a criar um novo projeto Java para web no Netbeans IDE,

Leia mais

QUALIDATA Soluções em Informática. Módulo CIEE com convênio empresas

QUALIDATA Soluções em Informática. Módulo CIEE com convênio empresas FM-0 1/21 ÍNDICE 1. MÓDULO DESKTOP(SISTEMA INSTALADO NO CIEE)... 2 Cadastro de Ofertas de Empregos:... 2 Cadastro de Eventos:... 3 Cadastro de Instituições do Curriculum:... 5 Cadastro de Cursos do Curriculum:...

Leia mais

Procedimentos para Instalação do SISLOC

Procedimentos para Instalação do SISLOC Procedimentos para Instalação do SISLOC Sumário 1. Informações Gerais...3 2. Instalação do SISLOC...3 Passo a passo...3 3. Instalação da Base de Dados SISLOC... 11 Passo a passo... 11 4. Instalação de

Leia mais

Introdução ao Sistema. Características

Introdução ao Sistema. Características Introdução ao Sistema O sistema Provinha Brasil foi desenvolvido com o intuito de cadastrar as resposta da avaliação que é sugerida pelo MEC e que possui o mesmo nome do sistema. Após a digitação, os dados

Leia mais

4 O Workflow e a Máquina de Regras

4 O Workflow e a Máquina de Regras 4 O Workflow e a Máquina de Regras O objetivo do workflow e da máquina de regras é definir um conjunto de passos e regras configuráveis. Ao longo de sua execução, um usuário consegue simplificar o seu

Leia mais

Guia de instalação do Sugar CRM versão open source no Microsoft Windows XP

Guia de instalação do Sugar CRM versão open source no Microsoft Windows XP Guia de instalação do Sugar CRM versão open source no Microsoft Windows XP Noilson Caio Teixeira de Araújo Sugar CRM é um software de código fonte aberto (open source) que permite uma organização para

Leia mais

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido Arquitetura Roteiro Arquitetura Tipos de Arquitetura Centralizado Descentralizado Hibrido Questionário 2 Arquitetura Figura 1: Planta baixa de uma casa 3 Arquitetura Engenharia de Software A arquitetura

Leia mais

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem

Leia mais

Autor: Ricardo Francisco Minzé Júnior - [email protected] Desenvolvendo aplicações em camadas com PHP 5.

Autor: Ricardo Francisco Minzé Júnior - ricardominze@yahoo.com.br Desenvolvendo aplicações em camadas com PHP 5. Desenvolvendo aplicações em camadas com PHP 5. Talvez a primeira vista você ache estranha a palavra Camada em programação, mas o que vem a ser Camada? Segundo o dicionário: Camada 1 - Qualquer matéria

Leia mais

ENGENHARIA DE SOFTWARE I

ENGENHARIA DE SOFTWARE I ENGENHARIA DE SOFTWARE I Prof. Cássio Huggentobler de Costa [[email protected]] Twitter: www.twitter.com/cassiocosta_ Agenda da Aula (002) Metodologias de Desenvolvimento de Softwares Métodos Ágeis

Leia mais

Introdução ao PHP. Prof. Késsia Marchi

Introdução ao PHP. Prof. Késsia Marchi Introdução ao PHP Prof. Késsia Marchi PHP Originalmente PHP era um assíncrono para Personal Home Page. De acordo com convenções para atribuições de nomes recursivas do GNU foi alterado para PHP Hypertext

Leia mais

Persistência de Classes em Tabelas de Banco de Dados

Persistência de Classes em Tabelas de Banco de Dados UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 1 Persistência de Classes em Tabelas de Banco de Dados 1) Introdução! Em algumas situações, pode ser necessário preservar os objetos

Leia mais

Engenharia de Requisitos Estudo de Caso

Engenharia de Requisitos Estudo de Caso Engenharia de Requisitos Estudo de Caso Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 1 Engenharia de Requisitos Exemplo 1 Reserva de Hotel 1. INTRODUÇÃO Este

Leia mais

Treinamento sobre SQL

Treinamento sobre SQL Treinamento sobre SQL Como Usar o SQL Os dois programas que você mais utilizara no SQL Server são: Enterprise Manager e Query Analyzer. No Enterprise Manager, você pode visualizar e fazer alterações na

Leia mais

SISTEMA PARA ABERTURA DE CHAMADOS TÉCNICOS GLPI ( GESTÃO LIVRE DE PARQUE DE INFORMÁTICA ) Manual do Usuário

SISTEMA PARA ABERTURA DE CHAMADOS TÉCNICOS GLPI ( GESTÃO LIVRE DE PARQUE DE INFORMÁTICA ) Manual do Usuário SISTEMA PARA ABERTURA DE CHAMADOS TÉCNICOS GLPI ( GESTÃO LIVRE DE PARQUE DE INFORMÁTICA ) Manual do Usuário 1 Apresentação... 3 1- Introdução... 4 2- Acessando GLPI:... 5 3- Abrindo chamado:... 6 3.1-

Leia mais

Conteúdo Dinâmico. Introdução. Interação Browser x Servidor Web. Interação Browser x Servidor Web

Conteúdo Dinâmico. Introdução. Interação Browser x Servidor Web. Interação Browser x Servidor Web Introdução Formulários rios & Conteúdo Dinâmico Mário Antonio Meireles Teixeira Dept o. de Informática - UFMA A Web surgiu inicialmente como uma nova forma de comunicação de informações, fazendo uso de

Leia mais

Manual do Instar Mail v2.0

Manual do Instar Mail v2.0 Manual do Instar Mail v2.0 Sumário Conteúdo Menu Principal... 2 Menu Cliente... 3 Pagina Categorias do Instar-Mail... 4 Importação... 4 Campanhas... 8 Cadastramento de campanhas do Instar-Mail... 9 Ações

Leia mais

CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS

CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS MINISTÉRIO DO DESENVOLVIMENTO AGRÁRIO SUBSECRETARIA DE PLANEJAMENTO, ORÇAMENTO E ADMINISTRAÇÃO COORDENAÇÃO-GERAL DE MODERNIZAÇÃO E INFORMÁTICA CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS MANUAL

Leia mais

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: [email protected] CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: [email protected] CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 SUMÁRIO 1 Conceitos Básicos... 3 1.1 O que é Software?... 3 1.2 Situações Críticas no desenvolvimento

Leia mais

Padrões de Projeto. Prof. Jefersson Alex dos Santos ([email protected]) http://www.dcc.ufmg.br/~jefersson

Padrões de Projeto. Prof. Jefersson Alex dos Santos (jefersson@dcc.ufmg.br) http://www.dcc.ufmg.br/~jefersson Padrões de Projeto Prof. Jefersson Alex dos Santos ([email protected]) http://www.dcc.ufmg.br/~jefersson Apresentação Conceitos Definição Ponto de vista prático História Padrões de Projeto Conhecidos

Leia mais

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA RESUMO DE AULA CRIAÇÃO E MANIPULAÇÃO DO BANCO DE DADOS

Leia mais

Manual de Utilização Central de Serviços

Manual de Utilização Central de Serviços Universidade Federal do Rio Grande do Norte Escola de Ciências e Tecnologia Setor de Tecnologia da Informação Secretaria de Patrimônio Versão 1.1 Sumário 1. APRESENTAÇÃO...3 2. ACESSANDO A CENTRAL DE SERVIÇOS...3

Leia mais

Análise e Projeto de Sistemas de Informação. Andrêza Leite [email protected]

Análise e Projeto de Sistemas de Informação. Andrêza Leite andreza.lba@gmail.com Análise e Projeto de Sistemas de Informação Andrêza Leite [email protected] Roteiro Sistemas de Informação Ciclo de Desenvolvimento de SI Projeto Análise Estruturada Análise Orientada a Objetos Como

Leia mais

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo Introdução O que é Protocolo? - Para que os pacotes de dados trafeguem de uma origem até um destino, através de uma rede, é importante

Leia mais

Manual de Publicaça o no Blog da Aça o TRIBOS nas Trilhas da Cidadania

Manual de Publicaça o no Blog da Aça o TRIBOS nas Trilhas da Cidadania Manual de Publicaça o no Blog da Aça o TRIBOS nas Trilhas da Cidadania Sumário Objetivos do Blog... 2 Log-in... 3 Esqueci minha senha... 4 Utilizando o Blog... 5 Encontrando seu Blog... 5 Conhecendo o

Leia mais