Padrões de Projeto em Aplicações Web Desenvolvendo projetos web consistentes baseados em reuso de soluções

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

Download "Padrões de Projeto em Aplicações Web Desenvolvendo projetos web consistentes baseados em reuso de soluções"

Transcrição

1 1/ Padrões de Projeto em Aplicações Web Desenvolvendo projetos web consistentes baseados em reuso de soluções Adote as melhores práticas de reuso de soluções com a abordagem de Padrões de Projeto (Design Patterns) no desenvolvimento de aplicações web. CLÁUDIO MARTINS De que se trata o artigo: Este artigo apresenta a abordagem de padrões de projeto (design patterns) no contexto do desenvolvimento de aplicações web, e a importância da documentação e organização dos padrões em catálogos on-line. Para que serve: Ajudam os projetistas e desenvolvedor a tomar decisões por melhores soluções para problemas que recorrentemente ocorre nos projeto de aplicações, em especial as disponibilizadas na web. Em que situação o tema é útil: A adoção de padrões, organizados em catálogos, ajuda a manter a consistência e coerência dos projetos, além da qualidade que se obtém na arquitetura do software. Por facilitar a comunicação pelo uso de uma linguagem comum, essa abordagem é indicada para organizações que desenvolvam grandes projetos, possuam grandes e médias equipes ou que estejam distribuídas geograficamente. Resumo DevMan: Padrões de Projeto é uma técnica de reuso de software que oferece benefícios práticos no desenvolvimento de aplicações web, tais como prover soluções de projeto de forma consistente, orientar equipes de desenvolvimento com diretrizes e boas práticas, melhorar o processo de comunicação com a adoção de uma linguagem comum de padrões, entre outros. Padrões de projeto são boas soluções aplicadas a boa parte de problemas comuns em um determinado contexto. É uma abordagem para o desenvolvimento de software baseado no reuso de idéias e soluções genéricas, mas que devem ser contextualizadas para problemas específicos. As principais características são: (a) criam uma linguagem compreendida por todos; (b) facilitam a mentalização da solução; e, (c) são propostas em alto nível (sem detalhes de implementação) para problemas recorrentes. Apesar de terem sido criados inicialmente para solucionar problemas encontrados em projeto (design) de software orientado a objetos, o conceito se estendeu para outras preocupações da Engenharia de Software. Há padrões identificados para a análise de negócio, para transformação de código (refatoração), para projeto de banco de dados, para interfaces web, enfim, onde é possível identificar e catalogar boas soluções que são frequentemente aplicados, haverá padrões de projeto. Este artigo apresenta a abordagem de padrões de projeto no contexto do desenvolvimento de aplicações web, e discute a importância de se documentar e organizar os padrões em catálogos, ação que promove a sistematização dessa abordagem em um processo de construção de aplicações web.

2 2 Definição Os padrões de projeto surgiram de um conceito criado pelo arquiteto Christopher Alexander, em sua obra "The Timeless Way of Building", de O autor propôs que cada padrão é uma regra com três partes, que expressa a relação entre contexto, problema e solução. Cada padrão é um relacionamento entre um certo contexto, um certo sistema de forças que ocorre repetidamente nesse contexto (problema), e uma certa configuração (solução) que permite que essas forças se resolvam. Essas três partes, além do próprio nome do padrão, formam a essência da documentação de um padrão: a) O Contexto: se refere ao conjunto de situações que se repetem, nas quais o padrão de projeto pode ser aplicado; b) O Problema: que trata do conjunto de "forças" objetivos e limitações que ocorrem dentro do contexto; c) A Solução: que é uma estrutura formal para ser aplicada na resolução do problema. A primeira iniciativa em aplicar padrões no desenvolvimento de software veio com a publicação do livro de Erich Gamma e três colaboradores (Helm, Johnson e Vlissides), intitulado "Design Patterns: Elements of Reusable Object-Oriented Software" (1995), onde os autores identificaram 23 padrões para projeto orientado a objetos. Esses padrões formam a base para a maiorias dos padrões que tratam de problemas em projetos dessa natureza, como o catálogo de padrões Blueprints, também chamados de Core J2EE Patterns. Catálogos de Padrões A importância de padrões de projeto aumenta quando os padrões são documentados em um repositório ou biblioteca, também denominados catálogos. A adoção de catálogos de padrões é uma forma efetiva de documentar e compartilhar soluções para problemas recorrentes de projeto, facilitando o reuso dessas soluções e ajudando a manter certa consistência no projeto. Além disso, melhoram a eficiência do processo de desenvolvimento e aumentam a produtividade dos designers por reduzir o retrabalho de pesquisa de boas soluções, minimizando a prática da "reinvenção da roda". Embora padrões sejam soluções de projeto independente de questões de implementação, há muitos benefícios para equipes de desenvolvimento pelo uso de componentes de software que suportem e instanciam padrões de projeto. Depois que um padrão é escolhido, equipes podem reutilizar e adaptar os componentes e trechos de código (como templates) para implementar um determinado padrão selecionado, reduzindo o tempo gasto no desenvolvimento de aplicações web. A eficiência de reuso é melhor obtida quando um catálogo permite relacionar os padrões (por dependência) e identificam quais componentes incorporam esses padrões de projeto. Por exemplo, a implementação do padrão Front Controller pode necessitar do padrão Command, dessa forma o desenvolvedor terá mais facilidade em construir o código a partir do momento que conhece todos os padrões envolvidos na solução. A maior dificuldade em catalogar um padrão é saber realmente se o padrão é um padrão de fato. Há uma discussão entre especialistas no tema em identificar o que é padrão e o que é antipadrão (aquele que parece ser uma boa solução mas conduz a práticas improdutivas e ineficientes). Um exemplo em aplicações web é o padrão Tela de Splash, aquela página pop-up que abre automaticamente no início de uma homepage; para alguns autores é considerado um antipadrão, pois contraria a heurística de prover feedback ao usuário ou de antecipar sobre o que pode ocorrer na aplicação. Outra dificuldade encontrada para adoção de padrões de projeto e uso de catálogos é o pouco consenso em definir o que é um padrão, estabelecer um nome e os limites do seu contexto (para o qual ele foi definido). Muitos padrões são semelhantes entre si, mas possuem denominações diferentes, dependendo de quem documentou e registrou; atuam em contextos complexos que dificultam a sua aplicabilidade. Um bom padrão é aquele que, a partir do seu nome, qualquer desenvolvedor consiga entender e aplicar.

