34

Topicos Avancados Em Aplicacoes Web v1

Embed Size (px)

Citation preview

Page 1: Topicos Avancados Em Aplicacoes Web v1

5/15/2018 Topicos Avancados Em Aplicacoes Web v1 - slidepdf.com

http://slidepdf.com/reader/full/topicos-avancados-em-aplicacoes-web-v1 1/34

Page 2: Topicos Avancados Em Aplicacoes Web v1

5/15/2018 Topicos Avancados Em Aplicacoes Web v1 - slidepdf.com

http://slidepdf.com/reader/full/topicos-avancados-em-aplicacoes-web-v1 2/34

Page 3: Topicos Avancados Em Aplicacoes Web v1

5/15/2018 Topicos Avancados Em Aplicacoes Web v1 - slidepdf.com

http://slidepdf.com/reader/full/topicos-avancados-em-aplicacoes-web-v1 3/34Direito Reservado ao PosEAD.

    P    ó   s  -    G   r   a    d   u   a   ç    ã   o   a    D    i   s   t    â   n   c    i   a

Brasíl ia-DF, 2010.

Tópic os Avanç ados emApl ic aç ões WEB

Page 4: Topicos Avancados Em Aplicacoes Web v1

5/15/2018 Topicos Avancados Em Aplicacoes Web v1 - slidepdf.com

http://slidepdf.com/reader/full/topicos-avancados-em-aplicacoes-web-v1 4/34

    T    ó   p    i   c   o   s    A   v

   a   n   ç   a    d   o   s   e   m     A

   p    l    i   c   a   ç    õ   e   s     W     E     B

2

Elaboração:

Max Bianchi Godoy

Produção:

Equipe Técnica de Avaliação, Revisão Linguística e Editoração

Page 5: Topicos Avancados Em Aplicacoes Web v1

5/15/2018 Topicos Avancados Em Aplicacoes Web v1 - slidepdf.com

http://slidepdf.com/reader/full/topicos-avancados-em-aplicacoes-web-v1 5/34

    P    ó   s  -    G   r   a    d   u   a   ç    ã   o   a    D    i   s   t    â   n   c    i   a

3

Sumário

Apresentação........................................................................................................................................ 4

Organização do Caderno de Estudos e Pesquisa ................................................................................ 5

Organização da Disciplina ................................................................................................................... 6

Introdução ............................................................................................................................................ 7

Unidade 1 – Conceitos Básicos ................................................................................................. .......... 9

Capítulo 1 – Hipertexto e Hipermídia ............................................................................................ 9

Capítulo 2 – Aplicações WEB  ...................................................................................................... 11

Unidade 2 – Processo de Desenvolvimento de Software na WEB ..................................................... 13

Capítulo 3 – Processo de Desenvolvimento .................................................................................. 13

Unidade 3 – Análise e Projeto de Aplicações WEB Utilizando o Método OOHDM ........................... 17

Capítulo 4 – O Modelo OOHDM ................................................................................................... 17

Capítulo 5 – Modelagem de Interação do Usuário com a Aplicação .............................................. 19

Capítulo 6 – Modelagem da Interface .......................................................................................... 25

Capítulo 7 – Projeto da Implementação ....................................................................................... 27

Para (não) Finalizar .............................................................................................................................. 28

Referências ........................................................................................................................................... 29

Page 6: Topicos Avancados Em Aplicacoes Web v1

5/15/2018 Topicos Avancados Em Aplicacoes Web v1 - slidepdf.com

http://slidepdf.com/reader/full/topicos-avancados-em-aplicacoes-web-v1 6/34

    T    ó   p    i   c   o   s    A   v

   a   n   ç   a    d   o   s   e   m     A

   p    l    i   c   a   ç    õ   e   s     W     E     B

4

Apresentação

Caro aluno,

Bem-vindo ao estudo da disciplina Tópicos Avançados em Aplicaçõe WEB .

Este é o nosso Caderno de Estudos e Pesquisa, material elaborado com o objetivo de contribuir para a realização e odesenvolvimento de seus estudos, assim como para a ampliação de seus conhecimentos.

Para que você se informe sobre o conteúdo a ser estudado nas próximas semanas, conheça os objetivos da disciplina, aorganização dos temas e o número aproximado de horas de estudo que devem ser dedicadas a cada unidade.

A carga horária desta disciplina é de 40 (quarenta) horas, cabendo a você administrar o tempo conforme a suadisponibilidade. Mas, lembre-se, há uma data-limite para a conclusão do curso, incluindo a apresentação ao seu tutordas atividades avaliativas indicadas.

Os conteúdos foram organizados em unidades de estudo, subdivididas em capítulos de forma didática, objetiva e

coerente. Eles serão abordados por meio de textos básicos, com questões para reflexão, que farão parte das atividadesavaliativas do curso; serão indicadas, também, fontes de consulta para aprofundar os estudos com leituras e pesquisascomplementares.

Desejamos a você um trabalho proveitoso sobre os temas abordados nesta disciplina. Lembre-se de que, apesar dedistantes, podemos estar muito próximos.

A Coordenação

Page 7: Topicos Avancados Em Aplicacoes Web v1

5/15/2018 Topicos Avancados Em Aplicacoes Web v1 - slidepdf.com

http://slidepdf.com/reader/full/topicos-avancados-em-aplicacoes-web-v1 7/34

    P    ó   s  -    G   r   a    d   u   a   ç    ã   o   a    D    i   s   t    â   n   c    i   a

5

Organização do Caderno de Estudos e Pesquisa

Apresentação: Mensagem da Coordenação.

Organização da Disciplina: Apresentação dos objetivos e da carga horária das unidades.

Introdução: Contextualização do estudo a ser desenvolvido por você na disciplina, indicando a importância desta parasua formação acadêmica.

Ícones utilizados no material didático

Provocação: Pensamentos inseridos no material didático para provocar a reflexão sobre sua prática eseus sentimentos ao desenvolver os estudos em cada disciplina.

Para refletir: Questões inseridas durante o estudo da disciplina para estimulá-lo a pensar a respeitodo assunto proposto. Registre sua visão sem se preocupar com o conteúdo do texto. O importante éverificar seus conhecimentos, suas experiências e seus sentimentos. É fundamental que você reflitasobre as questões propostas. Elas são o ponto de partida de nosso trabalho.

Textos para leitura complementar: Novos textos, trechos de textos referenciais, conceitos dedicionários, exemplos e sugestões, para lhe apresentar novas visões sobre o tema abordado no textobásico.

Sintetizando e enriquecendo nossas informações: Espaço para você fazer uma síntese dos textose enriquecê-los com sua contribuição pessoal.

Sugestão de leituras, filmes, sites e pesquisas: Aprofundamento das discussões.

Praticando: Atividades sugeridas, no decorrer das leituras, com o objetivo pedagógico de fortalecer oprocesso de aprendizagem.

Para (não) finalizar: Texto, ao final do Caderno, com a intenção de instigá-lo a prosseguir com areflexão.

Referências: Bibliografia consultada na elaboração da disciplina.

Page 8: Topicos Avancados Em Aplicacoes Web v1

5/15/2018 Topicos Avancados Em Aplicacoes Web v1 - slidepdf.com

http://slidepdf.com/reader/full/topicos-avancados-em-aplicacoes-web-v1 8/34

    T    ó   p    i   c   o   s    A   v

   a   n   ç   a    d   o   s   e   m     A

   p    l    i   c   a   ç    õ   e   s     W     E     B

6

Organização da Disciplina

Ementa:

Estudo do ambiente WEB , características, falhas, necessidades de  hardware e software. Análise e modelagem paraconstrução de sites. Estudo das principais técnicas e fundamentos para programação e construção de sites seguros,baseado nas linguagens dominantes nos ambientes Windows e Linux . Técnicas de projeto de aplicações na WEB . Projeto

conceitual de Navegação, de Interface e de Implementação.

Objetivos:

• Estudar o ambiente WEB , suas características, falhas e necessidades.

• Compreender as principais técnicas e os fundamentos para a programação.

• Conhecer o projeto de aplicações WEB a serem implementadas.

Unidade I – Conceitos Básicos

Carga horária: 10 horas

Conteúdo Capítulo

Hipertexto e Hipermídia 1Aplicações WEB  2

Unidade II – Processo de Desenvolvimento de Software na WEB 

Carga horária: 15 horas

Conteúdo CapítuloProcesso de Desenvolvimento 3

Unidade III – Análise e Projeto de Aplicações WEB utilizando o Método OOHDM

Carga horária: 15 horasConteúdo Capítulo

O Modelo OOHDM 4Modelagem de Interação do Usuário com a Aplicação 5Modelagem da Interface 6Projeto da Implementação 7

