portifolio individual 2015 - individual dp 2 semestre

21
Itaituba 2015 JAIME BANDEIRA SANTANA PINTO FILHO SISTEMA DE ENSINO A DISTANCIA (EAD) ANALISE E DESENVOLVIMENTO DE SISTEMAS PORTIFÓLIO INDIVIDUAL DE DEPENDÊNCIA: PROJETO Desenvolvimento de Sistemas II Disciplina Professor Análise Orientada a Objetos II Banco de Dados II Programação Orientada a Objetos Programação Web I Seminário IV Luis Claudio Perini Roberto Y. Nishmura Márcio Roberto Chiaveli Veronice de Freitas Adriane Ap. Loper

Upload: jaime-bandeira

Post on 10-Feb-2016

30 views

Category:

Documents


2 download

DESCRIPTION

trabalho prontinho

TRANSCRIPT

Page 1: Portifolio Individual 2015 - Individual DP 2 Semestre

1

Itaituba 2015

JAIME BANDEIRA SANTANA PINTO FILHO

SISTEMA DE ENSINO A DISTANCIA (EAD) ANALISE E DESENVOLVIMENTO DE SISTEMAS

PORTIFÓLIO INDIVIDUAL DE DEPENDÊNCIA:

PROJETO

Desenvolvimento de Sistemas II

Disciplina

Professor

Análise Orientada a Objetos II Banco de Dados II Programação Orientada a Objetos Programação Web I Seminário IV

Luis Claudio Perini Roberto Y. Nishmura Márcio Roberto Chiaveli Veronice de Freitas Adriane Ap. Loper

Page 2: Portifolio Individual 2015 - Individual DP 2 Semestre

2

Itaituba 2015

PORTIFÓLIO INDIVIDUAL DE DEPENDÊNCIA:

PROJETO

Desenvolvimento de Sistemas II

Análise Orientada a Objetos II Banco de Dados II

Programação Orientada a Objetos Programação Web I

Seminário IV

Portfólio Individual apresentado à Universidade Norte do Paraná - UNOPAR, como requisito parcial para a obtenção de média semestral na disciplina de Análise de Desenvolvimentos de Sistemas em sistema de dependência.

JAIME BANDEIRA SANTANA PINTO FILHO

Page 3: Portifolio Individual 2015 - Individual DP 2 Semestre

3

SUMÁRIO 1 INTRODUÇÃO ........................................................................................... 4

2 OBJETIVO ................................................................................................. 5

3 DESENVOLVIMENTO. .............................................................................. 6

3.1. Análise Orientada a Objetos II ........................................................................... 6

3.1.1 Diagrama de Caso de Uso ................................................................... 6

3.1.2 Diagrama de Classes ........................................................................... 7

3.1.3 Diagrama de objetos ............................................................................ 8

3.1.4 Diagrama de Colaboração ................................................................... 8

3.1.5 Diagrama de Sequência ...................................................................... 9

3.1.6 Diagrama de Atividades .................................................................... 10

3.1.7 Diagrama de Estados ........................................................................ 11

3.1.8 Diagrama de Componentes ............................................................... 12

3.2. Banco de Dados II ............................................................................................ 12

3.3. Programação Orientada a Objetos ................................................................. 14

3.4. Programação Web I .......................................................................................... 16

4 CONCLUSÃO .......................................................................................... 20

5 REFERÊNCIAS ....................................................................................... 21

Page 4: Portifolio Individual 2015 - Individual DP 2 Semestre

4

1 INTRODUÇÃO

Em uma sociedade cada vez mais globalizada e tecnológica, é essencial ampliar

sempre os conhecimentos nas áreas relacionadas à informática e suas vertentes, já que

elementos práticos e eficazes são cada vez mais necessários nas empresas e instituições em

geral onde se utiliza de suportes de informação para desenvolver seus processos.

O Desenvolvimento e o crescente desenvolvimento das empresas hoje são frutos da

grande evolução tecnológica que se vive hoje. Uma evolução que nos acompanha, e

acompanhará a próxima geração, e porque não dizer, sim, as gerações futuras.

Neste trabalho será apresentado conhecimentos relacionados a desenvolvimento de

sistemas, onde trabalharemos desde o iniciação do projeto com a ferramenta UML, suas

características e importância junto aos desenvolvedores, descreveremos seus principais

