Issuu on Google+

1

MODELAGEM COM UML Daniel Santos da Costa 1 Paulo Santos de Jesus2 RESUMO O presente artigo tem como objetivo analisar as vantagens, principais técnicas de modelagem de sistemas chamada UML. Ela representa uma linguagem visual utilizada para modelar sistemas de computação orientados a objetos. Sua função é definir as características, como seus requisitos, comportamentos, estrutura lógica e dinâmica dos processos físicos. É uma ferramenta que simula as condições de funcionamentos dos programas sem que tenhamos de construir estruturas complexas de softwares. A linguagem UML é aberta e pode ser utilizada para criar um modelo para se abstrair as fases de um projeto, onde diversos diagramas auxiliam na visualização do problema e a concepção da solução, permitindo uma visão macro dos objetos e seus relacionamentos. A modelagem proporcionada pela UML permite simplificar o entendimento de um sistema, ao transformar suas complexidades em objetos gráficos simples, onde a lógica interna de seu funcionamento é abstraída. Através da modelagem, estrutura-se um sistema, onde a manutenção que ocorrer nos posteriores ciclos de desenvolvimento fica facilitada uma vez que a mesma ocorre inicialmente num nível lógico. E não no código (programa), de forma que se pode evoluir os diagramas que serão alterados e verificar suas consequências antes de se preocupar com a fase de desenvolvimento, em linhas gerais, a UML representa uma análise sob a ótica do sistema de computação.

Palavras-chave: Modelagem, UML. Sistemas de Computação.

1 INTRODUÇÃO A UML (Unified Modeling Language) é uma padronização da linguagem de desenvolvimento orientado a objetos para visualização, especificação, construção e documentação de sistemas. Muito voltada para modelar softwares. Caracteriza-se como um sistema aberto e é utilizada para criar modelos de programas, com o objetivo de se conhecer as etapas de projeto no desenvolvimento de software. É formado por diversos diagramas, os quais ajudam no reconhecimento de problemas, e, consequentemente, na busca das soluções, “permitindo uma visão macro dos objetos e seus relacionamentos”. Sistemas complexos possuem grande detalhamento e um grupo extenso de referenciais. Através da modelagem, ocorre a simplificação do sistema, alterando o nível de complexidade, facilitando, assim, a compreensão e do processo, através de objetos gráficos menores e mais fáceis de se abstrair. Desta maneira, o funcionamento se faz através de uma visão privilegiada, estruturando e mantendo uma manutenção efetiva através de ciclos. Deve-se empreender que 1 2

Graduando em Ciência da Computação, Universidade do Estado da Bahia. Graduando em Ciência da Computação, Universidade do Estado da Bahia,


2

a UML representa uma linguagem, podendo ser utilizada por diversas metodologias, ampliando o leque de suas aplicações.

2 MARCO TEÓRICO Segundo Reis e Videira (2003, p. 117) “UML (Unified Modeling Language) é uma linguagem para especificação, construção, visualização e documentação de artefatos de um sistema de software”. Configura-se como uma linguagem padrão para vários sistemas, possui uma semântica construída para facilitar a troca de informações entre sistemas distintos. Ela não depende do tipo de programa, atua como uma plataforma independente de linguagem. Além de sua simplicidade, é capaz de englobar distintos métodos e elementos de programação. Um típico exemplo é encontrado na figura 1, exemplo de caso de uso, diagrama da UML.

Figura 1 – Exemplo de caso de uso, diagrama em UML Fonte: Andrade e Gottardo (2008, p. 47)

Através da UML é possível construir programas com uma estrutura sólida, que propicie uma arquitetura onde as intervenções possam ser executadas com um mínimo de tempo, sem desperdício e retrabalho da equipe. Nos diais atuais, a modelagem representa um item basilar na estruturação de programas. Eles são capazes de prever, monitorar e realizar alterações consistentes, sem, no entanto causar transtornos. É uma ferramenta que garante a qualidade do software e o torna viável, dando margem a simplificação e aproveitamento. Através do modelo, podemos visualizar a própria realidade de forma mais simples. Através da modelagem “enxergamos” o sistema como ele deveria ser, sem, no entanto, haver custos para tanto. Estrutura-se o comportamento do sistema, um guia para sua construção e facilitam a tomada de decisão, constituindo-se como um elemento de diferenciação entre as empresas. Pode ser utilizado em grandes ou pequenos sistemas de computação, garantindo a


