modelagem de sistemas web - aula 3.ppt [modo de … · 2012-04-02 · projeto de sistemas...

21
Modelagem de Sistemas Web Aula 3 Aula 3 Projeto de Sistemas Web Fontes: Roger Pressman, Martin Fowler e Craig Larman

Upload: trankien

Post on 07-Nov-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Modelagem de sistemas Web - Aula 3.ppt [Modo de … · 2012-04-02 · Projeto de sistemas WebProjeto de sistemas Web ... diagrama de pacotes e de classes, ... implementação de segurança

Modelagem de Sistemas WebAula 3Aula 3

Projeto de Sistemas Web

Fontes: Roger Pressman, Martin Fowler e Craig Larman

Page 2: Modelagem de sistemas Web - Aula 3.ppt [Modo de … · 2012-04-02 · Projeto de sistemas WebProjeto de sistemas Web ... diagrama de pacotes e de classes, ... implementação de segurança

Projeto de sistemas WebProjeto de sistemas Web

Pl j t d li ã W b FPlanejamento de uma aplicação Web - Fases (UML Essencial, 47-51)

Análise de Requisitos – Procura descobrir o que os usuários e clientes de q qum produto de software querem que o sistema faça. Utilizar os seguintes diagramas UML:

Casos de Uso – descrevem como as pessoas interagem com o sistema;Casos de Uso descrevem como as pessoas interagem com o sistema;Diagrama de Classes Diagrama de Atividades – fluxo de trabalho da organização, indicando a IHCDiagrama de Estados - útil para o caso de um conceito ter ciclo de vida com váriosDiagrama de Estados útil para o caso de um conceito ter ciclo de vida com vários estados e eventos que mudam esses estados.OBS: A comunicação desenvolvedor-usuário-cliente é fundamental.

Projeto – Organização de metodologias procedimentos e técnicas deProjeto Organização de metodologias, procedimentos e técnicas de coleta de dados. Utilzar Diagramas de Classe, de Sequência, de Pacotes (organização em larga escala do software), de Estados, de Distribuição (layout físico do software)(layout físico do software)Documentação – diagrama de pacotes e de classes, dividindo o sistema em módulos, para fácil documentação e compreensão

Page 3: Modelagem de sistemas Web - Aula 3.ppt [Modo de … · 2012-04-02 · Projeto de sistemas WebProjeto de sistemas Web ... diagrama de pacotes e de classes, ... implementação de segurança

Projeto de sistemas WebProjeto de sistemas Web

Pl j t d li ã W bPlanejamento de uma aplicação WebObjetivos estratégicos - (Pressman, 395)

Identifique os interessados no negócioIdentifique os interessados no negócioFormule o contexto do negócio (como a WebApp se encaixa em uma estratégia de negócio mais ampla?)

óDefina as metas e os objetivos-chave de negócio para a WebApp (mensurar qualitativamente e quantitativamente o sucesso da WebApp)Defina as metas informacionais e aplicativas (o que deve ser entregue ao usuário final? O que a WebApp deve fazer?)Identifique o problema (o que a WebApp especificamente resolve?)Colete requisitos (que tarefas de usuário serão realizadas usand a WebApp,Colete requisitos (que tarefas de usuário serão realizadas usand a WebApp, que conteúdo deve ser desenvolvido, qual o instrumento de interação será utilizado, como será configurada para a utilização em rede e que esquema de navegação é desejado)g ç j )

Page 4: Modelagem de sistemas Web - Aula 3.ppt [Modo de … · 2012-04-02 · Projeto de sistemas WebProjeto de sistemas Web ... diagrama de pacotes e de classes, ... implementação de segurança

Projeto de sistemas WebProjeto de sistemas Web

Métricas para WebApp (Pressman, item 17.5.1, pag 404)

Avalia o modo pelo qual uma aplicação Web está sendo usada, as categorias de usuários e a usabilidade da WebApp

Tarefas de Autoria e Projeto de Aplicaçãoj p çAutoria de PáginaAutoria de MídiaAutoria de Programag

Minimização de Riscos e custos (Pressman, item 17.5.2, pag 405)

A compreensão do público-alvo impacta diretamente em um conteúdo da WebApp mais significativo, vendas e esforços de marketing mais efetivos e mais lucratividade no negócio. O mecanismo de coleta de dados de valor de negócio é implementadoO mecanismo de coleta de dados de valor de negócio é implementado pela equipe de desenvolvimento, mas a avaliação dos dados e ações resultantes podem ser realizadas pelo departamento comercial.

Page 5: Modelagem de sistemas Web - Aula 3.ppt [Modo de … · 2012-04-02 · Projeto de sistemas WebProjeto de sistemas Web ... diagrama de pacotes e de classes, ... implementação de segurança

Projeto de sistemas WebProjeto de sistemas Web

Métricas para WebApp (Pressman, item 17.5.1, pag 404)

Avalia o modo pelo qual uma aplicação Web está sendo usada, as categorias de usuários e a usabilidade da WebApp

Tarefas de Autoria e Projeto de Aplicaçãoj p çAutoria de PáginaAutoria de MídiaAutoria de Programag

Minimização de Riscos e custos (Pressman, item 17.5.2, pag 405)

A compreensão do público-alvo impacta diretamente em um conteúdo da WebApp mais significativo, vendas e esforços de marketing mais efetivos e mais lucratividade no negócio. O mecanismo de coleta de dados de valor de negócio é implementadoO mecanismo de coleta de dados de valor de negócio é implementado pela equipe de desenvolvimento, mas a avaliação dos dados e ações resultantes podem ser realizadas pelo departamento comercial.

Page 6: Modelagem de sistemas Web - Aula 3.ppt [Modo de … · 2012-04-02 · Projeto de sistemas WebProjeto de sistemas Web ... diagrama de pacotes e de classes, ... implementação de segurança

Projeto de sistemas WebProjeto de sistemas WebA i d d l i t W bA equipe de desenvolvimento Web (Pressman, item 17.3, pag 396)

Desenvolvedores/provedores de conteúdo – profissionais de diversas áreas (exceto software), responsáveis pelo fornecimento do conteúdo da WebApp Editor da Web – elemento de ligação entre os desenvolvedores e a equipe técnica (profissional que entenda de ambas as áreas)Engenheiro da Web – solido conhecimento em arquiteturas cliente/servidor, linguagens de programação Web, banco de dados, segurança e suporte a sitesEspecialistas no domínio do negócio – responsável pela parte financeira da WebAppEspecialistas de suporte – responsável por correções, adaptações e aperfeiçoamentos p p p p ç , p ç p çdo site, inclusive atualização de conteúdo, implementação de novos procedimentos e formulários e modificações no padrão da navegação.Administrador – Web Master – responsável pelo desenvolvimento e implementação de políticas de operação da WebApp, estabelecendo procedimentos de suporte e realimentação, implementação de segurança e direitos de acesso, medição e análise do tráfego no site, coordenação dos procedimentos de controle de modificações e

d ã i li t d t R á l t bé ti id dcoordenação com especialistas do suporte. Responsável também por atividades técnicas realizadas por engenheiros da Web e especialistas de suporte.

Page 7: Modelagem de sistemas Web - Aula 3.ppt [Modo de … · 2012-04-02 · Projeto de sistemas WebProjeto de sistemas Web ... diagrama de pacotes e de classes, ... implementação de segurança

Projeto de sistemas WebProjeto de sistemas WebP d d l i tProcesso de desenvolvimento (UML Essencial , 39-42)

Processos Iterativo (ou Interativo) e em CascataCascata – subdivide um projeto com base nas atividades, que são análise dos requisitos, projeto, codificação e teste, cada uma realizada uma por vezIterativo – subdivide um projeto em subconjuntos de funcionalidade. Ex: na primeira

ã êiteração, você pegaria um quarto dos requisitos e faria o ciclo de vida do software completo para esse quarto: análise, projeto, código e teste. Após, iniciar-se-ia a segunda iteração e assim por diante. Gera como principal preocupação a necessidade de retrabalho a cada iteração sugerindo que o código da iteração anterior seráde retrabalho a cada iteração, sugerindo que o código da iteração anterior será excluído e refeito nas iterações posteriores de um projeto Web. Muitos defendem, porém, que refazer um código é mais eficaz do que corrigir um código mal projetado. Diversas práticas técnicas podem ajudar muito a refazer o trabalho de forma mais fi i i jeficiente, tais sejam:

Testes de regressão automatizadosRefactoringIntegração contínua

Page 8: Modelagem de sistemas Web - Aula 3.ppt [Modo de … · 2012-04-02 · Projeto de sistemas WebProjeto de sistemas Web ... diagrama de pacotes e de classes, ... implementação de segurança

Projeto de sistemas WebProjeto de sistemas WebP d d l i tProcesso de desenvolvimento (UML Essencial , 39-42)

Fases de desenvolvimento da WebApp (Pressman, 384)

Page 9: Modelagem de sistemas Web - Aula 3.ppt [Modo de … · 2012-04-02 · Projeto de sistemas WebProjeto de sistemas Web ... diagrama de pacotes e de classes, ... implementação de segurança

Projeto de sistemas WebProjeto de sistemas WebP d d l i tProcesso de desenvolvimento (Pressman, cap 20)

Etapa de testesConjunto de atividades cujo objetivo é descobrir erros no conteúdo, função, usabilidade, navegabilidade, desempenho, capacidade e segurança da WebApp.Para tal, uma estratégia de teste deve englobar tanto revisões quanto teste executável e deve ser aplicada ao longo do processo de desenvolvimento da WebAppOs Engenheiros da Web, gerentes, clientes e usuários finais participam dessa etapaO processo de teste de WebApp começa focalizando tópicos visíveis ao usuário da

li ã i d t t it t l i i f t taplicação, prosseguindo com testes que exercitam a tecnologia e a infraestrutura. Sete passos são realizados: testes de conteúdo, interface, navegação, componente, configuração, desempenho e segurança.Criar um plano de testes posto em uma lista de itens (checklist) é fundamental paraCriar um plano de testes, posto em uma lista de itens (checklist) é fundamental para garantir o sucesso da etapa de testes.

OBS: Para mais detalhes, vide capítulo 20 do livro de Pressman.

Page 10: Modelagem de sistemas Web - Aula 3.ppt [Modo de … · 2012-04-02 · Projeto de sistemas WebProjeto de sistemas Web ... diagrama de pacotes e de classes, ... implementação de segurança

Projeto de sistemas WebProjeto de sistemas Web

ãEstrutura de Documentação

Fonte: Diogo Andrade

Page 11: Modelagem de sistemas Web - Aula 3.ppt [Modo de … · 2012-04-02 · Projeto de sistemas WebProjeto de sistemas Web ... diagrama de pacotes e de classes, ... implementação de segurança

Etapas

P eEscopo Planejamento Pre-Produção Produção Entrega Acompanhamento

Page 12: Modelagem de sistemas Web - Aula 3.ppt [Modo de … · 2012-04-02 · Projeto de sistemas WebProjeto de sistemas Web ... diagrama de pacotes e de classes, ... implementação de segurança

Metodologia sugerida para a gestão de projetos web

EscopoA etapa do Escopo é a transcrição das necessidades do cliente para uma descrição macro do que vem a ser o projeto.

1. A etapa do Escopo se inicia no primeiro atendimento ao cliente

ReuniõesBrainstorm Reuniõe

sTroca de e-mails

2. Surgirá uma idéia macro que deve ser transcrita, definindo o escopo do projeto. O escopo precisa ser apresentado para Documentos

E-Mailss

aprovação:

Apresentação para aprovar o EscopoDescrição do EscopoConceito do projetoPúblico-alvo / User FlowBenchmarkingReferências (imagens, ilustrações,

Escopo

aplicação da concorrência, rascunho de wireframes ou layouts)

Se possível, incluir valor e prazo3. Aprovação do Escopo

Escopo Planejamento

Pre-Produção Produção Entrega Acompanhame

nto

Page 13: Modelagem de sistemas Web - Aula 3.ppt [Modo de … · 2012-04-02 · Projeto de sistemas WebProjeto de sistemas Web ... diagrama de pacotes e de classes, ... implementação de segurança

PlanejamentoNa etapa do Planejamento o projeto deve ser minuciosamente descrito e documentado.Deve‐se levar em consideração que o projeto pode não ser aprovado, documentar leva tempo e nem toda documentação é legível para o cliente. Caso ainda não esteja aprovado, documente tudo que é legível ao clientee que defina claramenente os objetivos limites riscos prazo e custo do projeto

1 Pl j t d j t

e que defina claramenente os objetivos, limites, riscos, prazo e custo do projeto.

Possíveis etapas para o planejamento e documentos entregáveis:

1. Planejamento do projeto

2. Definição da equipe

User FlowMatriz de funcionalidadesInventário de conteúdo

3. Requerimento de aquisições

4 Definição de custo / tempo / riscos

Inventário de conteúdoSite MapEquipe, habilidades necessáriasCronograma de desenvolvimento

Documentação

4. Definição de custo / tempo / riscos

5. Apresentação / aprovação do planejamento

Cronograma de desenvolvimentoRequerimento de aquisiçõesContratoA ã d l jplanejamento Apresentação do planejamento

Escopo Planejamento

Pre-Produção Produção Entrega Acompanhame

nto

Page 14: Modelagem de sistemas Web - Aula 3.ppt [Modo de … · 2012-04-02 · Projeto de sistemas WebProjeto de sistemas Web ... diagrama de pacotes e de classes, ... implementação de segurança

Pre-ProduçãoNa Pre-Produção o projeto foi aprovado.A equipe de desenvolvimento precisa produzir o que foi planejado, sem perder o tempo da produção e prazo do projeto, tendo que entregar algo realmente funcional. Alguns impecílios que podem ser eliminados nesta fase:podem ser eliminados nesta fase:

Reduzir o tempo e entregar o projeto em dia é essencial.

Apesar de ter planejado as funcionalidades, conteúdo, mapa do projeto, não se sabe ao certo como esses ítens serão montados e como o público irá interagir.

Projetos para internet lidam com nichos de públicos muito variado e é preciso criar uma interface que atenda a todos ou a maior parte possível.

Produzir uma interface de imediato deixa eminente o risco de ter que refazê‐la. Refazer uma interface em produção vai duplicar o custo do projeto.

Todos os integrantes da equipe de produção e empresas terceiras (aquisições) devem saber exatamente o que é o projeto e o que devem fazer. Apresentar a todos um documento geral pode causar falhas de comunicação e integração.

Escopo Planejamento

Pre-Produção Produção Entrega Acompanhame

nto

Page 15: Modelagem de sistemas Web - Aula 3.ppt [Modo de … · 2012-04-02 · Projeto de sistemas WebProjeto de sistemas Web ... diagrama de pacotes e de classes, ... implementação de segurança

Pre-ProduçãoPara facilitar a produção é preciso planejá-la e definir realmente o que será produzido definitivamente.Além disso, todos os integrantes da equipe e terceiros devem saber exatamente o que devem fazerfazer. Soluções para uma produção sem erros

Pl j Si tPlanejarPrograma

dores

• Sistemas• HTML• Banco de dados

Rascunho WireframeRevisar

Designers• Layouts• Flash• 3D

Equipes dividadas por áreas

PrototipaçãTestarTerceiros

• Servidores• Licensa de softwaresPrototipaçã

oTestar

(pesquisa)

Escopo Planejamento

Pre-Produção Produção Entrega Acompanhame

nto

Page 16: Modelagem de sistemas Web - Aula 3.ppt [Modo de … · 2012-04-02 · Projeto de sistemas WebProjeto de sistemas Web ... diagrama de pacotes e de classes, ... implementação de segurança

ProduçãoA produção foi planejada, testada e revisada.

Todos os departamentos de produção receberam as diretrizes para cada função (com tarefas e prazos) com acesso às diretrizes gerais para consultaprazos), com acesso às diretrizes gerais para consulta.

Monitoramento, integração e qualidade

• Confiar nos profissionais!

• Facilitar a integração das equipes para manter a homogenidade do projeto.

• Monitorar a produção, verificar se há dificuldades e reunir as equipes para resolve-las.

• Definir cronograma da produção com etapas para verificação de qualidade, homogenidade e

mensurar o prazo de entrega.

• Feedback ao cliente sobre o andamento da produção• Feedback ao cliente sobre o andamento da produção

Escopo Planejamento

Pre-Produção Produção Entrega Acompanhame

nto

Page 17: Modelagem de sistemas Web - Aula 3.ppt [Modo de … · 2012-04-02 · Projeto de sistemas WebProjeto de sistemas Web ... diagrama de pacotes e de classes, ... implementação de segurança

EntregaPara felicidade de todos o projeto está acabando.

Mas antes de entregar, o quanto antes:

• Estipule alguns dias para testar

• Teste, revise tudo que foi produzido com toda atenção

• Entregue o projeto

• Sempre há alterações, altere

• Comemore a entrega com todos envolvidos

Escopo Planejamento

Pre-Produção Produção Entrega Acompanhame

nto

Page 18: Modelagem de sistemas Web - Aula 3.ppt [Modo de … · 2012-04-02 · Projeto de sistemas WebProjeto de sistemas Web ... diagrama de pacotes e de classes, ... implementação de segurança

AcompanhamentoProjetos web nunca acabam.

Em um curto período após o lançamento já podem surgir tendências de atualizações, guiadas pelo feedback dos usuáriosfeedback dos usuários.

É essencial documentar estas tendências de atualização e identificar o comportamento do usuário:

• Monitorar a estatística de acesso• Monitorar a estatística de acesso• Documentar relatórios de acesso mensalmente• Documentar tendências de atualizações e comportamento dos usuários, com embasamento nos relatórios de acesso• Propor pesquisas com usuários para comprovar e aprofundar os requisitos de atualização• Propor pesquisas com usuários para comprovar e aprofundar os requisitos de atualização• Requisitar atualização e atualizar

Publicidade On-line

Além da concepção há a divulgação do projeto. No acompanhamento, todos os relatórios gerados devem conter dados importantes como: referência de acesso, posicionamento nos buscadores, palavras-chaves mais buscadas, páginas mais acessadas x palavra-chave buscada, tempo de

h á i d t t ít t i di l ã d d bli id dacesso, horário de acesso, entre outros ítens que norteiam a divulgação e a venda de publicidade.

Escopo Planejamento

Pre-Produção Produção Entrega Acompanhame

nto

Page 19: Modelagem de sistemas Web - Aula 3.ppt [Modo de … · 2012-04-02 · Projeto de sistemas WebProjeto de sistemas Web ... diagrama de pacotes e de classes, ... implementação de segurança

Projeto de sistemas WebProjeto de sistemas WebD fi i ã d úbli lDefinição do público-alvo(Pressman, item 17.1.2, pag 391)

Definição do público alvoç pPara definir o público-alvo um conjunto de questões fundamentais deve ser tratado:

Qual o objetivo global do usuário quando usa a WebApp?Q j g q ppQual o conhecimento e sofisticação do usuário em relação ao conteúdo e à funcionalidade?Como o usuário chegará à WebApp?:Que características genéricas da WebApp o usuário gosta ou não?

Para facilitar a escolha do público-alvo um conjunto de técnicas de comunicação podePara facilitar a escolha do público-alvo, um conjunto de técnicas de comunicação pode ser realizado:

Grupos focais tradicionais – presença de um moderador treinado reunido com menos de 10 usuários representativos, discutindo a WebApp a ser desenvolvidaG f i l t ô i i l t ô i d di ã P d ti i i á i fi iGrupos focais eletrônicos – meio eletrônico de discussão. Podem participar mais usuários finais e interessados. O registro das discussões deve ser feito eletronicamente.Levantamentos iterativos – utiliza as técnicas iterativas já vistas, dividindo e categorizando as respostas dos usuários por um site ou por e-mail. Elas serão utilizadas para refinar a próxima iteração.Levantamentos exploratórios – usuários habituados a uma WebApp semelhante à que está sendoLevantamentos exploratórios usuários habituados a uma WebApp semelhante à que está sendo desenvolvida é convocado (geralmente pago) para responder a uma série de questões acerca de sua experiência e expectativa em relação à aplicação que já utiliza.Construção de cenário – usuário selecionados são solicitados a criar casos de uso informais que descrevem interações específicas com a WebApp

Page 20: Modelagem de sistemas Web - Aula 3.ppt [Modo de … · 2012-04-02 · Projeto de sistemas WebProjeto de sistemas Web ... diagrama de pacotes e de classes, ... implementação de segurança

Projeto de sistemas WebProjeto de sistemas Web

Di ibli ã d t di t dDisponiblização de recursos para o atendimento dos Requisitos da WebApp

d áRecursos para os requisitos de usuário (Pressman, pag 522, item 23.4.1)

Recursos para os requisitos de software (Pressman, pag 523, item 23.4.2)

Recursos para os requisitos de hardware (Pressman, pag 523, item 23.4.3)

Page 21: Modelagem de sistemas Web - Aula 3.ppt [Modo de … · 2012-04-02 · Projeto de sistemas WebProjeto de sistemas Web ... diagrama de pacotes e de classes, ... implementação de segurança

Projeto de sistemas WebProjeto de sistemas Web

D i d i l t ãDesign da implementaçãoAcessibilidade na Aplicação – Engenheiros de software devem garantir que o projeto de interface abranja mecanismos que facilitem acesso à pessoas portadores de necessidades especiais.Soluções de design com base na acessibilidade –ç ggarantir que a interface esteja em conformidade com diretrizes de acessibilidade, tais como W3C.,