• Nenhum resultado encontrado

Avaliação da aplicabilidade da UML como uma ADL de software.

N/A
N/A
Protected

Academic year: 2023

Share "Avaliação da aplicabilidade da UML como uma ADL de software."

Copied!
53
0
0

Texto

Unified Modeling Language (UML), uma linguagem gráfica usada para visualizar, especificar, construir, documentar e comunicar artefatos de software, ganhou força tanto na academia quanto na indústria como uma ADL. O tema deste trabalho propõe a análise e estudo da UML como um software ADL através de uma revisão bibliográfica, com vistas à posterior avaliação de suas vantagens e limitações no desempenho desta função. Nesse contexto, encontra-se a Engenharia de Software, disciplina da engenharia que visa minimizar problemas em relação ao seu ambiente de desenvolvimento, levando em consideração fatores humanos, processos, planos de processos e ferramentas, para que a construção de um software que atenda aos requisitos solicitados dentro de prazos definidos. e custos previsíveis, tornando importante estudar e gerenciar todo o processo de desenvolvimento.

Uma das fases do desenvolvimento de software é o Projeto de Arquitetura, que trata de como um sistema de software deve ser organizado e qual será sua estrutura geral, com o objetivo de identificar os principais componentes estruturais de um sistema, bem como a forma como eles são interligados. e o inter-relacionamento, que desempenham um papel fundamental no controle da complexidade do sistema a ser desenvolvido.

PROBLEMA

OBJETIVOS

Objetivo geral

Objetivos específicos

JUSTIFICATIVA

ESTRUTURA DO TRABALHO

Com este trabalho, pretende-se descobrir as limitações e vantagens do uso da UML para modelagem de arquiteturas de software. Para atingir os objetivos deste trabalho foi realizada uma revisão de literatura, cuja importância é destacada em Porfírio (2012), pois permite uma visão clara e compreensão sobre o tema. A revisão da literatura contribui para o conhecimento das publicações existentes sobre o tema, dos aspectos já discutidos, da verificação de opiniões semelhantes e divergentes relacionadas ou relacionadas ao tema da pesquisa (MORESI, 2003).

Foi realizada uma revisão de arquitetura de software, ADLs, modelagem e UML e somada ao trabalho de introdução do tema principal, que é a análise da aplicabilidade da UML como ADL de software, ou seja, realizar a descrição arquitetural. Para que tal finalidade fosse realizada, foram lidos 12 (doze) trabalhos onde a UML foi utilizada, ou avaliada como tal, para que pudesse ser explicitado no presente trabalho o mapeamento das vantagens e desvantagens de utilizá-la para esta finalidade. Para descobrir, entender e avaliar as limitações e vantagens do uso da UML como um software ADL, foi realizado um estudo qualitativo, onde foram verificados argumentos importantes sobre o estado da arte.

O intervalo de tempo definido para a seleção dos trabalhos foi escolhido com o objetivo de encontrar possíveis desenvolvimentos no uso da UML como ADL de programação ao longo dos anos.

Etapas

Seleção e filtragem de trabalhos onde a UML foi utilizada ou avaliada como software ADL onde foram levantadas vantagens, desvantagens, vantagens ou limitações da sua utilização.

ARQUITETURA DE SOFTWARE

Linguagens de Descrição Arquitetural

Segundo Shaw e Clements (2006), as linguagens de descrição arquitetônica de software ou ADLs são linguagens formais utilizadas para representar a arquitetura de software. Em seu trabalho, Babar, Jeffery e Zhur (2004) afirmaram que não há consenso sobre uma definição universalmente aceita do que seriam as AVD. Esse fato traz consigo a dificuldade de classificar ou não uma linguagem como ADL de software, além do fato de não haver um conceito absoluto do que seja arquitetura de software.

