Metodologia para Desenvolvimento de Sistemas Web

Slides:



Advertisements
Apresentações semelhantes
Projeto Qualified Curriculum
Advertisements

Análise e Projeto de Sistemas III
PortFacil Sistema de Suporte a Geréncia de Porfólio
PortFacil Sistema de Suporte a Geréncia de Porfólio
Boas Práticas Adotadas em um Projeto de Design de Testes – Um relato de experiência
Engenharia de Software Qualidade de Software Uma abordagem conceitual André Luis Zanon São Carlos SP – UFSCAR 2010 Engenharia de Software – UFSCAR.
Integridade do Software
Qualidade de Produto de Software
APSOO Aula 05.
ViewPoint (Trabalho Nº 2)
Modelagem de Software Orientado a Objetos
Validação de Requisitos
Processo Lacen de Desenvolvimento de Software
Identificando requisitos
RELATORIO DE PESQUISA 1 Ferramentas para modelagem de sistemas e representação dos requisitos funcionais e não funcionais.
Faculdade de Ciências Sociais de Aplicadas de Petrolina – FACAPE
Metodologia de Desenvolvimento de Software
CK 119: Engenharia de Software DC/CC/UFC © Rossana Andrade, Setembro CK119: Engenharia de Software Rossana Andrade Ph.D, SITE, University of Ottawa,
Arquitetura de Aplicações Web
ArchC: Uma linguagem de descrição de arquiteturas
Metodologia para Desenvolvimento de Sistemas Web
Componentes: A Abordagem Catalysis
Metodologia para Desenvolvimento Web
QoS para Realidade Virtual
Qualidade de Software Aula 2
TIPOS DE TESTES APLICÁVEIS E NÃO APLICÁVEIS AO PROJETO
Como Desenvolver Sistemas de Informação
TSDD Teste de segurança durante o desenvolvimento.
Visão Geral do Desenvolvimento de Sistemas e Papéis no Desenvolvimento de Software Marcely Dias
Rebeca Teodoro da Silva[Voluntário] ;
Requisitos de Software
Especificação de Requisitos de Software com Casos de Uso
Objectivos do Curso de Engenharia Informática da ESTT/IPT
Qualidade de Produto de Software
Cap 2 – Processo de Software
Fase de Elaboração: Fluxo de Requisitos
Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]
Sommerville – Pressman – UML 2 - Uma Abordagem Prática
MAS-ML Tool: Um Ambiente de Modelagem de Sistemas Multi-Agentes
A aplicação da Engenharia Semiótica no design da interface de usuário do software ASK2000 Jair C Leite Salerno Silva DIMAp - UFRN.
Módulo: Gerenciamento de Incidentes e
Desenvolvimento de Ambientes Virtuais
Prof. Alexandre Vasconcelos
SigA Sistema Gestor de Alunos
 - PSF Grupo: abc, agsj, fcac.