3

compreensão de sua totalidade através de seus diagramas. Eles trazem transmitem ideias precisas e facilitam a comunicação.

2.1 VISÃO HISTÓRICA Os estudos sobre a tecnologia de orientação a objetos iniciaram-se na década de 1980 com ênfase nas linguagens de programação. Já no final desta década começaram a surgir os métodos de análise de projeto. Todos os métodos eram muitos similares, apesar da existência de diferentes notações para representar o mesmo conceito, o que, em tese, causava muita confusão entre os técnicos e competição entre os metodologistas, provocando a “guerra dos métodos”. Em 1994 James Rumbaugh e Gready Booc iniciaram o trabalho de unificação dos métodos Booch e ONT. Durante o ano de 1996 eles trabalharam no método que passou a chamar de Unified Modeling Language (UML) e a Objetct Management Group (OMG) iniciou um esforço para padronização na área de métodos. Os esforços de Rumbaugh, Booch e Jacobson resultaram nas versões 0.9 e 0.91 da UML em junho e outubro de 1996 respectivamente. A UML é a sucessora da linguagem de modelagem encontrada nos métodos Booch, OOSE/Jacobson, OMT e outros Modelos de Entidade e Relacionamentos. Durante 1996 a Rational Softaware Corporation contou com a participação de outras Instituições parceiras como: Hewlett-Packard, IBM, Microsoft, Oracle, Unisys, Platinium Technology, dentre outras. Essa contribuiu para a produção da versão 1.0, uma versão bem definida, expressiva, poderosa e aplicável, a qual foi submetida a OMG1 para adoção. A partir da unificação dos métodos a UML alcançou dois objetivos importantes no contexto da modelagem de objetos: a) Acabou com as diferenças existentes entre os métodos; b) Unificaram as perspectivas entre os diferentes tipos de sistemas, fases de desenvolvimento e conceitos internos. A figura 2 exemplifica os avanços do UML através dos anos.

Figura 2 – Visão História do UML Fonte: Silva: Videira (2001)


4

A UML, “é uma linguagem-padrão para a elaboração da estrutura de projetos de software. Ela poderá ser empregada para a visualização, a construção e a documentação de artefatos que façam uso de sistemas complexos de software. (BOOCH; RUMBAUGH; JACOBSON, 2005, p. 13). Desta forma, sua aplicação abarcar diversas linhas e campos de aplicação. Já para Fowler, (2005, p. 25) “ UML é uma família de notações gráficas, apoiadas por um modelo único, que ajuda na descrição e no projeto de sistemas de software, particularmente daqueles construídos utilizando o estilo orientado a objetos”. Percebe-se, através das definições, que a modelagem através da UML propicia uma “imagem” de projetos através de instâncias menores (os diagramas) capazes de fornecer um software eficaz.

2.2 APLICAÇÃO A UML é usada no desenvolvimento dos mais diversos tipos de sistemas. Ela abrange sempre qualquer característica de um sistema em um de seus diagramas e é também aplicada em diferentes fases do desenvolvimento de um sistema, desde a especificação da análise de requisitos até a finalização com a fase de testes. Para Melo (2010) a evolução da informática é frequente e necessária em virtude das demandas do mercado. Assim, as alterações nos sistemas são dinâmicas e acompanham a própria velocidade dos recursos tecnológicos. O objetivo da UML é descrever qualquer tipo de sistema, em termos de diagramas orientado a objetos. A utilização mais comum é para criar modelos de sistemas de softwares, mas ela também serve para representar sistemas mecânicos sem nenhum software. Pode-se enumerar os seguintes segmentos de uso da UML: a) Sistema de Informação: Armazenar, pesquisar, editar e mostrar informações para usuários. Manter grandes quantidades de dados com relacionamentos complexos, através de banco de dados relacionais. b) Sistemas técnicos: Manter e controlar equipamentos técnicos como de telecomunicações, equipamentos militares ou processos industriais. Eles devem possuir interfaces especiais do equipamento e menos programação de software de que os sistemas de informação. Sistemas técnicos são geralmente real-time. c) Sistemas de Real-Time Integrados: Executados em simples peças de hardwares integrados a telefones celulares, carros, alarmes, etc. Estes sistemas implementam programação de baixo nível e requerem suporte real-time. d) Sistemas distribuídos; e) Sistemas de softwares; f) Sistemas de negócios;