Page 9: Topicos Avancados Em Aplicacoes Web v1

5/15/2018 Topicos Avancados Em Aplicacoes Web v1 - slidepdf.com

http://slidepdf.com/reader/full/topicos-avancados-em-aplicacoes-web-v1 9/34

    P    ó   s  -    G   r   a    d   u   a   ç    ã   o   a    D    i   s   t    â   n   c    i   a

7

Introdução

“É muito fácil criar alguma coisa parecida com uma grande teiade aranha na qual, embora o autor possa gostar disso, o leitorfica rapidamente perdido. Na prática, até os hiperdocumentos são

curtos, quando os capítulos de livro são confusos, quando criadosao acaso. É comum que uma pessoa, que já usou um hiperdocumentodiversas vezes, seja surpreendida pela descoberta de algum itemútil, que já a iludira anteriormente. Ela fica imaginando que outraspérolas de sabedoria estão ocultas na confusão.”

MARTINS (1992, p.40).

Iniciaremos os estudos da disciplina Tópicos Avançados em Aplicações WEB  com alguns conceitos básicos sobrehipertexto, hipermídia e aplicações WEB .

Após isso, analisaremos o processo de desenvolvimento de software para a WEB , a partir dos fatores críticos desucesso, os requisitos para as aplicações e o estabelecimento de estratégias de negócios, bem como o suporte àstarefas dos usuários.

Finalmente, a partir do método OOHDM (Object-Oriented Hypermidia Design Method – Método de Design HipermídiaOrientado a Objeto), verificaremos como se processa o levantamento e requisitos, a modelagem da integração do usuáriocom a aplicação e a interface e o projeto da implementação.

Page 10: Topicos Avancados Em Aplicacoes Web v1

5/15/2018 Topicos Avancados Em Aplicacoes Web v1 - slidepdf.com

http://slidepdf.com/reader/full/topicos-avancados-em-aplicacoes-web-v1 10/34

Page 11: Topicos Avancados Em Aplicacoes Web v1

5/15/2018 Topicos Avancados Em Aplicacoes Web v1 - slidepdf.com

http://slidepdf.com/reader/full/topicos-avancados-em-aplicacoes-web-v1 11/34

    P    ó   s  -    G   r   a    d   u   a   ç    ã   o   a    D    i   s   t    â   n   c    i   a

9

Unidade I

Conceitos Básicos

Capítulo 1 – Hipertexto e Hipermídia

“O hipertexto é como um livro impresso, no qual o autor temdisponível uma tesoura para cortar e colar pedaços do texto detamanhos convenientes. A diferença é que o hipertexto eletrôniconão se reduz a uma série de anotações desordenadas: o autordefine a sua estrutura definindo conexões entre essas anotações.”

Bieber, Michael (1999).

HipertextoSegundo Tori (1995), o conceito do hipertexto foi criado em 1945 e não pressupunha a utilização de recursos deinformática.

O hipertexto corresponde a um texto não linear, sem ponto fixo de entrada e de saída, sem uma hierarquia pré-determinada, sempre expansível e literalmente sem limites, uma vez que pode ser inserido um novo link que o remetapara outra página e esta para diversas outras.

Para Nielsen (2000), na Internet os usuários interagem a partir dos links de hipertextos a fim de circular por um espaçoinformacional, o qual se compõe de até bilhões de páginas, sendo esse espaço muito vasto, tornando a navegação mais

difícil.

Tal aspecto possibilita o oferecimento de suportes navegacionais além dos  hiperlinks comuns, respondendo, conformeafirma Nielsen (2000), às premissas de localização dos usuários que correspondem, basicamente: de onde vim, ondeestou e para onde irei.

Segundo Conklin (1987, p.33), um ambiente hipertexto é basicamente resultado da junção de um componente de bancode dados ou links associados a uma interface com os usuários e um esquema de representação em que a informação emtexto seja informal e associada a processos e a operações mecanizadas e formais.

Page 12: Topicos Avancados Em Aplicacoes Web v1

5/15/2018 Topicos Avancados Em Aplicacoes Web v1 - slidepdf.com

http://slidepdf.com/reader/full/topicos-avancados-em-aplicacoes-web-v1 12/34

    T    ó   p    i   c   o   s    A   v

   a   n   ç   a    d   o   s   e   m     A

   p    l    i   c   a   ç    õ   e   s     W     E     B

10

Conceitos Básicos Unidade I

Hipermídia

“Podemos dizer que a hipermídia é uma extensão do conceito

de hipertexto, onde além de textos propriamente ditos, osdados manipulados pela aplicação podem ser quaisquer entre osdisponíveis em sistemas multimídia, como som e vídeo.”

Tori (1995).

Para Salgado (1992), a hipermídia é um sistema que permite manipular um grande conjunto de informações, as quaispodem pertencer a diversos tipos de mídia (imagens, textos, sons etc.), podendo que tais informações serem lidas deformas não lineares por meio de diversos caminhos de acesso ( links) disponíveis.

O termo hipermídia pode ser resumido como um aglomerado de tipos de mídia dispostos em uma só mídia. Paraexemplificar, verifica-se que um site de Internet que tenha textos escritos, som e movimento gera maior interesse epossibilita maior interatividade com os usuários e com os que nela estão focados do que os tipos de mídia convencionais.

Assim, sistemas hipermídia podem ser classificados como aplicações multimídia, mas nem toda aplicação multimídiatem característica de hipermídia.

Contudo, segundo Conklin (1987), um problema comum em sistemas de hipermídia ou hipertextos refere-se ao fato deos usuários ficarem desorientados em sua navegação, pois eles se esquecem onde estão, como e por que chegaram adeterminada parte do documento. Em consequência, nem sempre encontram a informação desejada em grandes ou, atémesmo, em pequenos hiperdocumentos nas aplicações WEB .

Page 13: Topicos Avancados Em Aplicacoes Web v1

5/15/2018 Topicos Avancados Em Aplicacoes Web v1 - slidepdf.com

http://slidepdf.com/reader/full/topicos-avancados-em-aplicacoes-web-v1 13/34

    P    ó   s  -    G   r   a    d   u   a   ç    ã   o   a    D    i   s   t    â   n   c    i   a

11

Conceitos Básicos Unidade I

Capítulo 2 – Aplicações WEB  

“As aplicações WEB utilizam uma arquitetura multinível onde asfunções executadas pelas aplicações podem estar distribuídas poruma rede de computadores. Elas fazem uso de uma infraestruturade rede que é o padrão atual adotado pela Internet .”

Araújo (2005).

Os conteúdos disponibilizados na WEB , normalmente, podem ser os seguintes:• Estáticos, os quais ficam armazenados estaticamente em arquivos no formato a ser exibido no  browser  

cliente.

• Dinâmicos, os quais podem ser construídos em tempo real por meio de dados armazenados em um Sistema deGerenciamento de Banco de Dados ou em outro tipo de repositório de dados.

Existem basicamente dois grandes grupos de sistemas de informação na Internet : os WEB sites tradicionais (normalmentede natureza estática) e as aplicações WEB , que geram conteúdos dinâmicos.

Segundo Conallen (2000), uma aplicação WEB é caracterizada por um “WEB site” onde o usuário, por meio da inserçãode dados, ou apenas mediante a “navegação”, pode influenciar o estado da lógica de negócio (nível negocial), a qualrepresenta uma camada intermediária que estabelece a comunicação entre a camada de apresentação e a de dados, emuma arquitetura de três camadas.

Outras características das aplicações WEB são a possibilidade de serem implementadas em diferentes linguagens deprogramação e de apresentarem a possibilidade de interação com diferentes usuários e outras aplicações WEB .

O desenvolvimento de aplicações para WEB utiliza-se de uma série de conceitos, como o do ambiente, o que corresponde,para uma aplicação WEB , o local onde esta age, que é um ambiente distribuído. Nesses ambientes, cada parte quecompõe o programa pode estar localizada em máquinas diferentes.

Assim, as aplicações desenvolvidas utilizando o modo “cliente-servidor” vivenciam um modo de operação em que a parterelativa à interface com o usuário está na estação do cliente. A parte de acesso aos dados, normalmente, encontra-seno “servidor de banco de dados”.

Dessa forma, a lógica da aplicação deverá estar dividida entre o cliente e o servidor, correspondendo a uma arquiteturasistêmica em dois níveis. Além disso, as aplicações WEB podem se utilizar de arquiteturas em multinível, em que asfunções a serem executadas pelas aplicações estariam distribuídas em uma rede de computadores, como é o padrãoadotado pela Internet , onde as aplicações fazem uso das infraestruturas existentes de rede.

O desenvolvimento de aplicações WEB deve ter como balizadores três aspectos: a  performance, a capacidade e a

escalabilidade.