diagramas de trabalho. A posterior trabalharemos o Modelo Entidade relacionamento (MER)

com suas peculiaridades essências ao projeto de desenvolvimento de software. E por último, e

não menos importante, trabalharemos o desenvolvimento de aplicativos para web, dos

mesmos.

Assim teremos uma abordagem desses tópicos de forma dinâmica e mesmo sem

esgotar o assunto, servirá como base para complementações posteriores e uma visão

necessária para o desenvolvimento de software desde a negociação com o cliente até a entrega

do aplicativo, tanto como comum ou para a web. Sabendo que essa última opção atualmente,

domina o mercado destes aplicativos.

Page 5: Portifolio Individual 2015 - Individual DP 2 Semestre

5

2 OBJETIVO

Dar ao leitor uma leitura compacta e sucinta sobre o assunto em questão, para que haja

entendimento do conteúdo de forma linear e de fácil aprendizagem.

Page 6: Portifolio Individual 2015 - Individual DP 2 Semestre

6

3 DESENVOLVIMENTO.

3.1. Análise Orientada a Objetos II

A UML é uma tentativa de padronizar a modelagem orientada a objetos de

forma que qualquer sistema, seja qual for o tipo, possa ser modelado corretamente,

com consistência e praticidade, fácil de se comunicar com outras aplicações, simples

de ser atualizado e compreensível e atende perfeitamente, as expectativas de

desenvolvimento profissional.

Neste tópico, Iremos abordar os principais diagramas utilizados da UML,

dando ênfase em sua utilidade e contribuição de uma forma geral e prática em um

desenvolvimento de sistema orientado a objeto.

Os diagramas mais utilizados pela UML são compostos de: diagrama de use

case, de classes, de objeto, de estado, de sequência, de colaboração, de atividade,

de componente e o de execução.

Todos os sistemas possuem uma estrutura estática e um comportamento

dinâmico. A UML suporta modelos estáticos (estrutura estática), dinâmicos

(comportamento dinâmico) e funcional. Abordaremos agora cada um destes

diagramas:

3.1.1 Diagrama de Caso de Uso

Com certeza um dos mais utilizados e importante, pois está diretamente

ligado ao início do projeto e dar margens para o melhor entendimento ente o analista

de sistema com o cliente, que, geralmente é leigo no assunto de desenvolvimento.

Representa o conjunto de comportamentos de alto nível que o sistema deve

executar para um determinado ator.

O Diagrama de Casos de Uso tem o objetivo de auxiliar a comunicação entre

os analistas e o cliente, facilitando assim o entendimento de um empresário e suas

necessidades empresariais e o desenvolvedor.

Page 7: Portifolio Individual 2015 - Individual DP 2 Semestre

7

Um diagrama de Caso de Uso descreve um cenário que mostra as

funcionalidades do sistema do ponto de vista do usuário.

O cliente deve ver no diagrama de Casos de Uso as principais

funcionalidades de seu sistema. É onde ele visualiza o projeto e pode ser melhorado

em sua essência.

Notação

O diagrama de Caso de Uso é representado por:

atores;

casos de uso;

relacionamentos entre estes elementos.

Estes relacionamentos podem ser:

associações entre atores e casos de uso;

generalizações entre os atores;

generalizações, extends e includes entre os casos de uso.

casos de uso podem opcionalmente estar envolvidos por um retângulo que

representa os limites do sistema.

A figura acima ilustra um caso de uso geral, mas é recomendado que eles

sejam desenvolvidos para cada cenário. As setas de includes e extends, indicam,

respectivamente, obrigatoriedade e opção de se realizar determinada ação.

3.1.2 Diagrama de Classes

O diagrama de classes demonstra a estrutura estática das classes de um

sistema onde estas representam as "coisas" que são gerenciadas pela aplicação

modelada. Classes podem se relacionarem com outras através de diversas

maneiras: associação (conectadas entre si), dependência (uma classe depende ou

Page 8: Portifolio Individual 2015 - Individual DP 2 Semestre

8

usa outra classe), especialização (uma classe é uma especialização de outra

classe), ou em pacotes (classes agrupadas por características similares).

Todos estes relacionamentos possuem estruturas internas, que são os

atributos e operações. Um sistema normalmente possui alguns diagramas de

classes, já que não são todas as classes que estão inseridas em um único diagrama

e uma certa classes pode participar de vários diagramas de classes.

