Escolar Documentos
Profissional Documentos
Cultura Documentos
Engenharia da Web
Engenharia da Web
Aula 1: Introdução
✔
No final de 1990, Berners-Lee já havia
construído as ferramentas necessárias para o
sistema:
✔
o navegador, o servidor web e as páginas
web.
O que é a Web (WWW)?
✔
As páginas são documentos que podem conter
texto, vídeos, sons, hipertextos, figuras e outras
mídias.
Para visualizar a informação é necessário um
✔
ambos.
✔
- Nome de Recursos Uniforme - URN (Uniform Resource Name) é
como o nome de uma pessoa
✔
- Localização de Recursos Uniforme - URL (Uniform Resource
Locator) é como o um endereço da pessoa – único para aquela
pessoa.
O URN define a identidade de um item, enquanto que o URL nos dá
✔
No início da Web:
➢
- Conteúdo estático e textual
➢
- Interação limitada
➢
- Navegabilidade fácil
➢
- Desempenho não era essencial
➢
- Websites desenvolvidos apenas por uma
pessoa ou por um pequeno grupo
A Evolução da Web (Atual)
Atualmente:
✔
Escopo e complexidade vêm aumentando
✔
Sons, imagens, animações, vídeo, etc.
✔
Navegabilidade complexa
✔
Desempenho essencial
A Evolução da Web
Telefone - 74 anos
Rádio - 38 anos
PC - 16 anos
TV - 13 anos
Internet - 4 anos
Skype - 2 anos
Redes sociais - 3 meses
O cenário atual
➔
Websites feitos com pouca disciplina, sem
preocupação com técnicas e métodos
padronizados (sem controlar a qualidade)
➔
Muitos simplificam o processo
➔
acham que desenvolvimento para a Web é apenas
criação de páginas usando HTML, usando
ferramentas como Frontpage ou Dreamweaver
➔
Há uma demanda crescente por conteúdo e
aplicações com conteúdo dinâmico e baseado em
banco de dados.
Engenharia para a Web
✗
Processo utilizado para criar software para o
ambiente web (aplicativos Web ou WebApps) de
alta qualidade.
✗
Não é igual a Engenharia de Software
tradicional, mas compartilha dos mesmos
conceitos e princípios.
✗
Incorpora novas abordagens, metodologias,
ferramentas, técnicas e normas para atender os
requisitos exclusivos dos sistemas para a Web.
Engenharia da Web (definição)
14
Engenharia da Web
15
Engenharia da Web – Atributos de
WebApps
Concentradas em Redes
WebApps estão disponíveis em redes
• Internet: permitindo comunicação aberta ao mundo todo
• Intranet: implementando as comunicações dentro das
organizações
• Extranet: comunicação entre redes
16
Engenharia da Web – Atributos de
WebApps
17
Engenharia da Web – Atributos de
WebApps
Evolução contínua
ao contrário dos softwares tradicionais que
evoluem ao longo de uma série de versões
planejadas e cronologicamente espaçadas,
aplicações baseadas na Web evoluem
continuamente
18
Engenharia da Web – Características
Imediatismo
prazo de colocação no mercado é curto
Segurança
disponível em redes
limitar a população de usuário que podem
ter acesso a WebApp
proteger conteúdo reservado
fornecer modos seguros de transmissão de
dados
19
Engenharia da Web – Características
Estética
para vender idéia ou produto a apresentação é
aspecto que influencia no sucesso da aplicação
20
Engenharia da Web – Categorias de
WebApps
Informacional
conteúdo somente de leitura
fornecido com navegação
ligações simples
21
Engenharia da Web – Categorias de
WebApps
Para baixar (download)
Um usuário baixa informações de um servidor
22
Engenharia da Web – Categorias de
WebApps
Interação / Redes Sociais
comunicação entre uma comunidade ocorre por
intermédio de salas de bate-papos, quadros de aviso
ou mensagens instantâneas
23
Engenharia da Web – Categorias de
WebApps
Entrada do usuário
entrada baseada em formulários
24
Engenharia da Web – Categorias de
WebApps
Orientada a transação
o usuário faz uma solicitação (pedido) que é atendido
pela WebApp
25
Engenharia da Web – Categorias de
WebApps
Orientada a serviços
a aplicação fornece serviços ao usuário
26
Engenharia da Web – Categorias de
WebApps
Portal
a aplicação orienta o usuário para conteúdos ou serviços
da web fora do domínio da aplicação do portal
27
Engenharia da Web – Categorias de
WebApps
De acesso a base de dados
O usuário consulta uma grande base de dados e
extrai informações
28
Exercícios
(Pressman)
30
Modelo de processo da WebE
Iterativo e incremental
•O processo é realizado em fases que se
repetem ao longo do desenvolvimento (iterativo)
•É incremental, pois o software web é entregeu
em incrementos evolutivos.
Formulação
identificação das metas e dos objetivos da WebApp
qual é a principal motivação da WebApp?
por que a WebApp é necessária?
quem vai usar a WebApp?
estabelece o escopo do primeiro incremento
31
Modelo de processo da WebE
Planejamento
estima-se o custo global do projeto
avaliação dos riscos
definição de cronograma detalhado para o
primeiro incremento
previsão de cronograma para os
incrementos subseqüentes
32
Modelo de processo da WebE
Análise
estabelecimento dos requisitos
identificação do conteúdo
definição do projeto gráfico (estética)
documentação X evolução contínua: como
conciliar?
33
Modelo de processo da WebE
Engenharia
Projeto do conteúdo e produção: projetar
e/ou adquirir todo o conteúdo de texto,
gráfico, áudio e vídeo, que deve ser
integrado na WebApp
34
Modelo de processo da WebE
Engenharia
Projeto navegacional
• definição dos caminhos de navegação que
permitem ao usuário ter acesso ao conteúdo e aos
serviços
• pode estar ligado ao tipo de usuário
• definição da mecânica da navegação: ligações
baseadas em texto, ícones, botões
• estabelecer convenções e ajudas à navegação
35
Modelo de processo da WebE
Engenharia
Projeto da interface
• precisa “prender” um provável usuário
imediatamente
• evitar erros do servidor, sinais de “em
construção”, grande quantidade de texto
explicativo
• usuário prefere não rolar: uma informação
importante deve ser colocada dentro das
dimensões da janela
• a estética nunca deve sobrepujar a funcionalidade
• as opções de navegação devem ser óbvias
36
Modelo de processo da WebE
Geração de página
o conteúdo produzido na engenharia é
combinado com o projeto arquitetural,
navegacional e de interface para produzir
páginas da web executáveis, utilizando uma
linguagem de programação
Testes
• exercita a navegação da WebApp
• tenta descobrir erros
• ajuda garantir a correta operação
37
Modelo de processo da WebE
Avaliação do Cliente
revisão dos incrementos produzidos
solicitação de modificações
as modificações são integradas nos
próximos incrementos
38
Equipe da WebE
Desenvolvedores e provedores de
conteúdo
geração ou coleta do conteúdo
oriundos de diversas áreas: venda ou
comercialização, produtores de áudio e
vídeo, redatores, projetistas gráficos,
pessoal de pesquisa
Editor da web
organizar o conteúdo
precisa conhecer tanto do conteúdo quanto
da tecnologia
39
Equipe da WebE
Engenheiro da web
dedução de necessidades
análise e Modelagem
projeto arquitetural, navegacional e de
interface
implementação e Teste
sólidos conhecimentos de:
• arquiteturas cliente/servidor
• HTML/XML e tecnologias de bancos de dados
• multimídia
• plataformas de hardware/software
• segurança de redes
40
Equipe da WebE
Especialista de suporte
dar continuidade ao suporte da WebApp
correções
adaptações
aperfeiçoamento
atualizações de conteúdo
implementação de novos procedimentos e
formulários
modificações no padrão de navegação
41
Equipe da WebE
Administrador (Web Master)
desenvolvimento e implementação de
políticas de operação da WebApp
estabelecimento de procedimentos de
suporte e realimentação
implementação de procedimentos de
segurança e direitos de acesso
medição e análise do tráfego no site de Web
coordenação dos procedimentos de controle
de modificações
coordenação dos especialistas de suporte
42
Elementos técnicos para um
projeto efetivo
O dilema do projetista:
O projeto deve resolver os problemas
urgentes
É preciso criar uma arquitetura que
comporte uma evolução rápida
Para isso, é necessário empregar:
Métodos e Princípios de Projeto
Regras de Ouro (Golden Rules)
Padrões de Projetos (Design Patterns)
Modelos (Templates)
43
Métodos e Princípios de Projeto
44
Regras de Ouro (Golden Rules)
46
Modelos (Templates)
47
BIBLIOGRAFIA CONSULTADA
Parte 3, Aplicação de
Engenharia da Web, apresenta uma
abordagem completa de engenharia
para análise, projeto e teste de
aplicações da Web.
48