RUP e Métodos Ágeis...Márcia Rodrigues marciarodrigues.imed.edu.brmarcia@imed.edu.br
Mestrado com ênfase em gestão do conhecimento através dos Ambientes Virtuais de Aprendizagem. Especialista em Desenvolvimento de Software com foco em métodos ágeis e riscos de projetos de desenvolvimento de softwares.Professora, consultora e coordenadora da Universidade Corporativa da IMED.Autora do Livro Modelo ESTRELA.Atualmente ministra aulas de engenharia, gestão de projetos e Análise UML na IMED , Unisinos e na Universidade Corporativa da Petrobrás (RJ e BH)Informações sobre a Professora
Ementa: Apresentar a evolução, a terminologia e o estado da arte da Engenharia de Software. Dar uma visão geral dos fatores críticos que afetam a Engenharia de Software. Apresentar o RationalUnifiedProcess e o eXtremeProgramming. Tendências em Engenharia de Software.Objetivos da Disciplina
Modalidade do cursoAulas expositivas porém.....Com muita interação:  questionar,
 agregar experiências,
 estabelecer discussões a qualquer momento!O QUE VOCÊ PERCEBE?5
6E  agora ?
Examine esta imagem: O que você pode achar? Olhe de longe... Olhe de perto...7
Situação Atual das Organizações
9 a comunicação entre o usuário e o desenvolvedor de software normalmente é muito fracaCARACTERÍSTICAS DE UMA EQUIPE EFICAZObjetivo bem definidoAtenção no ouvirParticipaçãoDivergênciaCivilizadaDecisões deConsensoInformalidadeComunicação   AbertaLiderança CompartilhadaAtribuiçõesbem definidasRelaçõesExternas    Auto-avaliação
PROCESSO DE GESTÃO DA MUDANÇAComunicação em duas vias SuportetécnicoCelebraçãoTreinamentoenvolvimentoComunicação emduas vias  Informação“Eu faço”“Eu posso”“Eu acredito”“Eu entendo”SAP“EU sei”
Relação com as demais disciplinasEngenharia de software (Trad. e Web)Requisitos de softwareGerenciamento de projetosProjetos de DesenvolvimentoRiscos de Projetos
13Problemas TradicionaisDeslizes no cronograma: o dia da entrega chega e é necessário dizer ao cliente que precisará de mais 6 meses
Projeto cancelado: depois de vários deslizes, o projeto é cancelado sem ter chegado na fase de produção
O sistema “azeda”: depois de um tempo em produção o custo para modificar e a taxa de erros crescem tanto que é preciso substituir14Problemas TradicionaisTaxa de erros: o software é colocado em uso mas a taxa de erros é tão alta  que ele não é usado
Negócio mal compreendido: o software não resolve o problema original
Modificações nos negócios: negócios urgentes precisam ser desenvolvidos15Problemas TradicionaisFalsa riqueza de funções: o software tem várias funções potencialmente interessantes, mas que não essenciais
Rotatividade da equipe: após alguns anos (cerca de 2 anos), todos os bons programadores do projeto começam a “odiar” o sistema e vão embora16Problemas Tradicionais - ConsequênciasAtrasos
Orçamentos estourados
Descontentamento dos clientes
Desenvolvedores trabalham longas horas
Uns culpam os outros
Descontentamento da equipe
Migração freqüente para outros ambientes de trabalho
Usuário/cliente não quer participar pois desconhece o trabalho de desenvolvimento de softwareConstrução da equipe do projeto??Mapeamento das CompetênciasPRÁTICASDE GESTÃO???
Uma experiência positiva de gestãoPense um momento em que você viveu uma experiência de gestão tão sintonizada com os desafios do seu papel na Empresa... num patamar tão sincronizado com a estratégia e com as pessoas ... que você ficou especialmente orgulhoso(a) e com um sentimento de “missão cumprida” !•Como foi essa experiência?•Escreva resumidamente...Compartilhe a experiência.NARRADOR DA HISTÓRIA e OUVINTE•Qual foi a “entrega”... ? E que ELEMENTOS foram importantes ou impactaram as partesinteressadas/envolvidas... (CONHECIMENTOS, HABILIDADES TECNICAS, HABILIDADES  INTERPESSOAIS, ATITUDES (VALORES, CRENCAS, VISAO DE MUNDO) , ASPECTOS DO CONTEXTO... ?
23Engenharia da Web   “A engenharia da web diz respeito ao estabelecimento e uso de princípios científicos sólidos, de engenharia e de gestão, e abordagens disciplinadas e sistemáticas para o bem-sucedido desenvolvimento, disposição e manutenção de sistemas e aplicações de alta qualidade baseados na web”Murugesan (apud Pressman)
24PodemosutilizarnaEngenharia Web  osmétodos e técnicasdaEngenharia de Software tradicional?Não, a Engenhariada Web não é um clone daEngenharia de Software tradicional, emboraenvolvaprogramação e processos de desenvolvimentos.
25Engenharia Tradicional X Engenharia da WebPossuempropósitosDiferentesAplicaçõesconvencionaistipicamenteoferecemserviços e soluçõesWeb oferecemconteúdosquesãoinformações,  serviços…Um novo meio de comunicaçãoApresentação x FuncionalidadeAplicações: ênfasenafuncionalidade e aplicabilidadeWeb: possuiênfasenaapresentação, aparência, navegação e outrasqualidadesestéticas
26Engenharia Tradicional X Engenharia da WebTradição X experiênciaEvolução Tecnológica Para softwares convencionais estão um pouco mais estáveisAPIs para interfaces gráficasBanco de dados mais relacionais com sqlBrowser, Servidores, HTML, XML, ASP, PHP, ....
27Engenharia Tradicional X Engenharia da WebPúblico alvo diferenciado (exigências e perfis diferentes)Diferentes controles navegacionaisMultidisciplaridade (EW)Engenharia de software, Hipermídia e Multimídia, Interaçãousuário-computador, indexação e recuperação de informação, banco de dados, artes, comunicação visual, linguísticacomputacional, gerência de projeto, projeto e apresentaçãográfica, computaçãográfica ….
Engenharia da Web – Atributos de WebAppsConcentração 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
necessita atender às necessidades de uma comunidade diversificada de clientes28
29Engenharia da Web – Atributos de WebAppsImpulsionadas pelo conteúdo
em muitos casos, a função primordial de um sistema baseado na Web é usar a hipermídia para apresentar conteúdo de texto, gráficos, áudio e vídeo ao usuário finalEngenharia da Web – Atributos de WebAppsEvoluçã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 30
31Engenharia da Web - CaracterísticasImediatismo
prazo de colocação no mercado é curto
Estética
para vender idéia ou produto a apresentação é aspecto que  influencia no sucesso da aplicaçãoEngenharia da Web - SegurançaSeguranç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 dados32
33Engenharia da Web Categorias de WebApps Informacional - Conteúdo apenas para leitura  - navegação simples e links.
Download -  Download de informações dos servidores apropriados.
 Personalizável -  Personaliza o conteúdo para suas necessidades específicas.
 Interação - Salas de bate-papo, fóruns ou mensagens instantâneas.
 Entrada de Usuário - Entradas baseadas em formulários.
 Orientado a transações - O usuário faz um pedido que é atendido pelo aplicativo.Orientado a serviços - O aplicativo fornece um serviço para o usuário. Portal. O aplicativo direciona o usuário para outros conteúdos ou serviços fora do domínio do portal do aplicativo.  Acesso a Banco de Dados. O usuário faz uma consulta em um banco de dados e extrai informações. Data warehousing. O usuário consulta uma coleção de grandes bancos de dados e extrai informações.34Engenharia da Web Categorias de WebApps
35Engenharia da 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
36Engenharia da WebWebApps entregues incrementalmenteModificações ocorrem freqüentementeCronogramas são curtos
37Engenharia da Web – Piores práticasTemos uma grande idéia, vamos começar a construir a WebApp agora.As coisas vão mudar constantemente, assim não tem sentido tentar entender os requisitos da WebApp.
38Engenharia da Web – Piores práticasDesenvolvedores cuja experiência dominante tenha sido em desenvolvimento de software tradicional podem desenvolver WebApp imediatamenteNenhum treinamento novo é necessárioAfinal de contas software é software, não é?
39Engenharia da Web – Piores práticasSeja burocráticoTestar?  Por que se incomodar?Siga o mesmo processo para qualquer WebApp
40Engenharia da WebAplicações baseadas na web desenvolvidas inadequadamente tem probabilidade muito alta de falha
Há necessidade premente de abordagens disciplinadas para desenvolvimento
Novos métodos e ferramentas
Deve levar em conta características especiais do ambiente e a multiplicidade de perfis de usuários41Engenharia da WebNos primeiros dias da www (1990 – 1995) os sites eram formados de pouco mais do que um conjunto de arquivos de hipertexto ligados que apresentavam informação usando texto e um pouco de gráficos
Hoje WebApps evoluíram para ferramentas computacionais sofisticadas que além de apresentar conteúdo são integradas a bancos de dados 42Engenharia da WebAplicações Web (WebApps), envolvem um mistura de:
publicação impressa e desenvolvimento de software
comercialização e computação
comunicações internas e relações externas
arte e tecnologia43Engenharia da Web Atributos de WebAppsConcentradas 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
necessita atender às necessidades de uma comunidade diversificada de clientes44Engenharia da Web Atributos de WebAppsVoltada a dados
em muitos casos, a função primordial de um sistema baseado na Web é usar a hipermídia para apresentar conteúdo de texto, gráficos, áudio e vídeo ao usuário final.45Engenharia da WebAtributos de WebAppsConcorrência
Um grande número de usuários pode ter acesso à WebApp ao mesmo tempo
Carga imprevisível
Vários usuários acessando ao mesmo tempo.  Cem usuários podem “aparecer” na segunda-feira; dez mil podem usar o sistema na terça-feira46Engenharia da Web Atributos de WebAppsDesempenho
Se um usuário da WebApp tem de esperar muito (acesso, processamento, exibição) ele vai para outro lugar
Disponibilidade
Os usuários querem acesso na base de “24/7/365”47Engenharia da Web Atributos de WebAppsEvoluçã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 Camadas da Engenharia de SoftwareCamadas da Engenharia de Software (Pressman)FerramentasMétodosProcessosFoco na qualidade48
Camadas da Engenharia de SoftwareDesenvolver software de qualquer natureza exige organização,  dedicação, estrutura
É necessário coordenar o que e quando fazer
Programação é somente parte do trabalho49
50Camadas da Engenharia da WebProcesso
Abordagem de desenvolvimento simples que incorpora ciclos rápidos de desenvolvimento
Modificação da prioridade do o quê? Para quando?
o problema deve ser analisado, o projeto deve ser desenvolvido, implementação deve ser procedida de modo incremental e uma abordagem organizada de testes deve ser realizadaFalando em testes - Princípios básicos para o teste de software  - WebApps Pressman (2006) apresenta uma abordagem que adota os princípios básicos para o teste de todo software, aplica estratégias e táticas que são recomendadas para sistemas OO. Revisar o conteúdo a fim de descobrir erros de grafia, gramática, consistência do conteúdo, representações gráficas, dentre outros;Revisar o projeto de navegação para descobrir erros nos links e/ou na permissão de acesso de cada usuário;testar cada página focando seu processamento;Testar a funcionalidade geral e conteúdo fornecido;Testar a compatibilidade da aplicação em diferentes configurações diferentes browsers, sistemas operacionais, plataformas de hardware e protocolos de comunicação. 51
52Camadas da Engenharia da WebProcesso - atividades
Acolher modificações
Encorajar a criatividade e independência da equipe de desenvolvimento
Forte interação com os interessados nas WebApps
Pequenas equipes
Enfatizar o desenvolvimento evolutivo ou incremental usando ciclos de desenvolvimento curtos53Camadas da Engenharia da WebMétodos
Métodos de comunicação: facilitar a comunicação entre equipe e interessados; usados em cada incremento.
Métodos de análise de requisitos: fornecer base para o entendimento do conteúdo a ser entregue.54Camadas da Engenharia da WebMétodos
Métodos de projeto: projetar conteúdo, arquitetura, interface e estrutura de navegação
Métodos de teste: incorporar revisões técnicas formais do conteúdo e projeto, teste de navegação, teste de segurança, teste de usabilidade, teste de configuração55Camadas da Engenharia da WebFerramentas e Tecnologia
Linguagens de modelagem (HTML, XML)
Linguagens de programação (Java, php)
Componentes (.NET, COM, CORBA)
Navegadores
Ferramentas multimídia
Ferramentas de autoria de sites
Ferramentas de conectividade com BD
Ferramentas de segurança
Gestão e análise de sites56Camadas da Engenharia da WebFerramentas e Tecnologia
Web Developer´s Virtual Encyclopedia (www.wdlv.com)
WebDeveloper (www.webdeveloper.com)
DeveloperShed (www.devshed.com)
Webnowhow.net (www.webnowhow.com)
WebReference (www.webreference.com)Modelo de processo da WebE57(Pressman, 2002)
Modelo de processo da WebE58Iterativo e incremental

Rup e metodos ágies

  • 1.
    RUP e MétodosÁgeis...Márcia Rodrigues marciarodrigues.imed.edu.brmarcia@imed.edu.br
  • 2.
    Mestrado com ênfaseem gestão do conhecimento através dos Ambientes Virtuais de Aprendizagem. Especialista em Desenvolvimento de Software com foco em métodos ágeis e riscos de projetos de desenvolvimento de softwares.Professora, consultora e coordenadora da Universidade Corporativa da IMED.Autora do Livro Modelo ESTRELA.Atualmente ministra aulas de engenharia, gestão de projetos e Análise UML na IMED , Unisinos e na Universidade Corporativa da Petrobrás (RJ e BH)Informações sobre a Professora
  • 3.
    Ementa: Apresentar aevolução, a terminologia e o estado da arte da Engenharia de Software. Dar uma visão geral dos fatores críticos que afetam a Engenharia de Software. Apresentar o RationalUnifiedProcess e o eXtremeProgramming. Tendências em Engenharia de Software.Objetivos da Disciplina
  • 4.
    Modalidade do cursoAulasexpositivas porém.....Com muita interação: questionar,
  • 5.
  • 6.
    estabelecer discussõesa qualquer momento!O QUE VOCÊ PERCEBE?5
  • 7.
  • 8.
    Examine esta imagem:O que você pode achar? Olhe de longe... Olhe de perto...7
  • 9.
    Situação Atual dasOrganizações
  • 10.
    9 a comunicaçãoentre o usuário e o desenvolvedor de software normalmente é muito fracaCARACTERÍSTICAS DE UMA EQUIPE EFICAZObjetivo bem definidoAtenção no ouvirParticipaçãoDivergênciaCivilizadaDecisões deConsensoInformalidadeComunicação AbertaLiderança CompartilhadaAtribuiçõesbem definidasRelaçõesExternas Auto-avaliação
  • 11.
    PROCESSO DE GESTÃODA MUDANÇAComunicação em duas vias SuportetécnicoCelebraçãoTreinamentoenvolvimentoComunicação emduas vias Informação“Eu faço”“Eu posso”“Eu acredito”“Eu entendo”SAP“EU sei”
  • 12.
    Relação com asdemais disciplinasEngenharia de software (Trad. e Web)Requisitos de softwareGerenciamento de projetosProjetos de DesenvolvimentoRiscos de Projetos
  • 13.
    13Problemas TradicionaisDeslizes nocronograma: o dia da entrega chega e é necessário dizer ao cliente que precisará de mais 6 meses
  • 14.
    Projeto cancelado: depoisde vários deslizes, o projeto é cancelado sem ter chegado na fase de produção
  • 15.
    O sistema “azeda”:depois de um tempo em produção o custo para modificar e a taxa de erros crescem tanto que é preciso substituir14Problemas TradicionaisTaxa de erros: o software é colocado em uso mas a taxa de erros é tão alta que ele não é usado
  • 16.
    Negócio mal compreendido:o software não resolve o problema original
  • 17.
    Modificações nos negócios:negócios urgentes precisam ser desenvolvidos15Problemas TradicionaisFalsa riqueza de funções: o software tem várias funções potencialmente interessantes, mas que não essenciais
  • 18.
    Rotatividade da equipe:após alguns anos (cerca de 2 anos), todos os bons programadores do projeto começam a “odiar” o sistema e vão embora16Problemas Tradicionais - ConsequênciasAtrasos
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
    Migração freqüente paraoutros ambientes de trabalho
  • 25.
    Usuário/cliente não querparticipar pois desconhece o trabalho de desenvolvimento de softwareConstrução da equipe do projeto??Mapeamento das CompetênciasPRÁTICASDE GESTÃO???
  • 29.
    Uma experiência positivade gestãoPense um momento em que você viveu uma experiência de gestão tão sintonizada com os desafios do seu papel na Empresa... num patamar tão sincronizado com a estratégia e com as pessoas ... que você ficou especialmente orgulhoso(a) e com um sentimento de “missão cumprida” !•Como foi essa experiência?•Escreva resumidamente...Compartilhe a experiência.NARRADOR DA HISTÓRIA e OUVINTE•Qual foi a “entrega”... ? E que ELEMENTOS foram importantes ou impactaram as partesinteressadas/envolvidas... (CONHECIMENTOS, HABILIDADES TECNICAS, HABILIDADES INTERPESSOAIS, ATITUDES (VALORES, CRENCAS, VISAO DE MUNDO) , ASPECTOS DO CONTEXTO... ?
  • 31.
    23Engenharia da Web “A engenharia da web diz respeito ao estabelecimento e uso de princípios científicos sólidos, de engenharia e de gestão, e abordagens disciplinadas e sistemáticas para o bem-sucedido desenvolvimento, disposição e manutenção de sistemas e aplicações de alta qualidade baseados na web”Murugesan (apud Pressman)
  • 32.
    24PodemosutilizarnaEngenharia Web osmétodos e técnicasdaEngenharia de Software tradicional?Não, a Engenhariada Web não é um clone daEngenharia de Software tradicional, emboraenvolvaprogramação e processos de desenvolvimentos.
  • 33.
    25Engenharia Tradicional XEngenharia da WebPossuempropósitosDiferentesAplicaçõesconvencionaistipicamenteoferecemserviços e soluçõesWeb oferecemconteúdosquesãoinformações, serviços…Um novo meio de comunicaçãoApresentação x FuncionalidadeAplicações: ênfasenafuncionalidade e aplicabilidadeWeb: possuiênfasenaapresentação, aparência, navegação e outrasqualidadesestéticas
  • 34.
    26Engenharia Tradicional XEngenharia da WebTradição X experiênciaEvolução Tecnológica Para softwares convencionais estão um pouco mais estáveisAPIs para interfaces gráficasBanco de dados mais relacionais com sqlBrowser, Servidores, HTML, XML, ASP, PHP, ....
  • 35.
    27Engenharia Tradicional XEngenharia da WebPúblico alvo diferenciado (exigências e perfis diferentes)Diferentes controles navegacionaisMultidisciplaridade (EW)Engenharia de software, Hipermídia e Multimídia, Interaçãousuário-computador, indexação e recuperação de informação, banco de dados, artes, comunicação visual, linguísticacomputacional, gerência de projeto, projeto e apresentaçãográfica, computaçãográfica ….
  • 36.
    Engenharia da Web– Atributos de WebAppsConcentração em redes
  • 37.
  • 38.
  • 39.
    Intranet: implementando ascomunicações dentro das organizações
  • 40.
  • 41.
    necessita atender àsnecessidades de uma comunidade diversificada de clientes28
  • 42.
    29Engenharia da Web– Atributos de WebAppsImpulsionadas pelo conteúdo
  • 43.
    em muitos casos,a função primordial de um sistema baseado na Web é usar a hipermídia para apresentar conteúdo de texto, gráficos, áudio e vídeo ao usuário finalEngenharia da Web – Atributos de WebAppsEvolução contínua
  • 44.
    ao contrário dossoftwares tradicionais que evoluem ao longo de uma série de versões planejadas e cronologicamente espaçadas, aplicações baseadas na Web evoluem continuamente 30
  • 45.
    31Engenharia da Web- CaracterísticasImediatismo
  • 46.
    prazo de colocaçãono mercado é curto
  • 47.
  • 48.
    para vender idéiaou produto a apresentação é aspecto que influencia no sucesso da aplicaçãoEngenharia da Web - SegurançaSegurança
  • 49.
  • 50.
    limitar a populaçãode usuário que podem ter acesso a WebApp
  • 51.
  • 52.
    fornecer modos segurosde transmissão de dados32
  • 53.
    33Engenharia da WebCategorias de WebApps Informacional - Conteúdo apenas para leitura - navegação simples e links.
  • 54.
    Download - Download de informações dos servidores apropriados.
  • 55.
    Personalizável - Personaliza o conteúdo para suas necessidades específicas.
  • 56.
    Interação -Salas de bate-papo, fóruns ou mensagens instantâneas.
  • 57.
    Entrada deUsuário - Entradas baseadas em formulários.
  • 58.
    Orientado atransações - O usuário faz um pedido que é atendido pelo aplicativo.Orientado a serviços - O aplicativo fornece um serviço para o usuário. Portal. O aplicativo direciona o usuário para outros conteúdos ou serviços fora do domínio do portal do aplicativo. Acesso a Banco de Dados. O usuário faz uma consulta em um banco de dados e extrai informações. Data warehousing. O usuário consulta uma coleção de grandes bancos de dados e extrai informações.34Engenharia da Web Categorias de WebApps
  • 59.
    35Engenharia da 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
  • 60.
    36Engenharia da WebWebAppsentregues incrementalmenteModificações ocorrem freqüentementeCronogramas são curtos
  • 61.
    37Engenharia da Web– Piores práticasTemos uma grande idéia, vamos começar a construir a WebApp agora.As coisas vão mudar constantemente, assim não tem sentido tentar entender os requisitos da WebApp.
  • 62.
    38Engenharia da Web– Piores práticasDesenvolvedores cuja experiência dominante tenha sido em desenvolvimento de software tradicional podem desenvolver WebApp imediatamenteNenhum treinamento novo é necessárioAfinal de contas software é software, não é?
  • 63.
    39Engenharia da Web– Piores práticasSeja burocráticoTestar? Por que se incomodar?Siga o mesmo processo para qualquer WebApp
  • 64.
    40Engenharia da WebAplicaçõesbaseadas na web desenvolvidas inadequadamente tem probabilidade muito alta de falha
  • 65.
    Há necessidade prementede abordagens disciplinadas para desenvolvimento
  • 66.
    Novos métodos eferramentas
  • 67.
    Deve levar emconta características especiais do ambiente e a multiplicidade de perfis de usuários41Engenharia da WebNos primeiros dias da www (1990 – 1995) os sites eram formados de pouco mais do que um conjunto de arquivos de hipertexto ligados que apresentavam informação usando texto e um pouco de gráficos
  • 68.
    Hoje WebApps evoluírampara ferramentas computacionais sofisticadas que além de apresentar conteúdo são integradas a bancos de dados 42Engenharia da WebAplicações Web (WebApps), envolvem um mistura de:
  • 69.
    publicação impressa edesenvolvimento de software
  • 70.
  • 71.
    comunicações internas erelações externas
  • 72.
    arte e tecnologia43Engenhariada Web Atributos de WebAppsConcentradas em Redes
  • 73.
  • 74.
  • 75.
    Intranet: implementando ascomunicações dentro das organizações
  • 76.
    necessita atender àsnecessidades de uma comunidade diversificada de clientes44Engenharia da Web Atributos de WebAppsVoltada a dados
  • 77.
    em muitos casos,a função primordial de um sistema baseado na Web é usar a hipermídia para apresentar conteúdo de texto, gráficos, áudio e vídeo ao usuário final.45Engenharia da WebAtributos de WebAppsConcorrência
  • 78.
    Um grande númerode usuários pode ter acesso à WebApp ao mesmo tempo
  • 79.
  • 80.
    Vários usuários acessandoao mesmo tempo. Cem usuários podem “aparecer” na segunda-feira; dez mil podem usar o sistema na terça-feira46Engenharia da Web Atributos de WebAppsDesempenho
  • 81.
    Se um usuárioda WebApp tem de esperar muito (acesso, processamento, exibição) ele vai para outro lugar
  • 82.
  • 83.
    Os usuários queremacesso na base de “24/7/365”47Engenharia da Web Atributos de WebAppsEvolução contínua
  • 84.
    ao contrário dossoftwares tradicionais que evoluem ao longo de uma série de versões planejadas e cronologicamente espaçadas, aplicações baseadas na Web evoluem continuamente Camadas da Engenharia de SoftwareCamadas da Engenharia de Software (Pressman)FerramentasMétodosProcessosFoco na qualidade48
  • 85.
    Camadas da Engenhariade SoftwareDesenvolver software de qualquer natureza exige organização, dedicação, estrutura
  • 86.
    É necessário coordenaro que e quando fazer
  • 87.
    Programação é somenteparte do trabalho49
  • 88.
  • 89.
    Abordagem de desenvolvimentosimples que incorpora ciclos rápidos de desenvolvimento
  • 90.
    Modificação da prioridadedo o quê? Para quando?
  • 91.
    o problema deveser analisado, o projeto deve ser desenvolvido, implementação deve ser procedida de modo incremental e uma abordagem organizada de testes deve ser realizadaFalando em testes - Princípios básicos para o teste de software - WebApps Pressman (2006) apresenta uma abordagem que adota os princípios básicos para o teste de todo software, aplica estratégias e táticas que são recomendadas para sistemas OO. Revisar o conteúdo a fim de descobrir erros de grafia, gramática, consistência do conteúdo, representações gráficas, dentre outros;Revisar o projeto de navegação para descobrir erros nos links e/ou na permissão de acesso de cada usuário;testar cada página focando seu processamento;Testar a funcionalidade geral e conteúdo fornecido;Testar a compatibilidade da aplicação em diferentes configurações diferentes browsers, sistemas operacionais, plataformas de hardware e protocolos de comunicação. 51
  • 92.
    52Camadas da Engenhariada WebProcesso - atividades
  • 93.
  • 94.
    Encorajar a criatividadee independência da equipe de desenvolvimento
  • 95.
    Forte interação comos interessados nas WebApps
  • 96.
  • 97.
    Enfatizar o desenvolvimentoevolutivo ou incremental usando ciclos de desenvolvimento curtos53Camadas da Engenharia da WebMétodos
  • 98.
    Métodos de comunicação:facilitar a comunicação entre equipe e interessados; usados em cada incremento.
  • 99.
    Métodos de análisede requisitos: fornecer base para o entendimento do conteúdo a ser entregue.54Camadas da Engenharia da WebMétodos
  • 100.
    Métodos de projeto:projetar conteúdo, arquitetura, interface e estrutura de navegação
  • 101.
    Métodos de teste:incorporar revisões técnicas formais do conteúdo e projeto, teste de navegação, teste de segurança, teste de usabilidade, teste de configuração55Camadas da Engenharia da WebFerramentas e Tecnologia
  • 102.
  • 103.
  • 104.
  • 105.
  • 106.
  • 107.
  • 108.
  • 109.
  • 110.
    Gestão e análisede sites56Camadas da Engenharia da WebFerramentas e Tecnologia
  • 111.
    Web Developer´s VirtualEncyclopedia (www.wdlv.com)
  • 112.
  • 113.
  • 114.
  • 115.
    WebReference (www.webreference.com)Modelo deprocesso da WebE57(Pressman, 2002)
  • 116.
    Modelo de processoda WebE58Iterativo e incremental