O documento discute a engenharia da web, incluindo seus atributos, características e diferenças em relação à engenharia de software tradicional. Também aborda as camadas da engenharia da web, incluindo processos, métodos e ferramentas, com foco nos princípios básicos de teste de software para aplicações web.
1. RUP e Métodos Ágeis... Márcia Rodrigues marciarodrigues.imed.edu.br marcia@imed.edu.br
2.
3. 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
11. PROCESSO DE GESTÃO DA MUDANÇA Comunicação em duas vias Suporte técnico Celebração Treinamento envolvimento Comunicação em duas vias Informação “Eu faço” “Eu posso” “Eu acredito” “Eu entendo” SAP “EU sei”
12. Relação com as demais disciplinas Engenharia de software (Trad. e Web) Requisitos de software Gerenciamento de projetos Projetos de Desenvolvimento Riscos de Projetos
13.
14. Projeto cancelado: depois de vários deslizes, o projeto é cancelado sem ter chegado na fase de produção
29. Uma experiência positiva de gestão Pense 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 partes interessadas/envolvidas... (CONHECIMENTOS, HABILIDADES TECNICAS, HABILIDADES INTERPESSOAIS, ATITUDES (VALORES, CRENCAS, VISAO DE MUNDO) , ASPECTOS DO CONTEXTO... ?
30.
31. 23 Engenharia 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. 24 PodemosutilizarnaEngenharia 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. 25 Engenharia Tradicional X Engenharia da Web PossuempropósitosDiferentes Aplicaçõesconvencionaistipicamenteoferecemserviços e soluções Web oferecemconteúdosquesãoinformações, serviços… Um novo meio de comunicação Apresentação x Funcionalidade Aplicações: ênfasenafuncionalidade e aplicabilidade Web: possuiênfasenaapresentação, aparência, navegação e outrasqualidadesestéticas
34. 26 Engenharia Tradicional X Engenharia da Web Tradição X experiência Evolução Tecnológica Para softwares convencionais estão um pouco mais estáveis APIs para interfaces gráficas Banco de dados mais relacionais com sql Browser, Servidores, HTML, XML, ASP, PHP, ....
35. 27 Engenharia Tradicional X Engenharia da Web Público alvo diferenciado (exigências e perfis diferentes) Diferentes controles navegacionais Multidisciplaridade (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 ….
44. 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
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 de Usuário - Entradas baseadas em formulários.
58.
59. 35 Engenharia 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. 36 Engenharia da Web WebApps entregues incrementalmente Modificações ocorrem freqüentemente Cronogramas são curtos
61. 37 Engenharia da Web – Piores práticas Temos 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. 38 Engenharia da Web – Piores práticas Desenvolvedores cuja experiência dominante tenha sido em desenvolvimento de software tradicional podem desenvolver WebApp imediatamente Nenhum treinamento novo é necessário Afinal de contas software é software, não é?
63. 39 Engenharia da Web – Piores práticas Seja burocrático Testar? Por que se incomodar? Siga o mesmo processo para qualquer WebApp
132. Projeto do conteúdo e produção: projetar e/ou adquirir todo o conteúdo de texto, gráfico, áudio e vídeo, que deve ser integrado na WebApp estas tarefas são desenvolvidas pelos membros "não-técnicos" da equipe.
144. o conteúdo produzido na engenharia é combinado com o projeto arquitetural, navegacional e de interface para produzir páginas da web executáveis, utilizando uma linguagem de programação
198. 80 Processos de desenvolvimento de software – Métodos Ágeis XP (Extreme Programming) SCRUM FDD (Feature Driven Development) DSDM (Dynamic System Development Method) ASD (Adaptative Software Development) ModelagemÁgil Crystal
199. IRUP – I (BM) RationalUnifiedProcess http://www.wthreex.com/rup/portugues/tour/tour.htm
200.
201. Centrado na arquitetura: pensa-se primeiro nos elementos de desempenho, escalabilidade, reutilização, restrições econômicas e tecnológicas, começando pela “visão” do software82
202.
203. Incremental: envolve a integração contínua da arquitetura do sistema para a produção das versões, de maneira que cada versão incorpore os aprimoramentos incrementais em relação às demais83 RUP – RationalUnifiedProcess
204. 84 Vantagens Os profissionais são forçados a atacar a parte mais crítica do software logo no início. Os custos e os prazos são definidos na fase inicial do projeto. Desta forma, os riscos do software são conhecidos pelo desenvolvedor. Faz-se uso de iterações para evitar o impacto de mudanças no projeto e o gerenciamento de mudanças ao longo do desenvolvimento. A aplicação do RUP torna o processo flexível, permitindo reavaliações e readequações.
205. 85 Problemas Relativamente novo. Modelo complexo, não se aplicando às situações que não apresentam tal complexidade. As fases nem sempre são adequadas software que está sendo desenvolvido apresenta requisitos muito dinâmicos ou seja, que se alteram freqüentemente.
240. Modelo Estrela Objetivos Orientar o processo de desenvolvimento de sistemas web, através de: Gerenciamento de projetos; Gerenciamento de riscos; Vantagens dos métodos ágeis e tradicionais. 104
242. Características do modelo ESTRELA 106 Indivíduos possuem forte ligação com as iterações; Documentação adequada (propostas e contratos); Adaptação a mudanças; Versão funcional em menos espaço de tempo; Comunicação constante; Padronização .
243.
244. O software funcionando e a satisfação do cliente são as principais formas de medir o progresso;
249. Estágios do modelo ESTRELAPré-aquisição 110 A pré-aquisição possui 3 subestágios: Definição de requisitos preliminares (linguagem natural não detalhada); Elaboração da proposta; Projeto de interface (layout). Envolvidos: Cliente; Representante comercial; Gerente de projetos e de equipe; Designer.
250. Gerenciamento de projetos .. 111 MODELO E-RISCOS (...) Gerenciamento de riscos: E-RISCOS Identificação, Priorização, Planejamento, Administração, Padronização e reação dos riscos. Esse assunto será melhor apresentado posteriormente... Cronogramas, prazos, custos, riscos, metas, objetivos, prioridades e distribuição das tarefas entre a equipe. Envolvidos: Cliente; Representante comercial; Gerente de projetos; Gerente de equipe; Gerente empresarial; Desenvolvedores.
251. Aquisição 112 Detalha-se os principais requisitos (funcionais e não funcionais) Subestágios: Definição de requisitos fundamentais – identificar e priorizar os elementos de maior risco para o projeto; Formalização da proposta – contrato.
252. Definição de requisitos complementares Acomoda os requisitos dinâmicos (evolução do software) Está presente no centro do modelo e possui ligação com estágio de Planejamento e gerenciamento. Subestágios: Definição de requisitos fundamentais – identificar e priorizar os elementos de maior risco para o projeto; Formalização da proposta – contrato; Documentos: Aditivo contratual Envolvidos: É conduzido pelo Gerente de projetos e de equipe; Representante comercial; Demais desenvolvedores. 113
253. Desenvolvimento Implementação dos requisitos; Subestágios: Concepção do projeto Desenvolvimento em pares; Identificação das áreas críticas e grau de dificuldade. Padrão de desenvolvimento; Modelo de dados (análise - estrutura e comportamento esperado); Modelo funcional (entradas, manutenções, consultas, relatórios, etc). Implementação Detalhamento do projeto navegacional e de interface realizando também se necessário ajustes no protótipo; Saída: Pelo menos uma funcionalidade. Envolvidos: Desenvolvedores; Gerente de projetos e de equipe; Cliente; Representante comercial. 114
254. Verificação dinâmica Validar os requisitos através de testes (que podem ser chamados em qualquer fase) Saída: Documento com o parecer da avaliação. Retorna ao desenvolvimento até que esteja atenda os requisitos especificados. Envolvidos: Avaliador; Desenvolvedor; Gerente de projetos e de equipe. 115
255. Entrega iterativa O cliente executa, testa e navega nas partes executáveis do software; Encerramento do projeto (quando todos requisitos são atendidos). Saída: Realizado através de ftp dos arquivos (módulos) Documento com o parecer da avaliação (favorável, restrição...) e-mail, fax, sistema próprio ...) Envolvidos: Gerente de projetos; Desenvolvedores; Cliente. 116