3 3/ Mesmo com todas as dificuldades em adotar catálogos de padrões, o seu emprego deve ser encorajado em organizações que desenvolvam grandes projetos, possuam equipes com muitos membros, ou que seus membros estejam distribuídos geograficamente. Um catálogo ajuda a manter a consistência e coerência no projeto, além da consequente qualidade que se obtém na arquitetura do software. Na web encontramos alguns catálogos de padrões de projeto, em destaque há uma prevalência por catálogos de padrões para tratar problemas de interface, interação e navegação em aplicações web. Exemplos como Welie.com e UI-patterns.com, mantidos pela comunidade de designers; o do livro de Jennifer Tidwell (2010) denominado "Designing Interfaces: Patterns para Design de Interação Efetiva". Outro catálogo de relevância é o Yahoo! Design Pattern Library, um catálogo de padrões web com mais de 50 padrões documentados e organizados em categorias (ver Figura 1). Figura 1. Site do catálogo de padrões do Yahoo! Padrões de Projeto em Aplicações Web Quando se trata de padrões de projeto para aplicações web há, em geral, três dimensões ou preocupações que devem ser consideradas: a) Voltados para o design de interface ou visual: são os padrões mais visíveis, aqueles que trabalham a visualização dos sistemas na web, focando a apresentação e formatação do conteúdo. b) Voltados para interação e navegação: dizem respeito à dinâmica da interação do usuário com a aplicação, ponto crucial para o sucesso da aplicação web c) Voltados para a arquitetura de construção: são os padrões que fornecem a infraestrutura para desenvolvimento do software da aplicação web, que tratam desde a modelagem e organização dos componentes de software, até o projeto (design) da solução.

