mÓdulo - facombacala/daw/aula01-3 - engenharia web.pdf · 2014-03-22 · fases cobertas pelos...
Post on 11-May-2020
3 Views
Preview:
TRANSCRIPT
MÓDULO
Análise Orientada a Objetos
Engenharia Web
Roteiro
• Engenharia de Software
• Engenharia de Web
• Aplicações Web
• Modelo de Processo
• Métodos de Desenvolvimento
DAW4 2
Engenharia de Software
• Enfoque sistemático para o
desenvolvimento, operação, manutenção e
descontinuação do software (IEEE)
• 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)
• Disciplina que aplica os princípios de
engenharia com o objetivo de produzir
software de alta qualidade a baixo custo
(Bauer) DAW4 3
Objetivo da Engenharia
de Software
DAW4 4
• Produzir software de alta qualidade a baixo custo
• Usando Modelos de Processo de Software
– Conjunto de atividades, métodos, técnicas e ferramentas que garantem que o software seja produzido com alta qualidade e baixo custo
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
DAW4 5
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
DAW4 6
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]
DAW4 7
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/
DAW4 8
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?
DAW4 9
Engenharia Web
DAW4 10
• Conjunto de abordagens sistemáticas, disciplinadas e quantificáveis para o desenvolvimento Web
– Visando a qualidade com uso de conceitos de engenharia
• Englobando
– Análise
– Desenvolvimento
– Operação e
– Manutenção
Engenharia Web
DAW4 11
• Multidisciplinaridade
• Mecanismos para gerenciamento de conteúdo
– Dinamicidade de conteúdo
• integração de componentes
• Independência de localização de serviços
• Independência de dispositivos
– Cada vez mais a Web está sendo acessada por dispositivos móveis
Principais Atividades
DAW4 12
• Definição do problema, motivação, propósitos e audiência • Planejamento e gerência do projeto - estudo de viabilidade • Análise e Especificação de Requisitos • Design
– Estrutura Organizacional (Conceitual) – Navegação – Conteúdo – Interface – Funcional
• Implementação • Testes • Instalação • Evolução e Suporte (manutenção)
Projeto e Análise Web
DAW4 13
• Verificação antes da codificação
– Requisitos
– Comportamento do sistema
– Analogia:
Projeto Arquitetural X Análise e Projeto de Software
Design Web
DAW4 14
• Estrutura Organizacional (Conceitual) – Visão global do site (conceitos envolvidos)
• Navegação – Visão de navegação (comportamental)
• Conteúdo – Visão e modelagemdas informações
• Interface – Organização, interação e apresentação
• Funcional – Arquitetura dos programas, projeto de banco de dados,
plataforma
Estrutura Organizacional
DAW4 15
Qual o objetivo da organização e como o site ajuda em sua realização? Exemplo: Venda de produtos on-line Destaque a produtos Facilidade para acesso a departamentos
Navegação
DAW4 16
• Como chegar a determinados conteúdos?
– Caminhos percorridos • Nós e ligações
– Podem ser múltiplos
– Atalhos
Conteúdo
DAW4 17
• O que está acessível?
– Quais informações e serviços constam no site
• Web Writing
– Diretrizes para conteúdos
– Distinções próprias da Web
– Nível de profundidade do conteúdo deve acompanhar a navegação
No exemplo:
Descrição do
produto com Preço
Imagem ilustrativa
Design da Interface
DAW4 18
• Apresentação
– Determinar os aspectos estéticos e visuais
– Diagramação
– Uso de imagens e ícones
– Escolha das cores, tipo de fontes, plano de fundo, ...
• Interação
– Determinar como os serviços podem ser utilizados
– Menus, cliques, botões e ícones
Separação da Interface
DAW4 19
• Importante para Web
– Facilita a compreensão dos artefatos, adaptação e evolução da interface
• Uso de Folha de Estilos em Cascata
– Cascading Style Sheets (CSS)
– Possibilidade maior facilidade para padronizar estilos com classes
Estrutura Funcional
DAW4 20
• O que está por traz do funcionamento do site – Envolvendo tecnologias computacionais
• Servidor e aplicações base
• Rede
• Processamento
• A Web hoje – Cada vez mais tem disponibilizado aplicações
funcionalmente complexas
– Acesso a grandes bases de dados
– Aplicações robustas que suportam milhões de acessos
Questões que devem ser
vistas em um projeto Web
DAW4 21
• Características próprias do desenvolvimento Web
– Abrangência
• Usuários dos mais variados perfis
• E de diferentes localizações geográficas
– Colaboração
• Tanto síncrona como assíncrona
– Aplicações cada vez mais complexas
• Principalmente em relação à interação, que deve ser simples e usável
Modelagem Web
DAW4 22
• Uma forma de representar o conhecimento
– base para a implementação
• Métodos e linguagens são propostos
– WebML -Web Modeling Language
– UWE - UML-based Web Engineering
– W2000
– OOHDM -Object-Oriented Hypermedia Design Method
• Característica comum
– Separação em visões,
Desafios na modelagem
para Web
DAW4 23
• Deficiências em relação a suporte ferramental – Integração com a modelagem – Transformação entre modelos – Flexibilidade para adaptação ao modo de trabalho das
organizações
• Dificuldades de modelar – Interação por eventos – Gerenciamento de mensagens – Controle do navegador
• Aplicações cada vez mais complexas • Muitas diretrizes e padrões para qualidade
– Boas práticas para acessibilidade e usabilidade
Desafios na modelagem
para Web
DAW4 24
• Como apoiar efetivamente o uso de boas práticas nos projetos?
– Falta de uma ligação direta para a incorporação com elementos e arquiteturas que as preveem
– Ou mesmo estruturas que indicam como e quando usar diretrizes
– Algumas boas práticas envolvem subjetividade • Difícil a realização de inferências computacionais
Conclusões
• A Engenharia Web é uma área desafiadora,
cheia de riscos e complexa
– Mas cheia de bons desafios e oportunidades
• Abre novas áreas de pesquisa, novos ramos
e promessas de desenvolvimentos
– Existem vários modelos para o desenvolvimento
Web
• O melhor é aquele que melhor se ajusta ao projeto,
desenvolvedores e organização
DAW4 25
Modelo de processo
• Pressman [2001]
DAW4 26
Modelo de processo
• Lowe & Eklund [2002]
DAW4 27
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
DAW4 28
Levantamento
Metodologias
DAW4 29
Metodologias adotadas para desenvolvimento de aplicações multimídia
Levantamento
Intenções
futuras
DAW4 30
Incluir dados multimídia nos sistemas de informação
Desenvolver aplicações multimídia
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
DAW4 31
[Koch 1999]
Fases cobertas pelos
métodos
DAW4 32
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
DAW4 33
[Escalona & Koch 2004]
Técnicas
Captura
Definição
Validação
DAW4 34
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?
DAW4 35
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).
DAW4 36
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
DAW4 37
DAW4 38
top related