0% encontró este documento útil (0 votos)
6 vistas82 páginas

Introducción al Desarrollo de Software

El documento habla sobre la introducción al desarrollo de software y conceptos básicos de programación orientada a objetos como Java. Explica cómo instalar el entorno de desarrollo Java y configurarlo, y describe elementos y estructuras básicas para crear programas como también diagramas de modelado.

Cargado por

Linda Suárez
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
6 vistas82 páginas

Introducción al Desarrollo de Software

El documento habla sobre la introducción al desarrollo de software y conceptos básicos de programación orientada a objetos como Java. Explica cómo instalar el entorno de desarrollo Java y configurarlo, y describe elementos y estructuras básicas para crear programas como también diagramas de modelado.

Cargado por

Linda Suárez
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

INTRODUCCION AL DESARROLLO DE SOFTWARE

INGENIERÍA DE SISTEMAS
FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

El módulo de estudio de la asignatura Introducción al Desarrollo de Software es propiedad de la


Corporación Universitaria Remington. Las imágenes fueron tomadas de diferentes fuentes que se
relacionan en los derechos de autor y las citas en la bibliografía. El contenido del módulo está protegido
por las leyes de derechos de autor que rigen al país.

Este material tiene fines educativos y no puede usarse con propósitos económicos o comerciales.

AUTOR
Javier Ospina Moreno
Docente- Aspirante a Magister
[Link]@[Link]

Nota: el autor certificó (de manera verbal o escrita) No haber incurrido en fraude científico, plagio o vicios
de autoría; en caso contrario eximió de toda responsabilidad a la Corporación Universitaria Remington, y
se declaró como el único responsable.

RESPONSABLES
Jorge Mauricio Sepúlveda Castaño
Decano de la Facultad de Ciencias Básicas e Ingeniería
jsepulveda@[Link]

Eduardo Alfredo Castillo Builes


Vicerrector modalidad distancia y virtual
ecastillo@[Link]

Francisco Javier Álvarez Gómez


Coordinador CUR-Virtual
falvarez@[Link]

GRUPO DE APOYO
Personal de la Unidad CUR-Virtual Derechos Reservados
EDICIÓN Y MONTAJE
Primera versión. Febrero de 2011.
Segunda versión. Marzo de 2012
Tercera versión. noviembre de 2015 Esta obra es publicada bajo la licencia CreativeCommons.
Reconocimiento-No Comercial-Compartir Igual 2.5
Colombia.
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

3
TABLA DE CONTENIDO
Pág.

1 MAPA DE LA ASIGNATURA .................................................................................................................... 4

2 UNIDAD 3 Principios del desarrollo de Software .................................................................................. 5

2.1 Conceptos básicos del lenguaje de programación orientado a objetos, instalación y


configuración de su entorno. .................................................................................................................... 8

2.1.1 Instalación, configuración y manejo del entorno ................................................................. 9

2.2 Estructuras básicas para la elaborar un programa en lenguaje java. ......................................... 19

2.2.1 Tipos de datos y expresiones .............................................................................................. 19

2.2.2 Expresiones delimitadores separadores y Operadores ..................................................... 23

2.2.3 Estructuras básicas .............................................................................................................. 26

2.2.4 Forma de acceso a datos..................................................................................................... 32

2.3 Aplicación de la orientación a objetos en el lenguaje Java y el modelado en diagrama de clase y


caso de uso.............................................................................................................................................. 45

2.3.1 Orientación a Objetos ......................................................................................................... 45

2.3.2 Introducción al UML diagrama de clase y caso de uso. ..................................................... 51

2.3.3 Aplicación de la orientación a objetos en el lenguaje Java................................................. 59

3 PISTAS DE APRENDIZAJE ..................................................................................................................... 72

4 GLOSARIo ............................................................................................................................................ 77

5 BIBLIOGRAFÍA...................................................................................................................................... 80
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

4
1 MAPA DE LA ASIGNATURA
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

5
2 UNIDAD 3 PRINCIPIOS DEL DESARROLLO DE
SOFTWARE

Mapa 1 de perspectiva 1-Unidad 3

Ihmc, T. (2014). Mapa Conceptual Programación Orientada a Objetos [imagen]. Recuperado de


[Link]
p

Mapa 2 de perspectiva 2-Unidad 3


INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

Jabry, (2014). Mapa mental conceptual que explique la materia de fundamentos de programación [imagen]. Recuperado de
[Link]
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

Uml Diagramas de clases, Universidad de los Andes por Demian Gutierrez: Explica cómo trabajar con Uml yn sus diferentes
diagramas Enlace

Características de los Lenguajes de Programación, Instituto Tecnológico superior de Lerdo por María Guadalupe Flores Luevano.
Enlace
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

Define las características de los lenguajes orientados a objetos y su implementación en Java por James Gosling Enlace

[Link]

VIDEO PARA INSTALAR jdk PARA NRTBEANS [Link]

La asignatura de Introducción al Desarrollo de Software en la carrera de Ingeniería de sistemas de la


UNIREMINGTON desde este nivel inicial pretende enfatizar la conceptualización de los diferentes
componentes del lenguaje de programación como herramienta fortalecedora para su implementación,
esta unidad contendrá la instalación y configuración, los elementos y estructuras básico, como
estructuras para la elaboración de la aplicación, algunos diagramas básicos del modelado como también
se realizara definiciones entradas procesos y salidas propias del análisis para la solución de aplicaciones
complejas o no mediante la codificación.

2.1 CONCEPTOS BÁSICOS DEL LENGUAJE DE PROGRAMACIÓN


ORIENTADO A OBJETOS, INSTALACIÓN Y CONFIGURACIÓN
DE SU ENTORNO.
Al iniciar en un lenguaje de programación sin tener ninguna orientación se hace difícil pero reflexionando
se observa que es importante la abstracción para separar el conjunto de dificultades y empezar por uno
que se considera elementos básicos tratando de minimizarlo para con la constancia y dedicación alcanzar
un peldaño y preparase para los siguientes porque sigue siendo más difícil empezar para poder sostenerse
más si se tiene el deseo y la guía .
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

9
2.1.1 INSTALACIÓN, CONFIGURACIÓN Y MANEJO DEL ENTORNO
Describir los conceptos básicos del lenguaje de programación orientado a objetos requiere preparar el
computador dado el caso de no estar dispuesto para el lenguaje de programación especificado como java
en ese caso necesitara instalar la máquina virtual y luego el conjunto de desarrollo de java jdk en
cualquier caso es una buena práctica para el principiante en desarrollo de software en , su instalación,
configuración y manejo del entorno.

[Link] INSTALACIÓN Y CONFIGURACIÓN

Para realizar la instalación del El jdk

