Viabilidad

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 8

Estudios de Viabilidad en Proyectos de Software

Anaya Ibáñez Cristian David

Universidad de Córdoba, Facultad de Ingeniería.


Monteria-2019
[email protected]

ABSTRACT: programas en torno a los objetos. Los lenguajes de


In the present work, the feasibility study of a POO ofrecen medios y herramientas para describir
project that is an inherent element of all of them is los objetos manipulados por un programa. Más
made. This work focuses on object-oriented que describir cada objeto individualmente, estos
programming, which is the programming lenguajes proveen una construcción (Clase) que
currently applied by program and application describe a un conjunto de objetos que poseen las
developers. mismas propiedades. La programación orientada a
Throughout the history of programming, objetos (POO) expresa un programa como un
languages and methodologies have gone from conjunto de objetos que intercambian información
relative simplicity to increasing complexity. entre sí para realizar algo específico. La
It does not matter if it is a software initiative, an Programación Orientación a Objetos (P.O.O.)
educational project or a construction one. surge en Noruega en 1967 con un lenguaje
Analyzing the viability of a project is more llamado Simula 67, desarrollado por Krinsten
important than planning and to be able to Nygaard y Ole-Johan Dahl, en el centro de cálculo
conclude it, it is essential to carry out a complete noruego.
investigation, leading to the knowledge of whether
the project will really bring the benefits that are A. Simula 67 introdujo por primera vez los
expected of it. It is not a simple bureaucratic conceptos de clases, corrutinas y subclases
formality, but is a necessary tool for making (conceptos muy similares a los lenguajes
strategic decisions. Orientados a Objetos de hoy en día). El
nacimiento de la Programación Orientación a
I. INTRODUCCIÓN Objetos en Europa pasó inadvertido para gran
En el presente trabajo se hace el estudio de parte de los programadores. Uno de los problemas
viabilidad de un proyecto que es un elemento de inicio de los años setentas era que pocos
inherente a todos ellos. Este trabajo se centra en la sistemas lograban terminarse, pocos se terminaban
programación orientada a objetos, la cual es la con los requisitos iniciales y no todos los que se
programación aplicada actualmente por los terminaban cumpliendo con los requerimientos se
desarrolladores de programas y aplicaciones. usaban según lo planificado. El problema consistía
A lo largo de la historia de la programación, los en cómo adaptar el software a nuevos
lenguajes y las metodologías han pasado de una requerimientos imposibles de haber sido
relativa simplicidad a una complejidad creciente. planificados inicialmente. Este alto grado de
No importa si se trata de una iniciativa de planificación y previsión es contrario a través de
software, un proyecto educativo o uno de la experimentación, no de la planeación. La
construcción. Analizar la viabilidad de un Orientación a Objetos brinda estos métodos de
proyecto es más importante que planificar y para experimentación, no exige la planificación de un
poder concluirlo resulta imprescindible llevar a proyecto por completo antes de escribir la primera
cabo una investigación completa, que conduzca al línea de código.
conocimiento de si realmente el proyecto aportará
los beneficios que se esperan de él. No es una B. En los 70’s científicos del centro de
simple formalidad burocrática, sino que es una investigación en Palo Alto Xerox (Xerox par)
herramienta necesaria para la toma de decisiones inventaron el lenguaje Small tal que dio respuesta
estratégicas. al problema anterior (investigar no planificar).
Small talk fue el primer lenguaje Orientado a
II. PROGRAMACIÓN ORIENTADA A Objetos puro de los lenguajes Orientados a
OBJETO (POO) Objetos, es decir, únicamente utiliza clases y
La programación Orientada a Objetos es una objetos (Java usa tipos de datos primitivos, o bien
metodología que basa la estructura de los los Wrappers que son clases que encapsulan tipos
de datos primitivos). Quien tuvo la idea fue D. Es una entidad (tangible o intangible) que posee
Parnas cuando propuso la disciplina de ocultar la características y acciones que realiza por sí solo o
información. Su idea era encapsular cada una de interactuando con otros objetos. Un objeto es una
las variables globales de la aplicación en un solo entidad caracterizada por sus atributos propios y
módulo junto con sus operaciones asociadas, sólo cuyo comportamiento está determinado por las
mediante las cuales se podía tener acceso a esas acciones o funciones que pueden modificarlo, así
variables. El resto de los módulos (objetos) podían como también las acciones que requiere de otros
acceder a las variables sólo de forma indirecta objetos. Un objeto tiene identidad e inteligencia y
mediante las operaciones diseñadas para tal constituye una unidad que oculta tanto datos como
efecto. la descripción de su manipulación. Puede ser
definido como una encapsulación y una
C. En los años 80’s Bjarne Stroustrup de abstracción: una encapsulación de atributos y
AT&T Labs., amplió el lenguaje C para crear C++ servicios, y una abstracción del mundo real. Para
que soporta la programación Orientada a Objetos. el contexto del Enfoque Orientado a Objetos
En esta misma década se desarrollaron otros (EOO) un objeto es una entidad que encapsula
lenguajes Orientados a Objetos como Objective C, datos (atributos) y acciones o funciones que los
Common Lisp Object System (CIOS), object manejan (métodos). También para el EOO un
Pascal, Ada y otros. Posteriores mejoras en objeto se define como una instancia o
herramientas y lanzamientos comerciales de C++ particularización de una clase. Los objetos de
por distintos fabricantes, justificaron la mayor interés durante el desarrollo de software no sólo
atención hacia la programación Orientada a son tomados de la vida real (objetos visibles o
Objetos en la comunidad de desarrollo de tangibles), también pueden ser abstractos. En
software. El desarrollo técnico del hardware y su general son entidades que juegan un rol bien
disminución del costo fue el detonante final. Con definido en el dominio del problema. Un libro,
más computadoras al alcance de más personas una persona, un carro, un polígono, son apenas
más programadores, más problemas y más algunos ejemplos de objeto. Cada objeto puede ser
algoritmos surgieron. considerado como un proveedor de servicios
utilizados por otros objetos que son sus clientes.
D. En el inicio de los 90’s se consolida la Cada objeto puede ser a la vez proveedor y
Orientación a Objetos como una de las mejores cliente. De allí que un programa pueda ser visto
maneras para resolver problemas. Aumenta la como un conjunto de relaciones entre proveedores
necesidad de generar prototipos más rápidamente clientes. Los servicios ofrecidos por los objetos
(concepto RAD Rapid Aplication Developments). son de dos tipos:
Sin esperar a que los requerimientos iniciales 1.- Los datos, que llamamos
estén totalmente precisos. atributos
E. En 1996 surge un desarrollo llamado
JAVA (extensión de C++). Su filosofía es Las acciones o funciones, que llamamos
aprovechar el software existente. Facilitar la métodos.
adaptación del mismo a otros usos diferentes a los
originales sin necesidad de modificar el código ya IV. CARACTERÍSTICAS GENERALES:
existente.
- Un objeto se identifica por un nombre o
F. En 1997-98 se desarrollan herramientas un identificador único que lo diferencia de los
‘CASE’ orientadas a objetos (como el diseño demás. Ejemplo: el objeto Cuenta de Ahorros
asistido por computadora). Del 98 a la fecha se número 12345 es diferente al objeto Cuenta de
desarrolla la arquitectura de objetos distribuidos Ahorros número 25789. En este caso el
RMI, Corba, COM, DCOM. Actualmente la identificador que los hace únicos es el número de
orientación a objetos parece ser el mejor la cuenta
paradigma, no obstante, no es una solución a
todos los problemas. Trata de eliminar la crisis del - Un objeto posee estados. El estado de un
software. Entre los creadores de metodologías objeto está determinado por los valores que
orientadas a objetos se encuentran: G. Booch, poseen sus atributos en un momento dado.
Rambaught, Ivar Jacobson y Peter Cheng.
- Un objeto tiene un conjunto de métodos.
III. OBJETO El comportamiento general de los objetos dentro
de un sistema se describe o representa mediante
sus operaciones o métodos. únicamente en los valores que contienen sus
atributos. Todos ellos responden a los mismos
- Los métodos se utilizarán para obtener o mensajes. Su sintaxis algorítmica es:
cambiar el estado de los objetos, así como para
proporcionar un medio de comunicación entre Clase <Nombre de la Clase>…
objetos. FClase <Nombre de la Clase>;