Apesar da falta de consenso universalmente aceito sobre o que é um software ADL, o trabalho de Shaw et al. 1995) apontam propriedades que se espera encontrar neles, tais como: capacidade de representar componentes e conectores, abstração e encapsulamento, tipos e verificação de tipos e capacidade de acomodar ferramentas de análise. Além disso, Luckham e Vera (1995) apontam uma série de requisitos que consideram essenciais para que uma AVD seja. Segundo Ribeiro (2017), Wright é uma ADL geral que tem como foco a análise de protocolos de comunicação.

Além desses recursos, está o ADL, que possui semântica formal, mas não fornece suporte para requisitos não funcionais e define apenas uma visão arquitetônica. Segundo Ribeiro (2017), o Rapide é uma ADL com foco em simulação de sistemas distribuídos que pode arquitetar, analisar, simular e gerar código. Para Ribeiro (2017), C2 é uma ADL que lida com aplicações orientadas a eventos, possui sintaxe textual e gráfica, permite a visualização do comportamento de execução da arquitetura, mas.

MODELAGEM

Unified Modeling Language (UML)

UML é uma linguagem de modelagem introduzida em 1994 e é o amálgama de três métodos orientados a objetos: método de Booch, técnica de modelagem de objetos de Rumbaugh (OMT) e engenharia de software orientada a objetos.Jacobson (OOSE – Engenharia de software orientada a objetos) (BOOCH; RUMBAUGH ; JACOBSON, 2006). Onde os criadores buscaram um equilíbrio entre simplicidade e expressividade para atingir os objetivos principais, que são visualizar, especificar, construir e documentar sistemas orientados a objetos. Segundo os criadores da UML, Booch, Rumbaugh e Jacobson (2006), é uma linguagem expressiva que pode abranger as visões necessárias para o desenvolvimento e implementação de diversos tipos de sistemas, como sistemas de informação de negócios, aplicações WEB, até mesmo incorporado em tempo real e ao mesmo tempo fácil de entender e usar.

Garlan, Cheng e Kompanek (2002) resumem em seu trabalho alguns elementos da UML que podem ser usados ​​para descrever arquiteturas, item escolhido deliberadamente, pois o objetivo do trabalho é demonstrar a aplicabilidade da UML como uma ADL de avaliação de software. Instâncias de classes são chamadas de objetos, que podem ser incluídas em diagramas de classe/objeto para representar casos reais, ou prototipadas a partir da visão estática do projeto, ou usadas nas chamadas colaborações para representar o comportamento em determinados cenários. Interfaces: Coleções de operações que especificam os serviços de uma classe, componente ou subsistema e definem algum aspecto do comportamento de um elemento, como um conjunto de especificações de operação.

Pacotes são mecanismos de agrupamento usados ​​para dividir grandes modelos UML em partes gerenciáveis. Alguns exemplos são: associações que descrevem o relacionamento entre as classes e os papéis que elas desempenham nos relacionamentos; generalizações representando relacionamentos entre objetos pais e objetos filhos; realizações, que são relacionamentos semânticos, onde elementos de modelagem determinam o tipo de contrato, onde outro elemento deve garantir sua execução. Estereótipos: UML fornece um mecanismo para descrever formas especializadas de outros tipos de modelos para permitir sua extensão a conceitos específicos de domínio.

ESTADO DA ARTE

  • Using the UML for Architectural Description
  • Describing Software Architecture with UML
  • Reconciling the Needs of Architectural Description with Object-
  • Documenting Architectural Connectors with UML 2
  • Using UML with OCL as ADL
  • In practice: UML software architecture and design description
  • Modeling in Software Architecture
  • Architecture Description Languages (ADLs) vs UML: A Review
  • UML (Unified Modeling Language): Standard Language for Software
  • Are We There Yet? Analyzing Architecture Description Languages for
  • What Industry Needs from Architectural Languages: A Survey
  • Uma técnica baseada e SysML para modelar a arquitetura de

