You are on page 1of 12

PROGRAMACION ORIENTADA A OBJETOS 301403A_360

Actividad Trabajo de Reconocimiento

Presentado A:
Ing. FRANKLIN LIZCANO CELIS
Director Curso
Ing. GEOVANNI CATALAN
Tutor Curso

Grupo:
301403_2

Realizado por:
NEIRO MARIA VENAVIDES

Universidad Nacional Abierta y a Distancia UNAD


ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA
Febrero, 2016
Desarrollo Actividades
Respuestas a las 16 preguntas planteadas

1. Cul es la diferencia entre programacin estructurada y programacin


orientada a objetos

Las principales diferencias entre la programacin estructurada y la orientada a


objetos son:
En la programacin estructurada es difcil modificar y extender los programas,
pues suele haber datos compartidos por varios subprogramas, que introducen
interacciones ocultas entre ellos.
Es difcil mantener los programas. Casi todos los sistemas informticos
grandes tienen errores ocultos, que no surgen a la luz hasta despus de
muchas horas de funcionamiento.
Es difcil reutilizar los programas. Es prcticamente imposible aprovechar en
una aplicacin nueva las subrutinas que se disearon para otra.
Es compleja la coordinacin y organizacin entre programadores para la
creacin de aplicaciones de media y gran envergadura.
La programacin orientada a objetos es ms moderna, es una evolucin de la
programacin estructurada que plasma en el diseo de una familia de
lenguajes conceptos que existan previamente con algunos nuevos.
La programacin orientada a objetos se basa en lenguajes que soportan
sintctica y semnticamente la unin entre los tipos abstractos de datos y sus
operaciones (a esta unin se la suele llamar clase).
La programacin orientada a objetos incorpora en su entorno de ejecucin
mecanismos tales como el polimorfismo y el envo de mensajes entre objetos
En la programacin orientada a objetos pura no deben utilizarse llamadas de
subrutinas, nicamente mensajes

2. Ventajas y desventajas de la programacin orientada a objetos

Ventajas

1. Flexibilidad. Si partimos del hecho que mediante la definicin de clases


establecemos mdulos independientes, a partir de los cuales podemos
definir nuevas clases, entonces podemos pensar en estos mdulos como
bloques con los cuales podemos construir diferentes programas.

2. Reusabilidad. Una vez que hemos definido a la entidad persona para


utilizarla en una aplicacin de negocios, por mencionar un ejemplo, y
deseamos construir a continuacin una aplicacin, digamos de deportes, en
donde requerimos definir a la misma entidad persona, no es deseable
volver a escribir la definicin para la entidad persona. Por medio de la
reusabilidad podemos utilizar una clase definida previamente en las
aplicaciones que nos sea conveniente. Es claro que la flexibilidad con la
que se defini la clase va a ser fundamental para su reutilizacin.

3. Mantenibilidad. Las clases que conforman una aplicacin, vistas como


mdulos independientes entre s, son fciles de mantener sin afectar a los
dems componentes de la aplicacin.

4. Extensibilidad. Gracias a la modularidad y a la herencia una aplicacin


diseada bajo el paradigma de la orientacin a objetos puede ser fcilmente
extensible para cubrir necesidades de crecimiento de la aplicacin.

Desventajas

Limitaciones para el programador. No obstante que la tecnologa orientada a


objetos no es nueva, un gran porcentaje de programadores no estn
familiarizados con los conceptos de dicha tecnologa. En otras palabras, la
lgica de la programacin estructurada sigue siendo predominante en la
mayora de los desarrolladores de software, despus de haber revisado de
forma breve los principios de la programacin orientada a objetos, nos es claro
que en sta se requiere una lgica de pensamiento totalmente diferente a la
lgica comnmente utilizada para la programacin estructurada.

Tamao excesivo en las aplicaciones resultantes. La gran mayora de los


equipos de cmputo cuentan con capacidades tanto de almacenamiento como
de memoria lo suficientemente buena como para ejecutar la mayora de las
aplicaciones que puedan desarrollarse con la tecnologa orientada a objetos,
sin embargo existen casos en los que lo anterior no se cumple.
Una de las desventajas de la programacin orientada a objetos es que cuando
se heredan clases a partir de clases existentes se heredan de forma implcita
todos los miembros de dicha clase aun cuando no todos se necesiten, lo que
produce aplicaciones muy grandes que no siempre encajan en los sistemas
con los que se disponga.

Velocidad de ejecucin. Esto tiene que ver, en cierto modo, con el punto
anterior, una aplicacin innecesariamente pesada en muchas ocasiones es
ms lenta de ejecutar que una aplicacin conformada nicamente por los
mdulos necesarios

