Metodologia para Desenvolvimento de Sistemas Web Felipe Paulo Guazzi Bergo (Doutorando em Ciência da Computação) Milena Alexandre dos Santos Baesso (Mestranda em Engenharia Elétrica) MO409 – Introdução à Engenharia de Software Profª. Eliane Martins Novembro/2004 Características de Sistemas Web Características de Sistemas Web • Uso de infra-estrutura de terceiros. Metodologia OOHDM Fases de Desenvolvimento I. Design Conceitual II. Design Navegacional Servidores Web, BD Internet Cliente com Web Browser III. Design de Interface Abstrata IV. Implementação Ferramenta de Apoio Terceirizável Conclusões Aplicação Manutenção Mínima, Tempo Zero de Configuração Referências Novembro/2004 F.Bergo/M. Baesso Características de Sistemas Web Características de Sistemas Web • Alta Usabilidade Metodologia OOHDM Fases de Desenvolvimento I. Design Conceitual II. Design Navegacional Usuários habituados com o modelo de interface e navegação. III. Design de Interface Abstrata IV. Implementação Ferramenta de Apoio Conclusões Referências Novembro/2004 F.Bergo/M. Baesso Características de Sistemas Web Características de Sistemas Web Metodologia OOHDM • Uso em larga escala de componentes de software Fases de Desenvolvimento I. Design Conceitual II. Design Navegacional III. Design de Interface Abstrata IV. Implementação Ferramenta de Apoio Conclusões 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. Referências Novembro/2004 F.Bergo/M. Baesso Características de Sistemas Web Características de Sistemas Web • Equipes Interdisciplinares Metodologia OOHDM Fases de Desenvolvimento I. Design Conceitual II. Design Navegacional III. Design de Interface Abstrata IV. Implementação Ferramenta de Apoio 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. Conclusões Referências Novembro/2004 F.Bergo/M. Baesso Características de Sistemas Web Características de Sistemas Web Metodologia OOHDM Fases de Desenvolvimento I. Design Conceitual II. Design Navegacional "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". III. Design de Interface Abstrata Tomas Powell IV. Implementação Ferramenta de Apoio Conclusões Referências Novembro/2004 F.Bergo/M. Baesso Características de Sistemas Web Características de Sistemas Web Vantagens: Metodologia OOHDM Fases de Desenvolvimento I. Design Conceitual II. Design Navegacional III. Design de Interface Abstrata IV. Implementação • Facilidade para criar conteúdo • Portabilidade • Arquitetura Cliente/Servidor Ferramenta de Apoio Conclusões Referências Novembro/2004 F.Bergo/M. Baesso Características de Sistemas Web Características de Sistemas Web Desvantagens: Metodologia OOHDM Fases de Desenvolvimento I. Design Conceitual II. Design Navegacional III. Design de Interface Abstrata IV. Implementação • Latência de Rede • Largura de Banda Limitada • Segurança Ferramenta de Apoio Conclusões Referências Novembro/2004 F.Bergo/M. Baesso Metodologia OOHDM Object Oriented Hypermedia Design Method Características de Sistemas Web Metodologia OOHDM Fases de Desenvolvimento • Metodologia baseada em modelos para o desenvolvimento de aplicações hipermídia de grande porte. I. Design Conceitual II. Design Navegacional III. Design de Interface Abstrata IV. Implementação • Resultado de um trabalho de pesquisa da PUC-RIO Ferramenta de Apoio Conclusões Referências Novembro/2004 F.Bergo/M. Baesso Metodologia OOHDM Object Oriented Hypermedia Design Method Características de Sistemas Web • Abrange as fases de análise, projeto e implementação Metodologia OOHDM Fases de Desenvolvimento I. Design Conceitual II. Design Navegacional III. Design de Interface Abstrata IV. Implementação Ferramenta de Apoio Conclusões • 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 Referências Novembro/2004 F.Bergo/M. Baesso Metodologia OOHDM Object Oriented Hypermedia Design Method Características de Sistemas Web Metodologia OOHDM OOHDM possui 4 atividades (ou fases) distintas: Fases de Desenvolvimento I. Design Conceitual II. Design Navegacional III. Design de Interface Abstrata IV. Implementação Ferramenta de Apoio • • • • Design Conceitual Design Navegacional Design de Interface Abstrata Implementação Conclusões Referências Novembro/2004 F.Bergo/M. Baesso Metodologia OOHDM Object Oriented Hypermedia Design Method Características de Sistemas Web Fase I: Design Conceitual Metodologia OOHDM • 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. Fases de Desenvolvimento I. Design Conceitual II. Design Navegacional III. Design de Interface Abstrata IV. Implementação Ferramenta de Apoio Conclusões Referências Novembro/2004 F.Bergo/M. Baesso Metodologia OOHDM Object Oriented Hypermedia Design Method Características de Sistemas Web Fase I: Design Conceitual (Exemplo) Metodologia OOHDM Reserva Fases de Desenvolvimento 1 N I. Design Conceitual II. Design Navegacional possui III. Design de Interface Abstrata IV. Implementação 1 Cliente 1 Tipo de Quarto Pessoa Física Empresa N Ferramenta de Apoio contem Conclusões 1 Hotel Referências Novembro/2004 F.Bergo/M. Baesso Metodologia OOHDM Object Oriented Hypermedia Design Method Características de Sistemas Web Fase II: Design Navegacional Metodologia OOHDM • 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. Fases de Desenvolvimento I. Design Conceitual II. Design Navegacional III. Design de Interface Abstrata IV. Implementação Ferramenta de Apoio Conclusões Referências Novembro/2004 F.Bergo/M. Baesso Metodologia OOHDM Object Oriented Hypermedia Design Method Características de Sistemas Web Metodologia OOHDM Fase II: Design Navegacional (Exemplo) Fazer Reserva, Novo Cliente Fases de Desenvolvimento Cadastro de Novo Cliente Lista de Hotéis I. Design Conceitual II. Design Navegacional III. Design de Interface Abstrata IV. Implementação Escolher Hotel Escolher Quarto Tela Principal Ferramenta de Apoio Autenticação de Cliente Existente Lista de Tipos de Quartos Fazer Reserva, Cliente Cadastrado Escolher Período Conclusões Seleção de Período Referências Novembro/2004 F.Bergo/M. Baesso Metodologia OOHDM Object Oriented Hypermedia Design Method Características de Sistemas Web Fase III: Design de Interface Abstrata Metodologia OOHDM • 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. Fases de Desenvolvimento I. Design Conceitual II. Design Navegacional III. Design de Interface Abstrata IV. Implementação Ferramenta de Apoio Conclusões Referências Novembro/2004 F.Bergo/M. Baesso Metodologia OOHDM Object Oriented Hypermedia Design Method Características de Sistemas Web Fase III: Design de Interface Abstrata Metodologia OOHDM 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. Fases de Desenvolvimento I. Design Conceitual II. Design Navegacional III. Design de Interface Abstrata IV. Implementação Ferramenta de Apoio Conclusões Referências Novembro/2004 F.Bergo/M. Baesso Metodologia OOHDM Object Oriented Hypermedia Design Method Características de Sistemas Web Fase IV: Implementação Metodologia OOHDM • 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. Fases de Desenvolvimento I. Design Conceitual II. Design Navegacional III. Design de Interface Abstrata IV. Implementação Ferramenta de Apoio Conclusões Referências Novembro/2004 F.Bergo/M. Baesso Metodologia OOHDM Object Oriented Hypermedia Design Method Características de Sistemas Web Ferramenta de Apoio: OOHDM-Web Metodologia OOHDM • Para aplicações projetadas com a metodologia OOHDM e implementadas com o ambiente de desenvolvimento CGILua. Fases de Desenvolvimento I. Design Conceitual II. Design Navegacional III. Design de Interface Abstrata IV. Implementação Ferramenta de Apoio Conclusões • 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). Referências Novembro/2004 F.Bergo/M. Baesso Metodologia OOHDM Object Oriented Hypermedia Design Method 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 Fonte: SCHWABE,D. ; PONTES, R.A. ; MOURA, I. OOHDM-Web: An Environment for Implementation of Hypermedia Applications in the WWW, P. 7. Novembro/2004 F.Bergo/M. Baesso Conclusões 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 • 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. Conclusões Referências Novembro/2004 F.Bergo/M. Baesso Referências Características de Sistemas Web 1. 2. Metodologia OOHDM Fases de Desenvolvimento I. Design Conceitual II. Design Navegacional III. Design de Interface Abstrata 3. 4. 5. IV. Implementação 6. 7. Ferramenta de Apoio 8. R.S. Pressman, (2001) “Software Engineering: A practitioner’s approach”, 5th ed. McGraw-Hill, ISBN 0-07-365578-3. 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. A.M.B.R. Carvalho, T.C.S. Chiossi, "Introdução à Engenharia de Software", Campinas, SP; Editora da Unicamp, (2001). G. Rossi “An Object-Oriented Method for Designing Hypermedia Applications”. PHD Thesis, Departamento de Informática, PUC-Rio, Brazil, July 1996 (in Portuguese). D. Schwabe, R.A. Pontes, I. Moura, "OOHDM-Web: An Environment for Implementation of Hypermedia Applications in the WWW", PUC-Rio, Brazil (1998). http://www.oohdm.inf.puc-rio.br:8668/space/start, último acesso 09/11/2004. D. Schwabe, G. Rossi, “The Object-Oriented Hypermedia Design Model”, Comm. of the ACM, 38(8), pp 45-46, Aug. 1995. D. Schwabe, G. Rossi, "Developing hypermedia applications using OOHDM“. In Workshop on Hypermedia Development, Pittsburgh, USA, June 1998 Conclusões Referências Novembro/2004 F.Bergo/M. Baesso