• A performance constitui-se da habilidade que uma aplicação tem de atingir um objetivo, como, por exemplo,responder no menor tempo possível.

Page 14: Topicos Avancados Em Aplicacoes Web v1

5/15/2018 Topicos Avancados Em Aplicacoes Web v1 - slidepdf.com

http://slidepdf.com/reader/full/topicos-avancados-em-aplicacoes-web-v1 14/34

    T    ó   p    i   c   o   s    A   v

   a   n   ç   a    d   o   s   e   m     A

   p    l    i   c   a   ç    õ   e   s     W     E     B

12

Conceitos Básicos Unidade I

• A capacidade é a carga total de acessos e informações que uma aplicação pode suportar.

• A escalabilidade corresponde à habilidade de uma aplicação em manter a performance quando a carga detrabalho aumenta. Uma junção da capacidade e da performance.

Dessa forma, podemos inferir que, em nível de serviços, os elementos estariam organizados assim: de um lado estariao cliente WEB  (ou o  browser ) que realiza solicitações de dados aos servidores WEB , e que, por sua vez, recebe asinformações e as formata, apresentando-as ao usuário.

Por outro lado, o servidor WEB recebe as requisições dos clientes, realiza a interpretação das requisições, acessa suaunidade de armazenamento em seu banco de dados e retorna o resultado para os clientes.

O  browser, então, repassa as informações ao servidor WEB , que executa programas que transferem as informaçõesprovenientes do cliente. Tais programas remotos realizam o tratamento das informações e as retornam para a páginareferenciada dinamicamente.

Essa página é passada ao servidor, que a entrega ao cliente, estabelecendo um padrão de comunicação entre o servidore o programa, conhecido como CGI (Common Gateway Interface).

O CGI informa como os dados podem ser passados do servidor, a fim de que o programa possa funcionar e, ainda,especifica como e quais as variáveis do ambiente podem ser criadas pelo servidor e como podem ser acessadas peloprograma.

Essas variáveis precisam conter o IP (Internet Protocol) do usuário remoto e os dados específicos, como o browser queo usuário está usando, e outros, como o de perfil ou de autenticação do usuário.

Dessa forma, os scripts CGI são os responsáveis por implementar, em uma aplicação WEB , a lógica negocial e o acesso

aos dados, uma vez que podem acessar os dados armazenados no servidor ou realizar diferentes chamadas ao servidordo banco de dados, possibilitando acessar as informações previamente disponibilizadas.

Outro aspecto se refere aos programas escritos em JAVA, os quais correspondem a outros programas que, também,podem ser executados no micro do cliente. Contudo, JAVA é uma linguagem muito poderosa, sendo possível escreveraplicações completas, as quais podem acessar bancos de dados e serem desenvolvidos em diversos níveis de  interface

com o usuário, implementar níveis de negócio e, com o uso de servidor de banco de dados, elaborar o nível de acessoaos dados.

Page 15: Topicos Avancados Em Aplicacoes Web v1

5/15/2018 Topicos Avancados Em Aplicacoes Web v1 - slidepdf.com

http://slidepdf.com/reader/full/topicos-avancados-em-aplicacoes-web-v1 15/34

    P    ó   s  -    G   r   a    d   u   a   ç    ã   o   a    D    i   s   t    â   n   c    i   a

13

Unidade II

Capítulo 3 – Processo de Desenvolvimento

“... quanto mais distantes as características e necessidades deinformação dos usuários estão do tipo de usuário concebido ouservido pelos que criam ou indexam uma base de dados, maisprovável será a existência de problemas no acesso de informaçõesrelevantes pelos usuários daquela base de dados.”

Ellis, Ford e Furner (1998, p. 44).

Fatores de Sucesso naWEB 

Os fatores de sucesso de uma aplicação WEB dependem de múltiplos fatores, tais como: o seu uso, o nível de segurançarequerido, a necessidade e a quantidade do conteúdo a ser disponibilizado etc. Contudo, em quaisquer condições, existemfatores básicos que determinam o sucesso de aplicações WEB , os quais se referem a:

• usabilidade – facilidade de uso da aplicação;

• praticidade – sobretudo em aspectos quanto ao processo de utilização, que são capazes de atribuir um valoragregado considerável à aplicação, fornecendo-lhe um diferencial competitivo significativo.

Outro aspecto a ser considerado, segundo Norman (2003), são os designs atrativos em aplicações WEB , os quaisaumentam a usabilidade da interface, uma vez que proporcionam aos seus usuários uma forma de pensar criativa e,assim, possam buscar novos modelos mentais ao se depararem com eventuais erros.

Esse mesmo autor afirma que os designs pouco atrativos provocam o efeito inverso, limitando a criatividade dos usuáriosao serem encontrados erros, o que os faz perder o interesse pela aplicação e até pelas informações nela contidas.

Processo de Desenvolvimento

de Software na WEB 

Page 16: Topicos Avancados Em Aplicacoes Web v1

5/15/2018 Topicos Avancados Em Aplicacoes Web v1 - slidepdf.com

http://slidepdf.com/reader/full/topicos-avancados-em-aplicacoes-web-v1 16/34

    T    ó   p    i   c   o   s    A   v

   a   n   ç   a    d   o   s   e   m     A

   p    l    i   c   a   ç    õ   e   s     W     E     B

14

Processo de Desenvolvimento de Software na Web Unidade II

Requisitos para Aplicações WEB 

“... a identificação dos objetivos a serem atingidos pelo futuro

sistema, a operacionalização de tais objetivos em serviços erestrições, e a atribuição de responsabilidades pelos requisitosresultantes a agentes humanos, dispositivos e software.”

Lamsweerde (2000, p. 5).

Requisitos são, genericamente, declarações abstratas de alto nível de um serviço ou de uma restrição de um sistema ouaplicação quanto a uma especificação de sua função de forma detalhada e pormenorizada.

Os requisitos devem ser estabelecidos precisamente a fim de que não ocorram problemas de desenvolvimento ou

de implementação, uma vez que estes retratam a aplicação que será entregue, contemplando suas funcionalidades.Assim, requisitos ambíguos podem ser interpretados diferentemente por usuários e desenvolvedores, o que resultará nodesenvolvimento ou na entrega da aplicação.

Thayer e Dorfman (1997) descrevem as seguintes fases de um processo de requisitos.

• Elicitação – processo de descoberta de requisitos para um sistema pela comunicação com usuários, clientese outros influenciadores do desenvolvimento do sistema.

• Análise e Negociação – processo de análise referente a conflitos, sobreposições, omissões e inconsistências.Depois procede-se a uma negociação com os intervenientes para concordar com os requisitos.

• Documentação – especificação.

• Verificação.

• Gerência de Requisitos – preocupação com todos os processos envolvidos que necessitem de alteração dosrequisitos da aplicação.

Normalmente, os documentos de requisitos devem apresentar basicamente uma estrutura composta de pequenaintrodução, sucinto glossário que explique eventuais termos técnicos empregados, definição dos requisitos do usuário,arquitetura do sistema, especificação dos requisitos do sistema, modelos do sistema, evolução do sistema (casoaplicável), apêndices e índice.

Segundo Fraternalli; Paolini (1998), ao serem projetadas, as aplicações WEB  devem considerar as seguintesparticularidades/dimensões.

• Conceitual (Estrutural) – define a metodologia (forma) de organização das informações a serem tratadas pelaaplicação e, também, os seus relacionamentos.

• Navegacional – define como será o acesso às informações por meio da aplicação.

• Apresentação – define como as informações e o acesso a estas serão apresentados aos usuários daaplicação.

Assim, cada uma dessas dimensões define diferentes visões do projeto, as quais são independentes da arquitetura queserá adotada para confecção/utilização do sistema.

Page 17: Topicos Avancados Em Aplicacoes Web v1

5/15/2018 Topicos Avancados Em Aplicacoes Web v1 - slidepdf.com

http://slidepdf.com/reader/full/topicos-avancados-em-aplicacoes-web-v1 17/34

    P    ó   s  -    G   r   a    d   u   a   ç    ã   o   a    D    i   s   t    â   n   c    i   a

15

Processo de Desenvolvimento de Software na Web Unidade II

Estratégias de Negócios

“... em trinta anos, passamos da virtual inexistência de bases de

dados em formato eletrônico à realidade de milhares delas.”Lancaster (1993).

As estratégias de negócios devem orientar os fatores de levantamento dos requisitos de desenvolvimento das aplicaçõesWEB , assim como a política/estratégia de publicação do conteúdo, a implementação ou expansão da capacidade deprocura dos usuários na aplicação, o oferecimento de recursos de customização explícita ou implícita, além da própriasegmentação de informações para determinados usuários ou grupos/visitantes com base na definição de regras denegócios definidas.