Lo primero es ir a la página oficial de sun ([Link] para descargar la última versión del
jdk disponible, ir a la opción “Technologies” — “Java SE” y seleccionar la pestaña “Download”, con lo que
nos aparecerá una pantalla donde se especifica las características de seadas también se puede bajar del
sitio web oficial: Java SE Development Kit 7 Downloads según el siguiente cuadro donde se describen
algunas evidencias de pasos realizables al efectuar este procedimiento :

Seleccionar la descarga desde el sitio. Inicializar el proceso según el procesador

Tomar todas las herramientas Jdk Aceptar condiciones y ubicar en la unidad


INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

10
Comprobando la ubicación java en disco.

Terminar el proceso de instalación.

Especificando la versión respectiva.


Describiendo las diferentes carpetas(bin)

Posteriormente Una vez que lo hayan bajado e instalado correctamente, se procede a buscar la ruta de
instalación significativamente se ubica la carpeta de los archivos básicos de java ellos se alojan en la
carpeta bin por ejemplo: C:\Program Files\Java\jdk1.8.0_05\bin para luego llevarla al class path
C:\Program Files\Java\jdk1.8.0_05\[Link] en el CLASSPATH

C:\Program Files\Java\jdk1.8.0_05\ para el JAVA_HOME

[Link] MANEJO DEL ENTORNO


Tener en cuenta la variable de entorno porque es la ruta que tendremos que agregar a la variable de
entorno Path, para ello debemos ir a: Equipo -> Click derecho -> Propiedades -> Configuración Avanzada
del Sistema -> [Pestaña] Opciones Avanzadas -> Variables de Entorno llegamos al cuadro mostrado la
variable de nombre Path, presionamos Editar, en el cuadro mostrado, nos vamos hasta el final del texto
que ya está escrito y agregamos lo siguiente sin las comillas: "C:\Program Files\Java\jdk1.7.0_02\bin;"
como se describe en la siguiente cuadro numero con algunas evidencias imágenes del proceso realizable.:
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

11

Una vez que se haya añadido la ruta, presionar aceptar y se actualiza o registra el proceso.
[Link] LÍNEA DE CONSOLA

La consola (cmd) primero se ubica en la ventana de consola procediendo así como en la tabla siguiente:

Para llegar a la consola digita cmd Desde la consola ubicamos la unidad c:

Desde consola, nos debería salir así:


Para compilar escribimos javac
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

12
La orden para compilar es javac , esto comprueba el proceso de instalación y configuración ajustado
para manejar la aplicación desde java.

Para crear una aplicación llamada HolaMundo, se requiere de un editor o se abre el bloc de notas (para
digitar el programar en Java), con o sin clase pero empleando el método principal código fuente.

Se guarda el archivo con el nombre "[Link]", donde java es la extensión del programa fuente
debe tener presente la diferencia entre mayúscula y minúscula, en este caso se cambió de ruta, por lo
general está en la unidad c:

Para compilarlo verificar la sintaxis y llevarlo a lenguaje de maquina (objeto) bytecode, se digita la
siguiente sentencia: ruta\ javac [Link] mucha atención con la ruta del archivo, como se
especifica en el siguiente gráfico.
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

13

La compilación correcta genera un archivo con extensión .class. Verificar ….


INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

14
Ejecutar poner a correr el código objeto, en la Consola escribimos: java HolaMundo
Muy importante, no se coloca la extensión del archivo (es decir el .class)

Tomado de los siguientes link: para mayor información


[Link]

[Link] ENTORNO DE DESARROLLO


Para la elaboración de una aplicación se presentan dos posibilidades una por comando descrita en el
tema anterior y por editores será una muestra de algunos editores de java pero en la UNIREMINGTON
se tiene en cuenta a Eclipse y en unos casos a netbeans se describen para su apreciación otros que existen
en el mercado en el siguiente cuadro

[Link] El entorno de desarrollo Eclipse puede usarse


para desarrollar código en cualquier lenguaje de programación.
Puede descargar el entorno y varios complementos (plug-ins) de
Java para desarrollar sus programas en Java.

[Link] El IDE NetBeans. Una de las herramientas de


desarrollo para Java más populares, de distribución gratuita.
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

15

[Link]/products/downloads/ download_jbuilder.html
Borland ofrece una versión Foundation Edition gratuita de su
popular IDE JBuilder para Java. Este sitio también ofrece versiones
de prueba de 30 días de las ediciones Enterprise y Developer.

[Link] BlueJ: una herramienta gratuita diseñada para


ayudar a enseñar Java orientado a objetos a los programadores
novatos.

[Link] Descargas, documentación y tutoriales sobre


jGRASP. Esta herramienta muestra representaciones visuales de
programas en Java, para ayudar a su comprensión.

[Link] jEdit: un editor de texto escrito en Java.

[Link]/prodtech/javatools/ jsenterprise/[Link]
El IDE Sun Java Studio Enterprise: la versión mejorada de
NetBeans de Sun Microsystems.

[Link] JCreator: un IDE popular para Java. JCreator


Lite Edition está disponible como descarga gratuita. También está
disponible una versión de prueba de 30 días de JCreator Pro
Edition.
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

16

[Link] TextPad: compile, edite y ejecute sus


programas en Java desde este editor, que proporciona coloreo de
sintaxis y una interfaz fácil de usar.

Tomado de: [Link]


La descarga editor eclipse desde [Link] procesador de 32 o 64 se o ee.

Imagen tomada de: [Link]

A partir del editor facilitador del desarrollador para la elaboración del código se debe tener en cuenta
para este caso el editor eclipse SE en cualquiera de sus categorías este se describe en el siguiente cuadro
hasta Seleccionar java SE (estándar) también existe el EE ( Enterprise Edition), tomemos el estándar.
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

17
Seleccionar el editor Eclipse Kepler

Presenta la Ventana de eclipse keppler


muestra la ventana para crear el proyecto

Desde el proyecto obtener una carpeta


Definir el nombre del proyecto y terminar
paquete

Darle un nombre al paquete y terminar Desde el paquete botón derecho nueva clase

Nombrar la clase(preferiblemente mayuscula) Lista la estructura para codificar en java


INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

18
Seleccionar de la barra de menú, el menú de archivo (file), por medio del comando nuevo la etiqueta
proyecto java (project name) muestra la ventana para crear el proyecto como lo describe la tabla en la
segunda fila segunda columna. Se debe nombrar el proyecto y terminar el proceso para continuar con el
paquete que es el agrupador de los diferentes archivos de este proyecto, clic derecho en él y el comando
nuevo pero seleccionar paquete se crea uno debe finalizar el proceso lo indica el editor. Sobre el paquete,
clic derecho se pide un nuevo archivo tipo clase a la cual se le asigna un nombre preferiblemente primera
mayúscula, este presenta algunas opciones para sus métodos en especial si se requiere el main.
(Principal).

Toda su ventana de edición se observa en 4 divisiones como lo describe la imagen uno en la tabla siguiente

Ventana de la aplicación java procedimental Desde la línea de comando RUN correr

Describir los archivos en este caso uno


Especificar la aplicación a ejecutar
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

19
No presenta errores solo los resultados Los errores se refleja en la ventana inferior en
rojo, corregir y de nuevo

2.2 ESTRUCTURAS BÁSICAS PARA LA ELABORAR UN


PROGRAMA EN LENGUAJE JAVA.
Describir las diferentes estructuras básicas para la elaboración de una aplicación en lenguaje de
programación orientados a Objeto (java) por medio de proyectos, empleando adecuadamente el
desarrollar software, con sus tipos de datos, sus expresiones, su forma de acceso a datos, las
estructuras de toma de decisiones, los ciclos y desde luego la incursión en la elaboración de aplicación.

2.2.1 TIPOS DE DATOS Y EXPRESIONES


Este tema se relaciona con la tipificación ligada a la abstracción de los datos y sus procedimientos por
ende implican sobre la capacidad de almacenamiento en memoria, para java se disponen de dos tipos de
datos básicamente

Antes de identificar cada uno de los elementos miembros datos y procedimientos incluso los
independientes es importante el reconocimiento del espacio en memoria a utilizar

[Link] TIPOS DE DATOS


Los tipos de datos nativos en otro caso llamados primitivos se caracterizan por ser tradicionales en la
programación de los lenguajes no son objetuales, pero en el desarrollo de la metodología objetual
cumplen un papel muy importante se encargan de realizar las acciones aritméticas y combinan sus
funciones con las clases numéricas determinando el uso de memoria disponible para cada uno. A
continuación en el cuadro número --- se describirán algunos de los tipos nativos con sus capacidades
respectivas

Tipos de dato Descripción Capacidad


primitivo

byte Numérico entero manejador de 8 Rango desde -27 hasta 26


bits. (-128 a 127)

short Numérico entero manejador de 16 Rango desde -215 hasta 214 (-


bits 32768 a 32767)
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

20

int Numérico entero manejador de Rango desde -231 hasta 230 (-


32 bits. 2147483648 a 2147483647)

long Numérico entero manejador de64 rango desde -263 hasta 262 (-
bits. 9223372036854775808 a
9223372036854775807)

float Numérico con decimal de 32 bits. rango desde (de 1.40239846e–


coma flotante de simple precisión. 45f a 3.40282347e+38f)

double Numérico con decimal de 64 bits. Rango desde (de


coma flotante de doble precisión. 4.94065645841246544e–324d a
1.7976931348623157e+308d.)

char (‘ ‘) Carácter Unicode de 16 bits

String (“ “) Cadena de caracteres

boolean Tiene un valor de comprobación Rango true o false.

Es importante identificar cada uno de estos tipos con el primer carácter en minúscula diferente a las
clases numéricas

[Link] TIPOS DE DATOS CLASE


Los tipos de datos clase se caracterizan por pertenecer a la una de los agrupadores de clase y por tanto
adquieren procedimientos los cuales les facilitan la conversión a cualquiera de los tipos de datos nativos,
combinándose adecuadamente y sobre todo teniendo presente que el flujo de datos se presenta en tipo
de dato Cadena o texto o alfanumérico dentro de la clase String (note la primera mayúscula). es notable
la clasificación que se establece diferentes tipos de paquetes los cuales agrupan clases que serán
utilizadas en el desarrollo de la aplicación según las necesidades, existe un paquete predefinido donde
las clase se usan sin necesidad de importar el paquete que está dentro de java este es lang, la sentencia
package debe estar en primera línea de la cabeza del programa digitado por el desarrollador con la
sintaxis import [Link].*; realizando una petición a todas las clase encontrados en este paquete o
import [Link]; solicitando el uso de la clase System, Object, Math entre otros que pertenecen
al paquete lang . Algunos agrupadores se describen en el siguiente cuadro número 2 Tipos y
características de los paquetes
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

21

PAQUETE DESCRIPCIÓN

Se asigna sin necesidad de nombrarla agrupa clases como System, Object, Math
lang
Object, Thread, Exception, System, Integer, Float, Character, String, Double

Se encarga de agrupar las clases del flujo de datos entrada y salida desde el
io programa clase como InputStreamReader, Exception, BuferedReader.
FileInputStream y FileOutputStream, InputStreanReader

util Agrupas clase de utilería como la clase Date, Random, Dictionary, Stack .

Agrupa las clases para manejar el explorador tiene la clase Applet


applet
AppleViewear,AppletContext

Agrupa las clases para manejar la comunicación redes clase Sokect, URL y
[Link]
URLConnection.

Agrupas las clase propias para el manejo de ambiente grafico tradicionales


awt
Buttom, Frame, Panel,Menu, Label,TextField

Agrupas las clase propias para el manejo de ambiente grafico más actualizadas
swing se le antepone la J a cada componente import [Link] .JButtom , JFrame,
JPanel,JMenu, JButton, JLabel, JTextField

bean Agrupa las clase propias para generación de componentes reutilizables

sql Agrupa las clase para manejo de base de datos

Cuadro numero tema Descripción de algunos paquetes con sus características (realizado por el autor)

[Link] DIFERENCIA ENTRE TIPOS


Una diferencia notable es los nativos son tradicionales no clases y los otros son clases poseedores de
propiedades y procedimientos.
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

22
Los nativos se declaran inicializan asignándole un valor y se utilizan, los clases de declaran instancian
requieren del operador new para solicitar espacio en memoria y del método constructor respectivo
para inicializarlo y se usan están agrupados siendo la clase String la llamada intermediaria para el acceso
a la información y luego se convierte al nativo respectivo acompañado de una clase numérica facilitadora
del método en el cuadro siguiente se presentaran algunos tipos de datos clase también llamados
envoltorio por pertenecer a las clases.

Tipos de dato Clase Descripción procedimiento

Byte Numérico entero

Short Numérico entero

Long Numérico entero

Integer Numérico entero

Double Numérico con punto flotante

Float Numérico n punto flotante

Boolean Verdadero o falso

Character Un solo carácter

String Uno o más caracteres “ ”

Existe la posibilidad de definir unos tipos de datos especiales los cuales son creados por el
programador pero están dentro de esta estructura como son las class y las bibliotecas.
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

23
2.2.2 EXPRESIONES DELIMITADORES SEPARADORES Y OPERADORES
Contando con la funcionalidad de los caracteres ASCII en el lenguaje de programación en donde la gran
mayoría cumple una en este caso de delimitar o separar para conformar la estructura del código se
resumen en el siguiente cuadro algunos de los delimitadores o separadores con sus respectiva descripción.

Carácter tipo delimitador Descripción


separador

Llaves { }: abierta delimita el inicio principio del bloque de


código.
{ }:
cerrada delimita el final del bloque de código.

Corchetes [ ]: juntos abierto y cerrado especifican la


[ ]:
posición del arreglo tipo vector.

Paréntesis (): juntos delimitan la estructura de un método con su


( ): lista de parámetros si existen o como condicionales en pregunta,
además en expresiones establecen la prioridad y precedencia.

Establecen el comentario o documentación en el código.


// o
// comentario de una sola línea
/*__ */
/* delimita principio de comentario */ finaliza el comentario

; punto y coma ; delimita la instrucciones indica el final de ella

, coma ,: delimita cada identificador en la instrucción

. Punto .: agrupador a los atributos y métodos de una clase.

Suma +:agrupador Concatena cadenas variables y/o


+
constantes
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

24

\n Salto de línea

\t Espaciador en un texto

Operador es otra particularidad de algunos caracteres ascii para realizar acción facilitando la
conformación de una expresión al combinarse con operando quien puede ser variable o constante
preferiblemente numérica. La diversidad de estos elementos los clasifica de la siguiente manera:
aritméticos, relacionales, lógicos, de Asignación, unarios, de Instanceof, concatenado, de nivel de bit o
desplazamiento entre otros para resumir se describirá cada grupo en el siguiente cuadro:

Operadores descripción ejemplo


Aritméticos

+ Suma A =A+1;

-. Resta A =A-1;

*. Multiplicación. A =A*1;

/. División. A =A/1;

% Resto de la División (modulo) . A =A%1;

Operadores Combina el = con los


Asignación: aritméticos

= : A = 65

+= : A += B ; A = A + B

-= : A -= B ; A = A - B

*= : A *= B ; A = A * B

/=' : A /= B ; A = A / B
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

25
%= : A %= B ; A = A % B

Operadores Unarios Cambiar el signo del operando –o+.

++ Incrementa la variable una unidad. A++


decrementa en una
-- A--

Operadores Realizan comparaciones validan A comparado con B es:


Relacionales:

> Mayor que Verdadero


< Menor que falso
==
¡= Iguales
>=
<= Distintos

Mayor o igual que


Menor o igual que

Operadores Lógicos: Realizan comparaciones lógicas. A : con B devuelve

&& si ambos operandos son true. true


|| si alguno de los operandos es true.
! negación del operando true
& si cada uno es true, es un and
| si al menos uno es true, es un or ! (true) sera false
true

true

Operadores nivel de Realizan desplazamiento a nivel de


bits: >>' bit:
<< hacia la derecha
hacia la izquierda
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

26
[Link] IDENTIFICADOR
Es importante el reconocimiento de cada uno de los elementos empleados en una aplicación por tanto
la identificación de cada clase, miembro dato o procedimiento incluso paqueteo nombre de archivo está
ligado a la estructura sintáctica del lenguaje y su aplicación en el espacio tiempo, ya se definieron los
tipos de datos que se anteponen a cada identificador este preferiblemente debe iniciar con carácter
letra, es independiente de mayúscula o minúscula hasta puede contener carácter digito no debe llevar
caracteres especiales ni definir lo como una palabra reservada

Las palabras reservadas son identificadores predefinidos que tienen un significado para el compilador y
por tanto no pueden usarse como identificadores creados por el usuario en los programas.

Algunas palabras reservadas en Java se presentan a continuación en el cuadro siguientes para tener
presente al definir los identificadores:

abstract continue for new switch assert default package synchronized

boolean o if private this break double implements protected

throw byte else import public throws case enum instanceof

return transient requiera extends int short char final interface

static void class finally long float super while try/ catch

2.2.3 ESTRUCTURAS BÁSICAS


Una estructura de validación sea pregunta o selector múltiple presenta por medio de la sintaxis la forma
correcta de realizar un condicional esta forma de preguntar puede ser simple compuesta o anidada con
el fin de facilitar el control

[Link] ESTRUCTURAS CONDICIONALES


Pregunta con Bifurcación: se emplea el método if(condicional)-else, preguntas anidadas una dentro de
otra y pregunta compuesta donde se combina los operadores relacionales y los lógicos en el condicional
el manejo de los delimitadores {} y () son de gran utilidad para determinar el alcance y la prioridad de la
pregunta.
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

27

Pregunta Estructura Ejemplo

if (A>=B) {
if(condicion) { [Link](“mayor
o igual) ;} else {
instruccion1(); [Link](“No es
mayor )}
} else {
bifurcacion
instruccion1();

instruccion2();

if (A>B) {
if(condicion1) { [Link](“mayor”) ;
if (A==B) {
instruccion11; [Link](“MayorIgual”)
; } else
if(condicion2) {
{
instruccion22; [Link](“MayorIgual”)
;}
instruccion22; }
else
} else { {
[Link](“No es mayor
anidada Instruccion22; )}

}.

else {

instruccion1;

instruccion2;

}.

if(condicion1 &&condición 2) if ((A>B)&&(A==B)) {


compuesta { [Link](“mayor o
igual) ;} else {
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

28
instruccion1(); [Link](“No es
mayor= )}
} else {

instruccion1();

}.

Para el selector múltiple el condicional se hace más práctico especialmente si en el condicional se evalúan
secuencias preferiblemente numéricas para lo cual se emplea el método swich() dentro se establece el
caso para seleccionar la condición elegida, cada opción del caso debe establecer su terminación para ello
emplea la palabra reservada break; que cierra la secuencia de esta por ultimo cuenta con un control
llamado default para especificar cuando no se ha seleccionado una alternativa correcta o en el rango
establecido

Estructura del Ejemplo tipo numérico y cadena


selector multiple

switch(expresión numérica switch(estadocivil) { switch(estadocivil) {


){
case 1: case “s”:
case 1: instrucción caso 1;
[Link](“soltero”)}; [Link](“soltero”)};
break;
break; break;
case 2: instrucción caso 2; case 2: case “c”:

break; [Link](“casado”)} [Link](“casado”)}


// si existen más se define break; break;
cada caso y se cierra
case 3: case “S”:
default:
[Link](“separado”)} [Link](“separado”)}
instrucción de control de
secuencia y mensaje ; break; break;

} case 4: case “o”:

[Link](“otro”)} [Link](“otro”)}
break; break;
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

29
default: default:
[Link](“error”)} [Link](“error”)}

[Link] ESTRUCTURAS REPETITIVAS: PARA, MIENTRAS QUE Y HAGA MIENTRAS


QUE
El proceso al tener más de una repetición se considera ciclo, la posibilidad de ser cualitativo o cuantitativo
depende de si se tiene o no el número de veces a realizar el o las actividades en ese caso será ciclo para
for() es un método con tres parámetros tipo numérico entero el primero inicia la variable controladora
del ciclo, el segundo se encarga de validar el condicional hasta finalizar y el tercero actualiza o incrementa
ascendente o descendentemente la variable controladora o cuantitativo , ciclo mientras : while () o
cualitativo al igual al haga mientras que : do while (), entre este y el mientras la diferencia es la manera
de ingresar y preguntar este mientras que pregunta antes de entrar al ciclo, el haga mientras que entra
primero al ciclo luego para salir pregunta es de notar que se realizan quiebres o rompimientos dentro
del ciclo por medio de break o continúe que evalúa la condicional y posibilita la continuidad se presenta
un cuadro con los tipos de ciclo su sintaxis y ejemplo

ciclo Sintaxis ejemplo

para for(iniciación; condición; incremento) for(int j = 1; j <= 5; j++)

{ {

actividades; [Link](j+",");

} }

Mientras que Inicializar variable controlador int j = 1

while(condición) { while( j <= 5)

actividades; { [Link](j+",");

actualizar variable controlador j=j+1;


}
}

Haga mientras que Inicializar variable controlador int j = 1


INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

30
do { do

actividades; { [Link](j+",");

actualizar variable controlador j=j+1;


} while( j < 5);
} while(condición);

[Link] ESTRUCTURA DE LA CLASE (CLASE, MÉTODO)


La implementación en un lenguaje de programación está ligado a la metodología puede ser estructurada
u objetual las más comunes para nuestro caso es importante establecer la estructura correcta para
describir sus elementos logrando no presentar errores de forma, primero se define un proyecto con su
respectivo identificador y ubicación en un dispositivo ( pc o usb) dentro del uno o más paquetes con su
identificación respectiva con el objetivo de agrupar y clasificar la o las clase(s) con sus atributos y
métodos se identifica con Primera mayúscula en el nombre para reconocimiento estándar, también
entran otros archivos como las importaciones respectivas adicionales a conformaran la aplicación. Se
tomara la clase otro elemento fundamental de la orientación a objeto de la cual se describen sus
elementos tanto para una clase sin método principal como para una con método principal encargado de
la ejecución de la aplicación en el siguiente cuadro:

Estructura del Estructura de la clase Estructura de la clase con


proyecto sin método principal método principal

Paquete Paquete Paquete

import [Link].*; Importaciones import [Link].*;

public class nombredeclase public class nombredeclase public class Principal {


public static void main(String[] args) {
{ {
// lista de variables locales
// lista de atributos con su // lista de atributos con su //lista de objetos si existen
tipo tipo desarrollo de actividades con un
// lista de métodos private String nombre; menu de actividades o con interfaz
} private int edad;
}
// métodos public static int captura(String
public nombredeclase(){} mensaje){}
public void mostrarnombr(){}
public String public static void mostrar(String
capturanombr(){} mensaje){
public String getNombre(){}
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

31
public void setNombre(--){} [Link](""+mensaje);
} }
}

Hablar de métodos implica la modularidad otro elemento de los fundamentales de la metodología


orientada a objetos donde se especifica la acción pero para su forma se compone de seis partes cada
una cumple una función la primera el alcance puede ser público o privado método que solo se ra visto
por los elementos de la clase , la segunda el tipo de clase describe si es estático sea método
independiente de la clase en otro caso es un objeto perteneciente a la clase por ende norequiere ser
especificado, tercero el tipo de dato de retorno involucra la tipificación especificando si es tipo de dato
nativo o tipo clase y caracteriza el método como función por tanto debe retornar un dato de igual tipo y
será procedimiento sin retorno si es tipo de dato void exclusivamente , cuarto el nombre del método
identificador que para el estándar debe iniciar en minúscula, quinto la lista de parámetros cada uno de
ellos si existe debe tener su respetivo tipo si tiene más de uno debe separarse cada uno com (,) y por
último el delimitador de principio y final de bloque en donde se registran las actividades respectivas { }>

Estructura del Método tipo función o Método tipo static


método procedimiento l

Ambiente objeto/static // métodos public static void main(String[] args) {


tipo de dato retornado public nombredeclase(){}
nombredelmetodo public void mostrarnom(){} // lista de variables locales u objetos si
public String capturanombr(){} existen , actividades con un menu de
(lista de parámetros ) public String getNombre(){} actividades o con interfaz }
{ public void setNombre(--){} public static int captura(String
} mensaje){}
// actividades del public static void mostrar(String
procedimiento mensaje){
}
[Link](""+mensaje);
}}

