A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Metodologia para Desenvolvimento de Sistemas Web

Apresentações semelhantes


Apresentação em tema: "Metodologia para Desenvolvimento de Sistemas Web"— Transcrição da apresentação:

1 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) Apresenta-se uma Metodologia para desenvolvimento de sistemas web, denominada Object-Oriented Hypermedia Design Method (OOHDM). A Metodologia OOHDM foi desenvolvida na Pontifícia Universidade Católica do Rio de Janeiro, por Gustavo Rossi e Daniel Schwabe. Trata-se de uma metodologia baseada em modelos para o desenvolvimento de aplicações hipermídia de grande porte. MO409 – Introdução à Engenharia de Software Profª. Eliane Martins

2 Características de Sistemas Web
Uso de infra-estrutura de terceiros. Servidores Web, BD Cliente com Web Browser Internet Manutenção Mínima, Tempo Zero de Configuração Terceirizável Aplicação

3 Características de Sistemas Web
Alta Usabilidade Usuários habituados com o modelo de interface e navegação. A construção de grandes aplicações de hipermídia é extremamente difícil, devido, principalmente, à combinação de navegação controlada pelo usuário com a própria natureza dos dados multimídia.

4 Caracterí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.

5 Caracterí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.

6 Caracterí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 Haire, Lowe e Henderson-Sellers [Haire, Henderson-Sellers and Lowe, 2001], classificam as diferenças entre os sistemas web e os tradicionais sob dois enfoques: 1.     Tecnologia: há necessidade de interligar a arquitetura do negócio com a arquitetura tecnológica de forma mais intensa já que a organização estará mais integrada com o ambiente em que opera. O conteúdo dos sistemas passou a ser mais complexo, não se resume apenas à questão transacional, já que estes utilizam textos, sons, imagens e documentos. A interface passou a ter outro sentido com sistemas web, já que esta se tornou a porta de entrada no mundo virtual, e o volume de informações a disposição é maior e mais variado. 2.     Organização: os requisitos se tornaram mais voláteis; os ciclos de atualização mais curtos; as exigências se tornaram maiores; as manutenções e evolução são mais pontuais. Em linhas gerais sistemas web podem ser resumidos em [Pressman, 2001]: Está sempre em evolução; é voltado para execução em rede e possui grande valor de conteúdo.

7 Características de Sistemas Web
Vantagens: Facilidade para criar conteúdo Portabilidade Arquitetura Cliente/Servidor Facilidade: Disponibilidade imediata de software para criação de templates HTML, imagens e outras mídias. Portabilidade: disponibilidade de browsers em todas as arquiteturas presentes no mercado. Arquitetura Cliente/Servidor: Concentração da complexidade e dados do sistema na infra-estrutura do servidor, tornando a gestão de segurança e configuração mais simples e barata para grandes bases de usuários.

8 Características de Sistemas Web
Desvantagens: Latência de Rede Largura de Banda Limitada Segurança Latência de Rede: Todas as operações requerem uma comunicação por rede com pedido e resposta, que impedem respostas tão rápidas quanto em um sistema totalmente local. Largura de Banda: Limita a quantidade de informações a serem passadas em cada operação. Exemplo: Quebra de tabelas grandes em diversas páginas. Segurança: Requer a manutenção de componentes de terceiros (servidor web, linguagens do servidor (ASP, PHP, etc.), browsers, plugins) sobre os quais não se tem controle. Se o meio de comunicação for a Internet, é preciso prever formas de lidar com ataques externos.

9 Metodologia OOHDM Object 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 Autores da metodologia: Gustavo Rossi e Daniel Schwabe

10 Metodologia OOHDM Object 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 Considera-se que as seguintes fases devem ser desempenhadas no processo de produção de software: análise (ou modelagem), projeto, implementação, teste e manutenção. A fase de análise destina-se à compreensão do domínio do problema e à construção de modelos adequados deste domínio. A fase de projeto lida com abstrações do universo do software e tende à maximização da modularidade e do reuso. A fase de implementação converte abstrações do projeto em artefatos concretos de software. A importância e a necessidade das fases de teste e manutenção são citadas pela metodologia, mas não são tratadas. A metodologia OOHDM utiliza o Modelo Orientado a Objetos e o um Modelo baseado em máquinas de estado, mais precisamente uma extensão dos Statecharts, fazendo com que todos os aspectos de um sistema: funcional, comportamental, de dados e de pontos de vista sejam cobertos.