- Un objeto tiene un conjunto de atributos.


Los atributos de un objeto contienen valores que
determinan el estado del objeto durante su tiempo VI. ATRIBUTO
de vida. Se implementan con variables, constantes
y estructuras de datos (similares a los campos de Son los datos o variables que caracterizan al
un registro). objeto y cuyos valores en un momento dado
indican su estado. Un atributo es una característica
- Los objetos soportan encapsulamiento. de un objeto. Mediante los atributos se define
La estructura interna de un objeto normalmente información oculta dentro de un objeto, la cual es
está oculta a los usuarios del mismo. Los datos del manipulada solamente por los métodos definidos
objeto están disponibles solo para ser manipulados sobre dicho objeto Un atributo consta de un
por los propios métodos del objeto. El único nombre y un valor. Cada atributo está asociado a
mecanismo que lo conecta con el mundo exterior un tipo de dato, que puede ser simple (entero, real,
es el paso de mensajes. lógico, carácter, string) o estructurado (arreglo,
registro, archivo, lista, etc.) Su sintaxis
- Un objeto tiene un tiempo de vida dentro algorítmica es: <Modo de Acceso> <Tipo de
del programa o sistema que lo crea y utiliza. Para dato> <Nombre del Atributo>; Los modos de
ser utilizado en un algoritmo el objeto debe ser acceso son:
creado con una instrucción particular (New o
Nuevo) y al finalizar su utilización es destruido - Público: Atributos (o Métodos) que son
con el uso de otra instrucción o de manera accesibles fuera de la clase. Pueden ser llamados
automática. por cualquier clase, aun si no está relacionada con
ella. Este modo de acceso también se puede
representar con el símbolo .
V. Clase
- Privado: Atributos (o Métodos) que sólo
La clase es la unidad de modularidad en el EOO. son accesibles dentro de la implementación de la
La tendencia natural del individuo es la de clase. También se puede representar con el
clasificar los objetos según sus características símbolo
comunes (clase). Por ejemplo, las personas que
asisten a la universidad se pueden clasificar - Protegido: Atributos (o Métodos) que son
(haciendo abstracción) en estudiante, docente, accesibles para la propia clase y sus clases hijas
empleado e investigador. La clase puede definirse (subclases). También se puede representar con el
como la agrupación o colección de objetos que símbolo #
comparten una estructura común y un
comportamiento común. Es una plantilla que Método Son las operaciones (acciones o
contiene la descripción general de una colección funciones) que se aplican sobre los objetos y que
de objetos. Consta de atributos y métodos que permiten crearlos, cambiar su estado o consultar el
resumen las características y el comportamiento valor de sus atributos. Los métodos constituyen la
comunes de un conjunto de objetos. Todo objeto secuencia de acciones que implementan las
(también llamado instancia de una clase), operaciones sobre los objetos. La implementación
pertenece a alguna clase. Mientras un objeto es de los métodos no es visible fuera de objeto.La
una entidad concreta que existe en el tiempo y en sintaxis algorítmica de los métodos expresados
el espacio, una clase representa solo una como funciones y acciones es: ParaMfunciones
abstracción. Todos aquellos objetos que se pueden usar cualquiera de estas dos sintaxis:
pertenecen a la misma clase son descritos o <Modo de Acceso> Función <Nombre> [(Lista
comparten el mismo conjunto de atributos y Parámetros)]: <Descripción del Tipo de datos>
métodos. Todos los objetos de una clase tienen el Para acciones:
mismo formato y comportamiento, son diferentes <Modo de Acceso> Acción <Nombre> [(Lista
Parámetros)] donde los parámetros son opcionales cuenta ese problema de administración de
Ejemplo: Un rectángulo es un objeto caracterizado memoria, por lo tanto, no definiremos formas para
por los atributos Largo y Ancho, y por varios destruir objetos. En cambio, al utilizar lenguajes
métodos, entre otros Calcular su área y Calcular de programación si debemos conocer los métodos
su perímetro. destructores suministrados por el lenguaje y
utilizarlos a fin de eliminar objetos una vez no
sean útiles.

