RESUMO UML
Dissertações: RESUMO UML. Pesquise 862.000+ trabalhos acadêmicosPor: Roger54 • 10/11/2013 • 1.589 Palavras (7 Páginas) • 495 Visualizações
A orientação a objetos surgiu na Noruega na década de 60, teve origem na linguagem SIMULA-67 a qual já implementava alguns conceitos da OO. A SIMULA-68 foi a primeira linguagem a suportar os conceitos da OO. A linguagem Smaltalk, criada pela Xerox, popularizou e incentivou a OO. Podemos ainda citar como exemplo outras linguagens OO: C++, Object Pascal (Delphi), C#, Java, etc. A linguagem que popularizou a orientação a objetos de fato foi o Java. As primeiras linguagens de programação eram rústicas e obrigavam o programador a conhecer em excesso o hardware que estava usando. Os programas eram desenvolvidos em linguagem de baixo nível (São linguagens totalmente dependentes da máquina, ou seja, que o programa que se realiza com este tipo de linguagem não pode ser migrado ou utilizado em outras máquinas, é praticamente desenhada à medida do hardware, aproveitam ao máximo as características do mesmo. Dentro deste grupo se encontram: A linguagem máquina (Primeira geração ou 1GL) – esta linguagem ordena à máquina as operações fundamentais para seu funcionamento. Consiste na combinação de 0's e 1's para formar as ordens entendíveis pelo hardware da máquina. Esta linguagem é muito mais rápida que as linguagens de alto nível. A desvantagem é que são bastante difíceis de manejar e usar, além de ter códigos fonte enormes onde encontrar uma falha é quase impossível. Segunda geração ou 2GL a linguagem Assembly é um derivado da linguagem máquina e está formada por abreviaturas de letras e números chamados mnemotécnicas. Com o aparecimento desta linguagem se criaram os programas tradutores para poder passar os programas escritos em linguagem Assembly a linguagem máquina. Como vantagem com respeito ao código máquina é que os códigos fontes eram mais curtos e os programas criados ocupavam menos memória.). As novas linguagens que foram surgindo desvincularam o programa do hardware. O desenvolvimento do hardware se dava a passos largos, já o do software estava atrasado cerca de 20 anos. As linguagens mais modernas permitem que um programa seja compilado (programas que traduzem o código fonte de uma linguagem de programação de alto nível para uma linguagem de programação de baixo nível) e rodado em diferentes plataformas (Plataforma é uma expressão utilizada para denominar a tecnologia empregada em determinada infraestrutura de Tecnologia da Informação ou telecomunicações, garantindo facilidade de integração dos diversos elementos dessa infraestrutura. Plataformas se referem à parte da tecnologia responsável por gerenciar a execução do seu programa, depois dele ter sido traduzido para um formato de bytecode [traduzindo ao pé da letra, código em bytes — não confundir com código-máquina, é o resultado de um processo semelhante ao dos compiladores de código-fonte que não é imediatamente executável. O bytecode é um estágio intermédio entre o código-fonte, escrito numa linguagem de programação específica, e a aplicação final.]). Mesmo com o surgimento destas novas linguagens, as equipe de programação tinham enormes problemas para o desenvolvimento de seus programas, tendo sempre que partir do zero, ou reaproveitando muito pouco dos códigos já desenvolvidos. Com o desenvolvimento da programação estruturada os problemas diminuíram. Na programação estruturada as funções trabalham sobre os dados, mas não tem uma ligação íntima com eles. Para tentar solucionar o problema do baixo reaproveitamento dos códigos entrou em cena a programação orientada a Objetos – POO. A POO data de 1960, sendo efetivamente utilizada a partir da década de 90. Na POO funções e dados estão juntos, formando o objeto. Esta abordagem cria uma nova forma de analisar, projetar e desenvolver programas. É uma nova forma de pensar um problema – de forma abstrata – utilizando conceitos do mundo real e não conceitos computacionais. Vantagens da POO: aumento da produtividade, reuso de código, redução das linhas de código programadas, separação de responsabilidades, componentização, maior flexibilidade do sistema, escalabilidade (é uma característica desejável em todo o sistema, em uma rede ou em um processo, que indica sua habilidade de manipular uma porção crescente de trabalho de forma uniforme, ou estar preparado para crescer. Por exemplo, isto pode se referir à capacidade de um sistema em suportar um aumento carga total quando os recursos, normalmente do hardware, são requeridos.) e facilidade de manutenção, dentre outras. O paradigma de objetos não está necessariamente relacionada à programação visual. A POO é um modelo de programação que baseia-se em conceitos como classes, objetos, heranças, etc. A programação é obtida através da definição de classes e criação de hierarquias, nas quais propriedades comuns são transmitidas das superclasses para as subclasses através do mecanismo de herança. Objetos destas classes são instanciados tal que a execução do programa é vista como um conjunto de objetos relacionados que se comunicam enviando mensagens um para os outros. Existe uma distinção entre linguagem baseada em objetos – LBO e linguagens orientadas a objetos – LOO: uma LBO é baseada em objetos quando ela fornece apoio somente ao conceito de objetos. Exemplos: Ada e Visual Basic. Uma LOO é orientada a objetos quando ela fornece apoio a objetos, e requer que objetos sejam instâncias de classes. Além disso, um mecanismo de herança deve ser oferecido. Exemplo: C++, Java, Smalltalk e Delphi. Outra distinção entre linguagens orientadas a objetos são: Híbridas – são linguagens que originalmente não foram projetadas OO, mas que passaram a incorporar os conceitos deste paradigma. Exemplo: C++ e Object Pascal (Delphi). Puras – são linguagens que foram projetadas originalmente orientadas a objetos. Exemplo: Smalltalk e Java.
Abstração – é a capacidade é a habilidade e a capacidade de se modelar conceitos, entidades, elementos, problemas e características do mundo real, de um domínio do problema em questão, levando-se em conta apenas os detalhes importantes para a resolução do problema e desprezando coisas que não tem importância no contexto. Ou ainda, é uma operação intelectual que consiste em isolar, por exemplo num conceito, um elemento à exclusão de outros, do qual então se faz abstração. Por exemplo,
...