Outro aspecto a ser considerado é o fluxo de navegação dos usuários das aplicações WEB , que pode ser capturadoe analisado para determinar as condições da entrega do conteúdo personalizado, o qual pode estabelecer um bomdiferencial competitivo.

Ainda nesse aspecto, com os dados da “navegação” levantados, os usuários, as empresas passam a entender melhorcomo suas aplicações WEB estão sendo utilizadas e, assim, podem se tornar capazes de melhor adequar suas estratégiasde negócios.

Dessa forma, as estratégias de negócio, quando vinculadas ao levantamento de requisitos, agrega mais valor à aplicação,sintonizando seu projeto, desenvolvimento e conteúdo disponibilizado às atividades negociais.

Atualmente, as aplicações WEB agregam mais valor ao negócio e podem oferecer uma diferenciação maior quando sãoprevistos meios de recolher e analisar os registros do comportamento de seus usuários e clientes nessas aplicaçõesdisponibilizadas, de forma a criar perfis de personalização/individualização e a atender de um modo diferenciado àsnecessidades de informação.

Suporte às Tarefas dos Usuários

“... o fluxo de informação realiza a intencionalidade do fenômeno dainformação mediante processos de comunicação, não almejando somenteuma passagem. Ao atingir o público a que se destina, deve promover umaalteração; aqueles que recebem e podem elaborar a informação estãoexpostos a um processo de desenvolvimento que permite acessar umestágio qualitativamente superior nas diversas e diferentes gradaçõesda condição humana. E esse desenvolvimento é repassado ao seu modode convivência.”

Barreto (1998, p. 122).

O suporte às tarefas dos usuários é um dos principais objetivos da “navegação”, o que corresponde a auxiliar o usuário

naquilo que ele realmente quer realizar, da melhor e mais rápida forma possível.

Outro aspecto importante quanto à melhor utilização da “navegação” e das informações pelos usuários diz respeito àorganização das informações na aplicação WEB .

Page 18: Topicos Avancados Em Aplicacoes Web v1

5/15/2018 Topicos Avancados Em Aplicacoes Web v1 - slidepdf.com

http://slidepdf.com/reader/full/topicos-avancados-em-aplicacoes-web-v1 18/34

    T    ó   p    i   c   o   s    A   v

   a   n   ç   a    d   o   s   e   m     A

   p    l    i   c   a   ç    õ   e   s     W     E     B

16

Processo de Desenvolvimento de Software na Web Unidade II

Segundo Bustamante (2004), existem muitas dificuldades para se organizar informações em aplicações WEB e elasafetam diretamente o design do sistema de organização que, por sua vez, podem ser assim sintetizadas.

• Ambiguidade – uma mesma expressão ou vocábulo pode ter múltiplas interpretações, dependendo docontexto em que for apresentada(o).

• Heterogeneidade – o que dificulta a criação de um sistema de organização único que atenda a todo oWEBsite. Por isso, é comum se dividir um grande WEBsite em pequenos subsites, cada qual com umaorganização diferente, atendendo a diferentes necessidades.

• Diferenças de Perspectiva – as experiências de vida e cultura de quem está organizando as informaçõesinfluenciam diretamente a forma como elas são categorizadas e expostas aos usuários.

• Políticas Internas – não existe apenas a preocupação em atender ao usuário, mas existem decisões políticasque visam a resolver conflitos de interesse.

• Estética – muitas vezes o excesso de preocupação com a estética pode prejudicar a “navegabilidade” ou aboa apresentação das informações.

Ainda, segundo esse autor, a fim de serem superadas algumas eventuais dificuldades nos designs dos sistemas, pode sernecessária a utilização de esquemas de organização, os quais precisam estar focados no atendimento às necessidadesdos usuários e no suporte às suas tarefas.

Page 19: Topicos Avancados Em Aplicacoes Web v1

5/15/2018 Topicos Avancados Em Aplicacoes Web v1 - slidepdf.com

http://slidepdf.com/reader/full/topicos-avancados-em-aplicacoes-web-v1 19/34

    P    ó   s  -    G   r   a    d   u   a   ç    ã   o   a    D    i   s   t    â   n   c    i   a

17

Unidade III

Capítulo 4 – O Modelo OOHDM

“... acredito que muitos conceitos da teoria da informação serão úteis emoutros campos (...) mas o estabelecimento de tais aplicações não é umaquestão trivial de mera tradução de palavras para um novo domínio, e,sim, o processo lento e tedioso de formulação de hipóteses e verificaçãoexperimental.”

Shannon (1956).

O Modelo OOHDM (Object-Oriented Hypermidia Design Method) é composto por quatro atividades diferentes.

• Projeto Conceitual (modela a semântica do domínio da aplicação).

• Projeto Navegacional (leva em consideração o perfil do usuário e a tarefa a ser executada, dando ênfase nosaspectos cognitivos).

• Projeto Abstrato da Interface (modela objetos perceptíveis, implementa as metáforas escolhidas e descreve ainterface para os objetos navegacionais).

• Implementação.

A modelagem conceitual ou de domínio destina-se à compreensão do domínio-problema e à construção de modelosadequados desse domínio, enquanto o projeto lida com abstrações no universo do software e tende à maximização da

modularidade e do reúso. O modelo do projeto é independente da implementação no sentido em que, embora possa levarem consideração algumas configurações de implementação, não é condicionado por um ambiente de implementação emparticular.

Dessa forma, o Modelo OOHDM estabelece o processo de desenvolvimento de uma aplicação hipermídia como umprocesso que apresenta as quatro fases previamente citadas, desempenhadas em diversos estilos interativos e de formasincrementais de desenvolvimento; assim, o modelo em cada etapa de construção pode ser desenvolvido e melhorado.

Como benefícios principais da utilização do Modelo OOHM podemos citar que as aplicações projetadas são construídasem torno de objetos, os quais se tornam mais robustos e de fácil modificação devido a sua composição por herança eao uso de polimorfismo, e propicia a construção de aplicações reutilizando componentes existentes (descritos como

objetos).

Além disso, são utilizadas as premissas semelhantes às de modelagem, tais como classes e objetos, o que torna mais fácila transição da modelagem para o desenvolvimento.

Análise e Projeto de Aplicações WEB 

Utilizando o Método OOHDM

Page 20: Topicos Avancados Em Aplicacoes Web v1

5/15/2018 Topicos Avancados Em Aplicacoes Web v1 - slidepdf.com

http://slidepdf.com/reader/full/topicos-avancados-em-aplicacoes-web-v1 20/34

    T    ó   p    i   c   o   s    A   v

   a   n   ç   a    d   o   s   e   m     A

   p    l    i   c   a   ç    õ   e   s     W     E     B

18

Análise e Projeto de Aplicações WEB Utilizando o Método OOHDM Unidade III

Levantamento de Requisitos

“... está preocupado com os objetivos do mundo real para as funções e

restrições aplicáveis a sistemas de software. Está também preocupadocom o relacionamento desses fatores para especificações precisas docomportamento do software e com sua evolução no tempo e através defamílias de produtos.“

Zave (1997, p. 315).

Resumidamente, o levantamento de Requisitos consiste basicamente na análise das necessidades do cliente: entender oque ele realmente deseja, verificar se o que ele quer é factível, propor soluções que não sejam ambíguas, negociar soluçõesque sejam razoáveis validando as especificações. Assim, corresponde a uma forma de especificar o desenvolvimento deum sistema por meio de uma espécie de acordo entre o cliente (solicitante) e o desenvolvedor do que será efetivamente

realizado.

Identificação de Atores e Tarefas

Os Atores são os usuários que irão interagir com as aplicações e, dessa forma, cada ator representa um papel específicona forma como utiliza o sistema.

Assim, as tarefas correspondem aos objetivos que os usuários desejam alcançar na integração com o sistema e, umavez identificados os atores e as tarefas, é necessário a especificação de cenários.

Dessa forma, a identificação dos atores e das tarefas consiste na fase em que o analista precisa estudar e interagir como domínio da aplicação para os identificar.

Especificação de Cenários e Casos de Uso (Use Cases) 

Segundo Vilain & Schabe (2002), tais cenários correspondem a uma descrição narrativa que vem a explicar, de formadetalhada, as tarefas que os usuários desejam realizar no domínio especificado.

Uma das técnicas mais comumente utilizadas para se descreverem os cenários é a realização de reuniões com osfuturos usuários e os solicitantes do sistema. Nessas reuniões são definidos os cenários possíveis e são elencados/

caracterizados os objetivos e as possíveis ações.

Ainda, segundo esses autores, após especificar os atores, as tarefas e os cenários, um passo importante é o deespecificar os “casos de uso”, que correspondem às interações entre os usuários e o sistema, sem, contudo, abordaras funcionalidades apresentadas pelo aplicativo. Assim, um “caso de uso” diferencia-se dos cenários, uma vez que oprimeiro representa um conjunto de cenários em potencial que podem tratar de uma mesma tarefa.

