Anda di halaman 1dari 10

HISTORIA DA LINGUAGEM DE MODELAGEM UNIFICADA

Trabalho Realizado pelos acadmicos: Eudoxia Lottie Silva Moura e Ricardo da Silva. Do quarto perodo do curso de sistema de informao

Ariquemes 23 de novembro de 2010

Introduo
As caractersticas principais deste trabalho so: contexto histrico da linguagem modela, as influencias que contriburam para o processo de padronizao dos mtodos de desenvolver software. A razo do surgimento das metodologias de desenvolvimento de software foi a necessidade de se produzir um produto de qualidade, confivel, de uma forma organizada e totalmente documentada. A UML foi criada por trs grandes desenvolvedores de sistemas orientados a objetos: Grady Booch, James Rumbaugh e Ivar Jacobson, que j haviam criado outras notaes de desenvolvimento de software. A UML incorpora as noes do desenvolvimento de software totalmente visual. Ela se baseia em diagramas que so modelados e classificados em vises de abstrao. Contudo a UML se prope a ser a linguagem definitiva para modelagem de sistemas orientada a objetos, por ser unificada esta facilita que grupos de desenvolvimentos de software interpretem de uma maneira correta e sem ambiguidades modelos gerada por outros analistas ou grupos de desenvolvimento.

Unified Modeling Language


UML so as iniciais de Unified Modeling Language, que em portugus significam Linguagem de Modelagem Unificada. A UML a padronizao da linguagem de desenvolvimento orientado a objetos para visualizao, especificao, construo e documentao de sistemas. A UML se prope a ser a linguagem definitiva para modelagem de sistemas orientado a objetos, por ser unificada esta facilita que grupos de desenvolvimentos de software interpretem de uma maneira correta e sem ambiguidades modelos gerados por outros analistas ou grupos de desenvolvimento.

A Guerra dos Mtodos:


Um dos conceitos inicias por detrs da UML acabar com a chamada "guerra de mtodos" dentro da comunidade da orientao objeto. Orientao objeto foi inicialmente criada pela linguagem de programao SIMULA, mas no se popularizou at o final dos anos 80 com o advento das linguagens de programao como C++ e Smalltalk. Quando a programao orientada objeto tornou-se um sucesso, a necessidade de mtodos para suportar o desenvolvimento de sistemas se seguiu. Alguns dos mtodos de orientao a objeto que se popularizaram no incio dos anos 90 foram:

Booch OMT - Tcnica de Modelagem de Objetos OOSE/ Objectory - Engenharia de Sistemas Orientada a Objetos Fusion Coad/Yourdon - Anlise e Desenvolvimento Orientado a objetos

Cada um destes modelos possui notao (smbolos usados para desenhar modelos orientados a objetos), processos e ferramentas prprios. Isto fez com que a escolha do mtodo a ser utilizado fosse uma deciso extremamente importante e freqentemente levaria a discusses acaloradas e debates sobre qual era o melhor mtodo, mais avanado e adequado para ser usado em um projeto especfico. Raramente estas discusses chegavam em uma alternativa em consenso, pois cada mtodo possui pontos fortes e fracos. Desenvolvedores experientes normalmente escolhiam um mtodo qualquer como base e procuravam utilizar as boas idias e solues dos outros mtodos. Na prtica, as diferenas entre os mtodos no eram to significantes, e assim, conforme o tempo foi passando e os mtodos desenvolvidos, estes tornaram-se cada vez mais parecidos. Isto foi percebido por vrios gurus em mtodos que procuraram formas de cooperar cada vez mais. Grady Booch e James Rumbaugh na Rational Software Corp. iniciaram os trabalhos na UML em 1994. Suas metas eram a criao de um novo mtodo, um "Mtodo Unificado" que iria unir os mtodos Booch e OMT-2, onde Rumbaugh era o principal desenvolvedor. Em 1995 Ivar Jacobson - o homem por trs dos mtodos OOSE e

Objectory - uniu-se ao grupo. A Rational software ainda adquiriu a Objective Systems, a companhia sua que desenvolvia e distribua o mtodo Objectory. Neste ponto, os futuros desenvolvedores da UML perceberam que seus trabalhos estavam mais direcionados na criao de uma linguagem padro de modelagem e renomearam seu trabalho para "Linguagem Unificada de Modelagem". Estabelecer com sucesso uma linguagem padro de modelagem uma tarefa muito mais simples do que fazer a mesma coisa para processos, uma vez que um processo difere substancialmente entre companhias e culturas diferentes. Ainda duvidoso se um dia ser possvel criar uma processo padronizado que possa ser utilizado para todos. Booch, Rumbaugh e Jacobson lanaram algumas verses preliminares da UML comunidade de orientao objetos. As respostas em retorno possibilitaram a eles vrias idias e sugestes a serem incorporadas a fim de aprimorar a linguagem. A verso 1.0 da UML foi lanada em Janeiro de 1997. Ainda que as partes principais da UML sejam baseadas nos conceitos dos mtodos de Booch, OMT e OOSE, os desenvolvedores ainda incluram conceitos de outros mtodos. As metas estabelecidas pelos desenvolvedores da UML so:

Modelar sistemas (no apenas software) usando conceitos de orientao objetos. Estabelecer um conjunto explcito de artifcios conceituais e executveis. Direcionar as seqncias de edies, inerentes em sistemas complexos. Criar uma linguagem de modelagem utilizvel tanto por humanos quanto por mquinas.

A UML est destinada a ser dominante, como uma linguagem de modelagem usada pela indstria. Ela possui uma grande variedade de aplicaes; construda baseada em uma tecnologia comprovadamente bem estabelecida para modelagem de sistemas, e possui o suporte necessrio para conseguir esta padronizao no mundo real. A UML tambm amplamente documentada com metamodelos da linguagem, e com uma especificao formal da semntica da linguagem.

Aceitao da UML: Para estabelecer a UML, os desenvolvedores e a Rational perceberam que a linguagem teria que estar disponvel para todos. Consequentemente, a linguagem no proprietria e aberta a todos. As companhias so livres para utiliz-la com seus prprios mtodos. Empresas de software so livres para criarem ferramentas para a utilizao da UML. Autores so encorajados a escrever sobre o assunto. Durante 1996, algumas companhias associaram-se Rational para formar um consrcio de parceiros da UML.Estas organizaes reconheceram a UML como estratgica para seus negcios e esto dispostas a contribuir para a definio da UML. Naturalmente estas esto interessadas em privilegiar suas reas de atuao na definio. Esta diferentes companhias at janeiro de 1997 eram: Digital Equipment Corporation, HP, I-Logix, Intellicorp, IBM, ICON computing, MCI Systemhouse, Microsoft, Oracle,

Texas Instruments, Unisys, e claro, a Rational. Estas companhias esto tambm dando suporte na proposta de adaptar a UML como padro para linguagens de modelagem no OMG - Grupo de Gerenciamento de Objetos. Padronizao OMG: Quando o trabalho com a UML iniciou, era a inteno de estalebelce-la como uma padronizao de fato, o que significa que atravs do uso por muitos desenvolvedores ela seria reconhecida como a principal linguagem de modelagem. Contudo, quando a OMG fez um requerimento por uma linguagem padro de modelagem, os desenvolvedores da UML perceberam que poderiam fazer a UML aceita como uma padronizao formal e aprimoraram a qualidade da linguagem. Uma padronizao formal importante para vrias indstrias antes de estarem dispostas a utilizar a nova tecnologia, como os desenvolvedores de sistemas militares. Usos da UML A UML usada para modelar sistemas, que podem possuir uma diversidade muito grande. Pode ser usada tambm em diferentes estgios de desenvolvimento de um sistema, desde a especificao dos requerimentos at os teste de um sistema finalizado. Tipos diferentes de sistemas: A meta da UML descrever qualquer tipo de sistema, em termos de diagramas de orientao a objeto. Naturalmente, o uso mais comum a criao de modelos de sistemas de software, mas a UML pode tambm ser utilizada para descrever sistemas mecnicos sem qualquer software, ou a organizao de um negcio. Aqui esto alguns diferentes tipos de sistemas e suas principais caractersticas:

Sistemas de Informao: Um conjunto de componentes inter-relacionados que coleta, recupera, processa, armazena e distribui informaes que daro suporte ao controle e tomada de deciso de uma organizao. Trabalha com grandes quantidades de dados relacionados de forma complexa, que so armazenados em bancos de dados relacionais ou por objeto. Sistemas Tcnicos: Trabalham e controlam equipamentos tcnicos, como telecomunicaes, sistemas militares, ou processos industriais. Precisam manipular interfaces especificas dos equipamentos e possuem menos softwares padronizados do que os sistemas de informao. So freqentemente sistemas em tempo-real. Sistemas residentes em tempo-real: Executados em dispositivos presentes em outros equipamentos, como telefones celulares, carros, sistemas de segurana residenciais, etc. Isto realizado atravs de programao em baixo nvel que exigem suporte em tempo real. Sistemas Distribudos: So distribudos em vrias mquinas, onde a transferncia de dados feita facilmente de uma mquina para outra. Requerem mecanismos de comunicao sincronizada e que assegurem a integridade dos dados. Sistemas de Software: Definem a infra-estrutura tcnica que outros programas utilizam. Sistemas operacionais, bancos de dados, e interfaces ao usurio