3.1.3 Diagrama de objetos

O diagrama de objetos é uma variação do diagrama de classes e utiliza

quase a mesma notação. A diferença é que o diagrama de objetos mostra

os objetos que foram instanciados das classes. O diagrama de objetos é como se

fosse o perfil do sistema em um certo momento de sua execução.

Representa um retrato, em tempo de execução, dos objetos do software e

seus inter-relacionamentos.

3.1.4 Diagrama de Colaboração

Um Diagrama de comunicação (era conhecido como Diagrama

de Colaboração até a versão 1.5 da UML) é definido pelo UML. O Diagrama de

Page 9: Portifolio Individual 2015 - Individual DP 2 Semestre

9

Colaboração exibe uma interação, consistindo de um conjunto de objetos e seus

relacionamentos, incluindo as mensagens que podem ser trocadas entre eles.

O diagrama de colaboração mostra, de maneira semelhante ao diagrama de

seqüência, a colaboração dinâmica entre os objetos. Se a ênfase do diagrama for o

decorrer do tempo, é melhor escolher o diagrama de seqüência, mas se a ênfase for

o contexto do sistema, é melhor dar prioridade ao diagrama de colaboração. O

diagrama de colaboração é desenhado como um diagrama de objeto, onde os

diversos objetos são mostrados juntamente com seus relacionamentos.

O Diagrama de Comunicação dá ênfase à ordenação estrutural em que as

mensagens são trocadas entre os objetos de um sistema.

Representa uma coleção de objetos que trabalham em conjunto para atender algum

comportamento do sistema.

3.1.5 Diagrama de Sequência

Consiste em um diagrama que tem o objetivo de mostrar como as mensagens

entre os objetos são trocadas no decorrer do tempo para a realização de uma

operação.

Em um diagrama de sequência, as linhas verticais representando o tempo de vida de

um objeto (lifeline), estas linhas verticais são preenchidas por barras verticais que

indicam exatamente quando um objeto passou a existir. Quando um objeto

desaparece, existe um "X" na parte inferior da barra.

Page 10: Portifolio Individual 2015 - Individual DP 2 Semestre

10

Linhas horizontais ou diagonais representando mensagens trocadas entre

objetos. Estas linhas são acompanhadas de um rótulo que contém o nome da

mensagem e, opcionalmente, os parâmetros da mesma.

Representa uma perspectiva, orientada por tempo, da colaboração entre os

objetos.

3.1.6 Diagrama de Atividades

O objetivo do diagrama de atividades é mostrar o fluxo de atividades em um

único processo. O diagrama mostra como um atividade depende uma da outra.

Você pode usar um diagrama de atividade para descrever processos de diversos

tipos, como os exemplos a seguir:

Um processo de negócios ou um fluxo de trabalho entre usuários e seu

sistema. Para obter mais informações, consulte Requisitos de usuário do

modelo.

As etapas executadas em um caso de uso. Para obter mais informações,

consulte Diagramas de caso de uso UML: diretrizes.

Um protocolo de software, ou seja, as sequências permitidos de interações

entre os componentes.

Um algoritmo de software.

Representa o fluxo de tarefas que podem ser executadas pelo sistema ou por um

ator.

Page 11: Portifolio Individual 2015 - Individual DP 2 Semestre

11

3.1.7 Diagrama de Estados

Representa um conjunto de estados que um objeto pode estar e os “gatilhos”

que estimulam a transição do objeto de um estado para outro.

Em um diagrama de estado, um objeto possui um comportamento e um

estado.

O estado de um objeto depende da atividade na qual ele está processando.

Um diagrama de estado mostra os possíveis estados de um objeto e as

transações responsáveis pelas suas mudanças de estado.

Exemplo:

Page 12: Portifolio Individual 2015 - Individual DP 2 Semestre

12

3.1.8 Diagrama de Componentes

Você pode usar um diagrama de componente para descrever um design é

implementado em qualquer idioma ou estilo. Só é necessário identificar as partes do

design que interagem com as outras partes do projeto por meio de um conjunto

restrito de entradas e saídas. Os componentes podem ser de qualquer escala e

podem ser interconectados de qualquer maneira.

Representa uma coleção de componentes de software e seus inter-

relacionamentos.

3.2. Banco de Dados II

Em engenharia de software, um modelo entidade relacionamento (modelo

ER) é um modelo de dados para descrever os dados ou aspectos de informação de