5

Para Larman (2004), a UML pode ser aplicada em três níveis: a) como rascunho – na forma de diagramas informais e incompletos; b) como uma planta de software e c) como linguagem de programação propriamente dita.

2.3 ETAPAS DO DESENVOLVIMENTO Basicamente, existem cinco fases no desenvolvimento de sistemas: Análise de Requisitos, Análise, Design (projeto), Programação e testes. Devem ser executadas na ordem respectiva, de sorte que os eventuais problemas devem ser detectados antes de evoluir para a fase subsequente, sob pena de promover erros futuros nas outras fases, o que poderá influenciar no resultado global do produto, alterando a qualidade e o desempenho finais, (ANDRADE; GOTTARDO, 2008).

2.4 MODELOS E ELEMENTOS Os conceitos utilizados nos diagramas UML são chamados de Modelos de Elementos. Um modelo de elemento é definido com a semântica e definição formal do elemento e uma representação gráfica que é utilizada nos diagramas. Alguns exemplos de modelos de elementos são as classes, objetos, estados, pacotes e componentes. Os relacionamentos também são modelos de elementos, e são utilizados para conectar outros modelos de elementos entre si.

2.5 DIAGRAMAS Ramos (2006) afirma que existe, na prática, os seguintes diagramas em UML: a) diagrama de casos de uso, de classes, de objetos, d estado, de sequencia, de colaboração, de atividade, de componente e o de execução. Andrade e Gottrardo (2008) indicam que todos os sistemas possuem uma estrutura estática e um comportamento dinâmico. A UML suporta modelos estáticos, dinâmicos e funcionais. A modelagem estática é suportada pelo diagrama de classes e de objetos, que consiste nas classes e seus relacionamentos. Os relacionamentos podem ser de associações, herança (generalizações), dependência ou refinamentos. As modelagens dinâmicas são suportadas pelos diagramas de estado, sequências, colaboração e atividade. E a modelagem funcional é suportada pelos diagramas de componente e execução. Contudo, de forma mais abrangente. Fowler (2005) ilustra, através da figura 3, a classificação geral para os diagramas utilizados no UML.


6

Figura 3 – Classificação dos tipos de diagrama UML Fonte: Fowler (2005, p. 34)

3 METODOLOGIA Em relação ao caráter dos objetivos, esta pesquisa classifica-se como exploratória, pois, de acordo com as declarações de Silva (2001, p. 21 apud Gil 1991, p. 35):

[...] visa proporcionar maior familiaridade com o problema com vistas a torná-lo explícito ou a construir hipóteses. Envolve levantamento bibliográfico; entrevistas com pessoas que tiveram experiências práticas com o problema pesquisado; análise de exemplos que estimulem a compreensão. Assume, em geral, as formas de Pesquisas Bibliográficas e Estudos de Caso.

O artigo fundamentou-se através de uma pesquisa de cunho bibliográfico, através de fontes primárias e secundárias de vários autores. Apresentando um estudo de teóricos sobre o tema, com investigações a partir de fontes impressas (livros, jornais, revistas e periódicos) e mídia


7