Otimizando sua TI, maximizando seus negócios
Projeto de Banco de Dados
Fase de Concepção (Início, Planejamento)
A Norma ISO/IEC 9126 define seis características de qualidade de software que devem ser avaliados: –Funcionalidade (finalidade do produto) –Usabilidade.
Documentação de Software
Qualidade de Software Aula 4
Engenharia de Software
RUP - Cap. 4 – Processo Centrado na Arquitetura
Capítulo 10 – Qualidade de Produtos de Software Escrito por: Renata Araújo Vírginia Chalegre Apresentado por: Cleice.
Desenvolvimento de Software Dirigido a Modelos
Ferramenta de Modelagem de Requisitos e Agentes (TAOM4e) Laís Xavier Prof.: Jaelson Castro.
Candidato: Lucas Santos de Oliveira Orientador: Marco Aurélio Gerosa
Engenharia de Software
MO409 – Engenharia de Software I Aula de 30/09/2004.
Processo e Qualidade.
André Drummond RA Danilo Benzatti RA
SISTEMA DE MONITORAMENTO DA TECNOLOGIA DA INFORMAÇÃO.
Qualidade de Produtos de Software
Engenharia de Software com o RUP - Workflow de Requisitos
OntoPRIME Ontologia para Gerenciamento de Riscos de Projetos Projeto da Disciplina de Agentes Inteligentes –
Apresentação Leonardo Brussolo de Paula
TÉCNICAS DE ESTIMATIVAS
/ de Julho de UFPE - Universidade Federal de Pernambuco CIn - Centro de Informática Pós-Graduação em Ciência da Computação Tópicos Avançados.
Processos de Software Ludimila Monjardim Casagrande 1º Semestre Desenvolvimento e Qualidade.
/ de Abril de UFPE - Universidade Federal de Pernambuco Centro de Informática Pós-Graduação em Ciência da Computação Dissertação de Mestrado.
Transcrição da apresentação:

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. Ressalta-se que nesta apresentação será dada ênfase a fase de projeto do ciclo de desenvolvimento. MO409 – Introdução à Engenharia de Software Profª. Eliane Martins

Sistemas Web - Características Uso de infra-estrutura de terceiros. Servidores Web, BD Cliente com Web Browser Internet A interface de usuário é responsável pela visualização e envio de informações no lado cliente. O núcleo funcional é responsável pelo processamento destas informações e pela geração dinâmica da interface no lado servidor. A comunicação cliente-servidor ocorre pela Internet. Manutenção Mínima, Tempo Zero de Configuração Terceirizável Aplicação

Sistemas Web - Características Alta Usabilidade Uso em larga escala de componentes de software Segundo Pressman, um sistema web: Está sempre em evolução É voltado para execução em rede Possui grande valor de conteúdo 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. 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. O conteúdo dos sistemas passou a ser mais complexo, não se resume apenas a questão transacional. A interface passou a ter outro sentido, 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.

Sistemas Web - Propósitos Informativo: Prestar informações Funcional: Oferecer serviços Entretenimento: Divertir pessoas Verifica-se que sistemas possuem propósitos, e estes devem ser levados em consideração durante o seu desenvolvimento.

Sistemas Web - Propósitos Apresenta-se um classificação de acordo com o propósito dos sistemas web e percebe-se que alguns possuem múltiplos propósitos. Fonte: Design e Usabilidade de Sistemas Web, Jair C. Leite (DIMAp – UFRN)

Requisitos Não - Funcionais Confiabilidade: Maturidade, Tolerância a Falhas e Recuperabilidade; Funcionalidade: Adequação, Acurácia, Interoperabilidade, Conformidade e Segurança de Acesso; Requisitos não-funcionais representam restrições que a aplicação deve atender. No caso de sistemas web destaca-se o requisito usabilidade, onde o usuário deve ser capaz de perceber intuititivamente o que fazer no sistema e como fazer. É fundamental que o sistema seja fácil de utilizar isto é, o usuário deve cometer poucos erros durante a interação. Além da facilidade de uso é necessária a facilidade de aprendizado, o usuário deve aprender rápido a utilizar o sistema e deve também poder memorizar o que aprendeu. Outro fator é de produtividade, o usuário deve realizar suas tarefas com rapidez. Não menos importante a flexibilidade deve garantir que a interface ofereça alternativas de interação. Finalmente, a satisfação deve ser garantida, o usuário precisa gostar de utilizar o sistema. A funcionalidade, outro requisito não – funcional também é de fundamental importância, deve ser garantido que após o envio de dados o sistema irá processá-los corretamente. Usabilidade: Inteligibilidade, Apreensibilidade e Operacionalidade;