Dessa forma, concluímos que a especificação de determinado “caso de uso” ocorre pelo agrupamento dos vários cenáriosque podem descrever a mesma tarefa.

Podemos, então, dizer que, basicamente, os “casos de uso” apresentam um nome que os especifica, os cenáriosprováveis e uma descrição principal informando os possíveis passos do usuário, as respostas do sistema e aspossíveis alternativas.

Page 21: Topicos Avancados Em Aplicacoes Web v1

5/15/2018 Topicos Avancados Em Aplicacoes Web v1 - slidepdf.com

http://slidepdf.com/reader/full/topicos-avancados-em-aplicacoes-web-v1 21/34

    P    ó   s  -    G   r   a    d   u   a   ç    ã   o   a    D    i   s   t    â   n   c    i   a

19

Análise e Projeto de Aplicações WEB Utilizando o Método OOHDM Unidade III

Capítulo 5 – Modelagem da Interação do Usuário com a Aplicação

“A Modelagem captura as partes essenciais do sistema.”

James Rumbaugh

Modelagem Conceitual

A tarefa de Modelagem Conceitual constitui-se na fase mais importante de um processo de desenvolvimento desoftware.

Assim, nessa tarefa é realizada uma análise do domínio da aplicação e a modelagem de seus objetos e dos fenômenosdesse domínio, sobretudo o que o analista pode considerar mais importante, e independente de sua implementação.

Dessa forma, a tarefa de modelagem conceitual envolve, essencialmente, os mecanismos denominados: “Abstração” e“Representação”.

O mecanismo de Abstração é utilizado para a análise de um domínio e, por intermédio dele, podemos observar a suarealidade, uma vez que abstrairemos os seus objetos e as suas regras de gestão, consideradas fundamentais para uma

solução específica, e excluiremos aspectos que forem julgados muito pouco ou nada relevantes.

Podemos dizer que uma operação de abstração independe ou pouco dependerá dos fenômenos observados quanto aointeresse de seu observador.

O mecanismo de Representação corresponde à forma pela qual se representa uma abstração para a sua divulgaçãoe, preferencialmente, utilizando-se de modelos gráficos.

O esquema conceitual do Modelo OOHDM é constituído sobre classes, relações e subsistemas. As classes sãodescritas, como de costume, em modelos orientados a objetos, mas seus atributos podem ser multitipados.

Agregação e Generalização/Especialização são utilizadas para aumentar o poder de abstração do sistema.Esse esquema consiste em um conjunto de objetos e classes unidos entre si por relacionamentos; como os objetossão instâncias de classes, um relacionamento entre as classes faz com que o relacionamento entre os objetos sejaabstraído.

As classes podem relacionar-se com subsistemas. Um subsistema pode ser autocontido, possuindo um único ponto deentrada e saída. Nesse caso, age como um “servidor de informações”.

Contudo, do ponto de vista da hipermídia, é importante afirmar que os relacionamentos não devem ser escondidos nosatributos de classes. Isso significa que, no caso de um atributo representar uma entidade conceitual complexa a ser

explorada na hipermídia final, deve-se especificar um relacionamento. Os relacionamentos, assim como as classes,podem conter atributos, sendo que os atributos de classes são tipados e representam propriedades intrínsecas ouconceituais dos objetos.

A modelagem oferece três mecanismos de abstração para lidar com a complexidade: Agregação, Generalização/

Page 22: Topicos Avancados Em Aplicacoes Web v1

5/15/2018 Topicos Avancados Em Aplicacoes Web v1 - slidepdf.com

http://slidepdf.com/reader/full/topicos-avancados-em-aplicacoes-web-v1 22/34

    T    ó   p    i   c   o   s    A   v

   a   n   ç   a    d   o   s   e   m     A

   p    l    i   c   a   ç    õ   e   s     W     E     B

20

Análise e Projeto de Aplicações WEB Utilizando o Método OOHDM Unidade III

Especialização e um conceito de empacotamento, os subsistemas. O primeiro é útil na descrição de classes complexascomo agregadas de classes mais simples. Já o segundo é utilizado na construção de hierarquias de classes e no usode herança como um mecanismo de compartilhamento. Os subsistemas são um mecanismo de empacotamento para aabstração de modelos de domínio complexos.

As classes herdam de suas superclasses atributos, estrutura de partes, relacionamentos e comportamento. Assim,podemos resumir os produtos da atividade de modelagem em:

• esquemas conceituais – em que cada conjunto de esquemas conceituais corresponde a cada subsistema;

• conjuntos de definições de subsistemas – representados por classes, objetos e relacionamentos (utilizandoreferências de subsistemas, classes, objetos e relacionamentos).

Cada referência (também chamada de cartão) pode incluir informações a respeito dos artefatos documentados e, assim,rastrear informações.

Quanto ao rastreamento, ele pode ser:• “para trás” – permite que sejam respondidas perguntas, tais como “de onde veio esse artefato?”

• “para frente” – tem sua importância ligada à análise de impacto das mudanças no modelo durante as evoluçõesde um sistema, informando, por exemplo, em que classes determinada mudança pode influir.

Dessa forma, as informações de rastreamento contêm um conjunto de itens indicando o tipo de relacionamento derastreamento e o seu alvo.

Em aplicações hipermídia, a navegação ocorre porque o usuário seleciona uma âncora em um nó.Assim, é possível implementar comportamento navegacional mais sofisticado, como, por exemplo,navegação baseada em tempo, ou baseada em mídia (quando um evento determinado ocorre namesma mídia, podemos proceder de modo a seguir um elo).

Análise do Domínio da Aplicação

A análise do domínio de uma aplicação é fundamental para que ela apresente uma boa performance e possa fornecer os

resultados esperados pelos usuários, clientes e desenvolvedores.

Assim, o estabelecimento de pressupostos básicos, como onde a aplicação irá rodar, qual será o ambiente físico e lógico,é fundamental, e, muitas vezes, é pouco observado pelos desenvolvedores ou simplesmente esquecido entre outrasatividades vistas como mais importantes.

A falta de análise do domínio da aplicação já foi, no passado, responsável por inviabilizar diversos sistemas e aplicaçõesWEB , feitas em diversas linguagens.

Esquema de Classes

Segundo Vilain; Schwabe (2002), o esquema de classes é um diagrama conceitual que contém todas as classesrepresentativas da aplicação, seus relacionamentos entre elas e os subsistemas que as agrupam.

Page 23: Topicos Avancados Em Aplicacoes Web v1

5/15/2018 Topicos Avancados Em Aplicacoes Web v1 - slidepdf.com

http://slidepdf.com/reader/full/topicos-avancados-em-aplicacoes-web-v1 23/34

    P    ó   s  -    G   r   a    d   u   a   ç    ã   o   a    D    i   s   t    â   n   c    i   a

21

Análise e Projeto de Aplicações WEB Utilizando o Método OOHDM Unidade III

A principal função é a de representar todas as classes relevantes de um domínio e seus relacionamentos, os quaissão mostrados mediante estruturas hierárquicas, agregações e composições e, além disso, apresentar detalhesadicionais em seus atributos, que podem ser multiplicados e que representem perspectivas diversas de uma mesmaentidade.

Modelagem da Navegação

A navegabilidade estaria entre os principais requisitos do  Design de Aplicações WEB , estando centrada em objetivos eações.

O modelo de navegação especifica quais os objetos navegacionais – representados por elos, estruturas de acesso, nóse classes em contexto – serão observados pelos usuários e em quais contextos de navegação eles serão utilizados.

A modelagem da Navegação apresenta como objetivo principal o de definir as informações que serão apresentadas e apossível navegação entre elas. Assim, para um mesmo domínio pode haver diferentes tipos de navegação.

Deve-se, portanto, desenvolver um modelo de navegação para cada perfil de usuário, o qual contemplará toda ou apenasparte da informação do modelo conceitual, de acordo com as necessidades dos usuários.

Segundo Mukherjea (1999), a visualização das informações pode tornar o sistema hipermídia mais utilizável, sobretudopor meio da apresentação de um mapa do site durante a navegação.

O autor define, ainda, a navegabilidade como uma das maiores dificuldades no desenvolvimento de sistemas via WEB ,uma vez que ela pode comprometer a utilização dos sistemas pela maior parte dos usuários.

Para tanto, deve-se evitar o cruzamento de referências e o encaixe de uma grande imagem ou gráfico em uma mesma

tela, já que redundaria em uma tarefa complicada e demorada. Assim, a informação pode ser apresentada envolvendoaspectos mais abstratos e interativos com ampla navegabilidade, o que envolve esforços maiores de planejamento nessaetapa.

