Anda di halaman 1dari 9

06/11/2010

Engenharia da WEB

Fernando Schütz
Especialização 2010
UTFPR

Vida moderna

Sistemas WEB
• Início
– Arquivos hipertexto
• Hoje
– Bancos!
• Powell
– “Sistemas WEB envolvem uma mistura de 
publicação impressa e desenvolvimento de 
software, de comercialização e computação, de 
comunicações internas e relações externas, e de 
arte e tecnologia”

1
06/11/2010

Atributos (1/3) 

• Concentração em redes
– Internet e Intranet
• Concorrência
• Carga imprevisível
• Desempenho
• Disponibilidade
– 24/7/365

Atributos (2/3)
• Voltada a dados
– bancos, e‐commerce

• Sensível ao conteúdo
– Qualidade e natureza

• Evolução continuada
– “O desenvolvimento de sistemas WEB, está, com frequencia, 
muito mais relacionado à criação de uma infra‐estrutura
(dispondo as linhas mestras do jardim) e depois ao “cultivo” 
da informação, que cresce e floresce dentro deste jardim…. 
Uma boa arquitetura inicial deve permitir que esse
crescimento ocorra de um modo controlado e consistente” 
(Lowe)

Atributos (3/3)

• Imediatismo
– Adaptação de técnicas de planejamento, análise, 
projeto, implementação e teste em cronogramas
de tempo reduzido

• Segurança

• Estética

2
06/11/2010

Categorias de aplicação (1/2)

Informacional Conteúdo para leitura apenas

Para baixar Download de servidores adequados

Usuário pode adaptar o conteúdo às


Adaptável suas necessidades

Comunicação entre uma comunidade


Interação de usuários (chat, quadros de avisos, 
etc.)

Formulário é o principal meio de 


Entrada do usuário comunicação

Categorias de aplicação (2/2)


Solicitações (pedidos, p.ex.) que são
Orientada a transação atendidas pela WebApp

A WebApp fornece um serviço ao 
Orientada a serviços usuário (cálculos, p.ex.)

A aplicação orienta o usuário para 
A aplicação orienta o usuário para
Portal outros contéudos ou serviços fora do 
domínio de aplicação do portal

Consulta a grandes bases de dados e 
Banco de dados extrai a informação

Consulta a uma coleção de grandes 
Armazém de dados bancos de dados e extrai informação

Exercício

• Encontre sites na WEB e


– Classifique de acordo com tipos de site
– Veja se atributos como
• Disponibilidade
p
• Segurança
• Estética
• Sensível ao conteúdo
– estão presentes

3
06/11/2010

Engenharia
Processo
• Filosofia do desenvolvimento ágil
– “A Internet modificou a principal prioridade do 
desenvolvimento de software do o quê para
quando…. Mesmo assim o projeto deve ser 
analisado, e usar um processo que:
• Acolhe modificações
• Encoraja a criatividade e independência da equipe de 
desenvolvimento e forte interação com os clientes
• Pequenas equipes de desenvolvimento
• Ciclos curtos de desenvolvimento” (Aoyama)

Engenharia
Métodos
• Métodos de 
– Comunicação
• Importantes durante a coleta de requisitos
– Análise de requisitos
q
• Base para o entendimento
– Projeto
• Conteúdo, arquitetura, interface, navegação, etc.
– Teste
• Quanto mais melhor!

Engenharia
Tecnologias
• HTML, VRML, XML, JAVA, CORBA, COM, 
ActiveX, .NET
• Pesquisa em campo
– Web Developer
Web Developer’ss Virtual Encyclopedia
Virtual Encyclopedia
• www.wdlv.com
– WebDeveloper
• www.webdeveloper.com
– WebReference
• www.webreference.com

4
06/11/2010

O processo de Engenharia
WEB

“O desenvolvimento Web está na adolescência… Como a maioria


dos adolescentes, quer ser aceito como adulto quando tenta se 
afastar de seus pais. Se estiver caminhando para atingir todo o 
seu potencial, precisa aprender algumas lições do mundo mais
maduro de desenvolvimento de software.”

Doug Wallace et all.

Existe um processo a ser seguido?!

• Imediatismo e evolução

– Metodologias ágeis

• Grande aplicação de e‐commerce

– Modelo de processo incremental

Processo