Requisitos Não - Funcionais Eficiência: Tempo e Recursos; Manutenibilidade: Analisabilidade, Modificabilidade, Estabilidade e Testabilidade; Portabilidade: Adaptabilidade, Capacidade para ser instalado, Conformidade e Capacidade para substituir. O desempenho é outro requisito importante em aplicações web, deve-se evitar que problemas como: – A página demora a carregar! – O servidor não responde em tempo. – A página demora a ser exibida! ocorram durante a execução do sistema. A portabilidade também é de fundamental importância, deve-se garantir que a aplicação será exibida corretamente em qualquer browser e que a linguagem script funcionará independente do browser ou servidor.

Requisitos Não - Funcionais A plataforma, o sistema gerenciador de banco de dados, isto é, a tecnologia que deve ser utilizada também é vista como requisito não-funcional, no caso de aplicações web tem-se como modelos e tecnologias principais: - A arquitetura cliente-servidor; - O hipertexto; - O protocolo HTTP; - A linguagem HTML; - O endereçamento através da URI. Sabe-se que aparentemente estes requisitos são óbvios, porém muitos projetos são perdidos pelo esquecimento de um dos requistos não funcionais fundamentais ao correto funcionamento da aplicação. A metodologia OOHDM não diz como estes requisitos devem ser especificados, então aconselha-se o uso de descrição textual para que os requisitos não funcionais constem da documentação do sistema. Fonte: Design e Usabilidade de Sistemas Web, Jair C. Leite (DIMAp – UFRN)

Estudo de Caso – Sistema de Hotel Um grupo de empresários deseja que sua equipe desenvolva um sistema para gerenciar reservas e ocupações de apartamentos em uma rede de hotéis. O sistema será utilizado para controlar serviços internos de cada hotel e para a comunicação entre hotéis da rede de forma que seja possível que uma unidade da rede faça consultas sobre a disponibilidade de vagas em outras unidades da mesma cidade ou região. Descrição fornecida pela professora, do estudo de caso.

Estudo de Caso – Sistema de Hotel Serviços Básicos: Cadastro de clientes (hóspedes), apartamentos e despesas; Verificação de disponibilidade (via atendente por telefone ou via WEB); Controle de reserva (e cancelamento de reserva) de apartamentos; Controle de ocupação de apartamentos; Controle de pagamento (emissão da conta, emissão de fatura e registro do pagamento); Emissão de relatórios gerenciais (que devem ser sugeridos pelos desenvolvedores). Serviços básicos, fornecidos pela professora, que a aplicação deve atender. Destaca-se o serviço que será mais detalhado durante a apresentação.

Estudo de Caso – Sistema de Hotel Verificar Disponibilidade Descrição: Apresentar tipos de quarto disponíveis com seu valor para um determinado período. Atores: Usuário Web Prioridade: Alta (1) Pré-Condições: Cadastro de tipo de quarto. Optou-se por detalhar a funcionalidade: - Verificar Disponibilidade, onde são apresentados tipos de quarto disponíveis para um determinado período, com o seu valor. Cenário Normal: Sistema apresenta tela de busca de vagas Usuário informa localidade desejada para o sistema Sistema apresenta hotéis nesta localidade Usuário informa hotel para sistema Sistema solicita período de estadia Usuário informa período de estadia Sistema apresenta tipo de quarto disponível e seu valor para o período. Cenário Alternativo: Usuário informa evento para sistema Sistema apresenta hotel e solicita período de estadia Usuário informa periodo de estadia Sistema apresenta tipo de quarto disponível e seu valor para período

Diagrama de Classes Para facilitar a criação dos projetos navegacional e de interface abstrata, apresenta-se um diagrama de classes (modelo conceitual em OOHDM), que compreende a arquitetura do subsistema representando-o completamente. Observa-se que apenas os atributos mais relevantes foram considerados neste diagrama.

