Вы находитесь на странице: 1из 11

Nombre de la materia

Programación Orientada a Objetos

Nombre de la Licenciatura
Ingeniería en Sistemas Computacionales.

Nombre del alumno


Luis Manuel Mora López

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.

Nombre del Profesor


Prof. José Ángel Hernández Mendoza

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:

1.-Características de la Programación Orientada a Objetos.

Lo primordial para comprender la Programación Orientada a Objetos es entender qué es un objeto.

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.

Dentro de las características específicas de la Programación Orientada a Objetos podemos


encontrar las siguientes:

 Abstracción: Esta característica expresa las características esenciales de un objeto, lo cual


hace único o diferencian de los demás. Además de distinguir entre los objetos provee límites
conceptuales.

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:

 Primero se considera Sencillo, ya que este lenguaje de programación es muy sencillo de


aprender y su coordinación es simple, pulcra y fácil de concebir, ya que la coordinación Java
se fundamenta en C++ para que los programadores la instruyan más sencillamente luego de
C++.
 En segundo lugar, este es un lenguaje orientado a objetos, esto significa que creamos
nuestro software como una composición de desiguales prototipos de objetos que concentra
datos y la conducta de los mismos, tomando en cuenta que este contiene las características
antes mencionadas.
 Siguiendo con la cadena de características, es el lenguaje mejor acreditado por su excelente
seguridad ya que podemos lograr desplegar sistemas independientes de virus.

3
Unidad 1: Antecedentes de los sistemas operativos.
Sistemas Operativos

 Se le considera también un lenguaje robusto, debido a que usa un servicio de memoria


sólida, presenta una falta de itinerarios que impidan las dificultades de seguridad, presenta
una recaudación automática de basura en Java que se confecciona en el Aparato Virtual
para poder eliminar los objetos que se han dejado de utilizar por una aplicación Java y
también cuenta con una administración de irregularidades y el dispositivo de comprobación
de tipos en Java.
 Su Arquitectura es neutral ya que este lenguaje de programación es imparcial porque no
existe una característica dependiente de la ejecución.
 Se ha determinado que Java es portátil debido a que le aprueba llevar el bytecode de Java a
cualquier escenario.
 Es de alto rendimiento ya que es más rápido que otras lenguas de programación
desarrolladas habitualmente debido a que el bytecode de Java está mucho más cerca del
código nativo.
 Es repartido ya que se comercializa porque suministra los beneficiarios de las aplicaciones
comerciadas en Java.
 Se considera que es multi-hilo y su principal ventaja es que no invade la memoria por cada
hilo.
 También es considerada dinámica ya que aprueba la carga dinámica de géneros. Simboliza
que los géneros se cargan a pedido.
 Con él se crean bytecodes y estas cifras de bytes pueden lograr confeccionar en cualquier
diseño de computadora, lo cual demuestra que este lenguaje de programación sea neutral.
 Por último cuenta con un alto rendimiento, lo cual nos permite crear aplicaciones tratadas
utilizando aplicaciones especiales.

3.- Tipos de datos primitivos. Incluir explicación de la clase string.

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:

Dato Primitivo Valor por Defecto


Byte 0
Short 0
Int 0
Long 0L
Float 0.0f
Double 0.0d
Char ´u0000´
String (o cualquier objeto) Null
Boolean False

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.

Entre los beneficios de los diagramas de actividades podemos encontrar:

 Demostramos la lógica de un algoritmo.


 Describir los pasos realizados en un caso de uso UML.
 Ilustrar un proceso de negocios o flujo de trabajo entre los usuarios y el sistema.
 Simplificar y mejorar cualquier proceso clarificando casos de uso complicados.
 Modelar elementos de arquitectura de software, tales como método función y operación.

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

Ahora hablaremos acerca de la simbología y su uso:

Símbolo Nombre Descripción


Símbolo de Inicio Representa el inicio de un
proceso o flujo de trabajo en un
paradigma de actividades. Se
puede usar por sí solo o con un
símbolo de nota que explique
el punto de inicio.
Símbolo de Actividad Indica las actividades que
componen un proceso
modelado. Estos símbolos que
incluyen descripciones breves
en la misma figura son los
componentes principales de un
diagrama de actividades.
Símbolo de conector Muestra el flujo direccional o el
flujo de control de la actividad.
Símbolo de unión o barra de Combina dos actividades
sincronización. simultáneas y las vuelve a
introducir en un flujo en que
solo ocurre una actividad a la
vez.
Símbolo de bifurcación. Divide el flujo de una sola
actividad en dos actividades
simultáneas.
Símbolo de decisión. Representa una decisión y
siempre tiene, al menos, dos
caminos que se separan con
un texto de condición para
permitir que los usuarios vean
las opciones.
Símbolo de nota. Permite que los creadores o
los colaboradores del diagrama

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.

Símbolo de bucle de opción. Permite al creador modele una


secuencia repetitiva dentro del
símbolo de bucle de opción
Símbolo de final de flujo. Representa el final de un flujo
de proceso específico.

Texto de condición Se coloca al lado de un


marcador de decisión para
indicarte bajo qué condición un
flujo de actividad debe
bifucarse en esa dirección.
Símbolo de finalización Marca el estado final de una
actividad y representa la
conclusión de todos los flujos
de un proceso.

8
Unidad 1: Antecedentes de los sistemas operativos.
Sistemas Operativos

5.- Las fases de los ciclos de vida de un producto de software. Explicados.

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:

 Planificación: Idearemos un planeamiento detallado que guíe la gestión del proyecto,


temporal y económicamente.
 Implementación: Acordaremos el conjunto de actividades que componen la realización del
producto.
 Puesta en producción: Nuestro proyecto entra en la etapa de definición. Esta etapa es muy
importante no solo para por representar la aceptación o no del proyecto por parte del cliente
o usuario final sino por las múltiples dificultades que suele presentar en la práctica.

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.

Es necesario mantener los puntos anteriormente anotados en cuenta, ya que en el futuro en la


materia requeriremos el conocimiento mayor de todos estos puntos.

Fuentes de información:

-Geovani (19 01 2015) Características de la programación orientada a objetos. Obtenido de


alegsa.com:
http://www.alegsa.com.ar/Diccionario/C/26204.php

-EcuRed (n.d) Programación orientada a objetos. Obtenido de ecured.cu:


https://www.ecured.cu/Programaci%C3%B3n_Orientada_a_Objetos#Conceptos_fundamentales

-12características (n.d) 12 características de Java. Obtenido de 12caracteristicas.com:


https://www.12caracteristicas.com/java/

10
Unidad 1: Antecedentes de los sistemas operativos.
Sistemas Operativos

-Manual Web (n.d) Tipos de Datos Primitivos en Java. Obtenido de manualweb.net:


http://www.manualweb.net/java/tipos-datos-primitivos-java/

-lucidchart (n.d) Tutorial de diagrama de actividades UML. Obtenido de lucidchart.com:


https://www.lucidchart.com/pages/es/tutorial-diagrama-de-actividades-uml

-pbworks (n.d) Ciclo de vida del software. Obtenido de ingsw.pbworks:


https://ingsw.pbworks.com/f/Ciclo+de+Vida+del+Software.pdf

-ecodeup (n.d) Las 5 fases para resolver problemas en programación. Obtenido de ecodeup:
https://www.ecodeup.com/como-resolver-problemas-programacion/

11

Вам также может понравиться