um domínio de negócio ou seus requerimentos de processo, de uma maneira

abstrata que em última análise se presta a ser implementada em um banco de

dados, como um banco de dados relacional. Os principais componentes dos

Page 13: Portifolio Individual 2015 - Individual DP 2 Semestre

13

Modelos Entidades Relacionamento (MER) são as entidades (coisas, objetos) suas

relações e armazenamento em bancos de dados.

A normalização é uma técnica que tem como objetivo a melhor forma de

distribuir e organizar os dados em uma modelagem, com suas respetivas tabelas de

entidades e seus relacionamentos.

Possui algumas divisões que facilita seu entendimento que cria um processo

sequencial para sua melhor desenvoltura. São chamados de formas normais que

são:

1ª forma normal: resolvemos os atributos repetidos dentro da entidade, retirando-os

e assim evitando a redundância e reagrupa-las em outras entidades.

2ª forma normal: tem como objetivo retirar os atributos que não possuem

dependência funcional com as chaves primárias (não pode ser chave primaria

simples), criando assim, uma nova entidade.

3ª forma normal é a análise de dependência funcional parcial entre os próprios

atributos não chaves. Nesta fase também, elimina-se os atributos calculáveis pois

apresentam risco na consistência dos dados.

Existe também a forma normal chamada Boyce Codd, que poderíamos

chamar de intermediaria entre a 3ª e a 4ª. Ela analisa a melhor escolha para uma

chave primária, no que tange ao nome, a funcionalidade, entre outros quesitos.

A quarta forma normal elimina a multiplicidade de relacionamentos.

E por fim a quinta em que existe uma combinação N:N:N entre pelo menos 3

entidades, além do relacionamento binário ser necessário entre elas.

Exemplo:

Page 14: Portifolio Individual 2015 - Individual DP 2 Semestre

14

3.3. Programação Orientada a Objetos

A Programação Orientada a Objetos (POO) é uma forma moderna de

programar onde nos aproximamos mais do mundo real, através de

interacionamentos, trazendo para a programação o conceito de 'Objetos'. Assim

como no mundo real tratamos muitos elementos tanto material quanto imaterial

como objetos no mundo da programação não é diferente e até mesmo mais amplo,

pois com POO praticamente tudo pode ser considerado um objeto, por exemplo,

uma pessoa, um carro, um planeta e até mesmo sua conta bancária pode ser objeto

nasce assim a Inter relação entre o objeto real e o de programação.

O objetivo deste modelo é simplesmente abstrair dados do mundo real e

transportar os dados relevantes para o mundo virtual com as mesmas características

(atributos, ações, modo de fabricação), a esses abstração, no mundo de

programação tudo se torna um ‘objeto’. Um exemplo prático:

Temos uma caneta, nós sabemos que uma caneta tem suas características

como tamanho, cor, peso (estes são os atributos da caneta), escrever, cair,

quebrar, vazar (estas são as ações que uma caneta pode realizar) essas

características são levadas a programação orientada a objetos.

A principal característica da POO é o reaproveitamento de componentes

(objetos) assim economizando tempo e consequentemente dinheiro, podemos dividir

nosso projeto em pequenas partes e utilizar estas partes em projetos distintos

podendo assim chegar a um resultado comum. Pode-se ter como resultados códigos

limpos de fácil entendimento e abrangente usabilidade o que é o objetivo do modelo.

Principais conceitos da Programação Orientada e Objetos:

Classe (atributos e métodos)

Page 15: Portifolio Individual 2015 - Individual DP 2 Semestre

15

Classe é a arquitetura do objeto, para que se possa ter um objeto temos que ter a

classe, é na classe que teremos as características dos objetos como atributos

(propriedade) e métodos (ações),

Objeto

Objeto é o produto final, com a classe criada a partir dela podemos instanciar um

objeto.

Encapsulamento

Encapsulamento é como se fosse um dispositivo de segurança, o encapsulamento é

uma forma de esconder dados privativos ou protegidos do nosso objeto para que

terceiros não tenham acesso, exemplo: Eu tenho meu nome e tenho CPF, o primeiro

pode ser visto por todos, o segundo posso encapsular (esconder) para que apenas

algumas pessoas tenham acesso a essa informação.

Herança

Herança, o próprio nome já diz é a habilidade de herdar características de outros