Arquitetura O Projeto Arquitetural deve descrever o sistema como um conjunto de componentes mais importantes, chamados de subsistemas, que fornecem um conjunto de sistemas específicos. Pode-se especificar a decomposição de cada subsistema em módulos. Num modelo orientado a objetos, os subsistemas são decompostos em um conjunto de objetos que se comunicam. Apresenta-se uma arquitetura para a aplicação completa, e em seguida detalha-se a arquitetura do subsistema Disponibilidade.

Arquitetura Subsistema: Tipo de Componente: Função: Disponibilidade Buscador Função: buscar apartamentos disponíveis em um dado período em um dado Hotel. apresentar tipo de apto vago e seu valor Detalhamento do subsistema utilizado como estudo de caso.

Arquitetura No projeto arquitetural do subsistema Disponibilidade, verificou-se a necessidade de dois controladores um de cadastro onde ocorre o controle dos dados cadastrais dos hotéis da rede e de posíveis eventos que venham ocorrer em algum hotel, visto que hotel é uma agregação de tipos de quarto e que estes podem possuir promoções em determinados períodos, o controle de cadastro também é responsável por estes dados. O segundo controle o de status deve ser capaz de nos dizer quais tipos de apto de um determinado hotel estão ocupados, reservados ou vagos num período fornecido previamente.

Projeto da Interface Abstrata Projeto em OOHDM Atividade Produtos Mecanismos Interesses Projeto da Navegação Nós, elos, estruturas de acesso, contextos de navegação, transformações navegacionais. Mapeamento entre objetos conceituais e de navegação. Padrões de navegação para a descrição da estrutura geral da aplicação. Leva em conta o perfil do usuário e a tarefa; ênfase em aspectos conceituais e arquiteturais. Projeto da Interface Abstrata Objetos de interface abstrata, reações a eventos externos, transformações de interface. Mapeamento entre objetos de navegação e objetos de interface. Modelagem de objetos perceptíveis, implementa metáforas escolhidas. Descrição de interface para objetos navegacionais. A metodologia OOHDM entende a fase de projeto do desenvolvimento de uma aplicação web como sendo as fases de definição do projeto navegacional e do projeto de interface abstrata do sistema. Percebe-se assim o quão imatura a metodologia ainda se apresenta. A tabela apresenta de forma resumida as atividades da fase de projeto da metodologia OOHDM.

Design Navegacional Início da Consulta Detalhes do Lista de eventos Busca de Hotel por Cidade Busca de Eventos Detalhes do Evento Lista de eventos nos próximos 18 meses Lista de Estados Lista de Cidades Busca por Quarto Lista de Hotéis Notação: caixas tracejadas: derivações simples de classe ou pontos de navegação. Triângulo preto: índice com múltiplas ordenações (por preço, por data, etc.). Retângulo preto: Lista dinâmica baseada no resultado anterior. Note que o usuário sempre pode retornar ao início da consulta, Não colocamos as setas para não poluir demais o diagrama. Tipos de Quarto Detalhes do Hotel Período de Estadia Lista de eventos neste hotel Quartos Disponíveis

Design de Interface Abstrata ADV: Detalhes do Hotel Nome (texto) Endereço (texto) Email (link) ADV: características do hotel Foto do Hotel (imagem) Galeria de fotos (link) Tipos de quartos (link) ADV: Início da Consulta Nome da rede de hotéis (texto) Busca de Hotel por Cidade (link: ADV: Hotel por Cidade) Busca de Eventos (link: ADV: Busca de Eventos) ADV: Hotel por Cidade Lista de estados (listbox, ação: preenche lista de cidades) Lista de cidades (listbox dinâmica, ação: preenche lista de hotéis) Lista de Hotéis (lista dinâmica de links) Os elementos de Navegação são detalhados em ADVs (Abstract Data Views), que especificam quais informações aparecerão em cada momento. ADVs podem (e devem) referenciar outros ADVs, e estruturas complexas podem ser feitas com composição de ADVs.

