50
Engenharia WEB Benedilson Lima

Engenharia web seminário

Embed Size (px)

Citation preview

Page 1: Engenharia web   seminário

Engenharia WEB

Benedilson Lima

Page 2: Engenharia web   seminário

Introdução

O Você já sabe que a Web é grande (Cultural e social):

O Como compramos produtos (comércio eletrônico);

O Encontramos pessoas (encontros on-line);

O Entendemos o mundo (portais);

O Vemos noticia (mídia on-line);

O Expressamos nossas opiniões (blogs);

O Nos divertimos (desde downloads, até cassinos on-line).

Seminário Engenharia Web - Benedilson Lima 2

Page 3: Engenharia web   seminário

Discussões introdutórias

O O enfoque da escola antiga, de forma lamentável,

era um proposição do tipo acertar-ou-errar (ad hoc);

O O veículo que adquire informação, a estrutura,

mostra uma apresentação empacotada e a entrega

é chamado de aplicação Web (WebApp);

O Quando uma WebApp é combinada com hardware

cliente e servidor, SO, redes e navegadores, surge

um sistema baseado na Web.

Seminário Engenharia Web - Benedilson Lima 3

Page 4: Engenharia web   seminário

Discussões introdutórias

O WebApps são realmente softwares de computador?

O No sentido de que são uma coleção de instruções

executáveis e dados que oferecem informações e

funcionalidades para usuários finais.

Seminário Engenharia Web - Benedilson Lima 4

Page 5: Engenharia web   seminário

Os atributos a seguir são encontrados na grande maioria das WebApps:

O Intensidade da rede: Cada WebApp reside em uma rede e deve servir às necessidades de uma comunidade diversificada de clientes;

O Simultaneidade: Um grande número de usuários poderá acessar a WebApp ao mesmo tempo;

O Carga imprevisível: O número de usuários da WebApp poderá variar por ordens de grandeza de um dia para o outro;

O Desempenho: Se um usuário de WebApp tiver que esperar muito tempo ele ou ela poderá decidir ir para outro lugar;

O Disponibilidade: 24 h, 7 dias por semana, 365 dias por ano;

Orientada a dados – Sensível ao conteúdo – Evolução continua – Urgência – Segurança – Estética

Seminário Engenharia Web - Benedilson Lima 5

Page 6: Engenharia web   seminário

Então você deseja montar uma WebApp?

O Logicamente, você poderia utilizar uma combinação de informalidade, urgência, intuição e arte (técnica da escola antiga);

O A WebApp pode:

O Não fazer o que deveria;

O Ser entregue atrasada ou nem ser entregue;

O Ser difícil, ou impossível de se corrigir, adaptar ou melhorar.

O Se todas as coisas correrem bem, você e seus colegas serão heróis e nascerá uma WebApp significativa.

Seminário Engenharia Web - Benedilson Lima 6

Page 7: Engenharia web   seminário

O que é Engenharia Web?

O É uma alternativa que se opõem a técnica da escola antiga – uma que reduz (mas não elimina) o risco e tem uma probabilidade mais alta de sucesso quando WebApps de qualidade industrial precisam ser montadas. Essa alternativa chama-se: engenharia Web (WebE).

O A WebE propõe um arcabouço ágil, porém disciplinado para a montagem de WebApps de qualidade industrial.

Seminário Engenharia Web - Benedilson Lima 7

Page 8: Engenharia web   seminário

Engenharia Web não se trata de ferramentas e tecnologia?

O São muito importantes, mas só

funcionarão bem se forem usadas dentro

do contexto de um arcabouço ágil para

engenharia Web e em conjunto com

métodos comprovados para entender o

problema, projetar uma solução e testa-la

completamente.

Seminário Engenharia Web - Benedilson Lima 8

Page 9: Engenharia web   seminário

Processos de Engenharia Web

Seminário Engenharia Web - Benedilson Lima 9

