Escolar Documentos
Profissional Documentos
Cultura Documentos
E
ste artigo inicia mostrando como
evoluímos até o paradigma atual apresentados os conceitos da orientação
da orientação a objetos. Em segui- a objetos, sua aplicabilidade em diversas
da, conceituaremos a base da orientação a fases do desenvolvimento de sistemas,
objetos, com sua demonstração por meio e conclui com a apresentação da UML
de exemplos. Será apresentada uma visão como modelo utilizado para desenvol-
vimento de sistemas OO.
geral da aplicabilidade em diversas fases
do desenvolvimento de sistemas: levanta- Para que serve:
mento, análise, projeto de banco de dados Fornecer aos desenvolvedores ou
e implementação. E por fim, evidenciare- estudantes da área de sistemas a base
mos a proposta da UML como linguagem necessária ao contexto de desenvolvi-
de modelagem, com a apresentação dos mento atual – o paradigma de orientação
diagramas da versão atual. a objetos.
Em que situação o tema é útil:
O começo de tudo Atualmente há uma disseminação
A história da computação teve início de sistemas desenvolvidos sob o pa-
na necessidade do homem em conseguir radigma orientado a objetos, sem que
Ana Cristina Melo realizar cálculos. O caminho foi longo, alguns desenvolvedores tenham uma
informatica@anacristinamelo.com.br iniciado com o ábaco, muitos anos antes da completa visão da importância de toda
É especialista em Análise de Sistemas e professora a base de conceitos OO e da modelagem
era cristã. A primeira máquina de calcular
de graduação e pós-graduação da Universidade
que apenas somava e subtraía vem surgir em UML.
Estácio de Sá. Atua em análise e programação há
21 anos. Autora do livro ”Desenvolvendo aplica- apenas em 1642, desenvolvida por Blaise
ções com UML – do conceitual à implementação”, Pascal. Em 1694, Gottfried Von Leibniz 1822, o matemático inglês Charles Babbage
na segunda edição, e “Exercitando modelagem em
constrói a primeira calculadora que podia estabelecia os princípios do funcionamento
UML”. Palestrante em alguns eventos, entre eles,
Congresso Fenasoft, OD e Sepai. executar as quatro operações básicas, e em dos computadores eletrônicos no projeto
de sua máquina diferencial, capaz de rea- que esse paradigma ainda não era a solução diga OO. Sendo assim, se um desses
lizar os cálculos necessários para elaborar para a velha crise de software. conceitos não for atendido, não podemos
uma tabela de logaritmos. A partir daí, Naturalmente, logo se pensa que a afirmar que determinada tecnologia
outras invenções abriram caminhos para o orientação a objetos surgiu após a análise possa ser nomeada como orientada a
que temos hoje. O marco inicial se dá com o estruturada, como uma evolução dessa objetos. Isso aconteceu com a linguagem
primeiro computador eletrônico, o ENIAC metodologia, buscando-se as soluções Visual Basic, que antes da sua versão .net
(Eletrical Numerical Integrator and Calcula- necessárias para um projeto confiável e de não implementava todos os conceitos de
tor), surgido em 1945, e pesando cerca de manutenção fácil. É correto imaginar que o orientação a objetos.
30 toneladas. Até hoje os computadores paradigma da orientação a objetos tornou- Vejamos então esses conceitos:
ainda utilizam a arquitetura proposta por se a solução para acompanhar a demanda Objeto: um objeto é qualquer coisa
Von Neumann. Em 1951, surgia o primeiro cada vez maior e freqüente do mercado, existente no mundo real, em formato
computador fabricado comercialmente: o mas o erro está no posicionamento histó- concreto ou abstrato, ou seja, que exista
UNIVAC I, usado no censo americano por rico do conceito de orientação a objetos, fisicamente ou apenas conceitualmente,
12 anos seguidos. pois este surgiu muito antes do conceito e o qual se pode caracterizar e identificar
A partir da década de 40, descobre-se a da programação estruturada. comportamentos.
importância da computação, e essa passa Em 1962, Ole-Johan Dahl e Kristen Ny- Podemos afirmar que um objeto é uma
a fazer parte da nossa história. Contudo, gaard criaram uma linguagem chamada caixa-preta que recebe e envia mensagens,
numa primeira fase ninguém pensava em Simula, baseada na linguagem Algol 60. ou seja, num sistema orientado a objetos,
software. Os esforços estavam voltados à O diferencial residia em seu objetivo: os objetos trocam informações por meio
evolução do hardware, buscando-se redu- permitir o projeto de simulações. Surgia de mensagens.
zir os problemas das primeiras máquinas. a primeira linguagem orientada a objetos, Num sistema orientado a objetos não
Assim, da primeira geração de computa- apresentando os conceitos de classe e modelamos apenas objetos de negócio.
dores à válvula, passamos para a segunda herança. Essa foi a semente que inspirou Muitas vezes, de acordo com a arquitetura
geração, utilizando transistores. o desenvolvimento de uma nova lingua- utilizada, modelamos objetos computacio-
A primeira linguagem de programação gem, a primeira totalmente orientada a nais, visuais ou não.
surgida foi a linguagem de máquina, na objetos —o SmallTalk. Nela, não existem Exemplo: ao levantarmos os requisitos
década de 50 — o Assembly. Nesse mo- tipos primitivos, tudo é representado para informatizar uma concessionária,
mento, a preocupação era restrita aos co- em forma de objeto: números, caracteres encontraremos o objeto automovel (físico),
mandos, nem se pensava em análise, mui- etc. Disponibilizada ao público no início da mesma forma que podemos modelar o
to menos em modelagem de requisitos. A dos anos 80, SmallTalk solidificou para a objeto venda (conceitual).
partir de então, surgem as linguagens de comunidade os conceitos de classe, ob- Atributo: as características associadas aos
alto nível, como Fortran, Algol e Cobol. jeto, atributo, método, encapsulamento, objetos são chamadas de atributos. Para os
Um rápido aumento na complexidade herança e mensagem. A partir daí, novas objetos de negócio, é comum usarmos o
das demandas por software e a falta de linguagens surgiram, como o C++ (versão conceito de atributo. Para os objetos visuais,
técnicas para definição de novos sistemas OO da linguagem C), Object Pascal (ver- utilizamos o conceito de propriedade.
culminaram em diversos problemas, são OO do Pascal), Eiffel e Java (criado a Exemplo: atributos da classe Cargo:
entre eles: estouro de orçamento e prazo, partir do C++). descricao e salario. Atributos da classe
softwares de baixa qualidade, requisitos Automovel: modelo, cor, numeroPortas, ano,
não atendidos e código de manutenção Conceitos fundamentais de placa etc.
difícil. Estava definida a crise de software. orientação a objetos Operação x Método: o comportamento
A solução para contornar a crise veio com Os conceitos da orientação a objetos dos objetos é representado pelas opera-
o conceito da Engenharia de Software, em surgiram da necessidade em se enfatizar ções. Contudo, a operação para um objeto
1968. Objetivava-se trazer os princípios da unidades discretas, e obter a reutilização representa apenas a definição do serviço
Engenharia, com todo o seu planejamento de código, mantendo-se a qualidade do que ele oferece a outras estruturas. Quan-
e modelagem, para se resolver os proble- software. O núcleo do pensamento OO do tratamos da implementação dessa
mas da área ainda imatura. No mesmo ano predomina num foco sobre os dados, em operação, ou seja, da sua representação
de 68, Dijkstra escreve sobre a programa- vez dos processos, compondo módulos em código, estamos nos referindo ao seu
ção estruturada; tinha início o marco do auto-suficientes — os objetos —, encerran- método. Os métodos de uma classe ma-
primeiro paradigma de desenvolvimento do em sua estrutura todo o conhecimento nipulam somente as estruturas de dados
de sistemas. dos dados e dos processos para manipu- daquela classe, ou seja, para se ter acesso
Mas enquanto novas linguagens surgiam lação desses dados. aos dados de outra classe, isso deve ser
—Pascal, C —, ainda não se tinha a defini- O que se obtém de principal na modela- feito por meio de mensagens.
ção de uma metodologia de desenvolvi- gem orientada a objetos é a possibilidade Exemplo: operações da classe Cargo: cadas-
mento de sistemas, até 1978, quando Tom de se abstrair diretamente os conceitos trar() e reajustarSalario(percentual: float).
DeMarco escreve seu livro sobre análise do mundo real, sem subterfúgios para se Ao modelarmos uma classe precisamos
estruturada. Contudo, a dificuldade de chegar à solução computacional. sempre considerar o contexto. Se não fosse
manutenção dos diversos modelos gerados Os conceitos fundamentais de orientação isso, bastaria um famoso metodologista
na fase de análise e projeto, fez com que se a objetos são o contrato que estabelece publicar as soluções para todas as classes
percebesse, nas duas décadas seguintes, toda e qualquer implementação que se de negócio.
aquela diversidade de métodos, propôs ao • Diagrama de objetos (Object Dia- Versão da Publicação Tipo de revisão
mercado a união das metodologias, o que gram) – apresenta objetos e valores de
UML
foi rechaçado pela maioria. Pouco depois, dados. Corresponde a uma instância do
James Rumbaugh abandonou a General diagrama de classes, mostrando o estado 1.1 Novembro de 1997 Estrutural
Electric e se juntou à Booch na Rational de um sistema em um determinado ponto 1.2 Julho de 1998 Somente conteúdo
Software, produzindo o método unificado, do tempo. 1.3 Março de 2000 Somente conteúdo
na sua versão 0.8. Jacobson, ao perceber a • Diagrama de componentes (Compo-
1.4 Maio de 2001 Estrutural
similaridade do seu método com o méto- nent Diagram) – mostra as dependências
do unificado, logo se uniu a eles. O que entre componentes de software, apresen- 1.5 Março de 2003 Somente conteúdo
nasceu ainda como um método, teve a tando suas interfaces. 2.0 Julho de 2005 Estrutural
mudança de perspectiva, passando a ser • Diagrama de estrutura composta
2.1.1 Agosto de 2007 Somente conteúdo
uma linguagem de modelagem, desaco- (Composite Structure Diagram) – usado para
plando o processo de desenvolvimento. mostrar a composição de uma estrutura. 2.1.2 Novembro de 2007 Somente conteúdo
Nascia a UML – Unified Modeling Language Útil em estruturas compostas de estrutu- Tabela 3. Histórico das versões da UML
na sua versão 0.9. ras complexas ou em projetos baseados
Em 1996, a UML já era vista pelas orga- em componentes – uma variação do diagrama de ati-
nizações como uma ótima estratégia para • Diagrama de pacotes (Package Diagram) vidades que mostra de uma forma
seus negócios. A OMG (Object Management – usado para organizar elementos de mode- geral o fluxo de controle dentro de
Group) emitiu uma RFP (Request for Pro- lo e mostrar dependências entre eles um sistema ou processo de negó-
posals), que objetivava receber propostas • Diagrama de implantação (Deploy- cios. Cada nó ou atividade dentro
de padronização para uma metodologia ment Diagram) – mostra a arquitetura do do diagrama pode representar outro
de desenvolvimento orientado a objetos. sistema em tempo de execução, as plata- diagrama de interação.
Respostas foram recebidas da comunidade formas de hardware, artefatos de software Podemos afirmar que é possível se com-
de engenharia de software e de grandes em- e ambientes de software (como sistemas pletar a modelagem de um sistema de
presas (Digital, HP, IBM, Microsoft, Oracle e operacionais e máquinas virtuais) pequeno ou médio porte, com sucesso,
Unisys, entre outras) fortalecendo a propos- Diagramas comportamentais (dinâmi- com apenas três diagramas (casos de uso,
ta da UML. Em janeiro de 1997, a Rational cos): classes e seqüências), tendo o suporte,
lançou a versão 1.0 da UML como proposta • Diagrama de casos de uso (Use Case dependendo do contexto, de três outros
para padronização na OMG. Entre janeiro e Diagram) – mostra os casos de uso, atores diagramas (objetos, atividades e máquina
julho novas contribuições foram recebidas, e e seus relacionamentos que expressam a de estados).
em 14 de novembro de 1997, a UML 1.1 era funcionalidade de um sistema. O paradigma da orientação a objetos veio
adotada como padrão pelo OMG. • Diagrama de atividades (Activity definitivamente ocupar um espaço que há
A manutenção da UML passou a ser Diagram) – representa a execução de ações muito se necessitava no mercado de de-
responsabilidade da RTF (Revision Task ou atividades e os fluxos que são dispa- senvolvimento. Cabe aos desenvolvedores
Forces), pertencente à OMG, sob a direção rados pela conclusão de outras ações ou entenderem a importância de se respeitar
de Cris Kobryn, centralizando os comentá- atividades. todos os seus conceitos, para que se obte-
rios e pedidos de revisão da comunidade. • Diagrama de máquina de estados nha o melhor do que ele nos propõe.
Novas versões foram publicadas a partir (Statechart Diagram) – representa as ações
daí, conforme a Tabela 3. ocorridas em resposta ao recebimento de
eventos. Links
Diagramas da UML • Diagramas de interação:
O que há de mais relevante na UML é o Diagrama de seqüências (Se- UML Site
fato de que a linguagem de modelagem quence Diagram) – mostra as inte- www.uml.org
nos oferece diversas ferramentas, ficando rações que correspondem a um Artigo “What is Object-Oriented Software?”, escrito
sob nossa responsabilidade a forma e a conjunto de mensagens trocadas por Terry Montlick
ordem como elas serão utilizadas. Além entre objetos e a ordem que essas http://www.softwaredesign.com/objects.html
disso, a UML possui mecanismos de mensagens acontecem. ODMG Site
extensibilidade, que permitem a adequa- Diagrama de comunicação www.odmg.org
ção da linguagem aos diversos sistemas (Communication Diagram) – é o an-
existentes no mercado, sem que se perca tigo diagrama de colaboração, que
o entendimento comum ao se usar um mostra objetos, seus inter-relacio-
mesmo modelo. namentos e o fluxo de mensagens
A versão atual da UML contempla 13 dia- Dê seu feedback sobre esta edição!
entre eles Feedback
eu
gramas, divididos em duas categorias: Diagrama temporal (Timing A Engenharia de Software Magazine
s
Dê
Diagramas estruturais (estáticos): Diagram) – mostra a mudança de tem que ser feita ao seu gosto.
sobre e
• Diagrama de classes (Class Diagram) estado de um objeto numa pas- Para isso, precisamos saber o que você,
s
ta
– apresenta classes conectadas por relacio- leitor, acha da revista! e
sagem de tempo, em resposta a
d i çã o
namentos. Usado para exibir entidades do eventos externos. Dê seu voto sobre este artigo, através do link:
mundo real, além de elementos de análise Diagrama de visão geral de inte- www.devmedia.com.br/esmag/feedback
e projeto. ração (Interaction-Overview Diagram)