executam operaes de baixo nvel no hardware, enquanto apresentam interfaces genricas para outros programas. Sistemas de Negcios: Descrevem as metas, os recursos (humanos, financeiros, etc.), as legislaes (leis, polticas da empresa, estratgias, etc.), e o trabalho em atual no negcio (processos do negcio).

importante enfatizar que a maioria dos sistemas no encaixa exatamente em algum destas categorias, mas pertencem a mais de uma, como uma combinao destas. Por exemplo, muitos dos sistemas de informao possuem caractersticas de sistemas distribudos e de tempo-real. A UML possui capacidade de modelar todos estes tipos de sistemas. Fases de Desenvolvimento de Sistemas Existem cinco fases no desenvolvimento de requerimentos, Anlise, Concepo, Programao e Teste. Anlise dos Requerimentos: A UML possui casos de uso para retratar os requerimentos do cliente. Um caso de uso uma descrio de uma funcionalidade (uma utilizao especfica do sistema) que o sistema fornece. Atravs da modelagem de casos de uso, os atores internos que tem interesse no sistema so modelados de acordo com a funcionalidade que eles requerem do sistema. Os atores e casos de uso so modelados com relacionamentos, e tem suas associaes de comunicaes um com o outro divididas em hierarquias. Os atores e os casos de uso so descritas na forma e um diagrama de casos de uso na UML. Cada caso de uso descrita em texto e especifica os requerimentos do cliente. O que ele ou ela espera do sistema sem considerar como a funcionalidade ser implementada. Uma anlise de requerimentos pode tambm ser realizada com processos de negcio, no apenas para sistemas de software. Anlise: O estgio de anlise est relacionado com as abstraes primrias (classes e objetos) e mecanismos que esto presentes no domnio do problema. As classes que modelam estas abstraes e mecanismos so identificadas, juntamente com seus relacionamentos umas com as outras, e descritas em um diagrama de classe na UML. Colaboraes entre as classes para desempenhar casos de uso so tambm descritas, atravs de qualquer um dos modelos dinmicos na UML. Na anlise, somente as classes que esto no domnio do problema (conceitos do mundo real) so modelados - e no as classes tcnicas que definem detalhes e solues no sistema do software, como as classes de interface com o usurio, bancos de dados, comunicaes, e assim por diante. Concepo: Na fase de concepo, o resultado da anlise expandido em uma soluo tcnica. Novas classes so adicionadas de forma a fornecer infra-estrutura tcnica: A interface com o usurio, gerenciadores de bancos de dados para armazenamento de objetos nos bancos de dados, comunicaes com outros sistemas, sistemas: Anlise dos

interfaces com dispositivos no sistema e outros. As classes do domnio do problema da anlise so "encaixadas" nesta infra-estrutura tcnica, tornando possvel modificar tanto o domnio do problema, quanto a infra-estrutura. A concepo do projeto resulta em uma detalhada especificao para a fase de construo. Programao: Na fase de programao ou construo, as classes definidas no estgio de concepo so convertidas em cdigo utilizando alguma linguagem de programao orientada a objeto (a utilizao de uma linguagem procedural no recomendada). Dependendo das caractersticas da linguagem adotada, esta pode ser uma tarefa mais difcil ou mais simples. Recomenda-se quando realizar as anlises e conceber os modelos em UML a tentar vislumbrar mentalmente os modelos em cdigo. Entretanto chegar a concluses muito cedo sobre o cdigo pode ser contra-produtivo para a criao de modelos mais simples e corretos. A programao um estgio parte, durante a qual os modelos so convertidos em cdigo. Teste: Um sistema normalmente testado em unidades de teste, testes de integrao e testes de aceitao. Estas unidades de teste so classes individuais de um grupo de classes, e so tipicamente realizadas pelo programador. Os testes de integrao integram renem componentes e classes a fim de verificar se elas cooperam como especificado. Os sistemas de teste enxergam o sistema como uma "caixa preta" e validam se o sistema possui a funcionalidade final como a esperada por um usurio final. O teste de aceitao, conduzido por um consumidor para verificar se o sistema satisfaz os requerimentos semelhante ao teste do sistema. Os diferentes times de testes utilizam diferentes diagramas UML como base de seu trabalho: Testes de unidade usam diagramas e especificaes de classes. Testes de integrao tipicamente utilizam diagramas de componentes e diagramas de colaborao, e testes de sistema implementam diagramas de casos de uso para validar se o sistema responde como inicialmente definido nestes diagramas. Mtodos e Linguagens de Modelagem Existem diferenas fundamentais entre o mtodo e a linguagem de modelagem. Um mtodo uma forma explcita de estruturao de pensamentos e aes. Um mtodo diz ao usurio o que fazer, como fazer, quando fazer, e por que isso feito. Mtodos contm modelos e estes modelos so usados para descrever algo e para comunicar os resultados do uso do mtodo. A principal diferena entre um mtodo e uma linguagem de modelagem que na linguagem de modelagem falta um processo ou instrues para o que fazer, como fazer, quando fazer e por que algo feito. Quando construmos modelos, estruturamos nossos pensamentos. Um modelo sempre um modelo de alguma coisa e isso possui um propsito. Se o modelo no tem um propsito explcito, vai causar problemas, porque ningum vai saber como ou por que us-lo. Um modelo expresso em uma linguagem de modelagem. Uma linguagem de modelagem consiste em uma notao - os smbolos usados nos modelos - e uma conjunto de regras direcionando como us-lo. As regras so sintticas, semnticas e pragmticas.