3. Sintaxis para definir Variables en Java


Tipos de datos primitivos.

Toda informacin en Java es representada mediante objetos o datos bsicos o


de tipo primitivo. Una diferencia importante entre C++ y Java, es que Java
garantiza una representacin interna nica de los nmeros enteros
independientemente de la plataforma sobre la que se ejecute.

Tipo de dato Tamao Rango de valores que puede almacenar


bytes
Boolean 1/8 true o false
Char 2 Cualquier representacin Unicode.
Byte 1 -128 a 127
Short 2 -32.768 a 32.767
Int 4 -2.147.483.648 a 2.147.483.647
Long 8 -9.223.372.036.854.775.808 a
9.223.372.036.854.775.807
Float 4 3,40E38
Double 8 1,797E308

Los tipos de datos primitivos se pueden organizar en grupos.

Nmero enteros: Son los tipos byte, short int y long.

Carcter: El tipo char representa un carcter codificado en Unicode.

Nmero decimal: Los tipos float y double representan nmeros de coma


flotante.

Lgicos: Los datos de tipo boolean pueden almacenar valores del tipo true
y false.

Literales.
Un literal o constante, es un valor fijo que se puede asignar directamente a una
variable o puede ser utilizado en una expresin.

Existen cuatro tipos de literales bsicos, que coinciden con los cuatro grupos de
tipos bsicos en Java:

Numricos enteros
Numricos decimales
Booleanos
Carcter

Si los utilizamos directamente en una expresin debemos tener en cuenta lo


siguiente:
Los literales numricos enteros se consideran de tipo int, a menos que
se indique lo contrario. (byte b = 10;)
456 constante de tipo int
-54282 constante de tipo int
7282L constante de tipo long
23l constante de tipo long

Los literales numricos decimales se consideran de tipo double


4.56 .67 0.67 56. 121. 12.0 1.3e34 1.45e-5
(float p = 3.14; // Provoca un error de compilacin por la ausencia del
caracter f).

Los literales boolean son true y false


(boolean b = 0; // Provoca un error de compilacin debido a que en Java no
se permite utilizar valores fuera de true o false).

