Novembro/2004 Metodologia para Desenvolvimento de Sistemas Web MO409 – Introdução à Engenharia...

22
Novembro/2004 Metodologia para Desenvolvimento de Sistemas Web MO409 – Introdução à Engenharia de Software Profª. Eliane Martins Felipe Paulo Guazzi Bergo (Doutorando em Ciência da Computação) Milena Alexandre dos Santos Baesso (Mestranda em Engenharia Elétrica)

Transcript of Novembro/2004 Metodologia para Desenvolvimento de Sistemas Web MO409 – Introdução à Engenharia...

Page 1: Novembro/2004 Metodologia para Desenvolvimento de Sistemas Web MO409 – Introdução à Engenharia de Software Profª. Eliane Martins Felipe Paulo Guazzi Bergo.

Novembro/2004

Metodologia para Desenvolvimento de Sistemas

Web

MO409 – Introdução à Engenharia de Software

Profª. Eliane Martins

Felipe Paulo Guazzi Bergo(Doutorando em Ciência da Computação)

Milena Alexandre dos Santos Baesso(Mestranda em Engenharia Elétrica)

Page 2: Novembro/2004 Metodologia para Desenvolvimento de Sistemas Web MO409 – Introdução à Engenharia de Software Profª. Eliane Martins Felipe Paulo Guazzi Bergo.

Novembro/2004 F.Bergo/M. Baesso

Características de Sistemas Web

Metodologia OOHDM

Fases de Desenvolvimento

I. Design Conceitual

II. Design Navegacional

III. Design de Interface Abstrata

IV. Implementação

Ferramenta de Apoio

Conclusões

Referências

Características de Sistemas WebCaracterísticas de Sistemas Web

• Uso de infra-estrutura de terceiros.

Servidores Web, BD Cliente com

Web BrowserInternet

Terceirizável Manutenção Mínima,

Tempo Zero de ConfiguraçãoAplicação

Page 3: Novembro/2004 Metodologia para Desenvolvimento de Sistemas Web MO409 – Introdução à Engenharia de Software Profª. Eliane Martins Felipe Paulo Guazzi Bergo.

Novembro/2004 F.Bergo/M. Baesso

Características de Sistemas Web

Metodologia OOHDM

Fases de Desenvolvimento

I. Design Conceitual

II. Design Navegacional

III. Design de Interface Abstrata

IV. Implementação

Ferramenta de Apoio

Conclusões

Referências

Características de Sistemas WebCaracterísticas de Sistemas Web

• Alta Usabilidade

Usuários habituados com o modelo de interface e navegação.

Page 4: Novembro/2004 Metodologia para Desenvolvimento de Sistemas Web MO409 – Introdução à Engenharia de Software Profª. Eliane Martins Felipe Paulo Guazzi Bergo.

Novembro/2004 F.Bergo/M. Baesso

Características de Sistemas Web

Metodologia OOHDM

Fases de Desenvolvimento

I. Design Conceitual

II. Design Navegacional

III. Design de Interface Abstrata

IV. Implementação

Ferramenta de Apoio

Conclusões

Referências

Características de Sistemas WebCaracterísticas de Sistemas Web

• Uso em larga escala de componentes de software

A utilização de componentes como browsers, servidores web, plugins, SGBDs, etc. leva a um processo acelerado de detecção e correção de falhas, que resulta em componentes mais robustos, a longo prazo.

Page 5: Novembro/2004 Metodologia para Desenvolvimento de Sistemas Web MO409 – Introdução à Engenharia de Software Profª. Eliane Martins Felipe Paulo Guazzi Bergo.

Novembro/2004 F.Bergo/M. Baesso

Características de Sistemas Web

Metodologia OOHDM

Fases de Desenvolvimento

I. Design Conceitual

II. Design Navegacional

III. Design de Interface Abstrata

IV. Implementação

Ferramenta de Apoio

Conclusões

Referências

Características de Sistemas WebCaracterísticas de Sistemas Web

• Equipes Interdisciplinares

