Upload
afonso-sintra-figueiroa
View
228
Download
8
Embed Size (px)
Citation preview
29 de Abril de 2002 1 / 27
UFPE - Universidade Federal de PernambucoCentro de Informática
Pós-Graduação em Ciência da Computação
Dissertação de Mestrado
“Uma Extensão do Fluxo de Análise e Projeto do RUPpara o Desenvolvimento de Aplicações Web”
PorRicardo André C. de Souza
Orientador: Prof. Alexandre Marcos L. Vasconcelos
29 de Abril de 2002 2 / 27
Roteiro
Introdução Engenharia de Software para Web Extensões de UML RUP – Rational Unified Process Extensão do Fluxo de Análise e Projeto Estudo de Caso – A Aplicação Web SIG@UFPE Conclusão
29 de Abril de 2002 3 / 27
Introdução
Motivação
Grande demanda pelo desenvolvimento de aplicações Web;
Características específicas de aplicações Web;
Adaptações em processos genéricos de desenvolvimento de software;
29 de Abril de 2002 4 / 27
Introdução
Escopo
Engenharia de Software para Web;
RUP – Rational Unified Process Genérico; Adaptável; Reúne o melhor de várias técnicas de
desenvolvimento de software; Aceito nos meios acadêmico e comercial; UML (Unified Modeling Language) é parte integrante;
29 de Abril de 2002 5 / 27
Introdução
Objetivos
Extensão do Fluxo de Análise e Projeto do RUP ;
Atender aplicações Web no padrão arquitetural em Camadas;
29 de Abril de 2002 6 / 27
Engenharia de Software para Web
Objetivos
Estabelecimento e uso de abordagens científicas, de engenharia, e gerenciamento para dar suporte ao processo de desenvolvimento de aplicações Web;
Técnicas sistemáticas e disciplinadas para alcançar aplicações Web de alta qualidade;
Incorporação de princípios bem sucedidos da Engenharia de Software tradicional, adaptando-os para a natureza mais aberta e flexível de aplicações Web;
29 de Abril de 2002 7 / 27
Engenharia de Software para Web
Aplicações Web versus Aplicações Tradicionais
Principais diferenças referem-se a questões sobre:
Navegação;
Interface Gráfica;
Implementação;
29 de Abril de 2002 8 / 27
Extensões de UML
Definição
Maneira ordenada de adicionar nova semântica para a notação de UML;
Permite a inclusão de novos atributos, diferentes semânticas e restrições adicionais a elementos da modelagem;
Expressa em termos de:
Estereótipo – extensão do vocabulário da linguagem;
Tagged Value – extensão para uma propriedade de um elemento do modelo;
Restrição – extensão da semântica da linguagem;
29 de Abril de 2002 9 / 27
Extensões de UML
Abordagens para Aplicações Web
WAE (Web Application Extension); OOHDM + UML; Framework W2000;
29 de Abril de 2002 10 / 27
RUP – Rational Unified Process
Conceitos Chaves
Responsável – papel desempenhado por um indivíduo ou uma equipe no contexto do projeto;
Atividade – unidade de trabalho que produz um resultado significante no contexto do projeto;
Artefato – peça de informação que é produzida, modificada ou usada pelo processo de desenvolvimento de software;
Fluxo – seqüência de atividades que produz um resultado de valor observável;
Subfluxo – agrupamento de atividades, responsáveis envolvidos, artefatos de entrada e artefatos produzidos;
29 de Abril de 2002 11 / 27
RUP – Rational Unified Process
Características
Dirigido a Casos de Uso O processo de desenvolvimento segue um fluxo de
ações para realização de Casos de Uso; Centrado na Arquitetura
O RUP fornece uma maneira metódica e sistemática para projetar, desenvolver e validar a arquitetura;
Iterativo e Incremental Iterações referem-se a passos no fluxo de
desenvolvimento, e Incrementos a evoluções do produto;
29 de Abril de 2002 12 / 27
RUP – Rational Unified Process
Fluxos e Fases
29 de Abril de 2002 13 / 27
Extensão do Fluxo de Análise e Projeto
29 de Abril de 2002 14 / 27
Extensão do Fluxo de Análise e Projeto
Atividades do Fluxo Estendido
29 de Abril de 2002 15 / 27
Extensão do Fluxo de Análise e Projeto
Subfluxo Projetar Camada de Apresentação
29 de Abril de 2002 16 / 27
Extensão do Fluxo de Análise e Projeto
Atividade Projetar Navegação
Consiste na criação do Modelo Navegacional, com os seguintes propósitos:
Identificar como o usuário caminha (navega) na aplicação para utilizar as funcionalidades oferecidas;
Criar subsídios para o projeto das Interfaces Gráficas da aplicação;
Identificar os elementos necessários para criação da Camada de Apresentação da aplicação no fluxo de Implementação;
29 de Abril de 2002 17 / 27
Extensão do Fluxo de Análise e Projeto
Atividade Projetar Navegação – Artefatos de Entrada
Modelo de Casos de Uso – descreve as funcionalidades que a aplicação fornece para os usuários;
O Modelo Navegacional deve contemplar as navegações necessárias para satisfazer os Casos de Uso deste modelo;
Realizações de Caso de Uso – descreve a colaboração de objetos para um particular Caso de Uso, é representado por diagramas de interação de UML;
O Modelo Navegacional deve suportar as interações entre o usuário e a aplicação, descritas neste artefato;
29 de Abril de 2002 18 / 27
Extensão do Fluxo de Análise e Projeto
Atividade Projetar Navegação – Artefatos de Entrada
Modelo de Análise (Conceitual) – contém as classes de Análise (básicas) da aplicação, seus atributos e associações, é o resultado do processo de análise dos Casos de Uso;
O Modelo Navegacional é uma variação (visão) deste modelo, com ênfase nos aspectos de navegação e de apresentação da aplicação;
Guia de Projeto Navegacional – consiste no método proposto para criação do Modelo Navegacional de aplicações Web;
29 de Abril de 2002 19 / 27
Extensão do Fluxo de Análise e Projeto
Atividade Projetar GUI (Graphic User Interface)
Consiste em projetar as Interfaces Gráficas da aplicação de acordo com as necessidades navegacionais;
A aparência das Interfaces Gráficas deve obedecer ao padrão de apresentação (fonte, cor, botão, etc) adotado pela organização;
Artefato de Entrada – Modelo Navegacional; Artefato Produzido – Templates GUI;
Esboço das Interfaces Gráficas derivadas dos elementos do Modelo Navegacional que representam páginas cliente e formulários;
29 de Abril de 2002 20 / 27
Extensão do Fluxo de Análise e Projeto
Método para criação do Modelo Navegacional
Primeiro Passo: Identificar as Classes Navegacionais;
Derivadas das classes básicas do Modelo Conceitual; Segundo Passo: Identificar os Caminhos Navegacionais;
Derivados das associações entre as classes básicas do Modelo Navegacional;
Influenciados pela multiplicidade da origem das associações;
Satisfazem operações de manutenção;
29 de Abril de 2002 21 / 27
Extensão do Fluxo de Análise e Projeto
Método para criação do Modelo Navegacional
Terceiro Passo: Criar os Caminhos Navegacionais;
Contempla todas as funcionalidades oferecidas pelas classes navegacionais;
Baseado no padrão arquitetural Thick Web Client;
Segue um padrão proposto para a operação de Inclusão;
Segue um padrão proposto para as demais operações de manutenção;
29 de Abril de 2002 22 / 27
Estudo de Caso – A Aplicação Web SIG@UFPE
Objetivos da Aplicação
O Sistema de Informações e Gestão Acadêmica da UFPE visa atender o principal serviço oferecido pela universidade – o ensino em todos os níveis (graduação, pós-graduação, extensão);
Desenvolvido em módulos que correspondem a etapas (fases) do ano letivo;
Prioridade no módulo que controla o Planejamento de Matrícula e Matrícula;
29 de Abril de 2002 23 / 27
Estudo de Caso – A Aplicação Web SIG@UFPE
Principais Funções da Aplicação
Especificação das Atividades Acadêmicas a ofertar; Intenção de Matrícula; Definição das Atividades Acadêmicas ofertadas; Criação de Turmas e Subturmas; Matrícula em Atividade Acadêmica; Matrícula em Turma;
29 de Abril de 2002 24 / 27
Estudo de Caso – A Aplicação Web SIG@UFPE
Execução do Subfluxo Projetar Camada de Apresentação
Realização da Atividade Projetar Navegação; Realização da Atividade Projetar GUI; Exemplo de Projeto Navegacional Demonstração Aplicação SIG@UFPE
29 de Abril de 2002 25 / 27
Conclusão
Contribuições
Adequação da metodologia de desenvolvimento de software RUP;
Extensão do fluxo de Análise e Projeto do RUP para considerar mais apropriadamente o desenvolvimento de aplicações Web;
Criação do Subfluxo Projetar Camada de Apresentação; Recomendações para execução de Atividades já existentes; Método para criação do Modelo Navegacional; Estudo de Caso sobre a aplicação Web SIG@UFPE; Configurações na ferramenta de modelagem Rational Rose;
29 de Abril de 2002 26 / 27
Conclusão
Trabalhos Correlatos Aplicações Web são um tipo de sistema hipermídia; Métodos para o desenvolvimento de sistemas hipermídia:
HDM – Hypermedia Design Method
RMM – Relationship Management Methodology
OOHDM – Object-Oriented Hypermedia Design Method
WSDM – Web Site Design Method
RNA – Relationship-Navigational Analysis
UPHD – Unified Process-based Hypermedia Systems Development
29 de Abril de 2002 27 / 27
Conclusão
Trabalhos Futuros
Refinar a atividade Projetar GUI para tratar questões relativas à organização e aparência das interfaces gráficas;
Automatizar a criação da Camada de Apresentação, com base no Modelo Navegacional;
Adaptar os demais fluxos de desenvolvimento do RUP e estudar a necessidade de adequação dos fluxos de suporte;
Adequar outros processo genéricos de desenvolvimento de software como o Open e o Catalysis;