Los literales de tipo char se escriben entre comillas simples (char car =
#; char p = \u03AF).

Representacin hexadecimal

Cualquier constante que comienza por 0x (cero x), es una constante


hexadecimal (base 16).

0x10, 0x34 y 0x463 son constantes hexadecimales cuyas equivalencias


decimales son 16, 52 y 1123.

Literales de cadena
Los literales de cadena se especifican encerrando una secuencia de caracteres
entre un par de comillas dobles.
Hola Mundo
cinco/nlineas
Esto es una cadena,Hola mundo/n

4. Sintaxis para imprimir en consola en Java

La sintaxis bsica es: System.out.println

Println se utiliza cuando se desea crear una nueva lnea con texto simple o
incluso texto que contenga concatenacin. ("Hola" + "Mundo" = "Hola
Mundo").

System.out.printf
Printf se utiliza cuando se desea formatear la cadena. Esto eliminar
cualquier concatenacin. Para un ejemplo simple -> ("Hola," + nombre de
usuario + "Cmo ests?") Podra limpiarse un poco usando ("Hola,
cmo ests?", Nombre de usuario). Depende de ti realmente cuando
quieres usar esto

5. Sintaxis para comentar en Java


En el lenguaje Java existen tres formas de poner comentarios as:
- La primera es comentario en una lnea o al final de una lnea solo ocupa
una lnea de cdigo, en este caso se debe anteponer dos barras inclinadas
(//) antes del texto ejemplo: // Este curso es de la pool
- Comentarios de ms de una lnea o Comentario multilnea, en este caso se
debe anteponer una barra inclinada y seguido un asterisco (/*) y finalizar a
la inversa, asterisco y barra inclinada (*/) ejemplo:
/* Este curso es de la pool
Consta de 3 crditos */
- La ultima forma son para los comentarios de la herramienta de
documentacin javadoc, En este caso, antes del comentario pondremos
una barra inclinada y dos asteriscos (/**) y finaliza con un asterisco y una
barra inclinada (*/), ejemplo: /** Fase 1 Anlisis de requisitos */
6. Sintaxis de los operadores lgicos y relacionales
Operadores lgicos principales en java:
OPERADOR DESCRIPCIN
&& Operador and (y)
|| Operador or (o)
! Operador not (no)

Sintaxis:
EXPRESIN RESULTADO
(i >= 6) && (c == w) true
(i >= 6) || (c == 119) true
(f < 11) && (i > 100) false
(c != p) || ((i + f) <= 10) true
i + f <= 10 false
i >= 6 && c == w true
c != p || i + f <= 10 true

Las expresiones lgicas en java se evalan slo hasta que se ha


establecido el valor cierto o falso del conjunto. Cuando, por ejemplo, una
expresin va a ser seguro falsa por el valor que ha tomado uno de sus
operando, no se evala el resto de expresin.
Operadores relacionales: Los operadores relacionales son smbolos que
se usan para comparar dos valores, si el resultado de la comparacin es
correcto la expresin considerada es verdadera, de lo contrario es falsa.
OPERADOR NOMBRE SINTAXIS ACCION
< Menor que a<b a es menor que b
> Mayor que a>b a es mayor que b
== Igual a a==b a es igual a b
!= No igual a a!=b a no es igual a b
<= Menor o igual a a<=b a es menor o igual
que b
>= Mayor o igual a a>=b a es mayor o igual
que b

7. Defina Clase, instancia de clase, atributo, comportamiento, identidad,


constructor e identificadores.
Clase: son plantillas que describen un conjunto de objetos con atributos y
comportamientos similares, permiten la creacin de los objetos, ejemplo si
imaginamos el mundo podramos decir que la clase personas sera una
plantilla que describira al ser humano, entonces seriamos un objeto de la clase
persona.
Instancia de clase: Las instancias de clase representan los objetos que
realmente vamos a trabajar, el objeto nos representa algo especfico.
Atributo: son las caractersticas individuales que diferencian un objeto de otro
y determinan su apariencia, estado u otras cualidades. Los atributos se
guardan en variables denominadas de instancia, y cada objeto particular puede
tener valores distintos para estas variables.
Comportamiento: El comportamiento de los objetos de una clase se
implementa mediante funciones miembro o mtodos. Un mtodo es un
conjunto de instrucciones que realizan una determinada tarea y son similares a
las funciones de los lenguajes estructurados, del mismo modo que hay
variables de instancia y de clase, tambin hay mtodos de instancia y de clase.
En el primer caso, un objeto llama a un mtodo para realizar una determinada
tarea, en el segundo, el mtodo se llama desde la propia clase.
Identidad: Es un dato que hace diferente al objeto en cuestin de otros
objetos, ejemplo del objeto Camioneta su estado es el color, su
comportamiento son las acciones que realiza, o sea los mtodos transportar
gente, acelerar y frenar mientras que su identidad es el propio nombre del
objeto.
Constructor: Un objeto de una clase se crea llamando a una funcin especial
denominada constructor de la clase. El constructor se llama de forma
automtica cuando se crea un objeto, para situarlo en memoria e inicializar los
miembros dato declarado en la clase, el constructor tiene el mismo nombre que
la clase. Lo especfico del constructor es que no tiene tipo de retorno.
Identificadores: son los nombres que el programador asigna a variables,
constantes, clases, mtodos, paquetes, etc. de un programa, es un asunto muy
importante de cara a la comprensin y el mantenimiento de cdigo
8. Informe los tipos de clase
Los tipos de clases que podemos definir son:
Abstract: Una clase abstract tiene al menos un mtodo abstracto. Una clase
abstracta no se instancia, sino que se utiliza como clase base para la
herencia.
Final: Una clase final se declara como una clase que termina una cadena de
herencia. No se puede heredar de una clase final. Por ejemplo, la clase Math
es una clase final.
Public: La clase public son accesible desde otras clases, bien sea directamente
o por herencia. Son accesibles dentro del mismo paquete en el que se han
declarado. Para acceder desde otros paquetes tienen que ser importadas
9. Describa el concepto de Modularizacin
La modularizacin es el proceso de crear partes de un todo que se integran
perfectamente entre s para que funcionen por un objetivo general y a las
cuales se puede integrar ms componentes que se acoplen perfectamente al
todo o extraer componente sin afectar su funcionamiento.
10. Describa el concepto de Herencia
Organiza y facilita el polimorfismo y la encapsulacin permitiendo a los objetos
ser definido y creado como tipo especializado de objetos preexistentes. Estos
pueden compartir y extender su comportamiento sin tener que re implementar
su comportamiento esto suele hacerse habitualmente agrupando los objetos en
clases y las clases en rboles o enrejados que reflejan un comportamiento
comn.
11. Describa el concepto de Polimorfismo
Es la capacidad del cdigo de un programa de ser utilizado con diferentes tipos
de datos u objetos. Tambin se pueden aplicar a la propiedad que poseen
algunas operaciones de tener un comportamiento diferente dependiendo del
objeto (o tipo de dato) sobre el cual se aplican.
Se puede clasificar el polimorfismo en dos grandes clases:

Polimorfismo dinmico: es aquel en el que el cdigo no incluye ningn tipo de


especificaciones sobre el tipo de dato sobre el que se trabaja. As puede ser
utilizado en cualquier tipo de dato compatible.
Polimorfismo esttico: es aquel al que los tipos que se le aplica el polimorfismo
debe ser explicitado y declarado uno por uno antes de ser utilizados.

12?
13?
14?
15?
16?

Nombre de la propuesta: PROYECTO A

Anlisis de Requisito, PROYECTO A

PROYECTO A En la Universidad Nacional Abierta y a Distancia UNAD se


cuenta con el departamento de registro y control el cual se encarga de la
matrcula de los estudiantes, el cual est constituido por cinco funcionarios,
quienes son los nicos con acceso al sistema (Vase figura 1). Actualmente
la universidad solo cuenta con 8 estudiantes matriculados (Vase figura 2).
Tambin intervienen en el proceso otros actores (Vase figura 3), sin
embargo, pensando en el crecimiento de la institucin se requiere una
aplicacin que permita realizar de forma automatizada los siguientes
procesos.
Figura 1. Personal Registro y Control

Identificacin Nombre Completo Edad Telfono Contrasea

109878956 Lucia Medina 28 6441934 Cvtfe34

3214567 Claudia Otero 35 7245678 K567892

76789065 Laura Montes 45 6543213 Drt7u93

9099765 Daniel Donado 23 6789054 qertujh

7967890 Alirio Medina 27 6789032 D6yu8ipo

Figura 2. Estudiantes Matriculados

Identificacin Nombre Completo Edad Telfono Direccin

109845678 Carlos Medina 28 6441934 Cra 21 15-02

3214567 Zulia Vega 35 7245678 AV 115 25-40

36789065 Alexander Otlora 45 6543213 Cra 24 Nro 38-18

1099765 Lucia Acua 23 6789054 Cra 25 Nro 45-125

2567890 Taliana Vargas 27 6789032 Diag 25 Nro 12-45

16789045 Elizabeth Rincn 25 7896543 Cra 25 Nro 76-25


Figura 3 Usuarios

Identificac Nombre Edad Telfono Contrasea Rol


in Completo
9852471 Carlos Gmez 50 2065874 Qr9075 Rector

526478 Pepita Mendieta 5478921 Decana


42 N96512
369874 Sebastin Cortes 39 9857411 P45678 Gerente
Lder de
635789 Jorge Prez 26 3685478 Q78430
programa
254793 Daniela Ziga 34 2222222 Z83092 Director de curso
Salomn
578925 30 6897462 P45678 Vicerrector
Gonzlez
8965412 Carolina Gaitn 20 2486325 Br6780 Tutor
Secretario
3245689 Pedro Fernndez 46 3333333 JRY678
acadmico

Matrcula de Estudiantes: Inscribir a un estudiante registrando sus


datos personales bsicos (Nombre, Telfono, Identificacin, Direccin y
telfono y programa al cual est inscrito).
Consulta de Estudiantes: Consulta mediante identificacin o Programa
al cual pertenece.
Eliminar un estudiante: Eliminar un estudiante de la base de datos de
inscritos.
Consulta de Programas: Consulta de nmero de inscritos a un
determinado programa, teniendo en cuenta que existen solo los
siguientes: Ingeniera de sistemas, Ingeniera industrial, Ingeniera
electrnica y Administracin de empresas.
Reportes: La aplicacin debe permitir realizar reportes sobre los
estudiantes vinculados a un programa, estudiantes que se han retirado
y estudiantes activos en un programa acadmico determinado.
Finalmente al ejecutar la aplicacin, esta debe solicitar un password y
Login para garantizar la seguridad de la aplicacin y el acceso solo a
personal autorizado. Los estudiantes deben tener en cuenta que no se
permite en el password los siguientes caracteres: $,%,&,/,*,/,-, por lo
que es obligatorio hacer uso de los bloques de excepciones en Java para
evitar estos caracteres.
Para el desarrollo de este proyecto se debe utilizar el paradigma
orientado a objetos (clases, herencia, polimorfismo, encapsulamiento,
etc), as mismo se debe utilizar la base de datos MYSQL como base de
datos predeterminada. El cdigo de la aplicacin debe ser comentado en
su totalidad y todos los estudiantes deben registrar las tareas que cada
uno de ellos realiza en el foro correspondiente a cada fase, con el fin de
evidenciar su participacin.

Al finalizar el proyecto en la Fase 5 uno de los integrantes del grupo


debe comprimir en una carpeta el archivo ejecutable, y ste ser el
mismo que ejecutar el docente al momento de la calificacin.

You might also like