Colaboração entre diferentes formações (designers,webmasters, programadores, marketing, comunicação, etc.): a complexidade na manutenção destas equipes e a complexidade da construção de sistemas torna o desenvolvimento para a Internet um grande desafio.

Page 6: Novembro/2004 Metodologia para Desenvolvimento de Sistemas Web MO409 – Introdução à Engenharia de Software Profª. Eliane Martins Felipe Paulo Guazzi Bergo.

Novembro/2004 F.Bergo/M. Baesso

Características de Sistemas Web

Metodologia OOHDM

Fases de Desenvolvimento

I. Design Conceitual

II. Design Navegacional

III. Design de Interface Abstrata

IV. Implementação

Ferramenta de Apoio

Conclusões

Referências

Características de Sistemas WebCaracterísticas de Sistemas Web

"Inclui uma mistura entre imprensa e desenvolvimento de software, entre mercado e computação, entre

comunicações internas e relações externas, e entre arte e tecnologia".

Tomas Powell

Page 7: Novembro/2004 Metodologia para Desenvolvimento de Sistemas Web MO409 – Introdução à Engenharia de Software Profª. Eliane Martins Felipe Paulo Guazzi Bergo.

Novembro/2004 F.Bergo/M. Baesso

Características de Sistemas Web

Metodologia OOHDM

Fases de Desenvolvimento

I. Design Conceitual

II. Design Navegacional

III. Design de Interface Abstrata

IV. Implementação

Ferramenta de Apoio

Conclusões

Referências

Características de Sistemas WebCaracterísticas de Sistemas Web

Vantagens:

• Facilidade para criar conteúdo

• Portabilidade

• Arquitetura Cliente/Servidor

Page 8: Novembro/2004 Metodologia para Desenvolvimento de Sistemas Web MO409 – Introdução à Engenharia de Software Profª. Eliane Martins Felipe Paulo Guazzi Bergo.

Novembro/2004 F.Bergo/M. Baesso

Características de Sistemas Web

Metodologia OOHDM

Fases de Desenvolvimento

I. Design Conceitual

II. Design Navegacional

III. Design de Interface Abstrata

IV. Implementação

Ferramenta de Apoio

Conclusões

Referências

Características de Sistemas WebCaracterísticas de Sistemas Web

Desvantagens:

• Latência de Rede

• Largura de Banda Limitada

• Segurança

Page 9: Novembro/2004 Metodologia para Desenvolvimento de Sistemas Web MO409 – Introdução à Engenharia de Software Profª. Eliane Martins Felipe Paulo Guazzi Bergo.

Novembro/2004 F.Bergo/M. Baesso

Características de Sistemas Web

Metodologia OOHDM

Fases de Desenvolvimento

I. Design Conceitual

II. Design Navegacional

III. Design de Interface Abstrata

IV. Implementação

Ferramenta de Apoio

Conclusões

Referências

Metodologia OOHDMMetodologia OOHDMObject Oriented Hypermedia Design MethodObject Oriented Hypermedia Design Method

• Metodologia baseada em modelos para o desenvolvimento de aplicações hipermídia de grande porte.

• Resultado de um trabalho de pesquisa da PUC-RIO

Page 10: Novembro/2004 Metodologia para Desenvolvimento de Sistemas Web MO409 – Introdução à Engenharia de Software Profª. Eliane Martins Felipe Paulo Guazzi Bergo.

Novembro/2004 F.Bergo/M. Baesso

Características de Sistemas Web

Metodologia OOHDM

Fases de Desenvolvimento

I. Design Conceitual

II. Design Navegacional

III. Design de Interface Abstrata

IV. Implementação

Ferramenta de Apoio

Conclusões

Referências

Metodologia OOHDMMetodologia OOHDMObject Oriented Hypermedia Design MethodObject Oriented Hypermedia Design Method

• Abrange as fases de análise, projeto e implementação

• As fases de teste e manutenção não são focadas

• Utiliza o modelo de Orientação a Objetos e o Modelo de Estados

• Cobre todos os aspectos de um sistema