VII. CARACTERÍSTICAS GENERALES VIII. MENSAJE

Cada método tiene un nombre, cero o más Es la petición de un objeto a otro para solicitar la
parámetros (por valor o por referencia) que recibe ejecución de alguno de sus métodos o para
o devuelve y un algoritmo con el desarrollo del obtener el valor de un atributo público.
mismo. En particular se destaca el método Estructuralmente, un mensaje consta de 3 partes:
constructor, que no es más que el método que se
ejecuta cuando el objeto es creado. Este • Identidad del receptor: Nombre del
constructor suele tener el mismo nombre de la objeto que contiene el método a ejecutar.
clase/ objeto, pero, aunque es una práctica común,
el método constructor no necesariamente tiene que • Nombre del método a ejecutar: Solo los
llamarse igual a la clase (al menos, no en pseudos- métodos declarados públicos.
código). Es un método que recibe cero o más
parámetros y lo usual es que inicialicen los • Lista de Parámetros que recibe el método
valores de los atributos del objeto. En lenguajes (cero o más parámetros) Su sintaxis algorítmica
como Java y C++ se puede definir más de un es: <Variable Objeto>. <Nombre Método>
método constructor, que normalmente se ([<Lista de Parámetros>]); Cuando el objeto
diferencian entre sí por la cantidad de parámetros receptor recibe el mensaje, comienza la ejecución
que reciben. Los métodos se ejecutan o activan del algoritmo contenido dentro del método
cuando el objeto recibe un mensaje, enviado por invocado, recibiendo y/o devolviendo los valores
un objeto o clase externo al que lo contiene, o por de los parámetros correspondientes, si los tiene ya
el mismo objeto de manera local. que son opcionales: ([]).