Design de Interface Abstrata ADV: Detalhes do Hotel Nome (texto) Endereço (texto) Email (link) ADV: características do hotel Foto do Hotel (imagem) Galeria de fotos (link) Tipos de quartos (link) Hotel XYZ Plaza Residence Maximus Av. Comendador Shinezaki 999 – Cambuí Campinas – SP – 13000-000 Fone (19) 555-6666 Fax (19) 555-7777 foto Email: xyz@maximus.com.br Centro de convenções para 500 pessoas, american bar, Restaurante húngaro, pista de boliche, heliponto. Mais Fotos Apartamentos & Suítes O posicionamento dos elementos dos ADVs pode ser especificado em uma ferramenta de prototipação, ou com rascunhos manuais. O projetista de interface não precisa ser o mesmo que especifica os ADVs textualmente. Note a composição com outra ADV (características do Hotel), que é “importada” pela ADV sendo especificada.

Validação de Projeto Conheça o modelo antes de validá-lo: Para um dado cenário, examine todas as medidas de performance das saídas do modelo e pergunte “São razoáveis?”. Utilize parâmetros de entrada para validar o modelo: Quando alguma entrada for alterada, examine as tendências em medidas de performance comuns. Usualmente o caminho é conhecido, a menos que a mudança seja muito importante. Modelos são utilizados para representar o comportamento de um novo sistema, ou o comportamento de um sistema modificado, ou ainda, o comportamento de um sistema dentro de novas condições. Os modelos obtidos após a modelagem de um projeto, devem participar de uma série de atividades chamadas: debugging, verification e validation. Então o projeto será modificado ou aprovado. Ressalta-se que nenhum modelo será 100% verificado e validado, a validação não é absoluta, no entanto muitos problemas podem ser solucionados antes da fase de implementação. A metodologia OOHDM não especifica como deve ser feita a validação dos modelos por ela solicitados, assim aconselha-se o uso do framework apresentado na referência 9. Lembrando que a verificação ocorre quando o projetista exercita um modelo aparentemente correto, com o propósito de buscar e corrigir erros no modelo. A validação ocorre quando o projetista e pessoas conhecedoras do sistema real trabalham juntas para rever e avaliar como o modelo trabalha.

Validação de Projeto Quando estamos projetando um sistema novo, uma validação científica completa não é possível, simplesmente porque um sistema real não existe para comparação. Nesta situação é essencial que os projetistas examinem e verifiquem a conduta dos modelos em cada nível. Isto inclui como o modelo responde em situações extremas bem como em situações normais.

Conclusões OOHDM permite a colaboração de profissionais de software e design gráfico na fase de projeto. OOHDM é voltada para aplicações hipermídia, facilitando a especificação e composição de imagens, vídeos e blocos de apresentação de informação multimídia É um metodo jovem, acadêmico e com pouco suporte. A única ferramenta de auxílio (OOHDMweb) apresentou muitas dificuldades para o uso. Não provê validação ou tratamento de requisitos não funcionais. Acreditamos que o tratamento de requisitos não funcionais em sistemas web realmente requerem um tratamento caso a caso.

Referências 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 J. S. Carson, “Model Verification and Validation”. In Proceedings of the 2002 Winter Simulation Conference, ed. E. Yücesan, C. H. Chen, J. L. Snowdon, and J. M. Charnes, 52-58. Piscataway, New Jersey: Institute of Electricel and electronics Engineers. Victor F.A. Santander, Jaelson F. B. Castro, Márcio A. S. Bueno, “Estudo de Princípios de Qualidade em Aplicações Web ”, Universidade Federal de Pernambuco – Centro de Informática Jair C. Leite, “Design e Usabolidade em Sistemas Web”, DIMAp-UFRN (2002) Eliane Martins, “Projeto Arquitetural”, IC-UNICAMP (2001) Apresenta-se as referências utilizadas para a preparação da apresentação, destaca-se as 4 últimas que deram suporte a atividades da fase de projeto não cobertas pela metodologia OOHDM.