Page 11: Novembro/2004 Metodologia para Desenvolvimento de Sistemas Web MO409 – Introdução à Engenharia de Software Profª. Eliane Martins Felipe Paulo Guazzi Bergo.

Novembro/2004 F.Bergo/M. Baesso

Características de Sistemas Web

Metodologia OOHDM

Fases de Desenvolvimento

I. Design Conceitual

II. Design Navegacional

III. Design de Interface Abstrata

IV. Implementação

Ferramenta de Apoio

Conclusões

Referências

Metodologia OOHDMMetodologia OOHDMObject Oriented Hypermedia Design MethodObject Oriented Hypermedia Design Method

OOHDM possui 4 atividades (ou fases) distintas:

• Design Conceitual• Design Navegacional• Design de Interface Abstrata• Implementação

Page 12: Novembro/2004 Metodologia para Desenvolvimento de Sistemas Web MO409 – Introdução à Engenharia de Software Profª. Eliane Martins Felipe Paulo Guazzi Bergo.

Novembro/2004 F.Bergo/M. Baesso

Características de Sistemas Web

Metodologia OOHDM

Fases de Desenvolvimento

I. Design Conceitual

II. Design Navegacional

III. Design de Interface Abstrata

IV. Implementação

Ferramenta de Apoio

Conclusões

Referências

Metodologia OOHDMMetodologia OOHDMObject Oriented Hypermedia Design MethodObject Oriented Hypermedia Design Method

Fase I: Design Conceitual

• Identificar e modelar elementos do sistema: sub-sistemas, classes, relações e atributos.

• Resultado: diagrama de classes com relações de especialização e agregação.

• OOHDM não prevê um método particular para esta fase.

• Foco: modelar a semântica da aplicação.

Page 13: Novembro/2004 Metodologia para Desenvolvimento de Sistemas Web MO409 – Introdução à Engenharia de Software Profª. Eliane Martins Felipe Paulo Guazzi Bergo.

Novembro/2004 F.Bergo/M. Baesso

Características de Sistemas Web

Metodologia OOHDM

Fases de Desenvolvimento

I. Design Conceitual

II. Design Navegacional

III. Design de Interface Abstrata

IV. Implementação

Ferramenta de Apoio

Conclusões

Referências

Metodologia OOHDMMetodologia OOHDMObject Oriented Hypermedia Design MethodObject Oriented Hypermedia Design Method

Fase I: Design Conceitual (Exemplo)

Reserva

Cliente

Tipo de Quarto

Hotel

Pessoa Física Empresa

possui

N

1

contem

N

1

1

1

Page 14: Novembro/2004 Metodologia para Desenvolvimento de Sistemas Web MO409 – Introdução à Engenharia de Software Profª. Eliane Martins Felipe Paulo Guazzi Bergo.

Novembro/2004 F.Bergo/M. Baesso

Características de Sistemas Web

Metodologia OOHDM

Fases de Desenvolvimento

I. Design Conceitual

II. Design Navegacional

III. Design de Interface Abstrata

IV. Implementação

Ferramenta de Apoio

Conclusões

Referências

Metodologia OOHDMMetodologia OOHDMObject Oriented Hypermedia Design MethodObject Oriented Hypermedia Design Method

Fase II: Design Navegacional

• Identificar nós, links, estruturas de acesso e elementos da interface do sistema com o usuário.

• O modelo navegacional gera “visões” (views) do modelo conceitual.

• Produto: esquema de contexto, um diagrama que modela as possíveis interações com o sistema.

• Foco: perfil do usuário, casos de uso e usabilidade do sistema.

Page 15: Novembro/2004 Metodologia para Desenvolvimento de Sistemas Web MO409 – Introdução à Engenharia de Software Profª. Eliane Martins Felipe Paulo Guazzi Bergo.

Novembro/2004 F.Bergo/M. Baesso

Características de Sistemas Web

Metodologia OOHDM

Fases de Desenvolvimento

I. Design Conceitual

II. Design Navegacional