A sintaxe nos diz como os smbolos devem ser e como os smbolos so combinados na linguagem de modelagem. A sintaxe comparada s palavras na linguagem em que falamos; importante saber como pronunci-las corretamente e como agrupar diferentes palavras em uma sentena.As regras semnticas nos dizem o que cada smbolo significa e como deve ser interpretado. Podem ser comparados ao significado das palavras na linguagem natural. As regras pragmticas definem as intenes dos smbolos, atravs dos quais o propsito do modelo alcanado e torna-se compreensvel para as outras pessoas. Para utilizar bem uma linguagem de modelagem, faz-se necessrio aprender todas estas regras. A maioria das linguagens de modelagem cobrem apenas sintaxe e semntica. Regras pragmticas so um pouco mais difceis de descrever, uma vez que no podem ser formalizadas; servem apenas como guia. Naturalmente, mesmo quando uma linguagem dominada, no existem garantias que os modelos produzidos sero bons. como escrever uma estria em uma linguagem natural, onde a linguagem apenas uma ferramenta que o autor deve dominar. Ainda fica a cargo do autor escrever uma boa estria. Tipos de Diagramas Os diagramas utilizados pela UML so compostos de nove tipos: diagrama de use case, de classes, de objeto, de estado, de sequncia, de colaborao, de atividade, de componente e o de execuo. Todos os sistemas possuem uma estrutura esttica e um comportamento dinmico. A UML suporta modelos estticos (estrutura esttica), dinmicos (comportamento dinmico) e funcional. A Modelagem Esttica suportada pelo:

Diagrama de Classes Diagrama de Objetos.

O Modelamento Dinmico suportadoa pelo:


Diagramas de Estado Diagrama de Sequncia Diagrama de Colaborao Diagrama de Atividade.

E o Modelamento Funcional suportado pelo:


Diagramas de Componente Diagrama de Execuo.

Concluso
Com desenvolvimento deste trabalho podemos concluir que criao de uma linguagem modelada unificada para o mundo de desenvolvedores em orientao a objetos era uma necessidade antiga, assim podemos notar por Grady Booch, James Rumbaugh, e Ivar Jacobson. A UML realmente incorporou muitos recursos com do a linguagem uma extensibilidade muito grande. A UML se tornou sistema fcil de ser utilizada e fez com que qualquer tipo de comportamento possa ser visualizado em diagrama. Sem dvida alguma a UML facilita o desenvolvimento de software uma maior comunicao e aproveitamento dos modelos desenvolvidos pelos seus vrios analistas envolvidos no processo de produo de software j que a linguagem que ser utilizada por todos ser a mesma, acabando assim com qualquer problema de interpretao e mau entendimento de modelos criados por outros desenvolvedores.

BIBLIOGRAFIA

Links:
www.eps.ufsc.br/~wolff/links.htm Data: 13 de novembro de 2010-11-28 www.oodesign.com.br/ forum/index.php?showtopic=297&view=getlastpost Data 13 de novembro.

Livros: Desenvolvendo Aplicao com UML 2.0 Ana Cristina Mello 2 Edio 2004-Editora Brasport. Modelagem visual com Rational Rose 2000 e UML Pery Quadrane.

Anda mungkin juga menyukai