A Web GUI for a multi-view component-based modeling CASE tool - MARINHO, Weslei Alvim de Tarso (2009)
Modelos oferecem abstrações de um sistema que possibilitam aos engenheiros raciocinarem sobre o sistema se focando apenas nos aspectos relevantes, ignorando detalhes que não são relevantes. UML se tornou um padrão de fato para análise e projeto de sistemas, mas possui algumas limitações óbvias: (1) o conjunto de elementos é muito heterogêneo e grande, e (2) o suporte de ferramentas não é satisfatório. Faz-se necessário um sistema de regras que governem o processo de análise e projeto; UML é geral demais. Desenvolvido pela UFPE em conjunto com a Universidade de Mannheim, o objetivo do método KobrA2 é resolver essas limitações através da incorporação de visões especiais de layout, navegação e comportamento de componentes de interface gráfica do usuário (GUI), e pela introdução do conceito de engenharia de software ortográfica, na qual a construção de Modelos Independentes de Plataforma (PIM) para cada componente de software é realizado em pequenas partes através da construção ortogonal de visões específicas para cada preocupação do componente. Estas visões são então integradas dentro de um Modelo Unificado (SUM) que por sua vez verifica a conformidade com os artefatos do meta-modelo de KobrA2. Para gerar ganhos de produtividade, esta integração e verificação deve ser automaticamente implementada através da transformação de modelos interna a uma ferramenta CASE. Consequentemente, para ter sucesso, KobrA2 precisa de uma ferramenta que dê suporte ao seu processo de engenharia de sistemas. Esta dissertação de mestrado é parte do projeto WAKAME (Wep App KobrA2 Modeling Environment) que tem por objetivo a construção desta ferramenta CASE. Além de ser a primeira ferramenta CASE dirigida por processo e que dá suporte a um ambiente OO, ortográfico, dirigido por modelos e baseado em componentes, para engenharia de aplicações, incluindo a construção de GUI PIMs, WAKAME também procura inovar por ser (a) distribuída em uma plataforma de cloud computing e acessível universalmente através de qualquer navegador Web, (b) ser de muito fácil aprendizagem graças a sua GUI minimalista, com poucos ícones, no estilo do Google, e (c) de uso eficiente graças ao seu cliente projetado para ser leve e com pouco uso de memória e que forneça um esquema de navegação multidimensional, ortográfico e independente de plataforma, entre visões de baixa granularidade, específica a preocupações, e locais, de um componente. Dentro do projeto WAKAME, esta dissertação de mestrado investiga três principais questões em aberto. A primeira é o projeto de KWAF (KobrA2 Web App Framework), um modelo independente de plataformas de um ambiente OO genérico para ser instanciado para projetos específicos de aplicações Web. A segunda é o PIM detalhado de WAKAME como um exemplo de instanciação de KWAF. A terceira é a implementação e avaliação de componentes de GUI, cobrindo (a) as visões estruturais de componentes KobrA2 que minimamente estendem um subconjunto mínimo de diagramas de classes UML e restrições estruturais de OCL, e (b) as visões operacionais de componentes KobrA2 que consistem de precondições, pós-condições e restrições body de OCL sobre operações UML. As principais contribuições desta dissertação são: (a) o projeto de KWAF, o primeiro estudo de caso para avaliação do processo KobrA2 para aplicações Web ricas com gráficos 2D, (b) o projeto de alto nível do WAKAME como estudo de caso para avaliação de KWAF, (c) a implementação de um cliente Web fácil de usar e eficiente para o projeto ortográfico de PIMs de composição de componentes KobrA2, e (d) a integração e teste deste cliente GUI com os serviços baseados em nuvem computacional de WAKAME para integração, verificação e persistência de visões PIM dentro do SUM