III. Design de Interface Abstrata

IV. Implementação

Ferramenta de Apoio

Conclusões

Referências

Metodologia OOHDMMetodologia OOHDMObject Oriented Hypermedia Design MethodObject Oriented Hypermedia Design Method

Fase II: Design Navegacional (Exemplo)

Tela Principal

Cadastro de Novo Cliente

Lista de Hotéis

Lista de Tipos de Quartos

Seleção de Período

Autenticação de Cliente Existente

Fazer Reserva,Novo Cliente

Fazer Reserva,Cliente Cadastrado

Escolher Hotel

Escolher Quarto

Escolher Período

Page 16: Novembro/2004 Metodologia para Desenvolvimento de Sistemas Web MO409 – Introdução à Engenharia de Software Profª. Eliane Martins Felipe Paulo Guazzi Bergo.

Novembro/2004 F.Bergo/M. Baesso

Características de Sistemas Web

Metodologia OOHDM

Fases de Desenvolvimento

I. Design Conceitual

II. Design Navegacional

III. Design de Interface Abstrata

IV. Implementação

Ferramenta de Apoio

Conclusões

Referências

Metodologia OOHDMMetodologia OOHDMObject Oriented Hypermedia Design MethodObject Oriented Hypermedia Design Method

Fase III: Design de Interface Abstrata

• Detalhamento do esquema de contexto com elementos de nível mais baixo (listas, tabelas, botões, etc.)• OOHDM usa ADV (Abstract Data Views) para descrever cada elemento de interface.• Foco: cobrir os esquemas de contexto e o diagrama de classes com elementos nativos da tecnologia escolhida. A usabilidade é um ponto crucial.

Page 17: Novembro/2004 Metodologia para Desenvolvimento de Sistemas Web MO409 – Introdução à Engenharia de Software Profª. Eliane Martins Felipe Paulo Guazzi Bergo.

Novembro/2004 F.Bergo/M. Baesso

Características de Sistemas Web

Metodologia OOHDM

Fases de Desenvolvimento

I. Design Conceitual

II. Design Navegacional

III. Design de Interface Abstrata

IV. Implementação

Ferramenta de Apoio

Conclusões

Referências

Metodologia OOHDMMetodologia OOHDMObject Oriented Hypermedia Design MethodObject Oriented Hypermedia Design Method

Fase III: Design de Interface Abstrata

ADVs incluem:• Aspectos estáticos dos elementos de interface.• Relações estáticas com outros elementos do esquema de contexto.• Reações a eventos externos e disparo de mudanças na interface.

Page 18: Novembro/2004 Metodologia para Desenvolvimento de Sistemas Web MO409 – Introdução à Engenharia de Software Profª. Eliane Martins Felipe Paulo Guazzi Bergo.

Novembro/2004 F.Bergo/M. Baesso

Características de Sistemas Web

Metodologia OOHDM

Fases de Desenvolvimento

I. Design Conceitual

II. Design Navegacional

III. Design de Interface Abstrata

IV. Implementação

Ferramenta de Apoio

Conclusões

Referências

Metodologia OOHDMMetodologia OOHDMObject Oriented Hypermedia Design MethodObject Oriented Hypermedia Design Method

Fase IV: Implementação

• Nesta fase o sistema é implementado de forma a cobrir os esquemas produzidos nas fases anteriores.• OOHDM não especifica linguagens ou métodos para implementação, deixando a escolha totalmente em função da arquitetura.

Page 19: Novembro/2004 Metodologia para Desenvolvimento de Sistemas Web MO409 – Introdução à Engenharia de Software Profª. Eliane Martins Felipe Paulo Guazzi Bergo.

Novembro/2004 F.Bergo/M. Baesso

Características de Sistemas Web

Metodologia OOHDM

Fases de Desenvolvimento

I. Design Conceitual

II. Design Navegacional

III. Design de Interface Abstrata

IV. Implementação

Ferramenta de Apoio

Conclusões

Referências

Metodologia OOHDMMetodologia OOHDMObject Oriented Hypermedia Design MethodObject Oriented Hypermedia Design Method

