Академический Документы
Профессиональный Документы
Культура Документы
Nombre de la Licenciatura
Ingeniería en Sistemas Computacionales.
Matrícula
010577912
Nombre de la Tarea
Conceptos Básicos de la Programación Orientada a
Objetos. (Intento 2)
Unidad #1:
Conceptos Básicos de la Programación Orientada a Objetos.
Fecha
06/05/2019
Unidad 1: Antecedentes de los sistemas operativos.
Sistemas Operativos
Introducción:
La programación orientada a objetos, es un paradigma de programación que usa objetos y sus
interacciones para diseñar aplicaciones y programas informáticos.
Este paradigma está basado en diversas técnicas, las cuales las haremos textuales en esta tarea.
Es importante mencionar que su uso se popularizó a principios de los años 1990 y en la actualidad
existen diversos lenguajes que soportan la programación orientada a objetos.
Desarrollo de la actividad:
Un objeto es una entidad que tiene un estado, un método y una identidad, todas las propiedades y
métodos comunes a los objetos se encapsulan o agrupan en clases.
El estado de un objeto son los atributos a los que se les asignan valores y su única manera de
modificar el estado de un objeto es a través de sus propios métodos.
Por otro lado, el método o comportamiento de un objeto son los mensajes a los que podrá
responder el mismo, es decir, las funciones u operaciones que se pueden realizar con dicho objeto.
Los objetos tienen mecanismos de interacción que permiten comunicarse entre sí lo cual favorece
el cambio de estado del objeto.
Y por último la identidad de un objeto es lo que lo diferencia del resto de los objetos, es decir, es
un identificador del objeto.
2
Unidad 1: Antecedentes de los sistemas operativos.
Sistemas Operativos
Encapsulamiento: Esta característica reúne todos los elementos que pueden considerarse
pertenecientes a una misma entidad, esto permite aumentar la cohesión de los componentes
del sistema.
Principio de ocultación: Esta característica se enfoca, como su nombre lo dice, en el
ocultamiento del estado del objeto, de manera de que solo pueda ser modificado mediante
los métodos definidos por ese objeto.
Modularidad: Esta es una propiedad que permite dividir una aplicación en partes. Es
importante mencionar que cada módulo debe intentar ser lo más independiente posible de la
aplicación.
Polimorfismo: Este se refiere a la propiedad por la que es posible enviar mensajes
sintácticamente iguales a objetos de tipos distintos. El requisito único que deben cumplir es
que deben saber responder al mensaje que se les envía.
Herencia: Con esta característica se relacionan las clases entre sí y permiten formar una
jerarquía de clasificación. La herencia organiza y facilita el polimorfismo y el
encapsulamiento, permitiendo a los objetos ser definidos y creados como tipos
especializados de objetos preexistentes.
2.-Características Java:
Ahora se hablará de un tema sensible para muchos, el cual es hablar acerca de las características
del Idioma Java:
3
Unidad 1: Antecedentes de los sistemas operativos.
Sistemas Operativos
Hemos comentado anteriormente, que Java es un lenguaje de tipado estático. Este mismo da de
base una serie de tipos de datos primitivos que enseguida explicaremos:
Byte: Representa un tipo de dato de 8 bits con signo. De tal manera que puede almacenar
los valores numéricos de -128 a 127 (ambos inclusive)
Short: Representa un tipo de dato de 16 bits con signo. De esta manera almacena valores
numéricos de -32.768 a 32.767.
Int: Es un tipo de dato de 32 bits con signo para almacenar valores numéricos. Cuyo valor
mínimo es -231 y el valor máximo 231-1.
4
Unidad 1: Antecedentes de los sistemas operativos.
Sistemas Operativos
Long: Es un tipo de dato de 64 bits con signo que almacena valores numéricos entre -263 a
263-1.
Float: Es un tipo de dato para almacenar números en coma flotante con precisión simple de
32 bits.
Double: Es un tipo de dato para almacenar números en coma flotante con doble precisión de
64 bits.
Boolean: Sirve para definir tipos de datos booleanos. Es decir, aquellos que tienen valor true
o false. Ocupa 1 bit de información.
Char: Es un tipo de datos que representa un carácter Unicode sencillo de 16 bits.
En el caso de que definamos una variable y no le demos ningún valor, por defecto llevarán los
siguientes valores:
Por otro lado, podemos encontrar otro tipo de dato llamado String, sirve para el manejo de cadeas
que nos en un tipo de dato primitivo. Con String podemos manejar cadenas de caracteres
separadas por dobles comillas.
El elemento String es un tipo de dato inmutable, en pocas palabras, que una vez creado su valor
no puede ser cambiado.
String no es un tipo de dato primitivo del lenguaje Java, pero su uso es igual de importante que el
de los tipos de datos de los que se hablaron anteriormente.
5
Unidad 1: Antecedentes de los sistemas operativos.
Sistemas Operativos
4.- Como se realizan los diagramas UML, cuáles son los símbolos que se utilizan y para que
sirven.
Primero que nada es importante mencionar que el Lenguaje Unificado de Modelado (por sus siglas
en inglés UML) incluye varios subconjuntos de diagramas, incluidos los diagramas de estructuras,
de interacción y los diagramas de comportamientos. Los diagramas de actividades, junto con los
diagramas de casos de uso y los diagramas de máquina de estados, son considerados diagramas
de comportamiento porque describen lo que debe suceder en el sistema que se está moldeando.
Por otro lado también hay que comprender la composición de un diagrama de actividades los
cuales son:
Acción: Un paso en la actividad en el que los usuarios o el software realizan una tarea
asignada. En Lucidchart, las acciones se representan a través de rectángulos aristas
redondeadas.
Nodo de decisión: Una rama condicional en el flujo que se representa con un diamante.
Incluye una sola entrada y dos o más salidas.
Flujos de control: Otro nombre para los conectores que muestran el flujo entre pasos en el
diagrama.
Nodo Inicial: Simboliza el inicio de la actividad. El nodo inicial se representa con un círculo
negro.
Nodo terminal: Representa el paso final en la actividad. El nodo terminal se representa por
medio de un círculo negro de contorno blanco.
6
Unidad 1: Antecedentes de los sistemas operativos.
Sistemas Operativos
7
Unidad 1: Antecedentes de los sistemas operativos.
Sistemas Operativos
comuniquen mensajes
adicionales que no caben en el
diagrama mismo.
Símbolo de enviar señal Indica que se está enviando
una señal a una actividad
receptora
Símbolo de recibir señal Demuestra la aceptación de un
evento.
Símbolo de pseudoestado de Representa una transición que
historia superficial. invoca el último estado activo.
8
Unidad 1: Antecedentes de los sistemas operativos.
Sistemas Operativos
Desde un punto de vista general puede considerarse que el ciclo de vida de un software tiene 3
etapas claramente diferenciadas, las cuales detallamos enseguida:
A estas tres etapas es importante agregar dos más, muchos no las consideran en serio pero
estas son tan importantes como las 3 primeras.
Inicio: Éste es el nacimiento de la idea. Aquí se define el objetivo o los objetivos del proyecto
y los recursos para su ejecución.
Control en producción: Control del producto, analizando cómo el proceso difiere o no los
requerimientos originales e iniciando las acciones correctivas si fuesen necesarias.
6.- ¿En qué consiste el dominio de un problema y todos los aspectos que se deben tomar en
cuenta para desarrollar una solución en un programa orientado a objetos?
Es importante que recordemos que cuando nos proponemos resolver problemas en programación
siempre pasamos a escribir el código en la computadora sin antes haber analizado en lo más
mínimo el problema, si eres un programador experimentado no hay mucho problema puesto que ya
te sabes el procedimiento casi mentalmente, sin embargo si no es así, es necesario seguir 5 pasos
básicos para poder resolver los problemas:
1. Análisis previo del problema: Este paso es importante ya que se debe definir y tener claro lo
que el programa tiene que hacer junto con las tareas que debe realizar para llevar a cabo la
solución, qué datos se necesitan para realizar las tareas, que formato debe tener los datos
de entrada, de donde provienen esos datos, como interactúan, etc. Tengo la fiel idea de que
no puedes atacar a un enemigo que no conoces.
9
Unidad 1: Antecedentes de los sistemas operativos.
Sistemas Operativos
2. Diseño del algoritmo: Una vez teniendo claro el problema y haber definido las
especificaciones, las tareas a realizar, es momento de realizar el algoritmo. Este puede
realizarse de cualquier forma, ya sea en Pseudocódigo o Diagrama de flujo, el principio es
elaborarlo en la imaginación para después realizarlo en la consola.
3. Configuración del entono de desarrollo y codificación: Ahora teniendo la base de nuestro
algoritmo, es hora de adaptarlo a un lenguaje de programación, tiene que seguir los pasos
que realizamos en nuestro algoritmo con sentencias y sintaxis propias del lenguaje. Es
importante mencionar que verificar los errores, organizar el código y comentarlo nos ayudará
a hacer más legible nuestro trabajo de programación.
4. Compilación y pruebas: ¿Tienes problemas con tu código? Es momento de verificarlo
mediante la compilación, esto nos permitirá detectar errores en tiempo de compilación,
ejecución y lógicos, tal vez errores ortográficos o incluso errores de sintaxis.
5. Documentación y mantenimiento: Recuerda documentar todos los pasos que realizaste
hasta que llegaste a la solución del problema, no es fácil, pero es importante hacerlo ya que
muchas veces suceden modificaciones con el paso del tiempo.
Conclusiones:
En esta tarea resumimos en cierta forma los puntos más importantes de nuestro paso por la materia
de Programación Orientada a Objetos, dentro de lo cual destacan la forma de solucionar los
problemas desde el reconocimiento del problema hasta la documentación de nuestro programa.
Fuentes de información:
10
Unidad 1: Antecedentes de los sistemas operativos.
Sistemas Operativos
-ecodeup (n.d) Las 5 fases para resolver problemas en programación. Obtenido de ecodeup:
https://www.ecodeup.com/como-resolver-problemas-programacion/
11