Orientação a Objetos: Da teoria à prática com a linguagem UML

Conheça neste artigo um pouco da história sobre a orientação a objetos e os primeiros passos para desenvolver sistemas com esse paradigma.

Fique por dentro
A orientação a objetos é um assunto fundamental para todos que irão trabalhar com desenvolvimento, principalmente para quem vai atuar com Java ou qualquer linguagem que adote esse paradigma. Portanto, se você está começando a se aventurar no mundo da programação ou dando os primeiros passos com o Java, este artigo será bastante útil por apresentar os conceitos necessários para desenvolver orientado a objetos. Como importante complemento, conheceremos também alguns recursos básicos da linguagem de modelagem UML, opção mais utilizada para criar diagramas que representam um sistema orientado a objetos.

No desenvolvimento de sistemas tratamos a orientação a objetos como um paradigma de programação, ou seja, como uma forma de se implementar um código. No entanto, este é um tema com aplicação em diversas áreas e por este motivo as literaturas sobre o assunto podem apresentar definições às vezes divergentes. Devido ao nosso escopo, obviamente, neste artigo vamos tratar da orientação a objetos direcionada ao desenvolvimento de software e, portanto, a estudaremos como: um conceito da engenharia de software no qual os elementos de uma solução são representados como objetos.

Ampliando nossos horizontes, podemos dizer que a orientação a objetos vem antes mesmo da engenharia, ou até da tecnologia. Os mecanismos que o cérebro humano utiliza para pensar e ver o mundo são totalmente orientados a objetos. Percebemos isso ao notar que categorizamos e agrupamos os elementos em nossa percepção para poder compreendê-los, exatamente como fazemos em uma análise orientada a objetos.

Nesse contexto, para representar os elementos identificados durante a análise de um sistema que segue esse paradigma, é necessário conhecermos um pouco sobre modelagem, de modo que saibamos como construir, de forma visual, os componentes da solução através de notações e diagramas padronizados.

Antes disso, no entanto, com o intuito de ter um melhor entendimento da evolução do desenvolvimento de software que nos trouxe até aqui, vamos contar um pouco da história da programação e as tecnologias que surgiram para dar suporte ao paradigma orientado a objetos. Posteriormente, abordaremos uma notação comum para representar os componentes de uma solução OO, a UML, e logo após, analisando os principais conceitos referentes a objetos, vamos defini-los, apresentando sua notação em UML e sua respectiva codificação em Java.

Por fim, faremos uma reflexão sobre a função da orientação a objetos na TI hoje em dia e os caminhos que ela tende a seguir no futuro com o advento de novos paradigmas para o desenvolvimento e modelagem de soluções, ponderando se esta irá acompanhar as novas tendências ou se será substituída por elas.

Notação UML

Agora que entendemos como surgiu a orientação a objetos, vamos começar a falar da modelagem dos sistemas que são desenvolvidos com esta tecnologia. Para representar um software devemos utilizar uma notação que seja capaz de dar o entendimento ao programador do que deve ser implementado com a linguagem de programação. E para ser eficaz, essa notação também precisa ser compreendida pelos analistas, responsáveis por identificar e modelar os requisitos do que será entregue como solução. No âmbito dos sistemas orientados a objetos a opção mais utilizada é a UML.

A criação da notação UML teve início em outubro de 1994, quando Rumbaugh se juntou a Booch na Rational Software Corporation. Nesta época o constante crescimento da Rational fez com que surgisse a necessidade de organizar e definir as etapas de desenvolvimento adotadas em seus projetos. Foi concebido, assim, o processo de desenvolvimento unificado, denominado RUP (Rational Unified Process). Contudo, como os sistemas implementados por outras empresas careciam de um processo mais formal e definido, logo o mercado também abraçou o RUP.

A partir disso, começou a surgir a necessidade de uma notação igualmente formal para representar a modelagem das soluções. No começo dos anos 1990, as notações existentes eram o Booch, o OMT e o OOSE. Como cada solução apresentava vantagens e desvantagens, não havia um consenso de mercado sobre qual usar, até que, aproveitando o melhor de cada notação, em outubro de 1995, a Rational lançou a versão 0.8 do Unified Method.

Em 1995, fizeram o escopo do projeto sobre modelagem da Rational ser expandido para incorporar mais alguns diagramas, já presentes na notação OOSE. Nasceu, então, em junho de 1996, a versão 0.9 da UML, e, em 1997, finalmente a Linguagem de Modelagem Unificada foi aprovada como padrão pelo OMG (Object Management Group).

No entanto, a aceitação e difusão do processo unificado da Rational, bem como o envolvimento de seus profissionais na criação da notação UML, fez com que esta fosse constantemente confundida com um processo de desenvolvimento. UML, entretanto, não é uma metodologia de desenvolvimento de software, mas sim um modo de visualizar a interação dos componentes de software que farão parte do projeto. Em outras palavras, Unified Modeling Language é uma linguagem de modelagem de diagramas que permite especificar, visualizar e documentar modelos de software, incluindo detalhes de sua estrutura, design e da comunicação entre os objetos que compõem o sistema." [...] continue lendo...

Artigos relacionados