virtual (artigos, monografias, etc.). Ela permite obter conteúdos atualizados sobre o tema pesquisado; ter entendimento sobre várias literaturas e fornecer comparações entre as mesmas, além de analisar opiniões similares e distintas a respeito do tema ou de aspectos relacionados ao tema ou ao problema de pesquisa. Sendo assim, a pesquisa bibliográfica enriquece o trabalho e fomenta análises específicas dentro do tema, podendo trazer uma visão micro dentro de um espaço maior. Tendo sua abordagem substanciada através de uma linha qualitativa, que, de acordo com Silva e Menezes (2001, p. 20) “considera que há uma relação dinâmica entre o mundo real e o sujeito, isto é, um vínculo indissociável entre o mundo objetivo e a subjetividade do sujeito que não pode ser traduzido em números”. Sendo assim, deve-se atentar para a exploração dos fenômenos associados ao tema e sua influência no processo. Utilizou-se, durante a exploração, o uso do método indutivo para captar o resultado. As constatações particulares levam à elaboração de generalizações (LAKATOS; MARCONI 2003).

4 CONCLUSÃO A UML contém notações e regras que tornam possível expressar modelos orientados a objetos. Mas ela não prescreve como o trabalho tem que ser feito, ou seja, não possui um processo de como deve ser desenvolvido. Ela foi projetada para ser usada em diversos métodos de desenvolvimento. Representa uma base para outras ferramentas, incluindo modelagem visual, simulações e ambientes de desenvolvimento. Ferramentas de integração e padrões de implementação baseadas em UML são tipicamente disponíveis em vários ambientes computacionais. A UML integrou muitas ideias adversas, e esta integração vai acelerar o uso do desenvolvimento de softwares orientados a objetos. Através da modelagem, os softwares podem ser implementados com o menor custo, empreendendo tempo mínimo de execução, estruturação e manutenção. Mostrando-se como uma ferramenta de vantagem competitiva para as empresas. Na atualidade é um padrão na modelagem de sistemas no paradigma da orientação a objetos. Dentre as vantagens intuídas a partir da UML pode-se enumerar a redução da carga de trabalho, elementos de simplicidade na construção e estruturação dos sistemas, facilidade de mudança e incrementos, flexibilidade na comparação entre os modelos, maximização no retorno dos investimentos.


8

REFERÊNCIAS

ANDRADE, Mairum Ceoldo. GOTTARDO, Reginaldo. Modelagem e Análise. Módulo 4.1. Faculdade Interativa COC, São Paulo, 2008. BOOCH, Grady; RUMBAUGH, James; JACOBSON, Ivar. UML: guia do usuário. 2.ed. Rio de Janeiro: Elsevier, 2005 FOWLER, Martin, UML essencial: um breve guia para a linguagem-padrão. Trad. João Tortello. Porto Alegre: Bookman, 2005. GIL, Antonio Carlos Gil. Como elaborar projetos de pesquisa. 5ª Ed. - São Paulo: Atlas. 2010. GUEDES, Gilleanes T.A. UML 2 Guia Prático. Novatec. 2001. LAKATOS, Eva Maria; MARCONI, Marina de Andrade. Fundamentos de metodologia científica. 5.ed. São Paulo: Atlas, 2003. LARMAN, Craig. Utilizando UML e padrões: um guia para a análise e projeto orientados a objetos. 2. ed. Porto Alegre: Ed. Bookman, 2004. MELO, Ana Cristina. Desenvolvendo Aplicações com UML 2.2. Rio de Janeiro: Brasport, 2010. RAMOS, Ricardo Argenton. Treinamento prático em UML. São Paulo: Digerati Books, 2006. REIS, Rodrigo Quites. Usando UML para Especificação de Sistemas Orientados a Objetos. 2003. SILVA, Alberto Manuel Rodrigues da Silva. VIDEIRA, Carlos Alberto Escaleira. UML, metodologias e ferramentas CASE: linguagem de modelação UML, metodologias e ferramentas CASE na concepção e desenvolvimento de software. Portugal: Edições Centro Atlântico, 2001. SILVA, Edna Lúcia da. MENEZES, Estera Muszkat. Metodologia da pesquisa e elaboração de dissertação. 3ª Edição. Florianópolis: Laboratório de Ensino a Distância da UFSC, 2001.


Modelagem com UML