Page 10: Engenharia web   seminário

Comunicação

Entre os princípios mais fundamentais da

engenharia de software está: entenda o

problema antes de começar a resolvê-lo e

certifique-se de que a solução que você

concebe é aquela que as pessoas

realmente desejam. É razoável sugerir que

esse princípio também deva se tornar um

pilar da engenharia Web.

Seminário Engenharia Web - Benedilson Lima 10

Page 11: Engenharia web   seminário

A atividade de comunicação

O É o local onde os engenheiros Web e os

interessados se engajam em uma série de ações

de WebE que:

O Formulação;

O Elicitação;

O Negociação.

Seminário Engenharia Web - Benedilson Lima 11

Page 12: Engenharia web   seminário

Planejamento

O Se o incremento da WebApp for simples,

o planejamento exigirá muito pouco

tempo;

O Se por outro lado, o incremento for

complexo – conteúdo, funcionalidade,

restrições e desempenho, o planejamento

exigirá maior esforço e abrangerá cada

uma das ações e tarefas discutidas a

seguir...

Seminário Engenharia Web - Benedilson Lima 12

Page 13: Engenharia web   seminário

A equipe da Engenharia Web

O Desenvolvedores/provedores de conteúdo:

O Geração e coleta de conteúdo;

O Oriundos de diversas áreas.

O Editor da Web:

O Organizador dos conteúdos gerados pelos

desenvolvedores/provedores.

O Elemento de ligação.

O Engenheiro da Web:

O Envolvido com atividades durante o desenvolvimento

de uma WebApp.

Seminário Engenharia Web - Benedilson Lima 13

Page 14: Engenharia web   seminário

A equipe da Engenharia Web O Especialista do domínio de negócio:

O Deve ser capaz de responder a todas as questões

relativas às metas, aos objetivos e aos requisitos de

negócio.

O Especialista de suporte:

O WebApps evoluem continuamente;

O Correções, adaptações e aperfeiçoamentos do site;

O Atualizações do conteúdo;

O Implementação de novos procedimentos e formulários;

O Modificações no padrão de navegação.

O Administrador:

O Web Master;

O Pode se envolver com atividades técnicas realizadas

por engenheiros da Web e especialista de suporte. Seminário Engenharia Web - Benedilson Lima 14

Page 15: Engenharia web   seminário

A diferença organizacional entre o desenvolvimento terceirizado e o interno

Seminário Engenharia Web - Benedilson Lima 15

Page 16: Engenharia web   seminário

Como avaliamos os riscos?

Riscos Probabilidade Impacto

Pessoas

Pouca experiência com XML na equipe 80% 3

Interessados não cooperativos 60% 2

Gerente "sênior" pode mudar no meio do caminho 40% 1

Produto

Conteúdo informativo pode estar desatualizado 50% 2

Algoritmos podem não estar definidos adequadamente 80% 3

Segurança para WebApp mais difícil do que o esperado 80% 3

Integração do banco de dados mais difícil do que o esperado 40% 3

Capacidade de definição de espaço mais difícil do que o esperado 70% 3

Processo

Não há ênfase suficiente em comunicação 60% 2

Muitas tarefas de análise (muito tempo gasto) 30% 1

Não há ênfase suficiente no projeto de navegação 40% 2

... ... ...

Seminário Engenharia Web - Benedilson Lima 16

Page 17: Engenharia web   seminário

Cronograma

Seminário Engenharia Web - Benedilson Lima 17

Page 18: Engenharia web   seminário

Estimando esforço e tempo Conteúdo e funções Análise Projeto Codificação Teste Entrega Feedback Total

Paredes, portas e

janelas 1 2 2 2 0,5 0,25 7,75

Sensores 0,5 1,5 1 1 0,25 0,25 4,5

Especificar e desenhar

paredes, portas e

janelas 1,25 3 3 3 1 0,25 11,5

