A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Uma Visão de Web Engineering Luciano Tadeu Esteves Pansanato CEFET-PR / ICMC-USP Renata Pontin de Mattos Fortes ICMC-USP.

Apresentações semelhantes


Apresentação em tema: "Uma Visão de Web Engineering Luciano Tadeu Esteves Pansanato CEFET-PR / ICMC-USP Renata Pontin de Mattos Fortes ICMC-USP."— Transcrição da apresentação:

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


Carregar ppt "Uma Visão de Web Engineering Luciano Tadeu Esteves Pansanato CEFET-PR / ICMC-USP Renata Pontin de Mattos Fortes ICMC-USP."

Apresentações semelhantes


Anúncios Google