Eng. de Requisitos
Por: João Vitor Brasil • 10/5/2016 • Relatório de pesquisa • 1.382 Palavras (6 Páginas) • 285 Visualizações
Princípios Fundamentais da Engenharia de Software: O Paradigma de Orientação a Objetos
João Vitor da Silveira Brasil dos Santos¹
¹Faculdade de Informática – Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS)
Av. Ipiranga, 6681 - Partenon – Porto Alegre – RS – Brasil
joao.santos.010@acad.pucrs.br
Abstract. This article has as main subject the Object Oriented Paradigm, one of the methods most used by programmers today. Article will be introduced to the concept of programming languages to an understanding of lay in the subject. Soon after, the article will describe about the main subject, showing what is the paradigm, its main procedures and the languages most used in the same. Finally, the relationship with the course of Software Engineering will be featured.
Resumo. Este artigo tem como tema principal o Paradigma de Orientação a Objetos, um dos métodos mais usados por programadores hoje em dia. No artigo será introduzido o conceito teórico de linguagens de programação para o entendimento de leigos no assunto. Logo após, o artigo descreverá sobre o assunto principal, mostrando o que é o paradigma, seus principais procedimentos e as linguagens mais usadas no mesmo. Ao final, será apresentado a relação com o curso de Engenharia de Software.
1. Introdução
Atualmente, os sistemas de informação estão cada vez maiores, mais complexos e precisos. As pessoas se adaptam cada vez mais, recorrendo a sistemas que facilitam tudo. Para que esses sistemas cumpram com a demanda, é necessário que sejam constantemente atualizados, adicionando novos recursos e corrigindo erros que são encontrados durante seu uso. Para tal, existem métodos na programação que são feitos para facilitar possíveis correções que venham a ser feitas no futuro. Esses métodos são chamados de paradigmas, cada um com uma “vantagem” em relação ao outro. Mas para resolver nosso problema relatado no começo desta introdução, o mais recomendado é o Paradigma de Orientação a Objetos, pois ele consegue suprir muitos dos problemas que venham a acontecer no futuro, seja durante o desenvolvimento de um sistema ou mesmo após sua criação.
2. Linguagens de Programação
Antes de começar o tema de orientação a objetos, é necessário citar uma pequena introdução ao que são linguagens de programação. Linguagens de programação são tipos de sintaxe definidas por um programador. Essas sintaxes são predefinidas e com regras específicas, o que o computador reconhece assim que as lê. Antigamente, programadores precisavam desenvolver seus sistemas apenas em binário, o que levava um tempo maior. Hoje, os aplicativos nos quais são desenvolvidos os códigos de programação convertem automaticamente para binário, que é a única linguagem que o hardware conhece. Nestes tipos de códigos que existem hoje, temos aqueles que são orientados a objetos.
3. O Paradigma de Orientação a Objetos
Paradigmas são diferentes tipos de formas de linguagens de programação, ou seja, diferentes formas que o computador realiza para resolver problemas. Existem quatro tipos de paradigmas, sendo eles o procedural (ou imperativo), orientado a objetos, funcional e declarativo. O Paradigma de Orientação a Objetos trabalha com objetos ativos e passivos. Objetos ativos são tudo aquilo em que ações são feitas de forma independente de uma ordem, como por exemplo um avião. Todas as ações que um avião deve tomar estão incluídas no objeto. O que elas precisam é apenas receber uma pequena ordem para realizar várias dessas ações (Forouzan, B.; Mosharaff, F., 2011). Objetos passivos são o inverso dos ativos, aonde as ações são realizadas de acordo com sua necessidade (Sommerville, C., 2006). Para isso, o paradigma é agrupado em procedimentos que formalizam as etapas que o objeto fará para realizar uma ação, os quais estão listados nas subseções.
3.1. Métodos
Métodos são compostos por variáveis locais, suas funções (comandos) e tem um cabeçalho. Eles podem manipular e alterar os valores dos atributos de objetos, variáveis locais (variáveis definidas dentro do método) e também recebem parâmetros por argumentos - variáveis definidas fora do método que poderão ser alteradas sem mudar seu valor em toda a classe (Ricarte, I. L. M., 2003).
3.2. Classes
São as características de coleções de objetos. As classes contêm métodos, ou seja, ela é composta por vários tipos de funções. Se uma classe Calculadora existir, por exemplo, ela irá conter vários métodos, tais como Soma(), subtração(), divisão() e multiplicação(); cada um no qual realizando uma ação. Resumidamente, a classe une métodos que têm semelhanças funcionais.
3.3. Atributos
Basicamente, um atributo é um valor de um objeto, seja ele em dado ou em estado, por exemplo, um tipo inteiro e booleano, respectivamente. Em orientação a objetos, existem dois tipos de atributos, que são os do próprio objeto e os de uma classe (Manssour, I. H.). Os atributos de um objeto são únicos daquele objeto, não o compartilhando com os demais objetos; os de uma classe são compartilhados entre todos os objetos dentro da mesma.
3.4. Herança
Em orientação a objetos é possível herdar características de objetos presentes em outras classes e dar novas características a eles. Um exemplo é pensar em uma classe Pessoa(), nas quais contém Nome, CPF, Idade e Sexo. Uma classe Aluno() irá herdar todas estas características, porém, terá novas, como Curso e Matrícula.
[pic 1]
Figura 1. Um modelo que exemplifica uma herança da Classe Pessoa()
3.5. Polimorfismo
Como o próprio nome diz, um método pode ter “várias formas”. Isso significa que ele pode ter o mesmo nome e ser usado em duas classes diferentes, mas tendo funções diferentes. Por exemplo, temos um método chamado Voar(), onde na classe Ave() acontece ações com objetos dela, enquanto na classe Avião() as ações são diferentes.
3.6. Encapsulamento
O encapsulamento torna o programa mais flexível, mais fácil de atualizar e também modificar partes do código, se necessário. O encapsulamento controla os atributos e métodos de uma classe, deixando-os restritos ao acesso público.
...