Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouRenan Formosa Alterado mais de 9 anos atrás
1
Uma Visão de Web Engineering Luciano Tadeu Esteves Pansanato CEFET-PR / ICMC-USP Renata Pontin de Mattos Fortes ICMC-USP
2
Web Engineering2 Roteiro Engenharia de Software Engenharia de Web Aplicações Web Modelo de Processo Métodos de Desenvolvimento NBR ISO/IEC 12207 Software Livre Processo de Software Livre Exemplo Resumo
3
Web Engineering3 Engenharia de Software Engenharia de Software é um enfoque sistemático para o desenvolvimento, operação, manutenção e descontinuação do software (IEEE) Engenharia de Software é a aplicação prática do conhecimento científico no projeto e construção de programas e da documentação requerida para desenvolver, operar e manter esses programas (Boehm) Engenharia de Software é uma disciplina que aplica os princípios de engenharia com o objetivo de produzir software de alta qualidade a baixo custo (Bauer)
4
Web Engineering4 Engenharia de Software Como alcançar esse objetivo? Objetivo: produzir sofware de alta qualidade a baixo custo Modelos de Processo de Software Um Modelo de Processo de Software consiste de uma série de atividades, métodos, técnicas e ferramentas que garantem que o software seja produzido com alta qualidade e baixo custo
5
Web Engineering5 Engenharia de Web A aplicação das práticas de engenharia no desenvolvimento de Aplicações Web Objetivo: produzir Aplicações Web de alta qualidade a baixo custo Abordagem “ad hoc” para desenvolvimento de Aplicações Web Os princípios, conceitos e métodos de engenharia podem ser aplicados ao desenvolvimento de Aplicações Web? Por que a Engenharia de Web é importante?
6
Web Engineering6 Aplicações Web Atributos da aplicação [Pressman 2001] Uso intensivo da rede Internet, intranet e extranet Diversos e diferentes grupos de usuários Direcionadas a conteúdo Hipermídia Evolução contínua ... e rápida (horas?) Estrutura e funcionalidade Informação
7
Web Engineering7 Aplicações Web Atributos do processo [Pressman 2001] Características que direcionam o desenvolvimento Urgência Adaptação dos métodos Segurança Aplicação e infraestrutura Estética Sucesso da aplicação
8
Web Engineering8 Aplicações Web Atributos de qualidade [Pressman 2001] Usabilidade Funcionalidade Confiabilidade Eficiência Manutenibilidade Base para avaliar a qualidade de aplicações Web ISO/IEC 9126 Software product evaluation – Quality characteristics and guidelines for their use Portabilidade Qualidade de Aplicações Web [Rocha et al. 2001]
9
Web Engineering9 Aplicações Web Tecnologias [Pressman 2001] Desenvolvimento baseado em componentes Construir menos e reusar mais Substituir um componente por outro Segurança Permitir apenas acesso autorizado Padrões W3C (sopa de letrinhas!) Web Semântica http://www.w3.org/ 2001/sw/ Acessibilidade http://www.w3.org/ WAI/ Internacionalização http://www.w3.org/ International/
10
Web Engineering10 Modelo de processo Pressman [2001]
11
Web Engineering11 Modelo de processo Lowe & Eklund [2002]
12
Web Engineering12 Levantamento Práticas de desenvolvimento Web e Multimídia na Irlanda [Barry & Lang 2001] 1.000 empresas 98 respostas válidas 100 empresas (multimídia) 15 respostas válidas Resultados Não existe uma abordagem uniforme Modelos citados na literatura não são utilizados Conclusão Novas técnicas são necessárias
13
Web Engineering13 Levantamento Metodologias Metodologias adotadas para desenvolvimento de aplicações multimídia
14
Web Engineering14 Levantamento Intenções futuras Incluir dados multimídia nos sistemas de informação Desenvolver aplicações multimídia
15
Web Engineering15 Métodos HDM – Hypermedia Design Method RMM – Relationship Management Methodology EORM – Enhanced Object Relationship Methodology OOHDM – Object-Oriented Hypermedia Design Method SOHDM – Scenario-based Object-oriented Hypermedia Design Methodology WSDM – Web Site Design Method RNA – Relationship-Navigational Analysis MacWeb Approach HFPM – Hypermedia Flexible Process Modeling OO/Pattern Approach Lowe-Hall’s Engineering Approach [Koch 1999]
16
Web Engineering16 Fases cobertas pelos métodos
17
Web Engineering17 Métodos (RE) WSDM – Web Site Design Method SOHDM – Scenario-based Object-oriented Hypermedia Design Methodology RNA – Relationship-Navigational Analysis HFPM – Hypermedia Flexible Process Modeling OOHDM – Object-Oriented Hypermedia Design Method UWE – UML-based Web Engineering W2000 (UML+HDM) WebML – Web Modeling Language NDT – Navigational Development Techniques Design-driven Requirements Elicitation [Escalona & Koch 2004]
18
Web Engineering18 Técnicas Captura Definição Validação
19
Web Engineering19 NBR ISO/IEC 12207 A NBR ISO/IEC 12207 – Processos de Ciclo de Vida de Software é um framework para processos de ciclo de vida com terminologia bem definida Processos Fundamentais Processos de Apoio Processos Organizacionais Processo de Adaptação
20
Web Engineering20 NBR ISO/IEC 12207 Manutenção Aquisição Fornecimento Documentação Gerência de Configuração Garantia da Qualidade Verificação Validação Revisão Conjunta Auditoria Resolução de Problemas Gerência Melhoria Infraestrutura Treinamento Processos FundamentaisProcessos de Apoio Processos Organizacionais Operação Adaptação Desenvolvimento
21
Web Engineering21 NBR ISO/IEC 12207 Processos Fundamentais Desenvolvimento Definição: Análise de Sistemas, Planejamento do Projeto, Análise de Requisitos Construção: Projeto, Codificação, Teste Operação Manutenção Entendimento, Modificação, Revalidação Processos de Apoio Documentação Gerenciamento de Configuração Garantia da Qualidade Verificação Validação Revisão Conjunta Auditoria Resolução de Problemas
22
Web Engineering22 Software Livre Projetos de software livre Constante atenção da comunidade científica Alta qualidade obtida no desenvolvimento de projetos de software livre Exemplos de casos de sucesso Mozilla, Apache, kernel do Linux Aplicações Web?
23
Web Engineering23 Processo de de software livre Estudos Objetivo de compreender o processo de desenvolvimento de software livre Krishnamurthy [2002] Thomas [2003] Reis [2003] Resultados de um amplo levantamento [Reis 2003] 1.102 projetos estáveis 519 respostas válidas Definição de requisitos (42,8%) Documentação: requisitos (69,6%), projeto (30,1%) e para usuários (77,6%) Garantia de qualidade: testes (55,7% e 27,0%), revisão (15,0%) Ferramentas: SCM (73,2%), comunicação (66,9)
24
Web Engineering24 Reflexões Pessoais e Discussões Eng. de Requisitos Repositório de Versões Versão 1.2Versão 1.3 download Desenvolvedores freqüentes Desenvolvedores esporádicos Líderes (core) Usuários Testes beta Documen- tação Revisão de projeto Revisão de código integraçãolançamento Auxílio a usuários, propostas de alteração, dúvidas, problemas, sugestões Implemen- tação Ferramentas de comunicação, artigos científicos, notícias e weblogs
25
Web Engineering25 NBR ISO/IEC 12207 Processos Fundamentais Desenvolvimento Definição: Análise de Sistemas, Planejamento do Projeto, Análise de Requisitos Construção: Projeto, Codificação, Teste Operação Manutenção Entendimento, Modificação, Revalidação Processos de Apoio Documentação Gerenciamento de Configuração Garantia da Qualidade Verificação Validação Revisão Conjunta Auditoria Resolução de Problemas
26
Web Engineering26 Gerenciamento de Configuração Atividades [Pressman 2001] Identificação de itens de configuração de software Controle de versões Controle de alterações Auditoria de configuração Relatório de status Conceitos Itens de configuração de software (SCIs) Baseline
27
Web Engineering27 Controle de Alterações Atividade de garantia da qualidade Objetivo: garantir qualidade e consistência à medida que as alterações são realizadas em um item de configuração de software Processo Pedido de alteração de um item de configuração de software Decisão de realizar ou rejeitar o pedido de alteração Alteração controlada do item de configuração de software
28
Web Engineering28 Bugzilla Projeto open-source http://www.bugzilla.org Defect Tracking System Bug-Tracking System
29
Web Engineering29 Bugzilla: preparação (1/3) Keyword: Planejamento A introdução de um novo sistema em um fluxo de trabalho existente exige planejamento inicial Para a aceitação e uso do novo sistema por todos A introdução deveria ter somente impacto positivo no trabalho diário Ciclo PDCA (Plan Do Check Act) Década de 50 W. Edwards Deming Modelos de Melhoria de Processo de Software
30
Web Engineering30 Bugzilla: preparação (2/3) Associar a estrutura da ferramenta com o fluxo de trabalho diário Estrutura: produtos, componentes, bugs Produto Produtos ou serviços reais Produtos especiais para representar grupos de trabalho internos Componente Subseção de um produto Usuário que recebe error reports Bugs associados Bug Versão do produto na qual ocorreu o bug Milestones: limite para um bug ser corrigido
31
Web Engineering31 Bugzilla: preparação (3/3) Keyword: simplicidade Adaptar as características da ferramenta às necessidades específicas do fluxo de trabalho diário Bug: prioridades (severities) e estados Prioridades High, Medium e Low Estados New Accepted In Progress/Open Resolved Not a Bug Tested/Completed
32
Web Engineering32 Bugzilla: instalação Perl (5.6.0 ou maior) MySQL (3.23.41 ou maior) Servidor Web, p.e. Apache Bugzilla (2.18) Módulos Perl Servidor/Agente de Transferência de Mail (Sendmail 8.7 ou maior, ou um compatível com essa versão) Configuração dos parâmetros
33
Web Engineering33 Bugzilla: inserção de usuários, produtos e componentes Login e inserção de usuários Inserção de produtos e componentes
34
Web Engineering34
35
Web Engineering35 Bugzilla: inserção e consulta de bugs Inserção de bug Consulta à lista de bugs Consulta a um bug específico Consulta avançada
36
Web Engineering36
37
Web Engineering37 Processo de Software Livre Atividades realizadas em Projetos de Software Livre podem ajudar no processo de desenvolvimento de Aplicações Web? Atividades de Gerenciamento de Configuração Ferramentas de apoio às atividades Artigo OSSDW Reis, C. S., Fortes, R. P. M. An Overview of the Software Engineering Process and Tools in the Mozilla Project, In Proceedings of Workshop on Open Source Software Development. Newcastle UK, February 2002, pp.162-182. http://www.dirc.org.uk/ events/ossdw/OSSDW- Proceedings-Final.pdf
38
Web Engineering38 Extreme Programming (XP) Métodos Ágeis podem ajudar no processo de desenvolvimento de Aplicações Web? Extreme Programming (XP) Artigo JBCS Goldman, A., Kon, F., Silva, P. J. S., Yoder, J. W. Being Extreme in the Classroom: Experiences Teaching XP, Journal of the Brazilian Computer Society, November, 2004 http://www.ime.usp.br/ ~kon/papers/jbcs04.pdf
39
Web Engineering39 Resumo Pense! Porque a Engenharia de Web é importante? Os princípios, conceitos e métodos de engenharia podem ser aplicados ao desenvolvimento de Aplicações Web? Como alcançar o objetivo de produzir Aplicações Web de alta qualidade a baixo custo?
40
Web Engineering40 Referências Pressman, R. S. (2001) Software engineering: a practitioner’s approach, 5th edition, McGraw-Hill Rocha, A. R. C., Maldonado, J. C., Weber, K. C. (2001) Qualidade de Software: Teoria e Prática, Prentice Hall Lowe, D. B., Eklund, J. (2002) Client Needs and the Design Process in Web Projects, Journal of Web Engineering, 1(1) Barry, C., Lang, M. A (2001) Survey of Multimedia and Web Development Techniques and Methodology Usage, IEEE Multimedia 8(2) p. 52-60 Koch, N. (1999) A Comparative Study of Methods for Hypermedia Development, LMU Technical Report 9905 Escalona, M. J., Koch, N. (2004) Requirements Engineering for Web Applications – A Comparative Study, Journal of Web Engineering, 2(3) p. 193-212 Krishnamurthy, S. (2002). Cave or Community? An Empirical Examination of 100 Mature Open Source Projects. First Monday, 7(6).
41
Web Engineering41 Referências Thomas, C. (2003) A Survey of Quality Practices in Open Source Software and the Linux Kernel. In Proceedings of 2003 Pacific Northwest Software Quality Conference. http://developer.osdl.org/craiger/pnsqc2003.pdf Reis, C. R. (2003) Caracterização de um Processo de Software para Projetos de Software Livre. São Carlos, abril de 2003. 195p. Dissertação (Mestrado). Instituto de Ciências Matemáticas e de Computação, Universidade de São Paulo. http://coweb.icmc.usp.br/coweb/mostra.php?ident=59.33.1 The Bugzilla Team (2005). The Bugzilla Guide - 2.18 Release. http://www.bugzilla.org/docs/2.18/pdf/Bugzilla-Guide.pdf Lohmeyer, J. (2004) Open-Source Bug Tracking with Bugzilla. Linux Journal. http://www.linuxjournal.com/article/7216
42
Web Engineering42
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.