Calcular o tamanho do

cômodo 0,5 1 2 1 0,5 0,25 5,25

Salvar/recuperar

espaço nomeado 0 1 1 0,5 0,5 0,25 3,25

Atualizar/excluir espaço

nomeado 0 1 1 0,5 0,5 0,25 3,25

imprimir espaço

nomeado 0 1 1 0,5 0,5 0,25 3,25

Recomendar hardware

de segurança 0,5 3 2 2 0,5 0,25 8,25

Especificar hardware

de segurança 0,5 2 2 3 0,5 0,25 8,25

Totais 4,25 15,5 15 13,5 4,75 2,25 55,25

Seminário Engenharia Web - Benedilson Lima 18

Page 19: Engenharia web   seminário

Modelagem de análise para aplicações da Web

O Temos observado que WebApps têm um

imediatismo e uma volatilidade que vão

contra a modelagem detalhada tanto no

nível de análise quanto de projeto.

Seminário Engenharia Web - Benedilson Lima 19

Page 20: Engenharia web   seminário

Essa modelagem de análise deve existir apenas se....

O A WebApp a ser construída é grande e/ou

complexa;

O O número de interessados é grande;

O O número de engenheiros da Web e outros

colaboradores é grande;

O As metas e os objetivos (durante a formulação) da

WebApp vão afetar os fundamentos básicos do

negócio;

O O sucesso da WebApp terá um forte efeito no

sucesso do negócio. Seminário Engenharia Web - Benedilson Lima 20

Page 21: Engenharia web   seminário

Casos de uso

O Casos de uso são o

catalisador de todas

as atividades de

análise e

modelagem de

requisitos

Hierarquia de usuários

Seminário Engenharia Web - Benedilson Lima 21

Page 22: Engenharia web   seminário

Modelos de análise

Análise de conteúdo:

O Identifica todo o

espectro de

conteúdo a ser

fornecido pela

WebApp.

Análise de interação:

O Descreve o modo

pelo qual o usuário

interage com a

WebApp.

Seminário Engenharia Web - Benedilson Lima 22

Page 23: Engenharia web   seminário

Modelos de análise

Análise funcional:

O Operações que

serão aplicadas ao

conteúdo da

WebApp;

O Funções de

processamento

independentes do

conteúdo.

Análise de configuração:

O Descreve o ambiente

e a infra-estrutura nos

quais a WebApp

reside.

Seminário Engenharia Web - Benedilson Lima 23

Page 24: Engenharia web   seminário

Modelagem de projeto para WebApps

• Para atingir esses atributos de qualidade, um bom projeto deve apresentar:

Simplicidade, consistência, identidade, robustez, navegabilidade e atração visual.

Segurança, escalabilidade e prazo para colocação no mercado.

Seminário Engenharia Web - Benedilson Lima 24

Page 25: Engenharia web   seminário

Projeto de interface O Representação de leiaute de tela;

O Definição dos modos de interação;

O Descrição dos mecanismos de navegação.

Seminário Engenharia Web - Benedilson Lima 25

Page 26: Engenharia web   seminário

Projeto de estética

O Também chamado de projeto gráfico;

O Descreve o “aspecto” da WebApp;

O Esquemas de cor, leiaute geométrico,

tamanho de texto, fonte e colocação, uso

de gráficos e decisões estéticas

relacionadas.

Seminário Engenharia Web - Benedilson Lima 26

Page 27: Engenharia web   seminário

Projeto de conteúdo

O Define o leiaute, a estrutura e o esboço para todo o

conteúdo apresentado como parte da WebApp;

O Estabelece os relacionamentos entre objetos de

conteúdo.

Seminário Engenharia Web - Benedilson Lima 27

Page 28: Engenharia web   seminário

Projeto de conteúdo começa com a representação dos objetos

de conteúdo, sua associações e relacionamentos.

Seminário Engenharia Web - Benedilson Lima 28