objetos da mesma forma que no mundo real herdamos características físicas, bens

materiais e imateriais de nossos antecedentes.

Polimorfismo

O Polimorfismo caracteriza-se pela criação de métodos com assinaturas iguais, mas

implementações distintas.

Interface

O objetivo de uma interface é servir como modelo para implementação de classes, a

utilização é um tanto quanto complexa, mas dominando o seu uso, pode-se obter

resultados bastante satisfatórios.

Page 16: Portifolio Individual 2015 - Individual DP 2 Semestre

16

Essas são as descrições e principais características de programação orientada a

objetos, e aqui exemplos de programas que trabalham ou foral adaptados a

utilizarem a POO.

Delphi, JAVA, C++, C# e Objetive-C, já outras sofreram adaptações para se adequar

ao modelo como o PHP, Javascript.

3.4. Programação Web I

Desenvolvimento web é o termo utilizado para descrever o desenvolvimento de

sites, na Internet ou numa intranet, utilizando ferramenta de desenvolvimento de

software, tornando essas páginas webs dinâmicas, funcionais, seguras, interativas e

que atendam diversos segmentos. O profissional que trabalha desenvolvendo

websites, podendo ser um Web Designer (Desenvolvedor do Layout), ou Web

Developer (Desenvolvedor de sistemas). O desenvolvimento refere-se a um

processo de construção e testes do software especifico para a web, com a finalidade

de se obter um conjunto de programas, que satisfazem as funções pretendidas, quer

em termos de usabilidade dos usuários ou compatibilidade com outros programas

existentes. O desenvolvimento web pode variar desde simples páginas estáticas

a aplicações ricas, comércios eletrônicos ou redes sociais.

Veremos algumas ferramentas e sus características que delimitam o

desenvolvimento web.

XML

XML (eXtensible Markup Language) é para gerar linguagens de marcação capaz

de descrever diversos tipos de dados. Seu propósito principal é a facilidade de

compartilhamento de informações através da internet.

Entre linguagens baseadas em XML incluem-se XHTML (formato para

páginas Web), RDF, SDMX, SMIL, MathML (formato para expressões

matemáticas), NCL, XBRL, XSIL e SVG (formato gráfico vetorial). A principal

característica do XML, de criar uma infraestrutura única para diversas linguagens.

Page 17: Portifolio Individual 2015 - Individual DP 2 Semestre

17

Características:

Separação do conteúdo da formatação

Simplicidade e legibilidade, tanto para humanos quanto para computadores

Possibilidade de criação de tags sem limitação

Criação de arquivos para validação de estrutura (chamados DTDs)

Interligação de bancos de dados distintos

Concentração na estrutura da informação, e não na sua aparência

O XML é um formato para a criação de documentos com dados organizados de

forma hierárquica, como se vê, frequentemente, em documentos de texto

formatados, imagens vetoriais ou bancos de dados.

O exemplo abaixo equivale ao exemplo da receita de pão:

<?xml version="1.0" encoding="ISO-8859-1"?><receita nome="pão" tempo_de_preparo="5 minutos" tempo_de_cozimento="1 hora"><titulo>Pão simples</titulo><ingredientes><ingrediente quantidade="3" unidade="xícaras">Farinha</ingrediente><ingrediente quantidade="7" unidade="gramas">Fermento</ingrediente><ingrediente quantidade="1.5" unidade="xícaras" estado="morna">Água</ingrediente><ingrediente quantidade="1" unidade="colheres de chá" >Sal</ingrediente></ingredientes><instrucoes><passo>Misture todos os ingredientes,e dissolva bem.</passo><passo>Cubra com um pano e deixe por uma hora em um local morno.</passo><passo>Misture novamente, coloque numa bandeja e asse num forno.</passo> </instrucoes></receita>

Programação Web: PHP