Além disso, a fim de solucionar tais problemas podem ser utilizadas técnicas de filtragem e maior abstração dasinformações, tais como o Focus Context , que corresponde a uma tentativa de balanceamento da informação local coma global, mediante a utilização de informações de contexto.

Segundo Shipman (1999), os mapas de navegação demonstram, de forma explícita, a interconectividade da aplicação,porém há de se considerar que os usuários evitam os mecanismos de  links explícitos quando há a possibilidade deexpressões de relacionamento mais implícitas, o que ocorre por meio da proximidade espacial e da utilização de atributosvisuais.

Dessa forma, com os hipertextos centrados no documento, o usuário poderia escolher entre um documento ou outro,enquanto que nos hipertextos espaciais há a interação com o usuário por meio do convite para visitar diferentes nós.Assim, os novos requerimentos de interface seriam necessários. Especialmente os que forneceriam suporte para asexpressões de relações implícitas e as transientes, que se desenvolveriam entre os nós.

Segundo Szundy (2004), a modelagem navegacional deve identificar as seguintes tarefas.

• Definir os atributos da classe navegacional e especificar seus valores.

• Determinar quais as instâncias de uma classe conceitual que também serão instâncias navegacionais.

• Definir os elos.

• Selecionar os nós que farão parte de cada contexto.

Page 24: Topicos Avancados Em Aplicacoes Web v1

5/15/2018 Topicos Avancados Em Aplicacoes Web v1 - slidepdf.com

http://slidepdf.com/reader/full/topicos-avancados-em-aplicacoes-web-v1 24/34

    T    ó   p    i   c   o   s    A   v

   a   n   ç   a    d   o   s   e   m     A

   p    l    i   c   a   ç    õ   e   s     W     E     B

22

Análise e Projeto de Aplicações WEB Utilizando o Método OOHDM Unidade III

• Determinar padrão de navegação interna.

• Definir os índices (estruturas de acesso).

De acrordo com Koch (1999), o modelo conceitual pode ser representado por diagramas de classes, chamados de

“classes navegacionais”, sendo que o conceito de contexto de navegação é utilizado a fim de descrever as estruturasnavegacionais da aplicação WEB .

Navegação x Orientação

Segundo Nilson (2000), as premissas básicas de navegação correspondem simplificadamente às respostas das perguntascomo: de onde vem o usuário, onde ele está e para onde ele irá, enquanto a orientação diz respeito basicamente a quedireção ele pode seguir, sendo um conceito menos abrangente.

Como vemos, a navegação é algo mais complexo que a simples orientação, sendo um termo muito amplo, o qual significase movimentar através do espaço e, em nesse caso, inclui o movimento através de espaços virtuais formados porinformações.

Assim, segundo Vilain & Schwabe (2002), o modelo navegacional corresponde a um diagrama onde cada nó érepresentado por um retângulo e os elos por linhas, da mesma forma que o esquema do modelo conceitual, porém nestesão direcionados, o que representa a possível direção da navegação nas informações disponíveis.

Estrutura da Navegação

Uma estrutura de navegação define o conjunto de elos e nós, oriundos de classes e relacionamentos, os quais serãoparte de uma visão navegacional da aplicação, que poderá apresentar um ou muitos esquemas de navegação, conformeas visões que existirem na aplicação.

Os contextos navegacionais são representados por um conjunto de nós, elos e outros contextos navegacionais (aninhados)que auxiliam na organização dos objetos navegacionais, fornecendo espaços de navegação consistentes e, desse modo,diminuindo as chances de o usuário se perder na aplicação.

Os nós podem ser atômicos ou compostos e são descritos por meio de atributos e âncoras para elos no caso de serem

atômicos, e por um conjunto de nós componentes no caso de serem compostos. Os contextos navegacionais definem umconjunto de classes “decoradoras” que adaptam cada nó no contexto para as estruturas âncoras-atributos necessáriasao contexto.

Já os elos fazem a ligação entre os objetos navegacionais e podem ser de um a um ou um a muitos. O resultado datravessia de um elo é expresso pela definição das semânticas navegacionais, como resultado do comportamento do elo.As estruturas de acesso (tais como os índices ou roteiros guiados) são também definidas como classes e apresentammodos alternativos para a navegação no aplicativo hipermídia.

Finalmente, as classes e os contextos navegacionais definem a estrutura estática da aplicação de hipermídia. Contudo,é necessário, também, especificar os aspectos dinâmicos da navegação.

No caso do OOHDM, isso é feito pelo uso dos diagramas de navegação, correspondendo a um modelo baseadoem indicadores e “máquinas de estado”, em que são mostradas as transformações na situação dos espaçosnavegacionais.

Page 25: Topicos Avancados Em Aplicacoes Web v1

5/15/2018 Topicos Avancados Em Aplicacoes Web v1 - slidepdf.com

http://slidepdf.com/reader/full/topicos-avancados-em-aplicacoes-web-v1 25/34

    P    ó   s  -    G   r   a    d   u   a   ç    ã   o   a    D    i   s   t    â   n   c    i   a

23

Análise e Projeto de Aplicações WEB Utilizando o Método OOHDM Unidade III

Fases do Projeto de Navegação

O projeto de navegação pode ser descrito basicamente em um esquema de classe e contexto navegacional.

Assim, o esquema de classe navegacional preocupa-se em definir quais serão os objetos navegáveis (que serão vistos

pelos usuários) de uma aplicação WEB e cujas classes irão refletir a visão escolhida sobre o domínio da aplicação.Os elementos de um conjunto pré-definido de tipos de classes navegacionais são: os nós, os elos e as estruturas deacesso (representadas pelos índices e tours guiados).

Os nós correspondem a visões orientadas a objetos das classes conceituais que são definidas durante o projetoconceitual. Os elos são os relacionamentos que poderão ser utilizados pelos usuários da aplicação, os quais também sãodefinidos como visões dos relacionamentos do esquema conceitual.

Já o esquema de contexto navegacional traduz as várias formas com que as informações de uma aplicação WEB poderãoser utilizadas pelos usuários, sendo um conjunto de nós, elos e classes, de contexto e de outros contextos de navegação

aninhados, os quais devem auxiliar na organização dos objetos navegacionais.O esquema de contexto navegacional deve fornecer a consistência dos espaços de navegação, reduzindo as probabilidadesdos usuários de se perderem na aplicação WEB .

Além disso, ao se projetar uma estrutura de navegação de um aplicativo de hipermídia, alguns aspectos devem serconsiderados pelo desenvolvedor, tais como os objetos que serão navegados e que atributos eles devem possuir, e osrelacionamentos entre esses objetos e aqueles definidos no esquema conceitual. É realizada por meio da definição denós e elos como visões orientadas a objetos das classes e relacionamentos conceituais.

É necessário também que se escolha qual será a estrutura subjacente de navegação e em que contextos o usuário

poderá navegar, correspondendo a um conceito dos contextos navegacionais, ou seja, uma primitiva arquitetônica paraa organização do espaço de navegação.

Após isso, deve-se decidir se os objetos navegados poderão apresentar aparências diferentes de acordo com o contextoem que serão visitados e estabelecer quais seriam essas diferenças.

Procede-se à verificação de quais estruturas de elo existirão entre cada um dos objetos que serão navegados, tais comoos elos, os caminhos, os índices e os roteiros guiados.

Além disso, é necessário que seja testado como ocorrerá a navegação quando o usuário saltar de um assunto paraoutro, isto é, procurar identificar qual seria o efeito da navegação nos objetos de origem, nos alvos e em outros objetos

relacionados.Uma vez considerados esses fatores, temos as seguintes fases do projeto de navegação no Modelo OOHDM.

• Extração/Levantamento de requisitos

– Baseada em casos de uso, cenários, interação com os usuários e confecção de diagramas.

• Modelagem Conceitual

– Representa uma modelagem orientada a objetos: classificação, agregação, generalização/especialização,classes, subclasses e relacionamentos.

• Projeto Navigacional

– Composto por visões orientadas a objetos, diagramas de estados e cenários centrados no usuário.

Page 26: Topicos Avancados Em Aplicacoes Web v1

5/15/2018 Topicos Avancados Em Aplicacoes Web v1 - slidepdf.com

http://slidepdf.com/reader/full/topicos-avancados-em-aplicacoes-web-v1 26/34

    T    ó   p    i   c   o   s    A   v

   a   n   ç   a    d   o   s   e   m     A

   p    l    i   c   a   ç    õ   e   s     W     E     B

24

Análise e Projeto de Aplicações WEB Utilizando o Método OOHDM Unidade III

• Projeto da Interface Abstrata