11 Metodologia OOHDM Object Oriented Hypermedia Design Method
OOHDM possui 4 atividades (ou fases) distintas: Design Conceitual Design Navegacional Design de Interface Abstrata Implementação A metodologia OOHDM considera o processo de desenvolvimento como um processo de quatro atividades, desempenhadas em uma mistura de estilos iterativos e incrementais de desenvolvimento; em cada etapa um modelo é construído ou enriquecido.

12 Metodologia OOHDM Object 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. A modelagem conceitual ou de domínio destina-se à compreensão do domínio problema e à construção de modelos adequados deste domínio. O modelo do domínio da aplicação é construído utilizando-se princípios bem conhecidos de modelagem orientada a objetos aumentados com algumas primitivas tais como perspectivas de atributo e sub-sistemas. As classes são descritas como de costume em modelos orientados a objetos, mas seus atributos podem ser multi-tipados, representando diferentes perspectivas da mesma entidade real. Uso de notação semelhante a OMT de Rumbaugh, enriquecida com informações de subsistema. Agregação e Generalização/Especialização são utilizadas para aumentar o poder de abstração do sistema. Além disto, utiliza-se Cartões de Classes e Relacionamentos , similares aos cartões CRC, para assistir na documentação. As classes podem relacionar-se com subsistemas (abstrações de um sistema conceitual completo). Do ponto de vista da hipermídia, é importante afirmar que os relacionamentos não devem ser escondidos nos atributos de classes. Isto significa que no caso de um atributo representar uma entidade conceitual complexa a ser explorada na hipermídia final, deve-se especificar um relacionamento. Resumi-se nos seguintes itens os produtos da atividade de modelagem:  - Um esquema conceitual. (Na verdade, um conjunto de esquemas conceituais, sendo um para cada subsistema)  - Um conjunto de definições de subsistemas, classes, objetos e relacionamentos (utilizando Cartões de Subsistemas, Classes, Objetos e Relacionamentos).

13 Metodologia OOHDM Object Oriented Hypermedia Design Method
Fase I: Design Conceitual (Exemplo) Reserva 1 N 1 possui Cliente 1 A linguagem do diagrama não é especificada pelo OOHDM. Embora não esteja representado neste exemplo (para maior clareza), as classes devem ter seus atributos especificados. Tipo de Quarto Pessoa Física Empresa N contem 1 Hotel

14 Metodologia OOHDM Object 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. Diferentes modelos navegacionais podem ser construídos para o mesmo esquema conceitual, expressando, desta forma, diferentes visões (aplicações) no mesmo domínio. A estrutura navegacional de uma aplicação hipermídia é descrita definindo as classes navegacionais que refletem a visão escolhida sobre o domínio da aplicação. Esta estrutura é definida em termos de contextos navegacionais, que são induzidos (de diferentes maneiras, dependendo do tipo de contexto) a partir de classes navegacionais tais como Nós e Elos. Durante o Projeto Navegacional defini-se, também a maneira como a navegação irá proceder, especificando transformações no espaço navegacional, isto é, do conjunto de objetos navegacionais acessíveis em cada momento. Esquema de contexto: similar a um diagrama de casos de uso, com mais detalhes. O esquema de contexto usa notação própria do OOHDM, e embute características de implementação tais como ordenações e restrições dos dados exibidos.

15 Metodologia OOHDM Object Oriented Hypermedia Design Method
Fase II: Design Navegacional (Exemplo) Fazer Reserva, Novo Cliente Cadastro de Novo Cliente Escolher Hotel Lista de Hotéis Escolher Quarto Autenticação de Cliente Existente Tela Principal Lista de Tipos de Quartos A notação do diagrama de contexto é própria do OOHDM, e está descrita na referência 8. Quadro tracejado: tela de interação estática. Quadro com triângulo preenchido: lista com opções de ordenação (por cidade, por nome, etc.), Quadro tracejado com retângulo preenchido: índice dinâmico. Fazer Reserva, Cliente Cadastrado Escolher Período Seleção de Período

