PADRÕES DE PROJETOS (DESIGN PATTERNS) PARA WEB COM PHP
|
|
|
- Ágata Esteves Miranda
- 10 Há anos
- Visualizações:
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
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?
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.
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
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
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
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,
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
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
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
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
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
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
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
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
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
1Introdução Helder da Rocha ([email protected])
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
Padrões GoF. Leonardo Gresta Paulino Murta [email protected]
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
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...
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.
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.
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
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]
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
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
J930. Padrões. Projeto. Introdução. argonavis.com.br. Helder da Rocha ([email protected])
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
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
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
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
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,
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
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.
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
Algoritmos e Programação (Prática) Profa. Andreza Leite [email protected]
(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
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
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
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
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)
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
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
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
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
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
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 ([email protected]) Maio/ 2015 Acesso a um SGBD Em sistemas mais simples o uso de arquivos pode ser usado mas para aplicações
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
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.................
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
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,
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
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
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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. [email protected] ROTEIRO 1. Conceitos de Orientação a Objetos Introdução O paradigma da POO Classes
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
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
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
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
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
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
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
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]
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
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,
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:...
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
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
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
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
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
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
Autor: Ricardo Francisco Minzé Júnior - [email protected] 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
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
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
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
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
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
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-
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
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
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
AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: [email protected] 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
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 ([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
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
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
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 [email protected] Roteiro Sistemas de Informação Ciclo de Desenvolvimento de SI Projeto Análise Estruturada Análise Orientada a Objetos Como
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
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