– Apresenta visões abstratas de dados, diagramas de configuração e diagramas ADV.

• Implementação

– Onde os artefatos produzidos nas demais fases são associados e é desenvolvida e testada a aplicaçãoWEB .

Ressaltamos que, em cada fase, o modelo é desenvolvido e refinado, o que gera um grupo de artefatos relacionadosentre si.

Esquemas de Navegação

Segundo Lima (2003), a navegação em uma aplicação sempre ocorre entre os objetos que fazem parte de um conjunto

de objetos relevantes. Tal conjunto é conhecido como “contexto de navegação”.Além disso, é necessário ao analista/projetista a definição de quais contextos serão ou não permitidas a navegação dousuário entre as informações e, nesses, quais serão as informações apresentadas àquele usuário específico.

Assim, podemos diferenciar o esquema de classes de navegação do esquema de contextos. Este está relacionado aoconjunto de objetos que realizam uma mesma tarefa, enquanto que aquele se relaciona com as instâncias dos nós.

Segundo Lima (2003), o esquema de contextos apresenta também índices como estruturas de acesso aos contextos,representados por retângulos tracejados, os quais permitem o acesso a outras estruturas de acesso ou a elementos deum contexto. Tais estruturas de acesso podem ser detalhadas a partir de cartões.

O início da navegação pode ser realizado por meio de um menu de navegação ou, ainda, por uma estrutura de acesso.

Segundo Vilain & Schwabe (2002), acrescenta-se que cada nó pode apresentar características diferentes em consonânciaao contexto no qual eles aparecem; daí são criadas classes em contexto a fim de definir a aparência e as estruturas deâncora em cada nó, que o vincula ao contexto ao qual ele pertence.

Page 27: Topicos Avancados Em Aplicacoes Web v1

5/15/2018 Topicos Avancados Em Aplicacoes Web v1 - slidepdf.com

http://slidepdf.com/reader/full/topicos-avancados-em-aplicacoes-web-v1 27/34

    P    ó   s  -    G   r   a    d   u   a   ç    ã   o   a    D    i   s   t    â   n   c    i   a

25

Análise e Projeto de Aplicações WEB Utilizando o Método OOHDM Unidade III

Capítulo 6 – Modelagem da Interface

“A informação pode ser infinita, mas as formas de estruturá-la, não. Ese você tiver onde “pendurar” a informação, ela se tornará muito maisútil. Sua escolha será determinada pela história que quer contar. Cadaforma permitirá uma compreensão diferente. Dentro de cada umaexistem muitas variações, mas reconhecer que as escolhas são finitase limitadas torna o processo bem menos intimidativo.”

Wurman (1991, p. 66).

Modelagem da Interface

Para especificar o modelo abstrato de interface é necessário definir metáforas de interface e descrever suas propriedadesestáticas e dinâmicas, assim como seus relacionamentos com o modelo navegacional de uma forma independente deimplementação. É preciso especificar:

• a aparência da interface de cada um dos objetos navegacionais que serão percebidos pelos usuários, isto é, a

representação de seus atributos;

• outros objetos de interface para oferecer as diversas funções da aplicação, como barras de menus, botões decontrole e menus;

• os relacionamentos entre os objetos de  interface e navegacionais, tais como o modo com que um eventoexterno afetará a navegação;

• as transformações de interface ocorridas pelo efeito da navegação ou de eventos externos no comportamentode diferentes objetos de interface;

• sincronização de alguns objetos de interface, especialmente quando há meios dinâmicos, como áudio e vídeo,envolvidos.

O método OOHDM utiliza a estrutura Abstract Data Views (ADV) para especificar o modelo de interface abstrata. Assim,o modelo de projeto ADV foi criado originalmente para especificar clara e formalmente a separação entre a interfacedo usuário e os componentes de um sistema de software, e para oferecer um método de projeto independente deimplementação, gerando graus mais altos de reúso de componentes de projeto e de interface.

Os ADVs são geralmente usados para representar interfaces entre duas mídias diferentes. Um ADV, quando usado emum projeto de aplicação hipermídia, pode ser visto como um objeto de interface contendo um conjunto de atributos quedefinem suas propriedades de percepção e o conjunto de eventos com os quais pode lidar, como os eventos gerados

pelo usuário. Os valores de atributos podem ser definidos como constantes, definindo, então, um estilo específico deaparência como posição, cor ou som.

Page 28: Topicos Avancados Em Aplicacoes Web v1

5/15/2018 Topicos Avancados Em Aplicacoes Web v1 - slidepdf.com

http://slidepdf.com/reader/full/topicos-avancados-em-aplicacoes-web-v1 28/34

    T    ó   p    i   c   o   s    A   v

   a   n   ç   a    d   o   s   e   m     A

   p    l    i   c   a   ç    õ   e   s     W     E     B

26

Análise e Projeto de Aplicações WEB Utilizando o Método OOHDM Unidade III

Os diagramas de configuração são úteis na expressão de padrões de comunicação entre objetos, em termos de serviçosoferecidos e requeridos. No contexto de OOHDM, concentramos nosso interesse no modo como o usuário irá interagircom a aplicação hipermídia e, especialmente, em quais objetos de interface causarão a navegação.

Os ADVcharts suportam o aninhamento de estados e ADVs e permitem a expressão da associação entre eventos externos

e ADVs. Os ADVcharts são a expressão interfacial dos diagramas de navegação, isto é, expressam transformações nonível da interface de usuário e seu impacto nos objetos navegacionais.

Um ADVchart é composto por ADVs, estados, atributos e transições. A aninhagem de ADVs permite mostrar a estruturade agregação dos objetos de interface.

Conteúdo e Organização da Interface

A definição do modelo de interface de uma aplicação hipermídia com OOHDM implica:

• definir a estrutura geral da interface da aplicação;

• definir ADVs para os nós, índices, etc.

• definir, em cada nó, objetos de interface apropriados para atributos, âncoras, etc.

• especificar o diagrama de configuração, mostrando relacionamentos estáticos entre ADVs e ADOs (sendoestes a definição dos objetos navegacionais);

• mostrar relacionamentos estáticos entre os componentes de um ADV. Deve ser possível expressar todas asrestrições estruturais existentes entre os objetos de interface.

• especificar, para cada ADV significativo, o ADVchart, mostrando a dinâmica da aplicação hipermídia.

Deve estar claro que, apesar de ser independente de implementação, a especificação da interface abstrata deveconsiderar certos aspectos do ambiente de implementação-alvo, para que a especificação seja realista.

Assim , para registrar o produto do Projeto de Interface Abstrata temos cartões que registram o resultado da atividadede projeto de interface.

Page 29: Topicos Avancados Em Aplicacoes Web v1

5/15/2018 Topicos Avancados Em Aplicacoes Web v1 - slidepdf.com

http://slidepdf.com/reader/full/topicos-avancados-em-aplicacoes-web-v1 29/34

    P    ó   s  -    G   r   a    d   u   a   ç    ã   o   a    D    i   s   t    â   n   c    i   a

27

Análise e Projeto de Aplicações WEB Utilizando o Método OOHDM Unidade III

Capítulo 7 – Projeto da Implementação

“As avaliações de processo, de natureza qualitativa, buscamidentificar os fatores facilitadores e os obstáculos que operamao longo da implementação, e que condicionam, positiva ounegativamente, o cumprimento das metas e objetivos.”

Draibe (2001).

Essa etapa objetiva a transformação dos modelos realizados em todas as etapas anteriores em uma aplicação executávelsobre uma determinada plataforma de hardware e de software.

Assim, a implementação de uma aplicação hipermídia não é tarefa simples, pois muitas questões técnicas e não técnicasdevem ser resolvidas. Uma vez que o ambiente de implementação tenha sido escolhido, o projeto deve ser mapeado paraartefatos de implementação e todos os componentes hipermídia precisam ser instanciados.

Basicamente, é necessário definir os objetos de interface de acordo com a especificação da  interface abstrata,implementar transformações da forma como foram definidas nos ADVcharts (Cartões de ADV – formalização dos ADVs)e fornecer suporte para a navegação por meio da rede hipermídia.

A informação fornecida pela especificação baseada em ADVs e, em especial, a estrutura aninhada dos ADVs, ofereceuma indicação sobre quais os objetos de interface que são necessários definir.

Os aspectos dinâmicos da interface lidam tanto com transformações de interface dentro de um ADV (por exemplo,mostrando/ocultando algum atributo), quanto com transformações de interface envolvendo navegação. Em ambos oscasos, a natureza orientada a eventos dos ADVcharts e o poder expressivo de seu modelo de transição de estadospermite a implementação dessas transformações em um estilo simples, de baixo para cima.