16 Metodologia OOHDM Object 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. Durante o Projeto de Interface Abstrata um modelo de interface é construído. Este modelo especifica que objetos de interface serão vistos pelo usuário e, particularmente, a forma que tomarão diferentes objetos navegacionais, que objetos de interface ativarão a navegação, a maneira como os objetos de interface multimídia serão sincronizados e que transformações ocorrerão na interface. Uma clara separação entre os dois interesses -a interface abstrata e o modelo navegacional-, permite construir interfaces diferentes para o mesmo modelo navegacional adequando-se, portanto, às variações de necessidades e preferências dos usuários, ou de tecnologia de interface. O ADV mostra, de forma discursiva, atributos e relações de um objeto. Usabilidade: garantir bom layout, legibilidade e agilidade da interface.

17 Metodologia OOHDM Object 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. Reações a eventos externos: OOHDM usa ADV-charts, um derivado de Statecharts, que estrutura o modelo de eventos e expressa requerimentos de sincronização.

18 Metodologia OOHDM Object 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. A liberdade de escolha das ferramentas é fundamental, já que sistemas web muitas vezes se beneficiam de ferramentas, linguagens ou tecnologias muito recentes, que podem ainda não estar associadas a metodologias adequadas. É também uma maneira de manter OOHDM atualizado frente à constante renovação de tecnologias.

19 Metodologia OOHDM Object 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). OOHDM-Web permite a implementação de aplicações hipermídia, através de scripts CGI que produzem e geram páginas dinamicamente, cujos conteúdos são fornecidos de uma base de dados e integrados com modelos pré-definidos. As ferramentas disponíveis no mercado hoje para projeto e implementação de websites podem ser classificadas em três categorias: editores de páginas, editores de website, e ambientes de construção do website. Dentre estas categorias, a última é a que fornece maior suporte aos desenvolvedores, pois permitem a construção de documentos com base nos modelos que estendem o HTML padrão. Em tais ambientes, os documentos são montados dinamicamente em tempo real instanciando um modelo com os dados obtidos de uma base de dados externa. Os exemplos nesta categoria são as Microsoft Active Server Pages(ASP), o StoryServer ( Cold Fusion ( os CGILua, ( e o DBLua ( O principal inconveniente destes ambientes é o fato de faltar abstrações de um nível mais elevado. Porém apresentam vantagens como, uniformização de páginas, eficiência de armazenamento, entre outros. Assim, seria interessante ter um ambiente que explorasse tais vantagens e permitisse ao projetista expressar seu projeto num nível mais próximo do domínio da aplicação. A ferramenta OOHDM-Web atende ambas características para aplicações projetadas empregando a metodologia OOHDM e utilizando o ambiente de construção de website CGILua.

20 Metodologia OOHDM Object Oriented Hypermedia Design Method
OOHDM Navigation Schema: O projetista define o esquema de navegação e os modelos da interface, gerando as definições da base de dados. HTML Pages: O projetista pode alimentar as bases de dados com dados de exemplo, ou fazer mudanças aos dados existentes. Browser: O resultado da terceira fase é o site no browser do usuário. Fonte: SCHWABE,D. ; PONTES, R.A. ; MOURA, I. OOHDM-Web: An Environment for Implementation of Hypermedia Applications in the WWW, P. 7.

21 Conclusõ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.

22 Referências R.S. Pressman, (2001) “Software Engineering: A practitioner’s approach”, 5th ed. McGraw-Hill, ISBN 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). ú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 D. Schwabe, G. Rossi, "Developing hypermedia applications using OOHDM“. In Workshop on Hypermedia Development, Pittsburgh, USA, June 1998


Carregar ppt "Metodologia para Desenvolvimento de Sistemas Web"

Apresentações semelhantes


Anúncios Google