package paqueteuno;
public class Principal {public
static void main(String[] args)
{ [Link]
( " BIENVENIDA");

[Link]( " Inicia


programacion en java");
[Link]( "realizado
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

32
por -----A");
}

2.2.4 FORMA DE ACCESO A DATOS


El acceso a datos en el lenguaje de programación registra el almacenamiento en memoria el cual se
realiza de forma interna por asignación no se presenta intervención del usuario durante el proceso o de
forma externa esta asignación captura de los datos requiere de intervención del usuario y su el
almacenamiento en memoria independientemente de su temporalidad o sea que ingreso los datos sin
especificar si se llevara a un archivo o una base de datos, el acceso a datos presenta otra manera de
llevarlos a un espacio en memoria este es mediante la instancia pero debe tener presente que es para
los miembros datos de una clase al definir el objeto para su uso.

[Link] ASIGNACIÓN INTERNA DE DATOS STRING


Este ingreso datos constante sean numérica, no numéricos (cadena) y lógicos a la memoria del
procesador es temporal y como tal solo dura mientras este la aplicación pero permite realizar los
procesos sin tener que utilizar estructuras de acceso y sus respectivas clases solo se declara cada
identificador con sus respectivo tipo sea miembro clase el que instanciamos y posee procedimientos
internos o variable que se debe inicializar en el siguiente cuadro se representa cada una de estas
actividades

Inicialización de variable Instancia los objetos de la clase

int numero = 122; Integer num= new Integer (“122”);

double decimal=12.54; Double decim= new Double (“12.54”);

boolean estado= true; Boolean estad= new Boolean (“true”);

String cadena=”dato texto”; String caden = new String (“textos”);

[Link] FORMA DE ACCESO A DATOS SCANNER


Estructura de una aplicación en lenguaje de programación java
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

33
Sin lectura Con lectura de datos

public class nombredelaclase import [Link];//


importamos el paquete para utilizar
{ la clase Scanner y leer

//metodo principal para iniciar o public class nombredelaclase


ejecutar la aplicación
{
public static void main(String [] arg)
//metodo principal para iniciar
{ o ejecutar la aplicación

int base= 5 ;//declaramos la variable public static void main(String []


tipo entero,se inicaliza con valor arg)
constante asignación interna
se inicializa con {

[Link](“\n la base es \t”+base); int base ;//declaramos la variable


tipo entero
// se imprime o muestra la informacion

}
Scanner captura= new
Scanner([Link]);

[Link](“digite el valor para la


base”);

base=[Link]();// se captura el valor


conel metodo convertidor entero y se asigna a
la base forma externa

[Link](“\n la base es \t”+base);

// se imprime o muestra la
informacion

Aquí el método main que debe estar dentro de una clase, se encarga de ejecutar la aplicación, tiene un
modificador de alcance (llamado ámbito) que es público un tipo de objeto que es static el cual especifica
independencia de la clase el tipo de dato de retorno es void que no regresa ningún valor a la aplicación
el nombre del método es main con un parámetro entre los () tipo arreglo cadena por los [] :
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

34
public class Interno01

//metodo principal para iniciar o ejecutar la aplicación

public static void main(String [] arg)

int base= 5 ;//declaramos la variable se inicializa con valor fijo

int altura= 10; se declara y se inicializa

int areatriangulo;

areatriangulo = base *altura;

[Link](“\n el área del triangulo es \t”+ areatriangulo);

Sin captura de datos asignación interna

public class pregunta01 {


//metodo principal para iniciar o ejecutar la aplicación
public static void main(String [] arg)
{

int base= 5 ;//declaramos la variable se inicializa con valor fijo

int altura= 10; se declara y se inicializa

int areatriangulo;

areatriangulo = base *altura;

if ( base< areatriangulo){

[Link](“\n La base es inferior al área del triángulo ”);

}
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

35
else

[Link](“\n La base No es inferior al área del triángulo ”);

[Link](“\n el área del triángulo es \t”+ areatriangulo);

Para captura de datos se debe emplear hasta el momento una clase llamada Scanner que pertenece al
paquete útil, por ser clase tiene unos métodos que le permiten convertir la información tomada desde el
teclado como texto y llevarla a la variable según su tipo por medio del método correspondiente el
procedimiento será:

Importar el paquete ;import [Link]; andes de definir la clase

Segundo en el método principal (main) se declara un objeto tipo Scanner y luego se instancia con el
operador new y el método constructor quien toma la información del sistema para nosotros el teclado

Scanner objcaptura = new Scanner([Link]);

Se presenta un mensaje con la clase System perteneciente al paquete lang con la sub clase out (salida o
muestra en pantalla) y el método imprimir [Link](“ por favor digite”); para orientar al usuario

La captura se realiza y se aplica el método convertidor next Int para entero, nextDouble para reales y
nexto nextLine para las cadenas.

base= [Link](); la variable tipo entera recibe del objeto scanner la información tipo cadena Clase
pero convertida en entero nativo.

Captura de datos

import [Link];// importamos el paquete para utilizar la clase


scanner y realizar la lectura
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

36
public class Captura01

//metodo principal para iniciar o ejecutar la aplicación

public static void main(String [] arg)

int base ;//declaramos la variable tipo entera

double altura; //se declara real

int areatriangulo;

//se prepara la clase scanner para leer

Scanner captura= new Scanner([Link]);

[Link](“digite el valor del la base”);

base=[Link]();// se captura conel metodo convertidor entero

[Link](“digite el valorpara la altura”);

altura=[Link]();// se captura conel metodo convertidor real double

//se calcula el área del triangulo

areatriangulo = base *altura;

//pregunta simple

if ( base< areatriangulo)

[Link](“\n La base es inferior al área del triangulo ”);

}
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

37
else

[Link](“\n La base No es inferior al área del triangulo ”);

[Link](“\n el área del triangulo es \t”+ areatriangulo);

ciclo para

import [Link];// importamos el paquete para utilizar la clase


scanner y realizar la lectura

public class Para01

//metodo principal para iniciar o ejecutar la aplicación

public static void main(String [] arg)

Int N;// variable numero de encuestados

int estadocivil ;//declaramos la variable

int contasolt = 0; se declara y se inicializa en cero los contadores

int contacas = 0;

int contasepa = 0;

int contaotro = 0;
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

38
int contador=0;

Scanner captura= new Scanner([Link]);// se instancia la clase scanner


para inicializar el objeto captura

[Link](“\ndigite el número de personas a encuestar”);

N=[Link]();

//se realiza la lectura del limite

for(contador=1; contador<= N)

[Link](“\nSeleccione un estado civil : 1 soltero/n 2 casado/n 3 separado/n 4 otro”);

estadocivil=[Link](); //se realiza la lectura del estado civil

switch(estadocivil) {

case 1:

[Link](“\n estado civil soltero”);

contasolt = contasolt +1;

break;

case 2:

[Link](“\n estado civil casado/n”);

contacas = contacas +1;

break;

case 3:
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

39
[Link](“\n estado civil : separado”);

contasepa = contasepa +1;

break;

case 4:

[Link](“\n estado civil : otro”);

contaotro = contaotro +1;

break;

default:

[Link](“\nSeleccione solamente 1…4”);

break;

[Link](“\nel total de soltero es /t”+contasolt+” el total de casado/t”+ contacas+” el


total de separados es /t”+ contasepa+” el total de otros es\t”+ contaotro);

[Link](0);

Ciclo mientras
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

40
import [Link];// importamos el paquete para utilizar la clase
scanner y realizar la lectura

public class mientras01

//metodo principal para iniciar o ejecutar la aplicación

public static void main(String [] arg)

Int N;// variable número de encuestados

int estadocivil ;//declaramos la variable

int contasolt = 0; se declara y se inicializa en cero los contadores

int contacas = 0;

int contasepa = 0;

int contaotro = 0;

int contador ;

Scanner captura= new Scanner([Link]);// se instancia la clase scanner


para inicializar el objeto captura

[Link](“\ndigite el número de personas a encuestar”);

N=[Link](); //se realiza la lectura del limite

[Link](“\nSeleccione un estado civil : 1 soltero/n 2 casado/n 3 separado/n 4 otro”);

estadocivil=[Link](); //se realiza la lectura del estado civil

while(estadocivil <= N)

{
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

41
contador = contador +1;

switch(estadocivil) {

case 1: [Link](“\n estado civil soltero”);contasolt = contasolt +1;

break;

case 2: [Link](“\n estado civil casado/n”);contacas = contacas +1;

break;

case 3: [Link](“\n estado civil : separado”);contasepa = contasepa +1;

break;

case 4: [Link](“\n estado civil : otro”);contaotro = contaotro +1;

break;

default: [Link](“\nSeleccione solamente 1…4”); break;

}// cierre del selector

[Link](“\nSeleccione un estado civil : 1 soltero/n 2 casado/n 3 separado/n 4 otro”);

estadocivil=[Link](); //se realiza la lectura del estado civil

mostrar(“\nel total de soltero es /t”+contasolt+” el total de casado/t”+ contacas+” el total de


separados es \t”+ contasepa+” el total de otros es\t”+ contaotro);

[Link](0);

public static void mostrar ( String mensaje ) {


[Link](“”mensaje); }

[Link] FORMA DE ACCESO A DATOS JOPOTIONPANEL


JOptionPane es una clase contenedora que nos permite mostrar un dialogo en aspecto gráfico con el que
podremos interactuar para introducir o mostrar la información en tipo texto se encuentra en el paquete
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

42
[Link]., no sobra recordar el uso de métodos convertidores por ser clase para almacenar la
información en el tipo de dato nativo correspondiente.

Métodos de Descripción grafico


JOptionPane

showInputDialog showInputDialog:leer permite


introducir información , este método
devuelve un String con lo que
hayamos escrito

showInputDialog(Object showInputDialog(Object
message message):permite mostrar mensaje
al dialogo, tipo cadena.

showInputDialog(parentC showInputDialog(parentComponent
omponent, message, title, , message, title, messageType):
messageType): permite personalizar el dialogo, con
un título y un icono (error,
información, advertencia, pregunta o
plano). (null, “Introduce un dato”,
“Titulo”,
JOptionPane.INFORMATION_MESS
AGE);

(JOptionPane.ERROR_MES cambiar el icono a error


SAGE)
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

43
(JOptionPane.WARNIG_M cambia a advertencia
ESSAGE),

(JOptionPane.QUESTION_
MESSAGE) pregunta

(JOptionPane.PLAIN_MES
SAGE).
plano

showMessage: permite mostrar información

showMessage(parentCom Imprime o mostrar un mensaje.


ponent, message): ejemplo,[Link]
Dialog(null, “Muestra de
informacion”);

showMessageDialog(pare personaliza la información, con título


ntComponent, message, e
title, messageType iconoasi:, [Link]
eDialog(null, “Error”, “Error”,
JOptionPane.ERROR_MESSAGE);

showConfirmDialog: Devuelve un valor numérico tipo


constantes predefinido

showConfirmDialog(paren muestra un mensaje con las YES_OPTION: devuelve si.


tComponent, message): opciones Si, No y Cancelar, cada una
de las opciones están definidas con NO_OPTION: devuelve no.
una constantes (nos ayuda a indicar
la opción sin saber que numero CANCEL_OPTION: cancelar.
devuelve
OK_OPTION: aceptar.
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

44
showConfirmDialog(paren personalizar el dialogo, coloca un int
tComponent, message, título y un tipo de opción constantes codigo=[Link]
title, optionType que muestra : nfirmDialog(null, "¿Quieres
un euro para una buena
OK_CANCEL_OPTION: aceptar y causa?", "Donacion",
cancelar. JOptionPane.YES_NO_OPTIO
N,
YES_NO_CANCEL_OPTION: si, no y JOptionPane.PLAIN_MESSAG
cancelar. E);

YES_NO_OPTION: si y no.

o showConfirmDialo
g(parentCompone es igual que el anterior pero if
nt, message, title, indicándole el tipo de mensaje (codigo==JOptionPane.YES_
optionType, (advertencia, error o OPTION){
messageType información), se definen igual
que en el primer método que
hemos visto. [Link]("Has
pulsado en SI");

}else
if(codigo==JOptionPane.NO_
OPTION){

[Link]("Has
pulsado en NO");

Es importante nombrar algunos de los métodos convertidores de la clase cadena (String) a tipo de dato
nativo ligados a sus respetivas clases como [Link](cadena); [Link](cadena) ;
[Link](cadena).

Tomado de: [Link]


INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

45
2.3 APLICACIÓN DE LA ORIENTACIÓN A OBJETOS EN EL
LENGUAJE JAVA Y EL MODELADO EN DIAGRAMA DE CLASE
Y CASO DE USO.
Explorar herramientas que permiten una interpretación, diseño y modelado para la elaboración
de aplicaciones en pro de una metodología de orientación a Objeto por medio de proyectos, aplicándolos
adecuadamente el desarrollar software.

Elaboración de aplicaciones preliminares empleando la metodología orientación a objetos desde una


plataforma como es la de java inicialmente incluyendo los diagramas de clase y casos de uso.

2.3.1 ORIENTACIÓN A OBJETOS


El paradigma Orientado a Objeto, es posterior al paradigma estructurado y es pre al paradigma orientado
a aspectos. Siendo una metodología combinada por algoritmos y programación computacional o no que
de manera detallada permiten la solución de un problema simple o complejo. Iniciado por la década de
los años 60 -70 con lenguajes de programación como el Simula y Smalltalk, su mayor auge se logra con
el lenguaje java que proviene de otro llamado OaK que es un proyecto de la SunMicroSystem
originalmente llamado Green project y el otro lenguaje C# perteneciente a Microsoft ambos teniendo
como base a C++ desde la década de los años 80. Para la década de los 90s Grady Booch (Booch,
1995)establece unos elementos referentes como fundamentales y secundarios para dicha metodología.

La orientación a objetos es una técnica de modelado de sistemas, que pueden ser o no computacionales.
Mediante la orientación a objetos se obtiene una representación del problema en cuestión,
representación cercana a como ocurre en el mundo real. Es decir, estamos rodeados de objetos, alumno,
profesor, escuela, estos objetos a su vez interactúan entre ellos para obtener servicios unos de otros. En
la orientación a objetos se tienen también objetos similares a los de la realidad que también reciben y
solicitan servicios unos de otros.

En teoría, las principales ventajas de los modelos orientados a objetos son:

“El entendimiento del sistema es más fácil dado que la diferencia semántica entre el
sistema y la realidad es reducida.”

“Las modificaciones al modelo tienden a ser locales ya que frecuentemente afectan a


una sola entidad, que está representada por un objeto.”

public Estudiante() //Constructor de la clase Estudiante

CLASIFICACIÓN: es el ordenamiento categórico de los miembros dato o procedimiento de un


determinado problema deben ser agrupados donde corresponda por el desarrollador para establecer la
llamada clase, es tal la seriedad hasta establecer en lo posible jerarquías de orden superior como las
superclase o inferior sub clase (especializaciones) como la herencia, proceso por medio del cual se le
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

46
transfieren los atributos y los métodos (variables o características en algoritmos y los subprogramas)
propia para compartir y extender, se considera esta clase como un molde de la cual se definen uno o
más copias (duplicados) que son en la aplicación los Objetos quienes se caracterizan por permitir el
acceso a las propiedades (atributos) y al comportamiento(métodos).

Es notable la existencia de la herencia múltiple pero no aplica en java. Un ejemplo continuando con el
automóvil descripto en la abstracción, sus componentes agrupados a nivel superior seria vehículo, la clase
automóvil que heredaría sus características y procedimientos. Teniendo más elementos en la abstracción
se toman los vehículos terrestre, los aéreos y los acuáticos agrupados pertenecen a la superclase
vehículo, por tanto el automóvil sería una subclase herencia simple de los vehículos terrestres, luego la
clase que agrupa los vehículos anfibios heredaría de dos clases la terrestre y la acuática en nuestra
descripción.
[Link] ELEMENTOS FUNDAMENTALES DE LA ORIENTACIÓN A OBJETOS
Apoyados en (Booch, 1995) “una clase es un conjunto de objetos que comparten una
estructura y un comportamiento común. Un objeto es una instancia de una clase”.
Jacobson describe a una clase como “una definición, una plantilla o molde para habilitar
la creación de nuevos objetos y”…” describe la estructura interna de estos objetos.

La clase es un ente real o abstracto posible de ser programado.

Entonces, una clase es una descripción de un grupo de objetos que comparten propiedades
comunes (atributos), comportamiento común (operaciones) y asociaciones con otros objeto
tomemos como ejemplo, la computadora en la cual esté usted trabajando es una instancia de la
clase que describe a todas las computadoras personales, que podría llamarse “Computadora
Personal”, tiene una estructura de información que incluye su marca, velocidad, espacio en disco,
memoria, entre otros Tiene comportamientos como encenderse, permanecer en espera,
apagarse, bloquearse, aumentar la memoria, segmentar el disco duro, etc. Tiene asociaciones
de agregación con otros objetos como el ratón o la impresora.

Un objeto es una entidad lógica que contiene datos (características) y un código especial (métodos) que
indica como manipular los datos.

Objetos son entidades o duplicados de las clases que combinan estado (atributo),
comportamiento (método) e identidad bien estructurada, se conforman con el fin de solicitar o
enviar mensajes. Se conforman con un identificador de clase (tipo de clase nombre de objeto
tipo clase) luego se instancia.

“un objeto tiene límites definidos tales como estado, comportamiento e identidad”

El estado de un objeto es una de las posibles condiciones en las que un objeto puede existir,
normalmente cambia en el tiempo, es implementado por un conjunto de propiedades (atributos),
los valores de éstos, y las relaciones que el objeto puede tener con otros objetos.

Cada objeto tiene una identidad única, incluso cuando se encuentra en el mismo estado que otro
objeto.
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

47

Una clase es una definición abstracta de un objeto. La clase define la estructura y el


comportamiento de cada objeto de la clase. Sirve como una plantilla para crear objetos. Los
objetos pueden agruparse en clases.

Por ejemplo, en la siguiente imagen tenemos 4 objetos. ¿Cuántas clases puede distinguir?

Lineamientos para encontrar clases

Identificar adecuadamente las clases de un sistema y asignarles las responsabilidades de forma


correcta es lo más importante de un proyecto de software y de él dependerá su éxito, su
reusabilidad, claridad y mantenibilidad.

Las clases se encuentran en los documentos del proyecto, requerimientos, casos de uso,
entrevistas con el cliente, experiencia en proyectos similares, etc.

En UML las clases se representan en alguna de las dos siguientes notaciones:

Clase
Atributos
operaciones

Clase

LA ABSTRACCIÓN permite extraer (comprender) del problema o del mundo real las variables o
características que solo son útiles al momento de solucionarlo, determinando inclusive su
tipología, su delimitación, su estado y comportamiento sin especificar como se ha de realizar la
implementación en relación al algoritmo.
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

48

Un ejemplo para comprender la abstracción de un Automóvil seria por ejemplo algunas de sus
características: marca, placa, color, fecha de fabricación, modelo igual obtenemos sus métodos
o funciones típicas de esta entidad como por ejemplo: frenar, encender, acelerar, parar; de esta
forma se obtendría la definición de variables para la algoritmia luego del análisis.

ENCAPSULAMIENTO: posibilidad de ocultar del exterior mínimamente para no hacer fácil su


acceso los miembros (dato y/o procedimiento) clasificados (agrupados en la clase o en el
proyecto), permitiendo una alta cohesión. Con ello solo se permite a los privilegiados quienes
están autorizados a tener entrada a las componentes ocultas y realizar actualizaciones según
corresponda; en relación al algoritmo se protege un método siendo independiente sin saber que
contiene el uno o el otro, según el alcance local o global o encarpetando el archivo en directorios.

MODULARIDAD es la subdivisión de los procesos en actividades específicas e


independientes estas se encargan de cambiar el estado de una o más componentes al ser requerido
por un mensaje, el acoplamiento del método es bajo pero con una alta relación de sus
componentes por que los cambios ocurridos en unos métodos afectan a otros. Desde la algoritmia se
referencia a los subprogramas, como programas específicos pequeños o no, tipo función o
procedimiento que cumplen su tarea y retorna a donde se les hace el llamado al terminar.

Es la propiedad que permite subdividir una aplicación en partes más pequeñas (llamadas
módulos), cada una de las cuales debe ser tan independiente como sea posible de la
aplicación en sí y de las restantes partes (bajo acoplamiento).
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

49
El Módulo A depende del Módulo B si cualquier cambio en el Módulo B implica que el
Módulo A también tenga que ser modificado. A veces se dice que el Módulo A es un
cliente del Módulo B, o que el Módulo B actúa como servidor del Módulo A.

Destructor método iniciado cuando se elimina un objeto de la memoria.

Automovil objetoauto = new Automovil ();

Automovil objetoauto1 = new Automovil ("placa1", "azul");

Automovil objetoauto2 = new Automovil ("placa2", "rojo");


Generalización y Herencia

Herencia es la propiedad que tienen las agrupaciones de proporcionar sus componentes


propiedades o características y sus procedimientos o métodos de manera jerárquica. Para
especificar la herencia se emplea extends y el nombre de la clase padre ejemplo:

public class Autoterrestre extends Vehículo{ }

La clase Autoterrestre heredara los componentes de la clase Vehículo en el acto posibilitando


definir los miembros propios que lo harán diferente de otros.

Instancia es la asignación de espacio en memoria por el operador new y el


método constructor para que un objeto pueda ser utilizado.
Es el proceso de crear objetos pertenecientes a una clase. El objeto es la instancia de
la clase a la que pertenece. La clase se debe instanciar ya que cada vez que se ejecute
el programa siempre se trabajará con respecto a la instancia y no a clase original.
Requiere del operador new y el método constructor.
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

50
Estado está compuesto de datos, atributos a los que se habrán asignado unos
valores concretos.
Para el nombre de atributo placa se le asigna un valor “placa1” tipo cadena por medio del objeto entidad
objetoauto1 que le envió un mensaje a través del método constructor de la clase Automóvil.

Comportamiento definido por procedimientos o métodos con que puede operar dicho objeto, es decir,
qué operaciones se pueden realizar con él.

Identidad propiedad del objeto o duplicado que lo diferencia de los otros.


[Link] ELEMENTOS SECUNDARIOS DE LA ORIENTACIÓN A OBJETOS
Estas características en la metodología orientada a objetos se establecen como fundamentales es
necesaria su presencia en una aplicación de este tipo, las siguientes se consideran secundarias
y pueden o no estar en nuestra comprensión:
POLIMORFISMO: cuando dos métodos diferentes tienen igual el nombre en distintos objetos, esto es
posible, pero solo se activara según el accionar o el llamado del mensaje o sea depende del momento de
ejecución que es cuando se le asigna al método correspondiente.

Otro:

Por ejemplo, un método llamado mostrar () puede responder de manera distinta dependiendo de quién
lo invoque.

SOBRECARGA cuando los métodos poseen la misma identificación pero sus parámetros varían en
sus tipos respectivos, su ubicación y en número.

Es el uso de dos o más métodos dentro de una misma clase para diferentes objetivos,
estos pueden llevar los mismos parámetros o diferentes

REUSABILIDAD: hace que un proceso o procesos de un programas de un determinado programador se


pueda aplicar cuantas veces sea requerido por el o por otro dado el caso.
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

51
PERSISTENCIA: cuando se define la duración del almacenamiento en memoria de los diferentes
identificadores como temporal (solo mientras esta la aplicación), dinámica (una duración moderada por
asignación interna) o permanente (dura por fuera de la aplicación como en archivos o en base de datos).

RECOLECCION DE BASURA: consiste en recuperar los espacios de memoria que


han sido liberados o no.

2.3.2 INTRODUCCIÓN AL UML DIAGRAMA DE CLASE Y CASO DE USO.


Se traduce Lenguaje Unificado de Modelo , se describe como una técnica todavía no metodología
encargada de agrupar notaciones y diagramas estandarizados para facilitar el diseño y modelado de
estructuras relacionadas con los sistemas de información y utilizados en el desarrollo del mismo de gran
apoyo para la metodología orientada a objetos se clasifica en estructural donde se agrupa a clases,
objetos, componentes e instalaciones y los comportamiento como los casos de uso, secuencia,
colaboración estado y actividades, para nuestro caso se tomara el diagramas de clases y el diagrama de
caso de uso este describe al actor su operación con el sistema la tipificación y la jerarquía de los datos
está conformado por el actor, el caso , la relación y su comunicación

[Link] COMPRENSIÓN DE LOS MODELOS

Los modelos son valiosos por muchas razones específicas, en gran parte, constan de
imágenes e incluso, las imágenes simples pueden transmitir más información que una gran cantidad de
texto. Los modelos son valiosos porque es más fácil dibujar algunas imágenes sencillas que escribir código
o incluso texto que describa lo mismo, además es más económico, rápido y fácil de cambiar
modelos que cambiar código o texto.
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

52
El UML es una definición de un lenguaje de símbolos y relaciones comunes que tiene
un significado común, si todos los participantes hablan UML, entonces las imágenes tienen el mismo
significado para todo aquello que las observe, por lo tanto, aprender
UML es esencial para ser
capaz de usar imágenes para experimentar económico, flexible y dar rápidas
soluciones.

[Link] USO DE LOS MODELOS

[Link].1 Creación de diagramas

La primera regla de la creación de diagramas de modelos es que el código y el


texto consumen tiempo, y no queremos pasar una gran cantidad de tiempo creando documentos
de texto que nadie leerá. Lo que si queremos hacer es captar con exactitud las partes importantes del
problema y una solución. Lamentablemente, esta no es una prescripción para el número o la diversidad
de diagramas que necesitamos crear y no indica cuanto detalle necesitamos agregar a esos diagramas.

[Link].2 Tipos de Diagramas

[Link].2.1 DIAGRAMA DE CAJAS DE USO (CASOS DE USO)

Los símbolos principales de las cajas de uso son el actor, y el ovalo de la caja de uso, los
diagramas son responsables principalmente de documentar los macro requisitos del sistema,
pensando en la lista de capacidades que debe tener o proporcionar el sistema.
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

53

[Link].2.2 DIAGRAMA DE ACTIVIDADES


INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

54

Un diagrama de actividades es una herramienta excelente para analizar


problemas que al final, el sistema debe resolver. Como una herramienta de análisis, no
queremos empezar resolviendo el problema a un nivel técnico mediante la asignación de clases, pero
podemos usar diagramas de actividades para entender el problema e incluso
refinar los procesos que comprenden el problema.
[Link].2.3 DIAGRAMA DE CLASES
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

55

Los diagramas de clases muestran una vista estática del sistema, no describe los
comportamientos o cómo interactúan los ejemplos de la clase. Para describir los comportamientos y las
interacciones entre los objetos de un sistema, podemos revisar los diagramas de interacción.

[Link].2.4 DIAGRAMAS DE INTERACCIÓN

Existen 2 tipos de diagramas de interacción, la secuencia y la colaboración. Ambos


transmiten la misma información, empleando una perspectiva un poco diferente.
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

56
Los diagramas de secuencia muestran las clases a lo largo de la parte superior y los mensajes enviados
entre esas clases, modelando un solo flujo a través de los objetos del sistema. Los diagramas de
colaboración usan las mismas clases y mensajes, pero organizados en una disposición espacial.

Un diagrama de secuencia implica un ordenamiento en el tiempo al seguir la


secuencia de mensajes desde arriba a la izquierda hasta abajo a la derecha. Debido
a que en el diagrama colaborativo no se indica en forma visual un ordenamiento en el tiempo,
enumeramos los mensajes para indicar el orden en el cual se presenta.

Ejemplo (Diagrama de secuencia)


INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

57
Ejemplo (Diagrama de colaboración)

[Link].2.5 DIAGRAMA DE ESTADO


INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

58

[Link].2.6 DIAGRAMAS DE COMPONENTES

El UMLdefine varios tipos de modelos, incluyendo modelos de análisis, para el


diseño y para implementación, sin embargo, nada hay que le fuerce a crear o mantener tres
modelos para una aplicación. Un ejemplo de un diagrama que podría encontrar en un modelo de
implementación es de componentes. En un diagrama de componentes, estos se muestran en el producto
final.
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

59

[Link].2.7 OTROS DIAGRAMAS

otros tipos o variaciones de diagramas que podemos crear. Por ejemplo, un


Existen
diagrama de topología del despliegue le mostrara como se verá desplegado su sistema. Lo
común es que un diagrama de este tipo contenga símbolos que representan cosas, como servidores web,
servidores de bases de datos y varios dispositivos diversos, así como software que construye la solución
que usted requiere. Este tipo de diagrama es más común cuando usted está
estructurando sistemas distribuidos en n hileras.

2.3.3 APLICACIÓN DE LA ORIENTACIÓN A OBJETOS EN EL LENGUAJE


JAVA
La ventana de código presenta varias estructuras las cuales pueden se asignada por el editor en
otro caso si es requerido se procede a codificarlo. Como lo muestra la siguiente tabla
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

60

Nombre de clase sin opción de método Sin método main por lo tanto debe digitarlo

Se declara, inicializa , calcula y muestra No se captura (lee) el resultado

package paqueteuno;

public class Otroprincipal {

public static void


main(String[] args) {

// definir variable

int numerounidad;

double preciou;

String
nombreproducto;

double Valorventa;
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

61

//inicializar las
variables asignacion interna

numerounidad= 7;

preciou=345.78;

nombreproducto=
"mango";

//proceso

Valorventa=
numerounidad * preciou;

//salida informe

[Link](
" el nombre del producto es "+
nombreproducto );

[Link](
" el numero de unidades es \t "+
numerounidad);

[Link](
" el precio de cada unidades es
\t "+ preciou);

[Link](
" el valor de la venta es \t "+
Valorventa);

[Link](
"realizado por -----");

}
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

62

[Link] APLICACIÓN DE LA ORIENTACIÓN A OBJETOS EN EL LENGUAJE JAVA


Una nueva aplicación tipo procedimental (sin clase) pero realizando uno de los tantos formatos con
captura la clase Scanner en una nueva aplicación clase llamada Principal capturando esto requiere de una
carpeta adicional que contiene las clases para la captura llamada útil, se requiere importar desde java
ubicándolo luego del paquete pero antes de la clase respectiva como lo muestra la siguiente tabla.

Crear una nueva clase Seleccionar la métodos scanner

La puesta en ejecución Ojo al entrar los


decimales emplee la , según el teclado .
La declaración y captura de la información

La clase scanner presenta unos métodos internos que se pueden referenciar o aplicar en un caso
específico por ejemplo una lectura convirtiendo la captura a numérico doublé como el método
[Link]() obtenido del objeto scanner .

Cuadro de ejemplo de una aplicación

package paqueteuno;

// se debe importar el paquete util para usar la clase Scanner


INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

63
import [Link].*;

public class Principalcapturando {

public static void main(String[] args) {

// definir variable

int numerounidad;

double preciou;

String nombreproducto;

double Valorventa;

// asignacion Externa

//requiere un paquete llamado util , contiene


la clase Scanner

Scanner captura= new Scanner ([Link]);

// para la lectura se acompaña con un


mensaje previamente

[Link]( " Digite el nombre del


producto " );

//nombreproducto= "mango";

nombreproducto= [Link]();//tipo cadena

[Link]( " Digite el numero de


unidades " );

numerounidad= [Link](); //metodo


next tipo entero
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

64

[Link]( " Digite el precio


unitario " );

preciou=[Link]();

//proceso

Valorventa= numerounidad * preciou;

//salida informe

[Link]( " el nombre del producto


es "+ nombreproducto );

[Link]( " el numero de unidades


es \t "+ numerounidad);

[Link]( " el precio de cada


unidades es \t "+ preciou);

[Link]( " el valor de la venta


es \t "+ Valorventa);

[Link]( "realizado por -----");

Para guardar se realizan los siguientes pasos que se presentan en el siguiente cuadro
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

65

Procedemos desde la barra de menú a luego desde la ventana selecciono general


seleccionar el menú archivo(flie) desde allí se y archivos de sistemas Se especifica en cual
toma el comando exportar unidad se realizara el almacenamiento
generalmente escritorio

[Link] GUARDAR EXPORTAR E IMPORTAR EN EL LENGUAJE JAVA


Para almacenar una aplicación desde su proyecto se realiza el proceso de exportar para almacenar la
información desde el editor o importar traer el proyecto codificado y realizar actualizaciones como se
muestra en el cuadro siguiente para realizar la exportación por pasos
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

66

Iniciar la exportación del General Archivos de sistema Selecciona todos los archivos Y
proyecto ubicar el directorio

finalizar Comprobar si esta almacenado en el


escritorio
Selccionar
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

67

Se comprime el archivo en Queda


caso de enviarlo por correo
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

68
Para importar

Para traear el proyecto Selccionar la carpeta Con lotodos los archivos


almacenado al editor se
importa

Se comprueba y se sobre Se visualiza el proyecto en


escribe si es nescsario la ventana del explorador
del editor listo para editar
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

69

[Link] CON (ESTILO, JAR)

Los jar Es crear un archivo (ejecutable) con extensión Jar se construye a partir de la línea de comandos,
sin depender de los IDEs (entorno Integrado de desarrollo) más conocidos como Netbeans o Eclipse. Es
de aclarar que algunos editores tienen su generador de jar.

Primero se debe crear un Archivo de Manifiesto en el cual se deberá poner el nombre de la clase que
contenga el método main, este archivo puede ser creado a partir del Bloc de Notas, entonces se abre el
Notepad (Bloc de Notas) y escribimos lo siguiente:

Main-Class: HolaMundo

Sealed: true

*Nótese que no se agrega el .class y que la palabra MAIN-CLASS: es obligatoria.

Donde HolaMundo es el Nombre de la Clase que tiene mi método main, una vez escrito eso lo guardamos
con el siguiente nombre en el mismo lugar donde tenemos nuestros archivos .java y .class:

[Link]
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

70
Ahora que tenemos todo listo para construir el .jar vamos a la línea de comandos (CMD) y ejecutamos
la siguiente sentencia:

jar -cf [Link] [Link]

Después de haber ejecutado la sentencia anterior ya tendremos el archivo [Link] en nuestro


directorio, y contendrá el fichero de manifiesto, la clase o clases que tenga nuestro proyecto, ahora al
archivo .jar que tenemos, vamos a modificarlo para indicarle que archivo de manifiesto debe usar, esto
con la siguiente sentencia:

jar cmf [Link] [Link] [Link]

Se permiten comodines (por ejemplo, para incluir todos los archivos class de la carpeta o que cumplan
con alguna condición dada):

 jar cmf [Link] [Link] fichero$.class


 jar cmf [Link] [Link] *.class

Y finalmente ejecutamos nuestro archivo en la línea de comandos con la siguiente llamada: java -jar
[Link].
Se adjunta una captura de todos los pasos antes mencionados al final del post, para que tengan una mejor
idea del Proceso llevado a cabo, les recuerdo que solo empezamos con los archivos:

 [Link]
 [Link]

Y a partir de la ejecución de los comandos terminamos con los siguientes archivos:

 [Link]
 [Link]
 [Link]
 [Link]

Cualquier duda la pueden hacer en los comentarios.


INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

71

Tomado de

[Link]
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

72
3 PISTAS DE APRENDIZAJE
Tenga en cuenta que al manejar medidas de almacenamiento debe saber cuáles son estas, que nombres
reciben y cuáles son sus equivalencias en las otras medidas.

Tenga cuidado cuando convertimos de una medida mayor a una menor se multiplica y cuando
convertimos de una medida menor a una mayor se divide.

No olvide que la mínima medida de medida en informática es el byte y todas las demás medidas se
construyen teniendo esta como base.

Tenga presente que siempre que vaya a realizar una conversión debe saber:

1. Que nos dieron y a que lo vamos a convertir


2. Qué medida es mayor y cual es menor
3. Que operación debe realizar si una multiplicación o una división.
4. la regla tres simple o una operación directa

Tenga en cuenta que los juegos lógicos deben ser vistos como algo divertido.

Tenga cuidado al realizar o desarrollar cada juego seguir los pasos indicados.

No olvide leer y entender en consiste cada juego lúdico antes de sentarse a realizarlos o jugarlos.

Tenga presente que con los juegos lúdicos se pretende desarrollar habilidades de pensamiento para
utilizarla en el desarrollo de software.

Tenga en cuenta que el lenguaje Java “Ayudan a resolver” y sistematizar “problemas de la vida real”

Tenga cuidado con el hecho de que la articulación entre los diferentes conceptos de programación y el
lenguaje Java tiene implicaciones de alto impacto en la investigación y desarrollo de software.

No olvide que las teorías de la programación el lenguaje Java constituyen un campo del conocimiento
con límites concretos que comprenden diversas formas de solucionar problemas en el desarrollo de
software.

Tenga presente que al manejar el lenguaje Java deben ser manejados de una manera cauta cada una de
sus estructuras para obtener una buena solución.

Para recordar

 La orientación a objetos es una técnica de modelado de sistemas, que pueden ser o no


computacionales.
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

73
 La clase es un ente real o abstracto posible de ser programado.

 Instancia es la asignación de espacio en memoria por el operador new y el método constructor


para que un objeto pueda ser utilizado.

 Constructor es un método que posee el mismo nombre de la clase y tiene como principio
inicializar el objeto, es posible sobrecargar este método para establecer la asignación interna sin
parámetro y la externa.

 Destructor método iniciado cuando se elimina un objeto de la memoria.

A tener en cuenta

Origen del lenguaje de programación orientado a Objeto se fundamenta en el paradigma Orientado a


Objeto, es posterior al paradigma estructurado y es pre al paradigma orientado a aspectos.
 Lpoo
 [Link] youtube
 [Link]
 [Link]
4954115?next_slideshow=1

Estas características en la metodología orientada a objetos se establecen como fundamentales es


necesaria su presencia en una aplicación de este tipo, las siguientes se consideran secundarias y pueden
o no estar en nuestra comprensión:

POLIMORFISMO cuando dos métodos diferentes tienen igual el nombre en distintos objetos, esto es
posible, pero solo se activara según el accionar o el llamado del mensaje o sea depende del momento de
ejecución que es cuando se le asigna al método correspondiente.

Por ejemplo, un método llamado mostrar () puede responder de manera distinta


dependiendo de quién lo invoque:

SOBRECARGA cuando los métodos poseen la misma identificación pero sus parámetros varían en sus
tipos respectivos, su ubicación y en número.

REUSABILIDAD hace que un proceso o procesos de un programas de un determinado programador se


pueda aplicar cuantas veces sea requerido por el o por otro dado el caso.

PERSISTENCIA cuando se define la duración del almacenamiento en memoria de los diferentes


identificadores como temporal (solo mientras esta la aplicación), dinámica (una duración moderada por
asignación interna) o permanente (dura por fuera de la aplicación como en archivos o en base de datos).
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

74
RECOLECCION DE BASURA consiste en recuperar los espacios de memoria que han sido liberados o
no.

ELEMENTOS BÁSICOS DEL LENGUAJE DE PROGRAMACIÓN JAVA

[Link]

La máquina virtual de java garantiza la independencia de la plataforma lo cual permite utilizar el programa
con solo una compilación y una interpretación, con una disminución de rendimiento pero es mejorado
con la tecnología JIT(just in time compilaction) luego generara un código intermedio llamado bytecode,
para ser utilizado en cualquier sistema operativo

Compilación proceso de verificar( detectar errores de sintaxis al transcribir el algoritmo a código del
lenguaje de programación) todo el archivo y si no presenta errores llevarlo a lenguaje de maquina
(binario)

Interprete proceso de verificar( detectar errores de sintaxis al transcribir el algoritmo a código del lenguaje
de programación) línea por línea y si no presenta errores llevarlo a lenguaje de maquina (binario)

El JRE javaRuntime Environment Java runtime su función es incluir bibliotecas de código.

El JDK (Java Develpment Kit), kit de desarrollo de java facilita a los programadores de java la elaboración
de aplicaciones (básicas y graficas API ) y applets(para el explorador de internet).

Los directorios son las carpetas que se encuentran en el jdk con su respectiva versión y que contienen
diferentes archivos binarios, documentos librerías, fuentes y demás por ejemplo la carpeta bin que
contiene los archivos ejecutables entre ellos el javac y el java.

Los paquetes se encargan de agrupar las clases con características similares requieren ser importados
para tener disponible dichas clases la orden debe estar al iniciar la aplicación antes de la clase su forma
de escribir es la sentencia (orden) import java. paquete. * ; si coloca el carácter asterisco llamado
comodín se dispondrá de todas las clases que contenga el paquete, si en lugar de * se especifica el nombre
de la clase se dispone únicamente de esta asi import java. paquete. Clase especifica; una lista de paquetes
es la siguiente:

La estructura básica de una aplicación en java

Identificadores son los nombres (formados preferiblemente por caracteres letras no se recomienda
empezar por número) que se le asignan a cada uno de los elementos a utilizar en la aplicación, están
clasificados así: de clase, de método, de variable y de constante

Los símbolos son caracteres regidos por la asociación Unicode

Los caracteres llamados bloques y separadores cumplen una función específica entre otros tenemos:

Abstract, boolean, byte , switch ,class , const, do , double ,else , enumer , extends, final, float, for,

If , import ,int , long, new ,return, short, static, super, this, while
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

75

Estructura de una aplicación en lenguaje de programación java

[Link]

Para captura de datos se debe emplear hasta el momento una clase llamada Scanner que pertenece al
paquete útil, por ser clase tiene unos métodos que le permiten convertir la información tomada desde
el teclado y llevarla a la variable según su tipo el procedimiento será:

Importar el paquete

public static void main(String [] arg)

Int N;// variable numero de encuestados

int estadocivil ;//declaramos la variable

int contasolt = 0; se declara y se inicializa en cero los contadores

int contacas = 0;

Ejecutar es poner a funcionar la aplicación

Esto está en el documento de la página webnode que se puede ajuntar

Ejercicio de Entrenamiento:

Programar en java lo siguiente:

Una empresa está dividida en N sedes, cada sede en M secciones y cada sección tiene un número no
determinado de empleado. De cada empleado se conoce nombre, sexo, edad, salario básico y
deducciones.

Elabore un algoritmo que permita calcular e imprimir.

a). El promedio de edad de los empleados por sección y por sede

b). El porcentaje de mujeres de 18 años por sección y por sede

C). El número de mujeres que ganan más de 4 salarios mínimos por sección
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

76
d). Un mensaje “si existe al menos un empleado hombre que gane más de 20 salarios mínimos” de toda
la empresa

e). El nombre y la edad de la mujer más joven por sección

f). El nombre y la edad del hombre más viejo por sede

g). El valor de las deducciones más altas de toda la empresa

h). El promedio de salarios netos de las mujeres mayores de 18 años por sede y sección.

i). El porcentaje de empleados hombres que ganan menos de dos salarios mínimos por sección.

j). El valor del salario neto más bajo de toda la empresa.


INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

77
4 GLOSARIO
Tuvo al vacío: es un componente electrónico utilizado para amplificar, conmutar, o modificar una señal eléctrica
mediante el control del movimiento de los electrones en un espacio "vacío" a muy baja presión, o en presencia de
gases especialmente seleccionados.

Transistor: es un dispositivo electrónico semiconductor utilizado para entregar una señal de salida en respuesta a
una señal de entrada.

Circuito integrado: es una combinación de elementos de un circuito que están miniaturizados y que forman parte
de un mismo chip o soporte. La noción, por lo tanto, también se utiliza como sinónimo de chip o microchip.

Procesador: también conocido como CPU o micro, es el cerebro del PC. Sus funciones principales son, entre otras,
la ejecución de las aplicaciones y la coordinación de los diferentes dispositivos que componen el equipo .

Realidad virtual: es por lo general un mundo virtual generado por ordenador (o sistemas informáticos) en el que
el usuario tiene la sensación de estar en el interior de este mundo, y dependiendo del nivel de inmersión este puede
interactuar con este mundo y los objetos del mismo en un grado u otro.

Abaco: Se trata de un cuadro construido con madera que dispone de 10 alambres o cuerdas dispuestos de manera
paralela. Cada uno de estos alambres o cuerdas, a su vez, cuenta con 10 bolas que pueden moverse. El ábaco, por lo
tanto, es un instrumento que ayuda a realizar cuentas y cálculos simples.

Binario: es aquel que numera empleando sólo ceros (0) y unos (1). Esto quiere decir que, en el marco de estos
sistemas, cualquier cifra puede expresarse a partir de estos números. Este sistema es utilizado por
las computadoras u ordenadores, que funcionan con un par de voltajes diferentes y que atribuyen el 0 al apagado
y el 1al encendido.

Decimal: el que utiliza las potencias de 10 como base para escribir números.

Octal: El sistema numérico en base 8 se llama octal y utiliza los dígitos 0 a 7.

Hexadecimal: El sistema hexadecimal (a veces abreviado como Hex, no confundir con sistema) es el sistema de
numeración posicional que tiene como base el 16.

Bit: En informática y otras disciplinas, unidad mínima de información, que puede tener solo dos valores (cero o
uno).

Byte: Conjunto de 8 bits que recibe el tratamiento de una unidad y que constituye el mínimo elemento de memoria
direccionable de una computadora.

Kilobyte: Medida de la capacidad de memoria de una computadora que es igual a 1024 bytes.

Megabyte: Medida de la capacidad de memoria de una computadora que es igual a 1 millón de bytes.

Terabyte: Un terabyte es una unidad de almacenamiento de información cuyo símbolo es el TB, y equivale a 10¹²
bytes.
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

78
Sudoku: es un juego que tomo su poderío en Japón a principio de los años 80’s, es una matriz de 9 x 9,
(el formato más clásico de este juego), y consiste en una colección de 9 filas, 9 columnas, y 9 áreas más
pequeñas, en las que no se deben de repetir número, símbolos o letras, la forma más tradicional se trabajó
con números del 1 al 9,

Kakuro: es otro juego de origen Japonés, que nos permite desarrollar habilidades numéricas, en un
proceso similar a un crucigrama, este tiene diferentes tamaños y formas y debe de arrojar un valor que
nos pueda ser útil tanto en filas y columnas, sus principales condiciones es que solo acepta valores entre
el 1 y el 9 sin repetir por bloque de números.

Tangram: es un juego de origen chino, que costa de 7 fichas 5 de ellas triángulos con las que se pretenden
realizar una serie de figuras con la condicional de que no deben sobrar fichas, siempre se deben de utilizar
las 7.

La torre de Hanoi: es una de las más representativas dentro de los aspectos lógicos por su apoyo a la
recursividad, es un juego matemático que a medida que se ubican más discos, estos duplican la cantidad
de movimientos de la opción anterior, si esta se inicia con 3 discos, los movimientos mínimos para
solucionarla es de 7, pero si se colocan 4 discos su solución mínima es de 15 movimientos.

UML: es un lenguaje de Modelos Unificados por sus siglas en inglés, es el lenguaje de modelos de sistemas
de software más popular en la actualidad, es un lenguaje para construir, especificar, visualizar y
documentar sistemas de aplicativos.

Lenguaje de Programación: un sistema estructurado y diseñado principalmente para que las máquinas y
computadoras se entiendan entre sí y con nosotros, los humanos. Contiene un conjunto de acciones
consecutivas que el ordenador debe ejecutar.

Clase: se encarga de definir las propiedades y comportamiento de un tipo de objeto concreto. La instancia
de lectura de estas definiciones y la creación de unos objetos nuevos a partir de ellas.

Herencia: Es la facilidad mediante la cual la clase A comparte en ella cada uno de los atributos y
operaciones de B, como si esos atributos, operaciones y procesos se hubieran definidos en la primera
clase A. en este caso se pueden usar los mismos métodos y variables publicas declaradas en la clase B.

Objeto: entidad compuesta por n conjunto de propiedades o atributos y de métodos, los mismos que a
eventos. Es equivalente a los objetos reales del mundo que nos rodea.

Método: es la parte lógica que se aplica a la programación en cuestión, en el desarrollamos todos los
procesos que el aplicativo requiere, está asociado a un objeto, pero la ejecución de este solo se mediante
un "mensaje". Un método puede producir un cambio en las propiedades del objeto, o la generación de
un "evento" con un nuevo mensaje para otro objeto del sistema.

Evento: Es un suceso que ocurre en el programa, tal como puede ser un clic, un doble clic etc. El sistema
maneja el evento enviando el “mensaje” adecuado al objeto seleccionado.
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

79
Mensaje: es la forma de comunicarse con un objeto, mediante este se ordena que ejecute uno de sus
métodos con parámetros asociados al evento que lo generó.

Propiedad o atributo: contiene un tipo de datos relacionado con un objeto, cuyo valor puede ser alterado
por la ejecución de algún método.

Abstracción: Especifica las características fundamentales de un objeto, donde se captura su


comportamiento. Cada objeto que posee el programa sirve como modelo abstracto, además de poder
informar y cambiar su estado, y "comunicarse" con otros objetos en el sistema sin revelar cómo se
implementan estas características.

Encapsulamiento: Es la característica de reunir a todos los elementos que pueden pertenecer a una
misma entidad, al mismo nivel de abstracción. Se puede definir también como el principio de ocultación,
principalmente porque se suelen emplear conjuntamente.

Polimorfismo: Se cataloga como un comportamiento diferente, asociado a objetos distintos, pueden


tener el mismo nombre, al llamarlos por ese nombre se utilizará el comportamiento correspondiente al
objeto que se esté usando. Esto indica que las referencias y las colecciones de objetos pueden tener
objetos de diferentes tipos.

Recolección de basura: la Recolección de basura o GarbageCollector es la técnica por la cual el ambiente


de Objetos se encarga de destruir automáticamente sus clases, objetos o métodos, este tipo de proceso
anteriormente se conocía como constructor. Esto significa que el desarrollador no debe preocuparse por
la asignación o liberación de memoria.
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

80
5 BIBLIOGRAFÍA
Fuentes bibliográficas

Brassard, G.; Bratley, P. (2012). Fundamentos de algoritmia. Bogota: Prentice Hall.


Anton, J; Ribas , L. (2004). Introducción al Desarrollo de [Link]: Eureca Media.
Evitts, P. (2000). UML Pattern Language, A. United States: New Riders Publishing.
Page-Jones, M; Wesley, A;. (2000). Fundamentals of Object-Oriented Design in [Link].
Peláez, J. (2007). Análisis Y Diseño De Algoritmos: Un Enfoque Teórico Y Práctico. Malaga España:
Intercambio Científico.
Schneider, G; Winter, J; . (2001). Applying Use [Link]: Pearson Education, Inc.
Tremblay, J; Karl, W;. (2010). Fundamentos de Programación. Pearson Education.

Fuentes digitales o electrónicas

ALGORITMIA, N. (2008). Algortimos. Obtenido de Estructura de Datos: [Link]


Caceres, D. (04 de 04 de 2008). NTRODUCCIÓN PRÁCTICA AL DESARROLLO DE SOFTWARE DIRIGIDO POR
MODELOS. Obtenido de
[Link]
Castiblanco, J. ((2010). Historia De La Pc. Obtenido de [imagen]:
[Link]
DumitruAlcantara. (2011). Unidades de almacenamiento en informática. Obtenido de [Imagen]:
[Link]
Geraldine. (2012). Historia y evolución del Pc. Obtenido de [imagen]: [Link]
Gonzalez, R. (2010). Mapa Conceptual Programación. Obtenido de
[Link]
Ihmc, T. (2014). Mapa Conceptual Programación Orientada a Objetos. Obtenido de
[Link]
rientada%20a%[Link]
Jabry. (2014). Mapa mental conceptual que explique la materia de fundamentos de programación.
Obtenido de [Link]
Latina, O. (2011). Guia de UML. Obtenido de [Link]
Matemáticas, F. (2014). Sistema de numeración - un concepto / opinión personal. Obtenido de [Imagen]:
[Link]
Modeller, T. c. (s.f.). Elementos de UML. Obtenido de Diagrama de casos de uso:
[Link]
nafsther0784. (2011). Mapa Conceptual UML. Obtenido de
[Link]
Rodríguez, C. (28 de 07 de 2003). Ejemplo de desarrollo software Utilzando la Metodología RUP.
Obtenido de Desarrollo de un Sistema para la Gestión de Articulos Deportivos:
[Link]
Torres, G. (2011). Mapa Conceptual Programación. Obtenido de [Link]
Unad. (2014). Mapa Conceptual Del Curso Académico De Lógica Formal Y Simbólica. Obtenido de
[imagen]: [Link]
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

81
Brassard, G.; Bratley, P. (2012). Fundamentos de algoritmia. Bogota: Prentice Hall.
ALGORITMIA, N. (2008). Algortimos. Obtenido de Estructura de Datos: [Link]
Anton, J; Ribas , L. (2004). Introducción al Desarrollo de Software. Barcelona: Eureca Media.
Booch, G. (1995). Análisis y diseño orientado a objetos con aplicaciones. madrid: Dias de Santos/Addison
Wesley.
Booch, G. (2001). Analisis y diseño orientado a Objetos con aplicaciones. mexico: s.a Alhambra mx.
Caceres, D. (04 de 04 de 2008). NTRODUCCIÓN PRÁCTICA AL DESARROLLO DE SOFTWARE DIRIGIDO POR
MODELOS. Obtenido de
[Link]
Castiblanco, J. ((2010). Historia De La Pc. Obtenido de [imagen]:
[Link]
Deitel, P. J., & Deitel, H. M. (2008). Java como programar. mex: pearson prentice hall 139789702611905.
DumitruAlcantara. (2011). Unidades de almacenamiento en informática. Obtenido de [Imagen]:
[Link]
Evitts, P. (2000). UML Pattern Language, A. United States: New Riders Publishing.
Geraldine. (2012). Historia y evolución del Pc. Obtenido de [imagen]: [Link]
Gonzalez, R. (2010). Mapa Conceptual Programación. Obtenido de
[Link]
Ihmc, T. (2014). Mapa Conceptual Programación Orientada a Objetos. Obtenido de
[Link]
rientada%20a%[Link]
Jabry. (2014). Mapa mental conceptual que explique la materia de fundamentos de programación.
Obtenido de [Link]
Johaspot. (7 de 10 de 2010). LA INGENIERIA DE SISTEMAS EN LA ACTUALIDAD. Obtenido de
[Link]
Joyannes, L. (2003). Fundamentos de Programación. Algoritmos y Estructuras de Datos y Objetos. Ed.
McGraw-Hill.
Latina, O. (2011). Guia de UML. Obtenido de [Link]
Matemáticas, F. (2014). Sistema de numeración - un concepto / opinión personal. Obtenido de
[Imagen]: [Link]
Modeller, T. c. (s.f.). Elementos de UML. Obtenido de Diagrama de casos de uso:
[Link]
nafsther0784. (2011). Mapa Conceptual UML. Obtenido de
[Link]
Page-Jones, M; Wesley, A;. (2000). Fundamentals of Object-Oriented Design in UML. Massachusetts.
Peláez, J. (2007). Análisis Y Diseño De Algoritmos: Un Enfoque Teórico Y Práctico. Malaga España:
Intercambio Científico.
Pico, P. (02 de 2013). Definición de ingeniería de sistemas. Obtenido de
[Link]
Rodríguez, C. (28 de 07 de 2003). Ejemplo de desarrollo software Utilzando la Metodología RUP.
Obtenido de Desarrollo de un Sistema para la Gestión de Articulos Deportivos:
[Link]
Schneider, G; Winter, J; . (2001). Applying Use Cases. Boston: Pearson Education, Inc.
Torres, G. (2011). Mapa Conceptual Programación. Obtenido de [Link]
Tremblay, J; Karl, W;. (2010). Fundamentos de Programación. Pearson Education.
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
INGENIERÍA DE SISTEMAS

82
Unad. (2014). Mapa Conceptual Del Curso Académico De Lógica Formal Y Simbólica. Obtenido de
[imagen]: [Link]
Unad. (s.f.). Actualidad de la Ingeniería en Colombia. Obtenido de
[Link]
n_colombia_2.html

También podría gustarte