PHP (Hypertext Preprocessor", originalmente Personal Home Page) é usada

originalmente apenas para o desenvolvimento de aplicações presentes e atuantes

no lado do servidor, capazes de gerar conteúdo dinâmico na World Wide

Web. Figura entre as primeiras linguagens passíveis de inserção em

documentos HTML, dispensando em muitos casos o uso de arquivos externos para

eventuais processamentos de dados. A linguagem evoluiu, passou a oferecer

Page 18: Portifolio Individual 2015 - Individual DP 2 Semestre

18

funcionalidades em linha de comando, e além disso, ganhou características

adicionais, que possibilitaram usos adicionais do PHP, não relacionados a web sites.

o PHP é utilizado em aplicações como o MediaWiki, Facebook, Drupal,

Joomla, WordPress, Magento e o Oscommerce.

Principais características

A linguagem PHP é uma linguagem de programação de domínio específico, ou seja,

seu escopo se estende a um campo de atuação que é o desenvolvimento web. Seu

propósito principal é de implementar soluções web velozes, simples e eficientes.

Características:

Velocidade e robustez

Estruturado e orientação a objetos.

Portabilidade - independência de plataforma - escreva uma vez, rode em

qualquer lugar.

Tipagem dinâmica.

Sintaxe similar a C/C++ e o Perl.

Open-source.

Server-side (O cliente manda o pedido e o servidor responde em página

HTML)

AJAX

AJAX (acrônimo em língua inglesa de Asynchronous Javascript and XML) em

português "Javascript Assíncrono e XML") é o uso metodológico de tecnologias

como Javascripte XML, providas por navegadores, para tornar páginas Web mais

interativas com o usuário, utilizando-se de solicitações assíncronas de informações.

Java para Web

Certamente o mercado com mais oportunidades em que o Java está presente é

o de Web. Não é por acaso sua popularidade: criar um projeto com Java dá muita

Page 19: Portifolio Individual 2015 - Individual DP 2 Semestre

19

liberdade, evitando cair no vendor lock-in. Em outras palavras, sua empresa fica

independente do fabricante de vários softwares: do servlet container, do banco de

dados e até da própria fabricante da sua Virtual Machine! Além disso, podemos fazer

todo o desenvolvimento em um sistema operacional e fazer o deploy(implantação)

em outro.

Apesar de tanta popularidade no ambiente Web, o desenvolvimento com Java

não é trivial: é necessário conhecer com certa profundidade as APIs de servlets e de

JSP, mesmo que sua equipe venha utilizar frameworks como Struts, VRaptor ou

JSF. Conceitos de HTTP, session e cookies também são mandatórios para poder

enxergar gargalos e problemas que sua aplicação enfrentará.

Entre essas 4 ferramentas de desenvolvimento web podemos visualizar que

possuem ferramentas de desenvolvimento que atendem a demanda de aplicativos

web a contento. Com vantagens de fácil utilização e performance.

Dentre elas o JAVA atende a diversas plataformas de navegação, e de

sistemas operacionais. Juntamente com outras ferramentas ou até mesmo utilizando

os melhores recursos de cada um deles, podemos chegar a aplicativos com

superioridade no mercado tanto em qualidade técnica com em segurança.

Page 20: Portifolio Individual 2015 - Individual DP 2 Semestre

20

4 CONCLUSÃO

Vimos que o desenvolvimento de software de uma forma geral necessita de

ferramentas que auxiliam de forma sistemática a equipe de desenvolvimento como

um todo. Partindo de ferramenta UML e seus diagramas que facilitam o passo a

passo do desenvolvimento, desde a fase de início com o cliente À sua entrega

definitiva.

Vimos também que o modelo relacional ajuda muito a criar os caminhos

coretos do software a ser desenvolvido.

E por último vimos algumas ferramentas de desenvolvimento web que nos

coloca a um nível extremamente profissional para desenvolver qualquer aplicativo

nesta área em especifico.

Com tudo, vimos que há uma perfeita harmonia entres esses tópicos que nos

leva a ter ciência precisa de que o caminho a ser seguido para o sucesso

profissional neste tão vasta área de conhecimento, com certeza, passa por essas

fases. Vamos então a obra, de qualificamos nos mesmo para atender esse vasto

mercado que nos espera.

Page 21: Portifolio Individual 2015 - Individual DP 2 Semestre

21

5 REFERÊNCIAS

FREITAS, Veronica. PROGRAMAÇÃO WEB II. 4 ed. São Paulo: Pearson, 2013.

NISHIMURA, Roberto Yukio. BANCO DE DADOS II: ANÁLISE E DESENVOLVIMENTO DE SISTEMAS. São Paulo: Pearson Education do Brasil, 2009.

SOLER, Luciano; EWERSON, Matias. DESENVOLVIMENTO DE APLICAÇÃO WEB I. 4 ed. São Paulo: Pearson, 2010.