Page 29: Engenharia web   seminário

Projeto de arquitetura O Identifica a estrutura global de hipermídia de WebApp;

O Estilos arquiteturais de conteúdo incluem estrutura linear, em

malha, hierárquica e em rede.

Seminário Engenharia Web - Benedilson Lima 29

Page 30: Engenharia web   seminário

Projeto de arquitetura O Identifica a estrutura global de hipermídia de WebApp;

O Estilos arquiteturais de conteúdo incluem estrutura linear, em

malha, hierárquica e em rede.

Seminário Engenharia Web - Benedilson Lima 30

Page 31: Engenharia web   seminário

Arquitetura da WebApp Projeto de arquitetura em três camadas;

Desacopla a interfase da navegação e do

comportamento da aplicação;

Simplicidade a implementação e reuso aumentado. Seminário Engenharia Web - Benedilson Lima 31

Page 32: Engenharia web   seminário

Projeto de componente

O Desenvolve a lógica de processamento detalhado

necessário para implementar componentes

funcionais de WebApps.

O Fornecem acesso e consulta a banco de dados

sofisticados;

O Estabelecem interfaces de dados a sistemas

externo à empresa.

Seminário Engenharia Web - Benedilson Lima 32

Page 33: Engenharia web   seminário

Padrões de projeto de WebApp

O Englobam padrões de projeto genéricos que se

aplicam a todos os tipos de software e padrões de

hipermídia especialmente relevantes para WebApps.

O Padrões:

O Arquiteturais;

O Construção de componentes;

O Navegação;

O Apresentação;

O Comportamento/usuário-interação.

Seminário Engenharia Web - Benedilson Lima 33

Page 34: Engenharia web   seminário

Método de Projeto de Hipermídia Orientado a Objetos

O Object-Oriented Hypermedia Design Method;

O É um de vários métodos propostos para

projetos de WebApp;

O Sugere um processo de projeto que inclui:

O Projeto conceitual;

O Projeto navegacional;

O Projeto de interface abstrata;

O Implementação.

Seminário Engenharia Web - Benedilson Lima 34

Page 35: Engenharia web   seminário

Resumo do método OOHDM

Seminário Engenharia Web - Benedilson Lima 35

Page 36: Engenharia web   seminário

Esquema conceitual parcial

Seminário Engenharia Web - Benedilson Lima 36

Page 37: Engenharia web   seminário

Construção e Implantação

Seminário Engenharia Web - Benedilson Lima 37

Page 38: Engenharia web   seminário

Construção

O Conjunto de ações de seleção, codificação,

gerenciamento de conteúdo, autoria de páginas,

integração, refatoração e teste.

O Ferramentas e tecnologia de WebE, são aplicadas

para construir a WebApp que foi modelada;

O Quando o incremento da WebApp tiver sido

construído, uma série de testes rápidos é realizada

para garantir que os erros no projeto sejam

descobertos.

Seminário Engenharia Web - Benedilson Lima 38

Page 39: Engenharia web   seminário

Seleção

O Envolve a identificação de componentes

relevantes preexistentes, que podem ser

reutilizados dentro do projeto proposto;

O Princípios:

O Levar em consideração as restrições do ambiente

técnico;

O Combinar os componentes com os ambientes de

informação e funcionais;

O Considerar as habilidades e o conhecimento dos

desenvolvedores e prováveis mantenedores.

Seminário Engenharia Web - Benedilson Lima 39

Page 40: Engenharia web   seminário

Codificação

O Cobre a adaptação de componentes

existentes ou a criação de novos

componentes;

O Pode envolver a criação direta de HTML,

ou código fonte em linguagem de script;

O Geração automática de código usando

uma representação de projeto

intermediária do componente a ser

construído.

Seminário Engenharia Web - Benedilson Lima 40

Page 41: Engenharia web   seminário

Princípios

