Modelagem de Sistemas Web Aula 3
Projeto de Sistemas Web
Fontes: Roger Pressman, Martin Fowler e Craig Larman
Projeto de sistemas Web
Pl Planejamento j t de d uma aplicação li ã Web W b - Fases F (UML Essencial, 47-51)
Análise de Requisitos q – Procura descobrir o q que os usuários e clientes de um 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; Diagrama de Classes Diagrama de Atividades – fluxo de trabalho da organização, indicando a IHC Diagrama 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 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) Documentação – diagrama de pacotes e de classes, dividindo o sistema em módulos, para fácil documentação e compreensão
Projeto de sistemas Web
Pl Planejamento j t de d uma aplicação li ã Web W b
Objetivos estratégicos
(Pressman, 395)
Identifique os interessados no negócio Formule 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, 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 g ç é desejado) j )
Projeto de sistemas Web
Métricas para WebApp (Pressman, item 17.5.1, pag
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 j de Aplicação p ç Autoria de Página Autoria de Mídia Autoria de Programa g
Minimização de Riscos e custos
404)
(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 é implementado pela equipe de desenvolvimento, mas a avaliação dos dados e ações resultantes podem ser realizadas pelo departamento comercial.
Projeto de sistemas Web
Métricas para WebApp (Pressman, item 17.5.1, pag
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 j de Aplicação p ç Autoria de Página Autoria de Mídia Autoria de Programa g
Minimização de Riscos e custos
404)
(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 é implementado pela equipe de desenvolvimento, mas a avaliação dos dados e ações resultantes podem ser realizadas pelo departamento comercial.
Projeto de sistemas Web
A equipe i de d desenvolvimento d l i t Web W b
(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 sites Especialistas no domínio do negócio – responsável pela parte financeira da WebApp Especialistas p de suporte p – responsável p por p correções, ç , adaptações p ç e aperfeiçoamentos 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 coordenação d ã com especialistas i li t do d suporte. t Responsável R á l também t bé por atividades ti id d técnicas realizadas por engenheiros da Web e especialistas de suporte.
Projeto de sistemas Web
P Processo d de d desenvolvimento l i t
(UML Essencial , 39-42)
Processos Iterativo (ou Interativo) e em Cascata
Cascata – subdivide um projeto com base nas atividades, que são análise dos requisitos, projeto, codificação e teste, cada uma realizada uma por vez Iterativo – 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 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 eficiente, fi i tais i sejam: j
Testes de regressão automatizados Refactoring Integração contínua
Projeto de sistemas Web
P Processo d de d desenvolvimento l i t
(UML Essencial , 39-42)
Fases de desenvolvimento da WebApp (Pressman, 384)
Projeto de sistemas Web
P Processo d de d desenvolvimento l i t
Etapa de testes
(Pressman, cap 20)
Conjunto 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 WebApp Os Engenheiros da Web, gerentes, clientes e usuários finais participam dessa etapa O processo de teste de WebApp começa focalizando tópicos visíveis ao usuário da aplicação, li ã prosseguindo i d com testes t t que exercitam it a tecnologia t l i e a infraestrutura. i f t t Sete passos são realizados: testes de conteúdo, interface, navegação, componente, configuração, desempenho e segurança. Criar um plano de testes, 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.
Projeto de sistemas Web
Estrutura de Documentação ã
Fonte: Diogo Andrade
Etapas
Escopo
Planejamento
P e PreProdução
Produção
Entrega
Acompanhamento
Metodologia sugerida para a gestão de projetos web
Escopo A 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ões Brainstorm Troca de e-mails
E-Mails
2. Surgirá uma idéia macro que deve ser transcrita, definindo o escopo do projeto. O escopo precisa ser apresentado para aprovação: Apresentação para aprovar o Escopo 9 Descrição do Escopo 9 Conceito do projeto 9 Público-alvo / User Flow 9 Benchmarking 9 Referências (imagens, ilustrações, aplicação da concorrência, rascunho de wireframes ou layouts) 9 Se possível, incluir valor e prazo 3. Aprovação do Escopo
Reuniõe s
Documentos
Escopo
Planejament o
PreProdução
Escopo
Produção
Entrega
Acompanhame nto
Planejamento Na 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 cliente e que defina claramenente os objetivos limites riscos prazo e custo do projeto 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 1. Pl j t do d projeto j t 2. Definição da equipe 3. Requerimento de aquisições Documentação 4 Definição de custo / tempo / riscos 4. 5. Apresentação / aprovação do planejamento
Escopo
Planejament o
PreProdução
User Flow Matriz de funcionalidades Inventário de conteúdo Inventário de conteúdo Site Map Equipe, habilidades necessárias Cronograma de desenvolvimento Cronograma de desenvolvimento Requerimento de aquisições Contrato Apresentação do planejamento A ã d l j
Produção
Entrega
Acompanhame nto
Pre-Produção Na 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: 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
Planejament o
PreProdução
Produção
Entrega
Acompanhame nto
Pre-Produção Para 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 fazer. fazer Soluções para uma produção sem erros
Pl Planejar j
Programa dores
Rascunho Wireframe
Revisar
Equipes dividadas por áreas
Testar (pesquisa)
Escopo
• Si Sistemas t • HTML • Banco de dados
Planejament o
Terceiros
Prototipaçã o
PreProdução
Designers
Produção
Entrega
• Layouts • Flash • 3D
• Servidores • Licensa de softwares
Acompanhame nto
Produção A 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 consulta. prazos), 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
Escopo
Planejament o
PreProdução
Produção
Entrega
Acompanhame nto
Entrega Para 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
Planejament o
PreProdução
Produção
Entrega
Acompanhame nto
Acompanhamento Projetos 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ários usuários. É essencial documentar estas tendências de atualização e identificar o comportamento do usuário: • 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 • 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 acesso, horário h á i de d acesso, entre t outros t ítens ít que norteiam t i a divulgação di l ã e a venda d de d publicidade. bli id d
Escopo
Planejament o
PreProdução
Produção
Entrega
Acompanhame nto
Projeto de sistemas Web
D fi i ã do Definição d público-alvo úbli l (Pressman, item 17.1.2, pag 391)
Definição ç do p público alvo
Para definir o público-alvo um conjunto de questões fundamentais deve ser tratado:
Q Qual o objetivo j global g do usuário quando q usa a WebApp? pp Qual 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, 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 desenvolvida G Grupos ffocais i eletrônicos l tô i – meio i eletrônico l t ô i de d discussão. di ã Podem P d participar ti i mais i usuários á i finais fi i 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á 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
Projeto de sistemas Web
Disponiblização Di ibli ã de d recursos para o atendimento t di t dos d Requisitos da WebApp
Recursos para os requisitos d de usuário á Recursos para os requisitos de software Recursos para os requisitos de hardware
(Pressman, pag 522, item 23.4.1)
(Pressman, pag 523, item 23.4.2)
(Pressman, pag 523, item 23.4.3)
Projeto de sistemas Web
D i da Design d implementação i l t ã
Acessibilidade 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 g com base na acessibilidade – garantir que a interface esteja em conformidade com diretrizes de acessibilidade,, tais como W3C.