4 4 A classificação dos padrões é uma decisão de quem mantém o catálogo de padrões, não necessariamente segue a mesma classificação listada aqui. Para exemplificar, o Yahoo organiza o seu catálogo em cinco grandes categorias de padrões: Layout, Navegação, Seleção, Interação Rica e Design Social, cada uma está dividida em coleções especializadas. O mesmo ocorre com outros catálogos online, como o Welie, que organiza o seu catálogo em: Necessidade do Usuário (padrões que atendam a uma necessidade direta do usuário), Necessidades de aplicação (padrões que ajudam a aplicação, ou o designer, se comunicar melhor com o usuário), e Contexto do design (diz respeito a padrões de estruturação do conteúdo e do projeto do site). Para exemplificar alguns dos padrões para aplicações web, este artigo apresenta dois padrões JEE (Front Controller e Command), e dois de interação e apresentação visual (Paginação e Carrinho de Compras). Para efeito de demonstração do formato de documentação, recomendado para registro em um catálogo, adotamos o formato mínimo para o primeiro padrão (Front Controller); nos padrões seguintes adotamos uma apresentação mais livre de formalismo. Padrão "Front Controller" O objetivo do Front Controller é centralizar o processamento de requisições em uma única fachada. Front Controller permite criar uma interface genérica para processamento de comandos. Problema Deseja-se um ponto de acesso centralizado para processamento de todas as requisições recebidas pela camada de apresentação para: (a) controlar a navegação entre os objetos de visão; (b) remover duplicação de código; e, (c) estabelecer responsabilidades mais definidas para cada objeto, facilitando manutenção e extensão. O acesso de páginas clientes sem passar por um mecanismo centralizado, pode dificultar o controle de navegação e segurança da aplicação, pois uma página pode ser aberta por alguém que não deveria ter acesso. Outro problema recorrente em aplicações desse tipo é o existência de código de controle duplicado e misturado ao código de apresentação. Solução O Controlador é ponto de acesso para processamento de requisições: chama serviços de segurança (autenticação e autorização), delega processamento à camadas de negócio, define uma visão apropriada, realiza tratamento de erros, define estratégias de geração de conteúdo. A Figura 1 mostra dois cenários possíveis para um Front Controller. No cenário "a", o controlador utiliza um objeto Dispatcher (despachante), solução que é usada para redirecionar /repassar para a página de resposta correspondente, como no exemplo (usando Servlet) visto na Listagem 1. Listagem 1. Solução de Front Controller usando = "FrontController", urlpatterns = {"/FrontController ") public class FrontController extends HttpServlet { protected void processrequest(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { //... código // despacho para a página de resposta request.getrequestdispatcher("clienteresposta.jsp").forward(request, response); No cenário "b" (Figura 2), o Front Controller delega processamento a um objeto de apoio (Helper). Nessa solução, pode-se aplicar padrões como Command, Value Beans, e outros onde a competência para realizar a operação é decidida.

5 5/ Figura 2. Dois cenários para um Front Controller Padrão "Command" O padrão Command separa o mecanismo que trata a solicitação (request) do serviço que realiza a tarefa a ser executada. Command (no contexto de aplicações web) é uma adaptação do padrão de Gamma et al. (1995) como estratégia de implementação do Front Controller. É um padrão que pode ser implementado em aplicações web na forma mais simples, até à mais elaborada. Para aplicações que adotam Servlets, por exemplo, uma solução simples é tratar o comando que vem na solicitação, enviado com parâmetro na solicitação, normalmente chamado de action ou comando. Esse parâmetro que informa a ação do comando contém um de vários valores das tarefas a serem executados na aplicação. O servlet de controle recupera o valor da ação como parâmetro da solicitação, e determina qual a lógica de negócio deve ser executado pelo objeto Command. A definição desse padrão no catálogo JEE de padrões é realizada pelo padrão "Service to Worker". A Figura 3 mostra um exemplo simplificado de Command para uma calculadora que deve executar operações para somar, subtrair, multiplicar e dividir dois números. O código dessa solução é visto na Listagem 2 (a interface de Command) e na Listagem 3 é mostrada as classes controladora e de implementação do Command. Figura 3. Exemplo do padrão Command usando servlet

6 6 Listagem 2. Interface Command public interface Command { public String execute () ; Listagem 3.Implementação de Command e o Controlador public class RequestHelperCommand implements Command { private HttpServletRequest request; private HttpServletResponse response; public RequestHelperCommand(HttpServletRequest request, HttpServletResponse response) { this.request = request; this.response = public String execute() { // tratar a requisicao float n1 = Float.parseFloat(this.getRequest().getParameter("n1")); float n2 = Float.parseFloat(this.getRequest().getParameter("n2")); String acao = this.getrequest().getparameter("acao"); float result = 0; if (acao.equalsignorecase("somar")) { result = n1 + n2; if (acao.equalsignorecase("subtrair")) { result = n1 - n2; // outras ações // retornar página de resposta return "calcform.jsp?resposta=" + result + "&n1=" + n1 + "&n2=" + n2; // gets e set s // Fim da classe // Classe = "ControladorCalc", urlpatterns = {"/ControladorCalc") public class ControladorCalc extends HttpServlet { protected void service(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { // o objeto helper ajuda a obter os parametros e processar o request RequestHelperCommand helper = new RequestHelperCommand(request, response); // delega o processamento o metodo de execucao do helper String paginaresposta = helper.execute(); // redireciona a página de resposta request.getrequestdispatcher(paginaresposta).forward(request, response); // fim da classe controladora Padrão "Paginação" Paginação é um padrão para projeto de interação de interface com usuário. É indicado quando o usuário necessita visualizar um subconjunto de dados que não serão fáceis de mostrar dentro de uma única página. Esse problema é solucionado com a adição de um mecanismo de paginação, normalmente uma barra que permite navegar entre as páginas que são geradas como resultado da paginação. Um exemplo bem conhecido é a lista de resultados de uma pesquisa do Google, como é visto na Figura 4.

7 7/ Note que a solução deve prover meios para: a) quebrar a lista de itens em uma seqüência de páginas; b) fornecer links para acessar tanto as páginas anteriores, quanto as próximas em relação à página que está sendo exibida; c) fornecer links para saltar para a primeira e última páginas do conjunto; d) destacar qual o número da página que o usuário está navegando. Figura 4. Exemplo do padrão "Paginação" na barra de resultados do Google A instanciação do padrão Paginação, quando se desenvolve aplicações web com Java Server Faces (JSF), quase sempre é resolvido com o uso de componentes baseados em tag library. Um exemplo é o componente datascroller do RichFaces, como pode ser visto na Listagem 4 e renderizado como na Figura 5. Neste exemplo, um conjunto de dados é tabulado a partir da coleção registrada no bean gerenciado (cidademb.cidades), o componente <rich:datascroller> trabalha em colaboração com o componente <rich:datatable>, onde se especifica o número máximo de itens a serem exibidos em cada paginação (rows="4"). Listagem 4.Exemplo de código JSF do componente datatable do Richfaces <rich:datatable value="#{cidademb.cidades" var="cid" rows="4"> <rich:column> <f:facet name="header"> <h:outputtext value="cidade" /> </f:facet> <h:outputtext value="#{cid.nome"/> </rich:column> <rich:column> <f:facet name="header"> <h:outputtext value="frete" /> </f:facet> <h:outputtext value="#{cid.valorfrete"/> </rich:column> <f:facet name="footer"> <rich:datascroller renderifsinglepage="true" /> </f:facet> </rich:datatable> Figura 5. Exemplo do componente "Paginação" usando Richfaces

8 8 Padrão "Carrinho de Compras" Um padrão bastante adotado em aplicações de comércio eletrônico é o "Carrinho de Compras". O padrão permite que clientes comprem produtos em uma loja virtual, utilizando a metáfora do carrinho de compras, onde o cliente pode selecionar os produtos antes de realizar o pagamento. De uma forma geral, o padrão fornece funcionalidades com as vistas na Figura 6. Neste exemplo, identificamos as principais operações que serão codificadas em métodos como adicionar produto, remover produto e finalizarcompra, que é demonstrado na solução de uma classe Java do tipo Managed Bean (JSF), CarrinhoBean, como mostra a Listagem 5; a Listagem 6 mostra a classe Produto. Para implementar esse padrão é necessário atentar para dois requisitos da aplicação. Primeiro, uma instância da classe CarrinhoBean não deve atender vários clientes para não misturar produtos escolhidos por clientes diferentes, solução fornecida pela Segundo, os produtos adicionados devem ser mantidos entre as chamadas dos métodos da classe CarrinhoBean. Em outras palavras, é necessário manter o estado do carrinho representado por uma estrutura de dados do tipo coleção ou lista. A solução, neste caso, é utilizar no código o objeto de coleção "produtos" (Set<Produto> produtos), que mantém o estado da lista de produtos adicionados no carrinho. Figura 6. Página com a metáfora do padrão "Carrinho de Compras" Listagem 5.Exemplo de código JSF do componente datatable public class CarrinhoBean { private Set<Produto> produtos = new HashSet<Produto>(); public CarrinhoBean() { public void adicionar(produto produto) { this.produtos.add(produto); public void excluir(produto produto) { this.produtos.remove(produto); public void finalizarcompra() { // código para finalizar a compra. // gets e set s Listagem 6.Código da classe Produto public class Produto { private String nome; private int quantidade; private float preçounid ; private float preçototal; // gets e set s

9 9/ Conclusões Padrões de Projeto é uma técnica de reuso de software que oferece benefícios práticos no desenvolvimento de aplicações web, tais como prover soluções de projeto de forma consistente, orientar equipes de desenvolvimento com diretrizes e boas práticas, melhorar o processo de comunicação com a adoção de uma linguagem comum de padrões, entre outros. Entretanto, para atingir esses benefícios é importante que os padrões de projetos estejam documentados e disponíveis em um formato que promova o reuso. Várias coleções de padrões estão documentadas e disponíveis na Web, normalmente em forma de bibliotecas ou catálogos, como é o caso de Welie ( e Yahoo! Design Pattern Library ( Apesar da popularidade de padrões e dos catálogos de padrões, atualmente não há um consenso em como os padrões deveriam ser documentados, mantidos e compartilhados por todos. Contudo, é inegável a importância de utilizar padrões de projeto para orientar as decisões por melhores soluções para problemas que recorrentemente ocorre nos projeto de aplicações, em especial as disponibilizadas na web. Links Catálogo do Yahoo! Design Pattern Library Catálogo com mais de 130 padrões de interação web. Catálogo com 58 padrões de projeto de interface web, agrupados em cinco categorias. Catálogo dos padrões JEE (Blueprints, Core J2EE Patterns) Livros (opcional) Padrões de Projeto: Soluções Reutilizáveis de Software Orientado a Objetos; Gamma, Helm, Johnson e Vlissides; Artmed, Primeiro livro a abordar o assunto, apresenta um catálogo com 23 padrões para solucionar problemas de design orientado a objetos. Core J2EE Patterns, 3a. Edição; Alur, Crupi; Campus/Elsevier, Apresenta um catálogo com 21 padrões com as melhores práticas, estratégias de design e soluções para as principais tecnologias JEE. Web Application Design Patterns (Interactive Technologies); Pawan Vora; Morgan Kaufmann Publishers, Apresenta uma coleção com mais de cem padrões documentados para design de aplicações web. Designing Web interfaces; Bill Scott,Theresa Neil; O'Reilly, Apresenta mais de 75 padrões de projeto para construção de interfaces web.

10 10 Cláudio Martins é Mestre em Computação pela UFRGS, professor do Instituto Federal do Pará (IFPA) e analista de sistema da Companhia de Informática de Belém (Cinbesa). Trabalha há dez anos com a plataforma Java.

Tecnologias Web. Padrões de Projeto - Camada de Apresentação

Tecnologias Web. Padrões de Projeto - Camada de Apresentação Tecnologias Web Padrões de Projeto - Camada de Apresentação Cristiano Lehrer, M.Sc. Padrões da Camada de Apresentação (1/2) Intercepting Filter Viabiliza pré e pós processamento de requisições. Front Controller

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 araujo.ale01@gmail.com, jaime@unipar.br Resumo.

Leia mais

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: davidmr@ifce.edu.br 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 SUMÁRIO 1 Conceitos Básicos... 3 1.1 O que é Software?... 3 1.2 Situações Críticas no desenvolvimento

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

Prototype, um Design Patterns de Criação

Prototype, um Design Patterns de Criação Prototype, um Design Patterns de Criação José Anízio Pantoja Maia Este artigo tem como finalidade compreender o funcionamento do padrão de projeto prototype, serão abordados os participantes que compõe

Leia mais

Java para Desenvolvimento Web

Java para Desenvolvimento Web Java para Desenvolvimento Web Servlets A tecnologia Servlet foi introduzida pela Sun Microsystems em 1996, aprimorando e estendendo a funcionalidade e capacidade de servidores Web. Servlets é uma API para

Leia mais

Padrões de projeto 1

Padrões de projeto 1 Padrões de projeto 1 Design Orientado Objeto Encapsulamento Herança Polimorfismo Design Patterns 2 Responsabilidades Booch e Rumbaugh Responsabilidade é um contrato ou obrigação de um tipo ou classe. Dois

Leia mais

Definição de Padrões. Padrões Arquiteturais. Padrões Arquiteturais. Arquiteturas de Referência. Da arquitetura a implementação. Elementos de um Padrão

Definição de Padrões. Padrões Arquiteturais. Padrões Arquiteturais. Arquiteturas de Referência. Da arquitetura a implementação. Elementos de um Padrão DCC / ICEx / UFMG Definição de Padrões Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Um padrão é uma descrição do problema e a essência da sua solução Documenta boas soluções para problemas recorrentes

Leia mais

Java para WEB. Servlets

Java para WEB. Servlets Servlets Servlets são classes Java que são instanciadas e executadas em associação com servidores Web, atendendo requisições realizadas por meio do protocolo HTTP. Servlets é a segunda forma que veremos

Leia mais

Argo Navis J931 - Padrões de Design J2EE. Introdução. Objetivos de aprender padrões J2EE. Conhecer padrões para uso na plataforma J2EE

Argo Navis J931 - Padrões de Design J2EE. Introdução. Objetivos de aprender padrões J2EE. Conhecer padrões para uso na plataforma J2EE Padrões de Projeto J2EE J931 Introdução Helder da Rocha (helder@acm.org) argonavis.com.br Objetivos de aprender padrões J2EE Conhecer padrões para uso na plataforma J2EE Padrões permitem maior reuso, menos

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

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse Como criar um EJB Criando um projeto EJB com um cliente WEB no Eclipse Gabriel Novais Amorim Abril/2014 Este tutorial apresenta o passo a passo para se criar um projeto EJB no Eclipse com um cliente web

Leia mais

Use a Cabeça! FREEMAN, Eric e Elisabeth. HTML com CSS e XHTML BASHMAN, Brian / SIERRA Kathy / BATES, Bert. Servlets & JSP

Use a Cabeça! FREEMAN, Eric e Elisabeth. HTML com CSS e XHTML BASHMAN, Brian / SIERRA Kathy / BATES, Bert. Servlets & JSP Use a Cabeça! FREEMAN, Eric e Elisabeth. HTML com CSS e XHTML BASHMAN, Brian / SIERRA Kathy / BATES, Bert. Servlets & JSP Software cliente: browser e outros Protocolo HTTP Infraestrutura de transporte

Leia mais

02/10/2012. Padronização de interfaces. Referências

02/10/2012. Padronização de interfaces. Referências Referências Engenharia de Usabilidade Prof.: Clarindo Isaías Pereira da Silva e Pádua Contribuição: Cláudio Márcio de Souza Vicente Gestus Hix, D.; Hartson, H. R. Developing User Interfaces: ensuring usability

Leia mais

INTRODUÇÃO À TECNOLOGIA SERVLETS

INTRODUÇÃO À TECNOLOGIA SERVLETS PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB INTRODUÇÃO À TECNOLOGIA SERVLETS Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar o conceito aplicações orientada a serviços via web Apresentar o papel dos contentores

Leia mais

ENGENHARIA DE SOFTWARE I

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

Leia mais

ANEXO 11. Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação.

ANEXO 11. Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação. ANEXO 11 O MATRIZ Para o desenvolvimento de sites, objeto deste edital, a empresa contratada obrigatoriamente utilizará o framework MATRIZ desenvolvido pela PROCERGS e disponibilizado no início do trabalho.

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

Especificação do 3º Trabalho

Especificação do 3º Trabalho Especificação do 3º Trabalho I. Introdução O objetivo deste trabalho é abordar a prática da programação orientada a objetos usando a linguagem Java envolvendo os conceitos de classe, objeto, associação,

Leia mais

Servlets e Applets, funcionamento e comparativo.

Servlets e Applets, funcionamento e comparativo. Servlets e Applets, funcionamento e comparativo. Airon Rabel Teixeira Rua Guarapuava Joinville SC airon@ymail.com Resumo: Este artigo explica de maneira breve o funcionamento de servlets e applets, mostrando

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

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

Processos de Desenvolvimento de Software

Processos de Desenvolvimento de Software Processos de Desenvolvimento de Software Gerenciamento de Projetos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e

Leia mais

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Tópicos Motivação e Objetivos LP e SOA Processo ADESE

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

Padrão Arquitetura em Camadas

Padrão Arquitetura em Camadas Padrão Arquitetura em Camadas Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Definição Estimula a organização

Leia mais

Satélite. Manual de instalação e configuração. CENPECT Informática www.cenpect.com.br cenpect@cenpect.com.br

Satélite. Manual de instalação e configuração. CENPECT Informática www.cenpect.com.br cenpect@cenpect.com.br Satélite Manual de instalação e configuração CENPECT Informática www.cenpect.com.br cenpect@cenpect.com.br Índice Índice 1.Informações gerais 1.1.Sobre este manual 1.2.Visão geral do sistema 1.3.História

Leia mais

Padrões de Projeto WEB e o MVC

Padrões de Projeto WEB e o MVC Padrões de Projeto WEB e o MVC Padrões de Projeto WEB e o MVC O que são padrões? "Cada padrão descreve um problema que ocorre freqüentemente em seu ambiente, e então descreve o cerne da solução para aquele

Leia mais

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 (jefersson@dcc.ufmg.br) 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 Apresentação Conceitos Definição Ponto de vista prático História Padrões de Projeto Conhecidos

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.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

Leia mais

Dadas a base e a altura de um triangulo, determinar sua área.

Dadas a base e a altura de um triangulo, determinar sua área. Disciplina Lógica de Programação Visual Ana Rita Dutra dos Santos Especialista em Novas Tecnologias aplicadas a Educação Mestranda em Informática aplicada a Educação ana.santos@qi.edu.br Conceitos Preliminares

Leia mais

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1. ARCO - Associação Recreativa dos Correios Sistema para Gerenciamento de Associações Recreativas Versão Histórico da Revisão Data Versão Descrição Autor Página

Leia mais

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart.

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart. Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart. Versão 1.6 15/08/2013 Visão Resumida Data Criação 15/08/2013 Versão Documento 1.6 Projeto Responsáveis

Leia mais

Capítulo 2. Processos de Software. 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 1

Capítulo 2. Processos de Software. 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 1 Capítulo 2 Processos de Software slide 1 Tópicos apresentados Modelos de processo de software. Atividades de processo. Lidando com mudanças. Rational Unified Process (RUP). Um exemplo de um processo de

Leia mais

Concepção e Elaboração

Concepção e Elaboração UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Análise e Projeto Orientado a Objetos Concepção e Elaboração Estudo

Leia mais

3 SCS: Sistema de Componentes de Software

3 SCS: Sistema de Componentes de Software 3 SCS: Sistema de Componentes de Software O mecanismo para acompanhamento das chamadas remotas se baseia em informações coletadas durante a execução da aplicação. Para a coleta dessas informações é necessário

Leia mais

Projeto Demoiselle. Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge.

Projeto Demoiselle. Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge. Projeto Demoiselle Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge.net Palestrantes: Antônio Carlos Tiboni Luciana Campos Mota 20/07/2009

Leia mais

Desenvolvimento de Interfaces Prototipação

Desenvolvimento de Interfaces Prototipação Autarquia Educacional do Vale do São Francisco AEVSF Faculdade de Ciências Aplicadas e Sociais de Petrolina - FACAPE Centro de Engenharia e Ciências Tecnológicas CECT Curso de Ciência da Computação Desenvolvimento

Leia mais

DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS

DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS Emanuel M. Godoy 1, Ricardo Ribeiro Rufino 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil godoymanel@gmail.com,

Leia mais

Prof. Roberto Desenvolvimento Web Avançado

Prof. Roberto Desenvolvimento Web Avançado Resposta exercício 1: Configuração arquivo web.xml helloservlet br.com.exercicios.helloservlet

Leia mais

2 a Lista de Exercícios

2 a Lista de Exercícios Projeto de Sistemas 2011/2 2 a Lista de Exercícios (1) Um importante aspecto do projeto da camada de Lógica de Negócio (LN) diz respeito à organização das classes e distribuição de responsabilidades entre

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

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 Servidor de Aplicações WEB Tomcat Servidor Tomcat Foi desenvolvido

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 renazariorln@gmail.com, ricardo@unipar.br Resumo. Este artigo

Leia mais

Footprints Service Core. Manual de uso do sistema

Footprints Service Core. Manual de uso do sistema Footprints Service Core Manual de uso do sistema Sumário Acessando o sistema... 3 Visão geral... 4 Criação de chamados... 5 Acompanhamento de chamados... 7 Compartilhamento de chamados... 8 Notificações...

Leia mais

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Cronograma das Aulas. Hoje você está na aula Semana

Leia mais

Documento de Arquitetura

Documento de Arquitetura Documento de Arquitetura A2MEPonto - SISTEMA DE PONTO ELETRÔNICO A2MEPonto - SISTEMA DE PONTO ELETRÔNICO #1 Pág. 1 de 11 HISTÓRICO DE REVISÕES Data Versão Descrição Autor 28/10/2010 1 Elaboração do documento

Leia mais

Java. Marcio de Carvalho Victorino www.dominandoti.eng.br

Java. Marcio de Carvalho Victorino www.dominandoti.eng.br Java Marcio de Carvalho Victorino www.dominandoti.eng.br 3. Considere as instruções Java abaixo: int cont1 = 3; int cont2 = 2; int cont3 = 1; cont1 += cont3++; cont1 -= --cont2; cont3 = cont2++; Após a

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

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

Engenharia de Software III

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

Leia mais

UML - Unified Modeling Language

UML - Unified Modeling Language UML - Unified Modeling Language Casos de Uso Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 24 de abril

Leia mais

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia. 1 Introdução aos Sistemas de Informação 2002 Aula 4 - Desenvolvimento de software e seus paradigmas Paradigmas de Desenvolvimento de Software Pode-se considerar 3 tipos de paradigmas que norteiam a atividade

Leia mais

3 - Projeto de Site:

3 - Projeto de Site: 3 - Projeto de Site: O site de uma empresa é como um cartão de visita que apresenta sua área de negócios e sua identidade no mercado, ou ainda, como uma vitrine virtual em que é possível, em muitos casos,

Leia mais

Pós-Graduação em Gerenciamento de Projetos práticas do PMI

Pós-Graduação em Gerenciamento de Projetos práticas do PMI Pós-Graduação em Gerenciamento de Projetos práticas do PMI Planejamento do Gerenciamento das Comunicações (10) e das Partes Interessadas (13) PLANEJAMENTO 2 PLANEJAMENTO Sem 1 Sem 2 Sem 3 Sem 4 Sem 5 ABRIL

Leia mais

J550. Model View Controller

J550. Model View Controller J550 Model View Controller 1 Design de aplicações JSP Design centrado em páginas Aplicação JSP consiste de seqüência de páginas (com ou sem beans de dados) que contém código ou links para chamar outras

Leia mais

TI em Números Como identificar e mostrar o real valor da TI

TI em Números Como identificar e mostrar o real valor da TI TI em Números Como identificar e mostrar o real valor da TI João Maldonado / Victor Costa 15, Outubro de 2013 Agenda Sobre os Palestrantes Sobre a SOLVIX Contextualização Drivers de Custo Modelo de Invenstimento

Leia mais

Engenharia de Software. Parte I. Introdução. Metodologias para o Desenvolvimento de Sistemas DAS 5312 1

Engenharia de Software. Parte I. Introdução. Metodologias para o Desenvolvimento de Sistemas DAS 5312 1 Engenharia de Software Parte I Introdução Metodologias para o Desenvolvimento de Sistemas DAS 5312 1 Mitos do Desenvolvimento de Software A declaração de objetivos é suficiente para se construir um software.

Leia mais

Manual dos Serviços de Interoperabilidade

Manual dos Serviços de Interoperabilidade MINISTÉRIO DO PLANEJAMENTO, ORÇAMENTO E GESTÃO Secretaria de Logística e Tecnologia da Informação Manual dos Serviços de Interoperabilidade Sumário Lista de Figuras...3 Lista de Tabelas...4 Introdução...5

Leia mais

Entendendo como funciona o NAT

Entendendo como funciona o NAT Entendendo como funciona o NAT Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele é indicado. O NAT surgiu como uma alternativa real para o problema de falta de endereços

Leia mais

Aprenda as melhores práticas para construir um completo sistema de teste automatizado

Aprenda as melhores práticas para construir um completo sistema de teste automatizado Aprenda as melhores práticas para construir um completo sistema de teste automatizado Renan Azevedo Engenheiro de Produto de Teste e Medição -Américas Aprenda as melhores práticas para construir um completo

Leia mais

SUMÁRIO Acesso ao sistema... 2 Atendente... 3

SUMÁRIO Acesso ao sistema... 2 Atendente... 3 SUMÁRIO Acesso ao sistema... 2 1. Login no sistema... 2 Atendente... 3 1. Abrindo uma nova Solicitação... 3 1. Consultando Solicitações... 5 2. Fazendo uma Consulta Avançada... 6 3. Alterando dados da

Leia mais

Disciplina de Banco de Dados Introdução

Disciplina de Banco de Dados Introdução Disciplina de Banco de Dados Introdução Prof. Elisa Maria Pivetta CAFW - UFSM Banco de Dados: Conceitos A empresa JJ. Gomes tem uma lista com mais ou menos 4.000 nomes de clientes bem como seus dados pessoais.

Leia mais

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição? Prova de 2011-02 1. Descreva duas maneiras de estabelecer uma conexão entre processos na camada de transporte sem o conhecimento da porta (TSAP) ao qual o servidor remoto esteja associado. 2. Estabelecer

Leia mais

Guia de Acesso Rápido AVA Ambiente Virtual de Aprendizagem Aluno

Guia de Acesso Rápido AVA Ambiente Virtual de Aprendizagem Aluno Guia de Acesso Rápido AVA Ambiente Virtual de Aprendizagem Aluno Introdução O Ambiente de Aprendizagem, ou AVA, é um aplicativo web onde os educadores e alunos podem disponibilizar materiais didáticos,

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

PadrãoIX. Módulo II JAVA. Marcio de Carvalho Victorino. Servlets A,L,F,M

PadrãoIX. Módulo II JAVA. Marcio de Carvalho Victorino. Servlets A,L,F,M JAVA Marcio de Carvalho Victorino 1 Servlets 2 1 Plataforma WEB Baseada em HTTP (RFC 2068): Protocolo simples de transferência de arquivos Sem estado (não mantém sessão aberta) Funcionamento (simplificado):

Leia mais

Histórico da Revisão. Data Versão Descrição Autor

Histórico da Revisão. Data Versão Descrição Autor Sistema de Gerenciamento de Loja - SIGEL Documento de Visão Versão 1.0.0 Histórico da Revisão Data Versão Descrição Autor 13/01/2011 0.1 Versão preliminar do levantamento de requisitos funcionais e não

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

TI Aplicada. Aula 02 Áreas e Profissionais de TI. Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com http://www.edilms.eti.

TI Aplicada. Aula 02 Áreas e Profissionais de TI. Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com http://www.edilms.eti. TI Aplicada Aula 02 Áreas e Profissionais de TI Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com http:// Papéis... Um papel é uma definição abstrata de um conjunto de atividades executadas e dos

Leia mais

Processo de Desenvolvimento de Sites

Processo de Desenvolvimento de Sites ANEXO 4 METODOLOGIA DE DESENVOLVIMENTO PROCERGS MDP Processo de Desenvolvimento de Sites O processo de desenvolvimento de sites foi definido com base nas características deste produto e na forma de trabalho

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 02 Análise e Projeto OO Edirlei Soares de Lima Análise A análise modela o problema e consiste das atividades necessárias para entender

Leia mais

1 http://www.google.com

1 http://www.google.com 1 Introdução A computação em grade se caracteriza pelo uso de recursos computacionais distribuídos em várias redes. Os diversos nós contribuem com capacidade de processamento, armazenamento de dados ou

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

JSF e PrimeFaces. Professor: Ricardo Luis dos Santos IFSUL Campus Sapucaia do Sul

JSF e PrimeFaces. Professor: Ricardo Luis dos Santos IFSUL Campus Sapucaia do Sul JSF e PrimeFaces Professor: Ricardo Luis dos Santos IFSUL 2015 Agenda Introdução Desenvolvimento Web Java Server Faces Exercício 2 Introdução Ao longo dos anos diversas linguagens de programação foram

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de Software AULA NÚMERO: 10 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir os conceitos de coesão e acoplamento. DESENVOLVIMENTO Projetar

Leia mais

UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas

UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas 4.1 Motivação Sistemas de Informação são usados em diversos níveis dentro de uma organização, apoiando a tomada de decisão; Precisam estar

Leia mais

Prática em Laboratório N.02 Criando um serviço Web via NetBeans

Prática em Laboratório N.02 Criando um serviço Web via NetBeans Prática em Laboratório N.02 Criando um serviço Web via NetBeans O objetivo deste exercício é criar um projeto apropriado para desenvolver um contêiner que você resolva utilizar. Uma vez criado o projeto,

Leia mais

Gerenciamento de Problemas

Gerenciamento de Problemas Gerenciamento de Problemas O processo de Gerenciamento de Problemas se concentra em encontrar os erros conhecidos da infra-estrutura de TI. Tudo que é realizado neste processo está voltado a: Encontrar

Leia mais

Thalita Moraes PPGI Novembro 2007

Thalita Moraes PPGI Novembro 2007 Thalita Moraes PPGI Novembro 2007 A capacidade dos portais corporativos em capturar, organizar e compartilhar informação e conhecimento explícito é interessante especialmente para empresas intensivas

Leia mais

Capítulo 9. Gerenciamento de rede

Capítulo 9. Gerenciamento de rede 1 Capítulo 9 Gerenciamento de rede 2 Redes de computadores I Prof.: Leandro Soares de Sousa E-mail: leandro.uff.puro@gmail.com Site: http://www.ic.uff.br/~lsousa Não deixem a matéria acumular!!! Datas

Leia mais

UML Aspectos de projetos em Diagramas de classes

UML Aspectos de projetos em Diagramas de classes UML Aspectos de projetos em Diagramas de classes Após ser definido o contexto da aplicação a ser gerada. Devemos pensar em detalhar o Diagrama de Classes com informações visando uma implementação Orientada

Leia mais

3. Explique o motivo pelo qual os protocolos UDP e TCP acrescentam a informação das portas (TSAP) de origem e de destino em seu cabeçalho.

3. Explique o motivo pelo qual os protocolos UDP e TCP acrescentam a informação das portas (TSAP) de origem e de destino em seu cabeçalho. Entregue três questões de cada prova. Prova de 2011-02 1. Descreva duas maneiras de estabelecer uma conexão entre processos na camada de transporte sem o conhecimento da porta (TSAP) ao qual o servidor

Leia mais

ISO/IEC 12207: Gerência de Configuração

ISO/IEC 12207: Gerência de Configuração ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que

Leia mais

Implantação. Prof. Eduardo H. S. Oliveira

Implantação. Prof. Eduardo H. S. Oliveira Visão Geral A implantação de um sistema integrado de gestão envolve uma grande quantidade de tarefas que são realizadas em períodos que variam de alguns meses a alguns anos, e dependem de diversos fatores,

Leia mais

Artur Petean Bove Júnior Tecnologia SJC

Artur Petean Bove Júnior Tecnologia SJC Artur Petean Bove Júnior Tecnologia SJC Objetivo O objetivo do projeto é especificar o desenvolvimento de um software livre com a finalidade de automatizar a criação de WEBSITES através do armazenamento

Leia mais

Introdução ao OpenUP (Open Unified Process)

Introdução ao OpenUP (Open Unified Process) Introdução ao OpenUP (Open Unified Process) Diferentes projetos têm diferentes necessidades de processos. Fatores típicos ditam as necessidades de um processo mais formal ou ágil, como o tamanho da equipe

Leia mais

Introdução a listas - Windows SharePoint Services - Microsoft Office Online

Introdução a listas - Windows SharePoint Services - Microsoft Office Online Page 1 of 5 Windows SharePoint Services Introdução a listas Ocultar tudo Uma lista é um conjunto de informações que você compartilha com membros da equipe. Por exemplo, você pode criar uma folha de inscrição

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

Ajuda ao SciEn-Produção 1. 1. O Artigo Científico da Pesquisa Experimental

Ajuda ao SciEn-Produção 1. 1. O Artigo Científico da Pesquisa Experimental Ajuda ao SciEn-Produção 1 Este texto de ajuda contém três partes: a parte 1 indica em linhas gerais o que deve ser esclarecido em cada uma das seções da estrutura de um artigo cientifico relatando uma

Leia mais

Demoiselle Report Guide. Demoiselle Report. Marlon Carvalho. <marlon.carvalho@gmail.com> Rodrigo Hjort. <rodrigo.hjort@gmail.com> Robson Ximenes

Demoiselle Report Guide. Demoiselle Report. Marlon Carvalho. <marlon.carvalho@gmail.com> Rodrigo Hjort. <rodrigo.hjort@gmail.com> Robson Ximenes Demoiselle Report Guide Demoiselle Report Marlon Carvalho Rodrigo Hjort Robson Ximenes Demoiselle Report... v 1. Configuração

Leia mais

Conceitos de Banco de Dados

Conceitos de Banco de Dados Conceitos de Banco de Dados Autor: Luiz Antonio Junior 1 INTRODUÇÃO Objetivos Introduzir conceitos básicos de Modelo de dados Introduzir conceitos básicos de Banco de dados Capacitar o aluno a construir

Leia mais

ATRIBUTOS PRIVADOS 6. ENCAPSULAMENTO MÉTODOS PRIVADOS MÉTODOS PRIVADOS

ATRIBUTOS PRIVADOS 6. ENCAPSULAMENTO MÉTODOS PRIVADOS MÉTODOS PRIVADOS ATRIBUTOS PRIVADOS Podemos usar o modificador private, para tornar um atributo privado, obtendo um controle centralizado Definimos métodos para implementar todas as lógicas que utilizam ou modificam o

Leia mais

4 Plano de Recuperação

4 Plano de Recuperação 4 Plano de Recuperação Como pode ser observado na Seção 3.2, um projeto de um middleware para TVD deve considerar o fato que ele será embarcado em plataformas diversas e, portanto, que fará uso de diversas

Leia mais