O trabalho de Hofmeister, Nordi e Soni (1999) relatou experiências utilizando UML para descrever a arquitetura da parte de processamento de imagens de um sistema de captura de imagens em tempo real, de acordo com as visões arquitetônicas que eles consideraram mais importantes. estudos e experiências anteriores. Componentes UML': onde os tipos de componentes são representados como componentes UML e instâncias de componentes como instâncias de componentes UML;. O trabalho de Ivers et al. 2004) discute o fato de que devido à popularidade da UML (1.x) ela foi usada para representar arquiteturas e que os usuários adotaram algumas convenções para representar elementos arquitetônicos ou criaram perfis para se especializar em UML, com resultados mistos e, em alguns casos, decepcionantes. casos.

No entanto, o autor menciona que as mudanças trazidas pela UML 2.0 melhoraram significativamente a adequação para a implementação da descrição arquitetural. Os autores analisam os elementos UML padrão que podem ser usados ​​para representar conectores (uniões, classes de união e classes) e como eles atendem aos quatro critérios mencionados acima. O autor destaca que, embora tenha sido originalmente criado para dar suporte à análise e ao projeto de software orientado a objetos, sua revisão, composta pela UML 2.0, melhorou o suporte à modelagem de arquiteturas de sistemas de software.

Segundo o autor, a OCL é parte integrante da UML (2.0) e é comumente utilizada para definir as restrições do sistema modelado. O autor conclui em seu trabalho que a popularização da UML se deve a todas as vantagens que ela oferece, mas que ainda há a necessidade de algumas funcionalidades das ADLs serem incorporadas a ela para torná-la ainda mais expressiva. O foco do artigo é a padronização da UML para desenvolvimento de software e a subsequente discussão das vantagens e desvantagens dessa linguagem.

Também pode-se notar que de acordo com a entrevista realizada, existem opiniões divergentes dos usuários da UML para descrever a arquitetura de considerar ou não uma ADL. Após a leitura dos 12 trabalhos, pôde-se observar as vantagens e desvantagens do uso da UML como uma ADL de software, descritas nos parágrafos a seguir.

LIMITAÇÕES

Limitações – Síntese

O Quadro 1 apresenta um resumo das limitações descobertas neste trabalho sobre o uso de UML para descrição arquitetural.

BENEFÍCIOS

Benefícios – Síntese

A Tabela 2 apresenta um resumo das vantagens descobertas neste trabalho sobre o uso da UML para descrição arquitetural. Com este trabalho foi possível realizar uma revisão bibliográfica sobre diversos conceitos da engenharia de software, como arquitetura de software, modelagem, ADLs e UML. A arquitetura de software vem sendo estudada desde o início dos anos 90 e se tornou um elemento chave de grande impacto para as demais fases do desenvolvimento de software.

As ADLs fornecem notações formais para descrições arquiteturais a serem feitas, e muitas surgiram desde que os estudos se voltaram para a arquitetura de software, mas seu uso não foi popularizado por vários motivos. Em contraste, a UML, originalmente criada para fornecer o design detalhado de projetos de software, tornou-se a linguagem padrão para modelagem de arquitetura, embora com muitas limitações. Diante desse fato intrigante, algumas peças da literatura foram selecionadas para destacar os prós e contras do uso da UML como um software ADL.

Entre as vantagens identificadas estão a extensibilidade, a possibilidade de modelar a arquitetura sob diferentes visões, o fato de ser uma notação gráfica. Curiosamente, alguns fatores foram identificados tanto como uma vantagem ou ponto forte quanto como uma desvantagem ou fraqueza, como o fato da UML ser uma linguagem gráfica que a torna atraente aos olhos dos profissionais e facilita o entendimento. no entanto, alguns dos modelos criados não são adequados para análise automatizada. Através dos resultados obtidos pode-se concluir que a UML não foi projetada originalmente para descrever arquiteturas, mas pode ser considerada uma ADL de software, pois com ela os profissionais são capazes de modelar e documentar arquiteturas em diferentes visões e modelar aspectos estáticos e dinâmicos por elas . Além disso, é uma linguagem visual amplamente utilizada e apoiada por.

Referências

Documentos relacionados

Uma das cenas mais significativas do romance Uma lágrima de mulher, e que serve para iniciar uma análise mais apurada dos elementos folhetinescos dentro da obra de