O Escrever código que seja auto documentável;

O Restringir seus algoritmos seguindo práticas da

programação estruturada;

O Manter a lógica condicional o mais simples

possível e garantir que possa ser testada.

Seminário Engenharia Web - Benedilson Lima 41

Page 42: Engenharia web   seminário

Gerenciamento de conteúdo

O Criação, migração e estruturação do

conteúdo;

O Princípios:

O Selecionar estruturas de dados que

atendam às necessidades do projeto;

O Garantir a coerência nos formatos e

estruturas de dados;

O Evitar confiar em formatos de dados

proprietários.

Seminário Engenharia Web - Benedilson Lima 42

Page 43: Engenharia web   seminário

Autoria de páginas

O A integração do conteúdo bruto com o

projeto gráfico e o mapeamento do

conteúdo nas telas e páginas.

O Princípios:

O Considerar continuamente as questões de

usabilidade;

O Entender como seus usuários reagirão, e

não como você quer que eles reajam.

Seminário Engenharia Web - Benedilson Lima 43

Page 44: Engenharia web   seminário

Integração

O Vinculo do código, conteúdo e apresentação

nos componentes finais a serem liberados;

O Princípios:

O Procurar divergências ou inconsistências na

interface do componentes;

O Ter oportunidade de identificar componentes

que precisam de refatoração.

Seminário Engenharia Web - Benedilson Lima 44

Page 45: Engenharia web   seminário

Refatoração

O É uma ação interativa para “polir” os

componentes implantados a fim de

melhorar sua estrutura e esclarecer e

remover código redundante;

O Princípios:

O Refatore com frequência, e em pequenas

etapas, quando surgir a oportunidade;

O Garantir que a implementação comunica o

projeto de maneira óbvia.

Seminário Engenharia Web - Benedilson Lima 45

Page 46: Engenharia web   seminário

Teste

O Verificação de que os diversos

componentes e objetos estão corretos;

O Princípios:

O Realizar uma revisão exaustiva;

O Realizar testes unitários e corrigir os erros

encontrados;

O Selecionar testes que mais provavelmente

localizarão erros, em vez se oculta-los.

Seminário Engenharia Web - Benedilson Lima 46

Page 47: Engenharia web   seminário

Implantação

O A WebApp é configurada para o seu

ambiente operacional;

O Entregue aos usuários finais;

O Período de avaliação é iniciado;

O O feedback da avaliação é apresentado à

equipe de WebE;

O O incremento é modificado conforme a

necessidade.

Seminário Engenharia Web - Benedilson Lima 47

Page 48: Engenharia web   seminário

Ferramentas e tecnologias para WebApps

O Linguagens de descrição de conteúdo e modelagem: HTML, VRML e XML;

O Linguagens de programação: Java;

O Recursos de desenvolvimento baseados em componentes: CORBA, COM, ActiveX, .NET;

O Navegadores, ferramentas de multimídia, conectividade de banco de dados, segurança, servidores, gerenciamento e análise de sites.

Seminário Engenharia Web - Benedilson Lima 48

Page 49: Engenharia web   seminário

Tendências futuras O É provável que o conteúdo e funcionalidade

da Web evolua à medida que aparecem mais

e mais WebApps mash-up;

O O acesso se tornará onipresente, abrindo

oportunidades para remessa de conteúdo

com valor em tempo real;

O A Web 2.0 trata da criação de uma

experiência Web mais comprometida,

interativa e coletiva, onde todos os usuários

são capazes de serem participantes ativos,

ao invés de passivos. Seminário Engenharia Web - Benedilson Lima 49

Page 50: Engenharia web   seminário

Bibliografia

Seminário Engenharia Web - Benedilson Lima 50

PRESSMAN, Roger S. Engenharia de Software, 6ª edição, ed. Makron Books.

PRESSMAN, Roger S; LOWE, David. Engenharia Web, ed. Ltc.