Ferramenta de Apoio: OOHDM-Web

• Para aplicações projetadas com a metodologia OOHDM e implementadas com o ambiente de desenvolvimento CGILua.

• Provê vantagens de ambientes de construção de websites: uniformização de páginas, eficiência de armazenamento.

• Permite ao projetista expressar o projeto em um nível mais próximo do domínio da aplicação (abstração).

Page 20: Novembro/2004 Metodologia para Desenvolvimento de Sistemas Web MO409 – Introdução à Engenharia de Software Profª. Eliane Martins Felipe Paulo Guazzi Bergo.

Novembro/2004 F.Bergo/M. Baesso

Características de Sistemas Web

Metodologia OOHDM

Fases de Desenvolvimento

I. Design Conceitual

II. Design Navegacional

III. Design de Interface Abstrata

IV. Implementação

Ferramenta de Apoio

Conclusões

Referências

Metodologia OOHDMMetodologia OOHDMObject Oriented Hypermedia Design MethodObject Oriented Hypermedia Design Method

Fonte: SCHWABE,D. ; PONTES, R.A. ; MOURA, I. OOHDM-Web: An Environment for Implementation of Hypermedia Applications in the WWW, P. 7.

Page 21: Novembro/2004 Metodologia para Desenvolvimento de Sistemas Web MO409 – Introdução à Engenharia de Software Profª. Eliane Martins Felipe Paulo Guazzi Bergo.

Novembro/2004 F.Bergo/M. Baesso

Características de Sistemas Web

Metodologia OOHDM

Fases de Desenvolvimento

I. Design Conceitual

II. Design Navegacional

III. Design de Interface Abstrata

IV. Implementação

Ferramenta de Apoio

Conclusões

Referências

ConclusõesConclusões

• Abordagem sistemática e abrangente.• Todos os aspectos de um sistema

hipermídia são considerados.• Decisões de projetos são arquivadas para

rastreamento posterior.• Não engloba as fases de teste e

manutenção.• Metodologia jovem e acadêmica.

Page 22: Novembro/2004 Metodologia para Desenvolvimento de Sistemas Web MO409 – Introdução à Engenharia de Software Profª. Eliane Martins Felipe Paulo Guazzi Bergo.

Novembro/2004 F.Bergo/M. Baesso

Características de Sistemas Web

Metodologia OOHDM

Fases de Desenvolvimento

I. Design Conceitual

II. Design Navegacional

III. Design de Interface Abstrata

IV. Implementação

Ferramenta de Apoio

Conclusões

Referências

ReferênciasReferências

1. R.S. Pressman, (2001) “Software Engineering: A practitioner’s approach”, 5th ed. McGraw-Hill, ISBN 0-07-365578-3.

2. B. Haire, B. Henderson-Sellers, D. Lowe (2001) “Supporting web development in the OPEN process: additional tasks” Submitted to COMPSAC'2001: International Computer Software and Applications Conference, Chicago, Illinois, USA.

3. A.M.B.R. Carvalho, T.C.S. Chiossi, "Introdução à Engenharia de Software", Campinas, SP; Editora da Unicamp, (2001).

4. G. Rossi “An Object-Oriented Method for Designing Hypermedia Applications”. PHD Thesis, Departamento de Informática, PUC-Rio, Brazil, July 1996 (in Portuguese).

5. D. Schwabe, R.A. Pontes, I. Moura, "OOHDM-Web: An Environment for Implementation of Hypermedia Applications in the WWW", PUC-Rio, Brazil (1998).

6. http://www.oohdm.inf.puc-rio.br:8668/space/start, último acesso 09/11/2004.

7. D. Schwabe, G. Rossi, “The Object-Oriented Hypermedia Design Model”, Comm. of the ACM, 38(8), pp 45-46, Aug. 1995.

8. D. Schwabe, G. Rossi, "Developing hypermedia applications using OOHDM“. In Workshop on Hypermedia Development, Pittsburgh, USA, June 1998