Segundo Moura (2004), a etapa de implementação utiliza-se dos modelos abstratos para realizar o mapeamentodos elementos de apresentação concretos, contrapondo-se com os abstratos e, a partir daí, identificando desvios ecorrigindo-os.

Além disso, os tipos de comportamento navegacional são especificados por meio de ADVcharts, já que as transições deestado e o evento gerador de cada mudança estão documentados na especificação da transição.

Assim, para manter a informação de rastreabilidade acumulada durante o processo do projeto, é necessário manter adocumentação de cada fase do processo e, também, das decisões de implementação, a fim de que problemas possamser facilmente detectados e corrigidos.

Page 30: Topicos Avancados Em Aplicacoes Web v1

5/15/2018 Topicos Avancados Em Aplicacoes Web v1 - slidepdf.com

http://slidepdf.com/reader/full/topicos-avancados-em-aplicacoes-web-v1 30/34

    T    ó   p    i   c   o   s    A   v

   a   n   ç   a    d   o   s   e   m     A

   p    l    i   c   a   ç    õ   e   s     W     E     B

28

Para (não) Finalizar

Nesta disciplina conhecemos os tópicos avançados em aplicações WEB , por meio de seus conceitos básicos comohipertextos e hipermídias, amplamente utilizados em nossos dias, de alguns pressupostos básicos das aplicaçõesWEB  e, estudamos os aspectos principais do processo de desenvolvimento de software na WEB , sobretudo osfatores de sucesso e dos requisitos para aplicações, verificando as estratégias de negócios e o suporte às tarefasdos usuários.

Vimos, também, assuntos referentes à análise e ao projeto de aplicações WEB , utilizando o Modelo OOHDM, a partir delevantamento de requisitos, identificação de atores e tarefas, especificação de cenários e use cases (casos de uso), damodelagem da interação do usuário com a aplicação.

Além disso, verificamos aspectos da modelagem conceitual, da fundamental análise do domínio da aplicação, do esquemade classes, assim como da, modelagem da navegação, diferenciando o conceito amplo de navegação da orientação, osaspectos da estrutura da navegação e as fases do projeto e dos esquemas de navegação.

Por fim, conceituamos e estudamos a modelagem da Interface, destacamos aspectos de seu conteúdo e de suaorganização e concluímos com o projeto da implementação.

Apesar de sua amplitude, não encerramos aqui os estudos sobre os tópicos avançados em aplicações WEB . Há muito,ainda, a ser visto. Cabe, portanto, a você, cursista, alargar seus conhecimentos sobre o assunto, buscnado meiosamplamente disponibilizados na Internet e na literatura própria que o auxiliem no seu desempenho profissional.

Page 31: Topicos Avancados Em Aplicacoes Web v1

5/15/2018 Topicos Avancados Em Aplicacoes Web v1 - slidepdf.com

http://slidepdf.com/reader/full/topicos-avancados-em-aplicacoes-web-v1 31/34

    P    ó   s  -    G   r   a    d   u   a   ç    ã   o   a    D    i   s   t    â   n   c    i   a

29

Referências

ARAÚJO, Yara G. Telepresença: interação e interfaces. São Paulo: Educ/Fapesp, 2005.

BARRETO, A. A. Mudança estrutural no fluxo do conhecimento: a comunicação eletrônica. Ciência da Informação,Brasília, v. 27, n. 2, 1998.

BIEBER, Michael. Hipertext functionality. ACM Computing Surveys. Browm University, 1999.

BUSTAMANTE, M.O.S.A. Arquitectura de información y usabilidad: nociones básicas para los profesionales de lainformación. Acimed, v. 12, n.6, p.1, 2004.

BRIEN, James A. Sistema de Informação e as decisões gerenciais na Era da  Internet . 9. ed. São Paulo: Saraiva,2001.

CAMPIONE, Mary; WALRATH Kathy. The Java tutorial: Object-Oriented Programming for the Internet (Java Series)’Addison-Wesley Pub Co, 2nd ed. 1998.

CASTRO, Elizabeth. HTML for the World Wide WEB . Peachpit Press, 5th edition, 2003.

CONALLEN, J. Building. WEB application with UML. Reading: Addison-Wesley, 2000.

DRAIBE, S. M. Avaliação de implementação. São Paulo: IEE/PUC-SP, 2001.

ELLIS, David; FORD, Nogel. FURNER, Jonathan. Search of the unknown user: indexing, hipertext and WWW. Jornalof Documentation, 1998.

FRATERNALLI, P.; PAOLINI, P. A Conceptual model and a tool environment for developing more scalable, dynamic, andcustomizable WEB applications. In: EDBT 98, p.p.: 421-435, 1998.

HUNTER, David. (et al.). Beginning XML, Wrox Press Inc, 2001.

KAUFMAN, John. (et al.). Beginning ASP Databases, Wrox - John Wiley & Sons Inc.

KOCH, N. A. Comparative study of methods for hypermedia development. Ludwig-Maximilians-UniversitätMünchen, 1999.

LAMSWEERDE, A. Requirements engineering in the Year 00: a research perspective. In: INTERNATIONALCONFERENCE ON SOFTWARE ENGINEERING. Limerick, Ireland, 2000.

LANCASTER, F.W. Indexação e resumos: Teoria e Prática. Brasília: Briquet de Lemos, 1993.

LARMAN, Craig. Applying UML and Patterns – An Introduction to Object Oriented Analysis and Design, Prentice HallInc., New Jersey, 1998.

LIMA, F. Modelagem semântica de aplicações WEB . PVC, Rio de Janeiro, 2003.

MARTINS, J. Hiperdocumentos e como criá-los. Editora Campus, 1992.

MOURA, I.C.R. Um ambiente para o suporte ao projeto e implementação de Sistemas de Informação baseados

Page 32: Topicos Avancados Em Aplicacoes Web v1

5/15/2018 Topicos Avancados Em Aplicacoes Web v1 - slidepdf.com

http://slidepdf.com/reader/full/topicos-avancados-em-aplicacoes-web-v1 32/34

    T    ó   p    i   c   o   s    A   v

   a   n   ç   a    d   o   s   e   m     A

   p    l    i   c   a   ç    õ   e   s     W     E     B

30

Referências

na WWW. PUC-Rio: Rio de Janeiro, 1999.

MUKHERJEA, Sougata. Information visualization for hypermedia systems. ACM Computing Surveys, 1999.

MUSCIANO, Chuck; KENNEDY, Bill. HTML & XHTML: The Definitive Guide. O’Reilly & Associates, 2000

NIELSEN. Designing WEB usability: the practice of simplicity. Indianapolis: News Riders, 2000.

PRESSMAN, R. S. Engenharia de software Makron. São Paulo, 2005.

RAMALHO, José Carlos; HENRIQUES, Pedro. XML & XSL: Editora de Informática, Ltda. Lisboa, 2001.

SHIPMAN, Frank M.; MARSHAL, Catherine C. Spatial hypertext: an alternative to navigational and semantic links.ACM Computing Surveys 31, 1999.

SZUNDY, G. Modelagem e implementação de aplicações hipermídia governadas por ontologias para a WEB  semântica. PUC-Rio: Rio de Janeiro, 2004.

THAYER, R. H.; DORFMAN, M. Software Requirements Engineering. 2. Ed. Editora IEEE: Washington, 1997.

TORI, Romero. Hipermídia e Multimídia – Apostila da disciplina hipermídia e multimídia. USP: São Paulo, 1995.

ULLMAN, Chris; KAUFFMAN, John. Beginning ASP .NET 1.1: with VB. NET 2003. Wrox, 2003.

VIEIRA, João. Active Server Pages (ASP), Centro Atlântico, 1999.

____. Programação com ASP. NET. v. I e II, FCA, 2003.

VILAIN, P.; SCHWABE, D. Notação do Método OOHDM, Versão 2.0, 2002 Disponível em:<http://www.telemidia.puc-rio.br/~oohdm>. Acesso em: 19 de dezembro de 2008.

WURMAN, R. Ansiedade de Informação. São Paulo: Cultura, 1991.

ZAVE, P. Classification of research efforts in requirements engineering. ACM Computing Surveys, v. 29, n. 4,1997.

Sites de pesquisa

http://www.uml.orghttp://www.w3.org

http://www.telemidia.puc-rio.br/~oohdm

Page 33: Topicos Avancados Em Aplicacoes Web v1

5/15/2018 Topicos Avancados Em Aplicacoes Web v1 - slidepdf.com

http://slidepdf.com/reader/full/topicos-avancados-em-aplicacoes-web-v1 33/34

Page 34: Topicos Avancados Em Aplicacoes Web v1

5/15/2018 Topicos Avancados Em Aplicacoes Web v1 - slidepdf.com

http://slidepdf.com/reader/full/topicos-avancados-em-aplicacoes-web-v1 34/34