mÓdulo - facombacala/daw/aula01-3 - engenharia web.pdf · 2014-03-22 · fases cobertas pelos...

Post on 11-May-2020

3 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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