• Organização!
– Arcabouço do processo
– Definição do arcabouço
1. WebApps
pp são entregues
g incrementalmente
2. Modificações ocorrerão frequentemente
3. Cronogramas são curtos

5
06/11/2010

1. Nossa maior prioridade é satisfazer o cliente desde o início por meio de entrega 
contínua de software valioso.
2. Modificações de requisitos são bem‐vindas, mesmo que tardias no 
desenvolvimento.
3. Entrega de software funcionando freqüentemente no menor espaço de tempo.
4. O pessoal de negócio e os desenvolvedores devem trabalhar juntos diariamente 
durante todo o projeto.
5. Construção de projetos em torno de indivíduos  motivados.
6. O método mais efetivo de levar informação para uma equipe de desenvolvimento 
é por meio da conversa face a face.
7. Software funcionando é a principal medida de progresso.
8. Processos ágeis promovem desenvolvimento sustentável.
9. Atenção contínua à excelência técnica e ao bom projeto facilitam a agilidade.
10. Simplicidade: a arte de maximizar a qualidade de trabalho efetuado.
11. As melhores arquiteturas, requisitos e projetos surgem de equipes auto‐
organizadas.
12. Em intervalos regulares, a equipe reflete sobre como se tornar mais efetiva, então 
sintoniza e ajusta adequadamente seu comportamento

XP

Pressmann, Roger S. Engenharia de Software

SCRUM

Pressmann, Roger S. Engenharia de Software

6
06/11/2010

Processo

• Comunicação com o cliente
– Análise
• Contexto
• Identificação dos interessados, requisitos, integração
com outras aplicações
– Formulação do negócio
• Coleta de requisitos que envolve todos os
interessados

Processo
– Planejamento
• Plano de projeto para o incremento
• Cronograma
– Modelagem
• Usa‐se os
Usa se os modelos e há
e há uma adaptação
– Construção
• Usando ferramental e tecnologia
• E testes incrementais para garantir que erros sejam
descobertos
– Implantação
• Configuração e entrega

Processo WebE

Pressmann, Roger S. Engenharia de Software

7
06/11/2010

Refinamento do arcabouço
• Questões:
– Quão importante é uma página principal? Deve
ter informações úteis ou apenas uma lista de 
links?
– Qual
Q l é o lay‐out
é l t mais
i efetivo
f ti e ele
l varia?
i ?
– Que opções de mídia têm maior impacto? 
Gráficos?
– Quanto de trabalho pode‐se esperar que um 
usuário faça quando ele ou ela está procurando
a informação?

Refinamento do arcabouço

• Questões:
– Quão importantes são os apoios navegacionais?
– Quão complexo pode ser o formulário de 
entrada antes que
q ele se torne irritante?
– Quão importantes são os recursos de busca? 
Onde colocar páginas de acesso externo direto?
– A WebApp será projetada para que seja acessível
a pessoas com alguma deficiência física?

Melhores práticas

“Certifique‐se de que a necessidade do negócio


de uma WebApp gtenha sido claramente
enunciada por alguém. Se ela não foi, seu
projeto WebE corre risco”
Pressmann

8
06/11/2010

Melhores Práticas
• Empregue tempo para entender as necessidade do 
negócio e os objetivos do produto
• Descreva como os usuários irão interagir com a 
WebApp usando uma abordagem baseada em
cenário
• Planejamento e acompanhamento
• Modelagem
• TEstes
• Desenvolva um plano de projeto, mesmo que ele
seja muito abreviado

Melhores Práticas
• Empregue algum tempo modelando o que você
está querendo construir
• Revise os modelos quanto à consistência e 
qualidade
• Use ferramentas e tecnologia que lhe possibilitem
construir o sistema com tantos componentes
reusáveis quanto possível
• Não confie nos primeiros usuários para depurar a 
WebAPP

Exercícios
• Usando um site real como exemplo, ilustre as 
diferentes manifestações do “conteúdo” da WebApp

• Faça uma lista de “riscos” que poderiam


provavelmente ocorrer durante o desenvolvimento
d
de uma nova aplicação
li ã do e‐commerce que
d é
é 
projetada para vender telefones móveis e serviços
diretamente pela WEB

• Há outros atributos genéricos que diferencias as 


WebApps de aplicações de software mais
convencionais? Cite dois.

Anda mungkin juga menyukai