CREACIÓN DE OBJETOS Y MÉTODOS


CONSTRUCTORES: IX. REPRESENTACIÓN EN NOTACIÓN
Cada objeto o instancia de una clase debe ser ALGORÍTMICA DE UNA CLASE
creada explícitamente a través de un método u
operación especial denominado Constructor. Los Las clases son el elemento principal dentro del
atributos de un objeto toman valores iniciales enfoque orientado a objetos. En este lenguaje las
dados por el constructor. Por convención el declaraciones forman parte de su propio grupo, el
método constructor tiene el mismo nombre de la grupo [Clases]. Cada una de las declaraciones de
clase y no se le asocia un modo de acceso (es clase debe tener el siguiente formato:
público). Algunos lenguajes proveen un método Clase <Identificador> [Hereda de: <Clases>]-
constructor por defecto para cada clase y/o
permiten la definición de más de un método - Atributos
constructor.
Público: [Constantes]; [Variables]; o
MÉTODO DE DESTRUCTORES DE [Estructuras]; Privado: [Constantes]; [Variables];
OBJETOS: o [Estructuras]; Protegido: [Constantes];
Los objetos que ya no son utilizados en un [Variables]; o [Estructuras];
programa, ocupan inútilmente espacio de
memoria, que es conveniente recuperar en un - Operaciones
momento dado. Según el lenguaje de
programación utilizado esta tarea es dada al Público: [Métodos] Privado: [Métodos]
programador o es tratada automáticamente por el Protegido: [Métodos] Clase <Identificador>
procesador o soporte de ejecución del lenguaje. En el caso de la especificación de los Atributos o
En la notación algorítmica NO tomaremos en de los Métodos los modos de acceso Público (+),
Privado (-) o Protegido (#) pueden omitirse, Representación:
solamente en el caso en el que los grupos
[Constantes], [Estructuras] y [Variables] son • En la notación algorítmica: Se coloca el
vacíos, es decir, no se estén declarando Atributos nombre de la clase padre después de la frase
o Métodos. Hereda de del encabezado de la clase y se usan sus
atributos y métodos públicos o protegidos.
X. DIAGRAMAS DE CLASE Ejemplo: Clase Punto3D Hereda de Punto2D
• Abstracción:
La representación gráfica de una o varias clases se Es el principio de ignorar aquellos aspectos de un
hará mediante los denominados Diagramas de fenómeno observado que no son relevantes, con el
Clase. Para los diagramas de clase se utilizará la objetivo de concentrarse en aquellos que si lo son.
notación que provee el Lenguaje de Modelación Una abstracción denota las características
Unificado (UML, ver www.omg.org), a saber: Las esenciales de un objeto (datos y operaciones), que
clases se denotan como rectángulos divididos en lo distingue de otras clases de objetos. Decidir el
tres partes. La primera contiene el nombre de la conjunto correcto de abstracciones de un
clase, la segunda contiene los atributos y la tercera determinado dominio, es el problema central del
los métodos. Los modificadores de acceso a datos diseño orientado a objetos.
y operaciones, a saber: público, protegido y
privado; se representan con los símbolos +, # y • Encapsulamiento (Ocultamiento de
– respectivamente, al lado derecho del atributo. Información).
(+ público, # protegido, - privado).
Es la propiedad del EOO que permite ocultar al
XI. RELACIONES ENTRE CLASES mundo exterior la representación interna del
objeto. Esto quiere decir que el objeto puede ser
Las clases no se construyen para que trabajen de utilizado, pero los datos esenciales del mismo no
manera aislada, la idea es que ellas se puedan son conocidos fuera de él. La idea central del
relacionar entre sí, de manera que puedan encapsulamiento es esconder los detalles y
compartir atributos y métodos sin necesidad de mostrar lo relevante. Permite el ocultamiento de la
rescribirlos. La posibilidad de establecer información separando el aspecto correspondiente
jerarquías entre las clases es una característica que a la especificación de la implementación; de esta
diferencia esencialmente la programación forma, distingue el "qué hacer" del "cómo hacer".
orientada a objetos de la programación tradicional, La especificación es visible al usuario, mientras
ello debido fundamentalmente a que permite que la implementación se le oculta. El
extender y reutilizar el código existente sin tener encapsulamiento en un sistema orientado a objeto
que rescribirlo cada vez que se necesite. Los se representa en cada clase u objeto, definiendo
cuatro tipos de relaciones entre clases estudiados sus atributos y métodos con los siguientes modos
en este curso serán: 1. Herencia (Generalización / de acceso: Público (+) Atributos o Métodos que
Especialización o Es-un) 2. Agregación (Todo / son accesibles fuera de la clase. Pueden ser
Parte o Forma-parte-de) 3. Composición (Es parte llamados por cualquier clase, aun si no está
elemental de) 4. Asociación (entre otras, la relacionada con ella. Privado (-) Atributos o
relación Usa-a) Métodos que solo son accesibles dentro de la
implementación de la clase. Protegido (#):
• Relación de Herencia (Generalización / Atributos o Métodos que son accesibles para la
Especialización) propia clase y sus clases hijas (subclases). Los
Es un tipo de jerarquía de clases, en la que cada atributos y los métodos que son públicos
subclase contiene los atributos y métodos de una constituyen la interfaz de la clase, es decir, lo que
(herencia simple) o más superclases (herencia el mundo exterior conoce de la misma.
múltiple). Mediante la herencia las instancias de
una clase hija (o subclase) pueden acceder tanto a
los atributos como a los métodos públicos y • Modularidad.
protegidos de la clase padre (o superclase). Cada Es la propiedad que permite tener independencia
subclase o clase hija en la jerarquía es siempre una entre las diferentes partes de un sistema. El
extensión (esto es, conjunto estrictamente más modularidad consiste en dividir un programa en
grande) de la(s) superclase(s) o clase(s) padre(s) y módulos o partes, que pueden ser compilados
además incorporar atributos y métodos propios, separadamente, pero que tienen conexiones con
que a su vez serán heredados por sus hijas. - otros módulos. En un mismo módulo se suele
colocar clases y objetos que guarden una estrecha básicos en la programación en Java y presentan
relación. El sentido de modularidad está muy tres formatos:
relacionado con el ocultamiento de información.
• Decimal: Los literales decimales
• Herencia. aparecen como números ordinarios sin ninguna
Es el proceso mediante el cual un objeto de una notación
clase adquiere propiedades definidas en otra clase especial.
que lo preceda en una jerarquía de clasificaciones. • Hexadecimal: Los hexadecimales (base
Permite la definición de un nuevo objeto a partir 16)
de otros, agregando las diferencias entre ellos aparecen con un 0x ó 0X inicial, notación similar
(Programación Diferencial), evitando repetición a la utilizada en C y C++.
de código y permitiendo la reusabilidad. • Octal: Los octales aparecen con un 0
inicial delante de los dígitos.
• Polimorfismo. Por ejemplo, un literal entero para el número
Es una propiedad del EOO que permite que un decimal 12 se representa en Java como 12 en
método tenga múltiples implementaciones, que se decimal, como 0xC en hexadecimal, y como 014
seleccionan en base al tipo objeto indicado al en octal. Los literales enteros se almacenan por
solicitar la ejecución del método. El polimorfismo defecto en el tipo int, (4 bytes con signo), o si se
operacional o Sobrecarga operacional permite trabaja con números muy grandes, con el tipo
aplicar operaciones con igual nombre a diferentes long, (8 bytes con signo), añadiendo una L o l al
clases o están relacionados en términos de final del número. La declaración de variables
inclusión. En este tipo de polimorfismo, los enteras es muy sencilla. Un ejemplo de ello sería:
métodos son interpretados en el contexto del long número Largo = 0xC; // Por defecto vale 12
objeto particular, ya que los métodos con nombres
comunes son implementados de diferente manera - Tipos de datos en coma flotante.
dependiendo de cada clase. Por ejemplo, el área de
un cuadrado, rectángulo y círculo, son calculados Se usan para representar números con partes
de manera distinta; sin embargo, en sus clases fraccionarias. Hay dos tipos de coma flotante:
respectivas puede existir la implementación del flota y doublé. El primero reserva almacenamiento
área bajo el nombre común Área. En la práctica y para un número de precisión simple de 4 bytes y
dependiendo del objeto que llame al método, se el segundo lo hace para un número de precisión
usará el código correspondiente. Ejemplos, doble de 8 bytes. Tipo Tamaño flota 4 Byte (32
Superclase: Clase Animal Subclases: Clases bits) doublé 8 Bytes (64 bits) Tipos de datos
Mamífero, Ave, Pez Se puede definir un método numéricos en coma flotante Literales en coma
Comer en cada subclase, cuya implementación flotante Representan números decimales con
cambia de acuerdo a la clase invocada, sin partes fraccionarias. Pueden representarse con
embargo, el nombre del método es el mismo. notación estándar (563,84) o científica (5.6384e2).
De forma predeterminada son del tipo doublé (8
XII. TIPOS DE DATOS bytes). Existe la opción de usar un tipo más corto
(el tipo float de 4 bytes), especificándolo con una
- Tipos de datos simples. F ó f al final del número. La declaración de
Es uno de los conceptos fundamentales de variables de coma flotante es muy similar a la de
cualquier lenguaje de programación. Estos definen las variables enteras.
los métodos de almacenamiento disponibles para
representar información, junto con la manera en - Tipo de datos boolean.
que dicha información ha de ser interpretada. Para
crear una variable (de un tipo simple) en memoria Se usa para almacenar variables que presenten dos
debe declararse indicando su tipo de variable y su estados, que serán representados por los valores
identificador que la identificará de forma única. true y false. Representan valores bi-estado,
provenientes del denominado álgebra de Boole.
- Tipos de datos enteros. Literales Booleanos Java utiliza dos palabras
Se usan para representar números enteros con clave para los estados: true (para verdadero) y
signo. Hay cuatro tipos: byte, short, inti y Long. false (para falso). Este tipo de literales es nuevo
Tipo Tamaño byte 1Byte (8 bits) short 2 Bytes (16 respecto a C/C++, lenguajes en los que el valor de
bits) inti 4 Bytes (32 bits) Long 8 Bytes (64 bits) falso se representaba por un 0 numérico, y
Tipos de datos enteros Literales enteros Son verdadero cualquier número que no fuese el 0.
Para declarar un dato del tipo booleano se utiliza G. Reutilización.
la palabra reservada boolean: boolean recibo
Pagado = false; // ¡¿Aun no nos han pagado?! 1. DIFERENCIAS ENTRE LA
PROGRAMACIÓN ESTRUCTURADA Y LA
- Tipo de datos carácter. PROGRAMACIÓN ORIENTADA A
OBJETOS.
Se usa para almacenar caracteres Unicode
simples. Debido a que el conjunto de caracteres 1.1. La programación orientada a objetos es
Unicode se compone de valores de 16 bits, el tipo más moderna, es una evolución de la
de datos char se almacena en un entero sin signo programación estructurada que plasma en el
de 16 bits. Java a diferencia de C/C++ distingue diseño de una familia de lenguajes conceptos que
entre matrices de caracteres y cadenas. Literales existían previamente con algunos nuevos.
caracteres Representan un único carácter (de la
tabla de caracteres Unicode 1.1) y aparecen dentro 1.2. La programación orientada a objetos se
de un par de comillas simples. basa en lenguajes que soportan sintáctica y
semánticamente la unión entre los tipos abstractos
XIII. VECTORES Y MATRICES. de datos y sus operaciones (a esta unión se la
suele llamar clase).
Una matriz es una construcción que proporciona
almacenaje a una lista de elementos del mismo 1.3. La programación orientada a objetos
tipo, ya sea simple o compuesto. Si la matriz tiene incorpora en su entorno de ejecución mecanismos
solo una dimensión, se la denomina vector. En tales como el polimorfismo y el envío de mensajes
Java los vectores se declaran utilizando corchetes entre objetos.
( [ y ] ), tras la declaración del tipo de datos que
contendrá el vector. Por ejemplo, esta sería la 1.4. Erróneamente se le adjudica a la
declaración de un vector de números enteros (int): programación estructurada clásica ciertos
int vector Números []; // Vector de números Se problemas como si fueran inherentes a la misma.
observa la ausencia de un número que indique Esos problemas fueron haciéndose cada vez más
cuántos elementos componen el vector, debido a graves y antes de la programación orientada a
que Java no deja indicar el tamaño de un vector objetos diversos autores (de los que podemos
vacío cuando le declara. destacar a Yourdon) encontraron soluciones
basadas en aplicar estrictas metodologías de
- Cadenas. trabajo. De esa época son los conceptos de
En Java se tratan como una clase especial llamada cohesión y acoplamiento. De esos problemas se
String. Las cadenas se gestionan internamente por destacan los siguientes:
medio de una instancia de la clase Sting. Una
instancia de la clase Sting es un objeto que ha sido 1.5. Modelo mental anómalo. Nuestra imagen
creado siguiendo la descripción de la clase. del mundo se apoya en los seres, a los que
Cadenas constantes Representan múltiples asignamos nombres sustantivos, mientras la
caracteres y aparecen dentro de un par de comillas programación clásica se basa en el
dobles. Se implementan en Java con la clase comportamiento, representado usualmente por
Sting. Esta representación es muy diferente de la verbos.
de C/C++de cadenas como una matriz de
caracteres. Cuando Java encuentra una constante
de cadena, crea un caso de la clase String y define 1.6. Es difícil modificar y extender los
su estado. programas, pues suele haber datos compartidos
por varios subprogramas, que introducen
interacciones ocultas entre ellos.
XIV. VENTAJAS DE LA POO.
1.7. Es difícil mantener los programas. Casi
A. Reusabilidad todos los sistemas informáticos grandes tienen
B. Mantención errores ocultos, que no surgen a la luz hasta
C. Extensibilidad después de muchas horas de funcionamiento.
D. Desventajas de la poo.
E. Complicado de entender 1.8. Es difícil reutilizar los programas. Es
F. Depurar prácticamente imposible aprovechar en una
aplicación nueva las subrutinas que se diseñaron
para otra.

1.9. Es compleja la coordinación y


organización entre programadores para la creación
de aplicaciones de media y gran envergadura

REFERENCIAS

[1].http://www.alegsa.com.ar/Diccionario/C/1211
7.php.
[2].http://pookarinajarillolaguna.blogspot.com.co/
2010/05/tipos-de-datos-en-java.html
[3].http://codejavu.blogspot.com.co/2013/05/conc
eptos-de-programacion-orientada.html
http://novella.mhhe.com/sites/dl/free/8448156315/
[4]./Cap_Muestra_Joyanes_8448156315.pdf
[5].https://es.wikipedia.org/wiki/Programaci%C3
%B3n_orientada_a_objetos#Origen
[6].http://sis324loo.blogspot.com.co/2008/09/histo
ria-de-los-lenguajes-de_29.html
[7].PROGRAMACIÓN ORIENTADA A
OBJETOS PDF
[8].Fundamentos de la Programación Orientada a
Objetos Universidad Complutense Madrid pdf.

También podría gustarte