Web Engineering André Tavares da Silva andre.silva@udesc.br
Novas atividades, novas funções A Internet comercial provocou o surgimento de novas atividades e funções: Webdesigner Webdeveloper Webmaster Webwriter = redação de matérias e textos para sites Websurfer = Manutenção de Páginas Fonte: Guia de Empregos: http://www.ijobs.com.br/
Gerações das páginas Web Sites cartão de visita ; Sites institucionais com informações sobre a empresa e um certo número de páginas; Sites com o oferecimento de alguns serviços; Sites complexos compostos por diversas tecnologias Sites participativos / Web2.0
Uso da Web 2.0 Fonte: Revista INFO
Webdesign x Design Impresso Design Impresso todos veem a mesma coisa; Design Web - depende: Da resolução de tela do usuário; Da capacidade da máquina do usuário; Do navegador utilizado Chrome, Opera, IE, Firefox Da versão do navegador Do sistema operacional Da existência de plug-ins, etc.
Market Share de Navegadores
Mídias Pós-PC
Novas Mídias
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)
Engenharia de Software Objetivo: produzir software 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
O Processo de Web Engineering Planejamento do Projeto Projeto Arquitetural Formulação do Problema Projeto Navegacional Análise de Requisitos Arquitetura da Informação + Projeto da Interação Projeto de Interface Implementação do Sistema Revisão de modelos de análise e projeto Revisão especializada de usabilidade Testes (conteúdo, funcionalidade e compatibilidade) Dica: Dica: considerar considerar as as restrições restrições impostas impostas pelas pelas características características das das diferentes diferentes WebApps WebApps 11 Fonte: Amanda Meincke Melo, UNICAMP
Projeto Decomposição Decomposição OO OO Requisitos Requisitos funcionais: funcionais: diagramas diagramas de de classes, classes, templates templates de de classes classes Orientada Orientada a Dados Dados Modelo Modelo E-R E-R Visão Lógica Arquitetural Decomposição Decomposição em em Subsistemas Subsistemas Módulos, Módulos, Subsistemas, Subsistemas, Camadas Camadas Visão de Desenvolvimento Cenários Decomposição Decomposição de de Processo Processo Requisitos Requisitos não-funcionais: não-funcionais: diagramas diagramas de de componentes componentes (UML) (UML) Visão de Processo Visão Física Mapeamento Mapeamento do do Sw Sw para para o Hw Hw Requisitos Requisitos não-funcionais não-funcionais 12 (Kruchten, 1995)
Levantamento de Metodologias Metodologias adotadas para desenvolvimento de aplicações multimídia 13
Intenções Futuras Desenvolver aplicações multimídia Incluir dados multimídia nos sistemas de informação 14
Métodos de Web Engineering 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 15 [Koch 1999]
Fases cobertas pelos métodos 16
Outros Métodos 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 17 & Koch 2004]
Base para avaliar a qualidade de aplicações Web (Multimídia) Atributos de qualidade [Pressman 2001] Usabilidade Funcionalidade Confiabilidade Eficiência Manutenibilidade ISO/IEC 9126 Software product evaluation Quality characteristics and guidelines for their use 18
Avaliação sistema Web / Multimídia Tecnologias [Pressman 2001] Desenvolvimento baseado em componentes Construir menos e reusar mais Substituir um componente por outro Padrões W3C: HTML, CSS, Javascript,... Web Semântica: http://www.w3.org/2001/sw/ Acessibilidade: http://www.w3.org/wai/ Internacionalização: http://www.w3.org/international/ 19
Avaliação sistema Web / Multimídia Segurança Permitir apenas acesso autorizado Usabilidade Avaliação Heurística; Ensaios de Interação; Inspeção de regras ergonômicas (guidelines e checklist); Questionários; Relatos de incidentes críticos por usuários; Análise de logs; Etc. 20