Metodo de Las 6d
Metodo de Las 6d
Corrección de esƟlo:
Mónica Barrera Velasco
Milton A. Gonzales M.
Diagramación:
Lizbeth Eufracio Quispe
SebasƟan Alvarez Sanchez
Impresión
Talleres gráficos de la Empresa Editora Macro EIRL
Jr. San Agusơn N.° 612-624, Surquillo, Lima, Perú
Prohibida la reproducción parcial o total, por cualquier medio o método, de este libro sin
previa autorización de la Empresa Editora Macro EIRL.
Juan José Flores Cueto
Ingeniero de Computación y Sistemas, magister en Administración con mención en Gerencia Estratégica de
Organización; doctor en Educación por la Universidad de San Marơn de Porres (USMP). Además, obtuvo el ơtulo
de Especialista y el Diploma de Estudios Avanzados (DEA) en Integración de las Tecnologías de la Información en
las Organizaciones (ITIO), por la Universidad Politécnica de Valencia (UPV), España. Actualmente, es doctorando
del Programa ITIO de la UPV.
Es autor de diversos libros, como guías y manuales, los cuales se uƟlizan para la enseñanza universitaria. También
ha colaborado con arơculos para revistas nacionales e internacionales, y ha parƟcipado en diversos congresos.
La página personal del autor es: hƩp://jjflorescueto.googlepages.com/. Y sus publicaciones se pueden encontrar
en: hƩp://www.lulu.com/spotlight/jjflorescueto, y en la red: hƩp://www.reddolac.org
Carmen Bertoloƫ Zuñiga
Ingeniera de Computación y Sistemas, egresada de la Universidad de San Marơn de Porres (USMP).
Con estudios finalizados en la maestría en Educación con mención en InformáƟca y Tecnología, en la
USMP. Se desempeña como docente contratada en la Facultad de Ingeniería y Arquitectura (FIA), de la
USMP, así como en otras insƟtuciones educaƟvas.
Es autora del libro Método de las 6’D. Modelamiento - Algoritmo - Programación. (Enfoque orientado a
las estructuras lógicas). 2da. ed. Lima: Fondo Editorial USMP, 2008. También ha escrito diversos arơculos
en el boleơn electrónico InfoFIA de la FIA USMP; además, es autora de guías y manuales uƟlizados en el
quehacer universitario. Ha laborado en diversas empresas del sector privado, desempeñándose como
ingeniera de desarrollo y jefe de sistemas.
Dedicatoria
Capítulo 1
Método y herramientas .......................................................................................................................... 13
1.1 Método de las 6’D ...........................................................................................................15
1.1.1 Etapas y pasos ..........................................................................................................16
1.1.2 Resumen de método ................................................................................................23
1.1.3 Resultado de las etapas del método ........................................................................24
1.2 Marco de trabajo .............................................................................................................25
1.3 Modelamiento .................................................................................................................26
1.3.1 Paquete ...................................................................................................................26
1.3.2 Clase .........................................................................................................................26
1.3.3 Objeto ......................................................................................................................27
1.3.4 Diagrama de paquetes .............................................................................................28
1.4 Algoritmo..........................................................................................................................29
1.4.1 CaracterísƟcas ..........................................................................................................29
1.4.2 Herramientas ...........................................................................................................30
1.5 Programación ..................................................................................................................39
1.5.1 Tipos de lenguajes de programación .......................................................................40
Capítulo 2
Estructuras lógicas de secuencia y estructura de datos variable ........................................................... 41
2.1 Estructuras lógicas de secuencia .....................................................................................45
2.1.1 Definición .................................................................................................................45
2.2 Método de las 6´D - Desarrollo de soluciones con un paquete .......................................46
2.3 Estructuras lógicas de secuencia: Mostrar información ..................................................47
2.3.1 Definición .................................................................................................................47
2.3.2 Representación ........................................................................................................47
2.3.3 Consideraciones adicionales para los lenguajes de programación C++ y Java .........49
2.4 Estructura de datos: Variable ..........................................................................................60
2.4.1 Definición .................................................................................................................60
2.4.2 Declaración ..............................................................................................................60
2.4.3 Nombre ....................................................................................................................60
2.4.4 Inicialización .............................................................................................................61
2.4.5 Almacenamiento o asignación de datos ..................................................................61
2.4.6 Constantes ...............................................................................................................62
2.5 Tipos de dato ...................................................................................................................62
2.5.1 Definición .................................................................................................................62
2.5.2 En pseudocódigo y diagrama de flujo ......................................................................63
2.5.3 En lenguaje C++........................................................................................................64
2.5.4 En lenguaje Java .......................................................................................................65
2.6 Uso de comentarios .........................................................................................................75
2.7 Estructura lógica de secuencia: Ingresar datos................................................................80
2.7.1 Definición .................................................................................................................80
2.7.2 Representación ........................................................................................................80
2.8 Estructura lógica de secuencia: Procesar datos................................................................91
2.8.1 Definición .................................................................................................................91
2.8.2 Tipos.........................................................................................................................91
2.9 Método de las 6`D - Desarrollo de soluciones con dos paquetes ....................................100
2.10 Desarrollo de Aplicaciones Java, uƟlizando Java Development Kit (JDK ) ......................126
2.10.1 Edición....................................................................................................................126
2.10.2 Compilación ...........................................................................................................126
2.10.3 Ejecución ................................................................................................................126
2.11 Soluciones uƟlizando cuadros de diálogo......................................................................128
2.11.1 Uso de la clase LE codificada en Java .....................................................................128
2.11.2 Método de las 6´D - Uso de cuadros de diálogo ....................................................129
Capítulo 3
Estructuras lógicas de decisión o selección ............................................................................................ 143
3.1 Desarrollo de soluciones con un paquete .......................................................................147
3.2 Estructuras lógicas de decisión ........................................................................................147
3.2.1 Definición .................................................................................................................147
3.2.2 Estructura lógica de decisión simple ........................................................................148
3.2.3 Estructura lógica de decisión doble .........................................................................167
3.2.4 Estructura lógica de decisión múlƟple: “CUANDO” .................................................184
3.2.5 Estructura lógica de decisión múlƟple: “SI ANIDADOS” ..........................................208
3.3 Uso combinado de las estructuras lógicas de decisión....................................................237
3.4 Uso anidado de las estructuras lógicas de decisión.........................................................237
3.5 Desarrollo de aplicaciones Java, uƟlizando Integrated Development Environment (IDE) .. 257
3.6 Método de las 6´D - Uso de cuadros de diálogo ..............................................................259
Capítulo 4
Estructuras lógicas de control o repeƟción ............................................................................................ 281
4.1 Método de las 6’D - Desarrollo de soluciones con dos paquetes ...................................285
4.2 Estructuras lógicas de repeƟción .....................................................................................286
4.2.1 Otros usos de las variables .......................................................................................287
4.2.2 Estructura lógica de repeƟción: “HACER” ................................................................287
4.2.4 Estructura lógica de repeƟción: “MIENTRAS” ..........................................................348
4.2.5 Estructura lógica de repeƟción: “DESDE” o “PARA” .................................................378
4.3 Empaquetar aplicaciones Java uƟlizando Java ARchives ( JAR ).......................................409
4.3.1 Creación de un JAR...................................................................................................409
4.3.2 Ejecución de un JAR .................................................................................................411
4.3.3 Visualizar un JAR ......................................................................................................412
4.3.4 Extracción de un JAR ................................................................................................413
4.4 SoŌware para decompilar aplicaciones java ...................................................................415
4.4.1 Uso de javap del JDK ................................................................................................415
4.4.2 Uso de otros soŌware ..............................................................................................416
4.5 Método de las 6´D - Uso de cuadros de diálogo ..............................................................418
Capítulo 5
Estructuras lógicas combinadas .............................................................................................................. 435
5.1 Uso combinado de las estructuras lógicas ......................................................................439
5.2 Manejo de excepciones en el lenguaje de programación Java ........................................522
5.3 Desarrollo de las capacidades lógicas..............................................................................530
5.4 Desarrollo de miniaplicaciones Java (Applet) uƟlizando Java Development Kit ( JDK ) ...557
5.5 Métodos de las 6´D – Uso de cuadros de diálogo ...........................................................559
Capítulo 6
Introducción al desarrollo de soluciones orientadas a objetos y al uso de Interfaz Gráfica de
Usuario .................................................................................................................................................... 583
6.1 Conceptos básicos ...........................................................................................................588
6.1.1 Clase .........................................................................................................................588
6.1.2 Objeto (Modelos de entes del mundo) ...................................................................589
6.1.3 Atributo ....................................................................................................................590
6.1.4 Método ....................................................................................................................595
6.2 Método de las 6’D: Redefinición de pasos ......................................................................608
6.2.1 Ajuste de los pasos definidos para las etapas del método .......................................608
6.3 SoŌware para generar ejecutables en MS-Windows basado en aplicaciones Java ........615
6.3.1 Uso de soŌware ......................................................................................................615
6.4 Introducción a las soluciones uƟlizando Interfaz Gráfica de Usuario (GUI) .....................618
6.4.1 Introducción .............................................................................................................618
6.4.2 Definición .................................................................................................................618
6.4.3 Etapas para el desarrollo de GUI ..............................................................................618
6.4.4 Contenedores y componentes de la GUI..................................................................619
6.4.5 Administradores de diseño de la GUI.......................................................................620
6.4.6 Manejadores de evento de la GUI ...........................................................................620
6.5 Método de las 6´D – Desarrollo de soluciones con GUI ..................................................621
Se tratan las Estructuras Lógicas de Secuencia (ELS), las variables, las Estructuras Lógicas de Decisión
(ELD), las Estructuras Lógicas de RepeƟción (ELR) y las Estructuras Lógicas Combinadas (ELC).
También se tratan las estructuras de bifurcación y el manejo de excepciones en Java (try, catch), y
se finaliza con una introducción al desarrollo de soluciones orientadas a objetos y al uso de Interfaz
Gráfica de Usuario (GUI) en los programas Java.
La estructura de los capítulos y su relación directa con los problemas propuestos al final de cada
uno de ellos, y la gran canƟdad de soluciones desarrolladas (250 en total), en las cuales se incluyen
75 pseudocódigos, 59 diagramas de Flujo, 6 diagramas de acƟvidad, 76 programas en C++, 217
problemas en Java uƟlizando la consola y 23 programas en Java uƟlizando cuadros de diálogo,
garanƟzan un aprendizaje progresivo y adecuado de cada uno de los temas tratados.
Finalmente, se incluye una sección llamada PUNTO A PARTE, que permiƟrá al lector conocer
nuevas herramientas de soŌware gratuitas que complementarán sus conocimientos y le ayudarán a
desarrollar mejores aplicaciones en Java. Los temas incluidos son:
M é to d o y h e r r a m i e n t a s
1
CAP. 1: M ÉTODO Y HERRAMIENTAS 15
Durante el transcurso de nuestra vida nos enfrentamos a diversos problemas. Algunos de ellos
podemos solucionarlos fácilmente, mientras que otros se complican de tal forma que nos afectan de
una manera muy profunda.
Por su naturaleza, algunos problemas pueden ser resueltos uƟlizando una computadora. Generalmente
son de Ɵpo estructurado; es decir, que Ɵenen una solución determinada y pueden llegar a ser muy
sencillos o extremadamente complejos. Para resolver estos problemas estructurados uƟlizando una
computadora, es importante aplicar un método fácil de comprender y que guíe paso a paso hasta la
solución del problema.
El método propuesto y uƟlizado en el presente texto es el Método de las 6’D. Está compuesto de
seis etapas, cada una de las cuales consta de una serie de pasos que se van modificando o ajustando,
dependiendo del grado de complejidad del problema y las herramientas que se uƟlicen para su
solución.
Con la finalidad de recordar el método, se ha establecido que el nombre de cada una de sus seis etapas
comience con la letra “D”.
Etapa 01
Descripción
del problema
Etapa 02
Definición
Solución n veces Ingeniería
reversa
Etapa 03
Diseño
Solución
Etapa 04
Desarrollo
Solución
MODELAMIENTO Etapa 05
ALGORITMO Depuración
Pruebas
Etapa 06
CODIFICACIÓN
N Documento
16 MÉTODO DE LAS 6’D - ENFOQUE ORIENTADO A LAS ESTRUCTURAS LÓGICAS
Etapa 01
Lo primero que se debe hacer en esta
Descripción etapa es idenƟficar cuál es el problema que
del problema se desea resolver. Esto que parece algo
sumamente sencillo, muchas veces resulta
una tarea agotadora, ya que existen muchas
opiniones acerca de cuál es el problema
central. IdenƟficarlo es una de las tareas más
importantes que los analistas deben afrontar.
Pasos:
IdenƟficacióndel problema.
Descripcióngeneral del problema.
Enunciado claro y preciso del problema.
ENUNCIADO
El resultado obtenido en esta etapa es un enunciado claro del problema que se desea solucionar.
CAP. 1: M ÉTODO Y HERRAMIENTAS 17
Etapa 02
En esta etapa es necesario estudiar a fondo
Definición el problema para poder solucionarlo, saber
de la solución exactamente en qué consiste y descomponerlo
en cada una de sus partes, facilitando su
comprensión y posterior solución. Esta es una
regla que siempre debe ser aplicada, se uƟlice
o no una computadora en la solución de un
problema.
Pasos:
ESPECIFICACIONES
En esta etapa se obƟenen las especificaciones, que determinan lo que se debe hacer para solucionar
el problema.
18 MÉTODO DE LAS 6’D - ENFOQUE ORIENTADO A LAS ESTRUCTURAS LÓGICAS
Etapa 03
Una vez definida la solución se procederá a
Diseño diseñar la lógica, modelando y desarrollando
de la solución algoritmos.
Pasos:
DIAGRAMAS Y
ALGORITMOS
El resultado obtenido en esta etapa son los diagramas y los algoritmos, que especifican cómo se
debe hacer para solucionar el problema.
CAP. 1: M ÉTODO Y HERRAMIENTAS 19
Etapa 04
Una vez previstas todas las posibilidades y
Desarrollo alternaƟvas que puedan presentarse y que
de la solución pasen sin inconvenientes por la clase y los
algoritmos, se procederá a la codificación del
problema en algún lenguaje de programación.
Pasos:
PROGRAMAS
El resultado obtenido en esta etapa son los programas y/o clases codificados en un lenguaje de
programación, que permiten solucionar el problema.
20 MÉTODO DE LAS 6’D - ENFOQUE ORIENTADO A LAS ESTRUCTURAS LÓGICAS
Etapa 05
Luego que se codifiquen los programas y/o
Depuración y clases, deberán ser probados mediante su
pruebas ejecución (esta acción se conoce como corrida
del programa). Al realizarse pueden surgir
diferentes Ɵpos de errores, siendo los de lógica
y sintaxis los más comunes.
Pasos:
PRUEBAS
El resultado obtenido en esta etapa son las pruebas, que registran el adecuado funcionamiento de la
solución del problema.
CAP. 1: M ÉTODO Y HERRAMIENTAS 21
Etapa 06
En esta etapa se recopila toda la documentación
Documentación generada en las etapas anteriores, la cual
servirá como base para la elaboración del
manual técnico.
Descripcióndel problema.
Resultados esperados y datos necesarios
para generar dichos resultados.
Diagramas UML, DF y/o pseudocódigo.
Pruebas desarrolladas.
Pasos:
MANUALES
El resultado obtenido en esta etapa son los manuales, que permiten un adecuado manejo de la
solución desarrollada.
22 MÉTODO DE LAS 6’D - ENFOQUE ORIENTADO A LAS ESTRUCTURAS LÓGICAS
Adicionalmente, es posible realizar ingeniería reversa entre las etapas 03, 04 y 05.
Pasos:
Etapa 05
Exportar proyecto (archivos class o
Depuración y Java) al disco de la PC, si está trabajando
pruebas con un IDE.
Importar proyecto (archivos class o
Java) a una herramienta CASE y realizar
la ingeniería reversa.
MODELAMIENTO
Organizar el modelo obtenido en la
ALGORITMO herramienta CASE.
CODIFICACIÓN
DIAGRAMAS
ACTUALIZADOS
Etapa 01 Etapa 02 Etapa 03 Etapa 04 Etapa 05 Etapa 06
problema. datos que se diagramas, internos en los escritura de los Generar el manual
para
transformarlos
en información.
Y HERRAMIENTAS
23
24
Diagramas
Enunciado Especificaciones Programas Pruebas
y algoritmos
Manuales
MÉTODO DE LAS 6’D - ENFOQUE ORIENTADO A LAS ESTRUCTURAS LÓGICAS
CAP. 1: M ÉTODO Y HERRAMIENTAS 25
Etapa 01
MARCO DE TRABAJO
Descripción
del problema
ENUNCIADO
Etapa 02
Definición
Solución
Etapa 03
Diseño
Solución
Etapa 04
MODELAMIENTO Desarrollo
ALGORITMO Solución
CODIFICACIÓN
Para solucionar problemas sencillos uƟlizando el Método de las 6’D, es necesario conocer los conceptos
fundamentales de modelamiento, algoritmo y programación, y dominar el uso de las estructuras
lógicas, instrucciones o sentencias de bifurcación y las estructuras de datos conocidas como variables.
Este Ɵpo de soluciones son el objeƟvo del presente texto.
También es posible plantear soluciones más complejas uƟlizando el Método de las 6’D. Para ello
se deben dominar algunos conceptos claves como Objetos, Métodos, Encapsulamiento, Herencia,
Polimorfismo, Interfaces gráficas, Conexión a base de datos y Servlets, entre otros.
Es importante mencionar que, dependiendo de la complejidad del problema, los pasos especificados
en cada una de las etapas del método se pueden redefinir o modificar. Esto significa que, dependiendo
de la complejidad del problema y de su solución, se puede plantear nuevos pasos y eliminar los ya
existentes en las diferentes etapas del método. Conforme se avance con el desarrollo de las soluciones,
se podrá observar cómo se redefinen los pasos de las etapas del método.
26 MÉTODO DE LAS 6’D - ENFOQUE ORIENTADO A LAS ESTRUCTURAS LÓGICAS
1.3 MODELAMIENTO
Se llama modelamiento a la forma en la que se representa la solución de un problema del mundo real
en términos de un modelo. Esta es una representación gráfica o simbólica de algún aspecto del mundo
que se encuentra bajo observación o estudio. Para representar un modelo se uƟliza el UML (Unified
Modeling Language).
Visualizarun modelo.
Especificar un modelo (construir modelos precisos, no ambiguos).
Construir un modelo en un lenguaje de programación (se establecen correspondencias con lenguajes
orientados a objetos, como Java, C++, Visual Basic.
Documentar los componentes de un sistema de soŌware (arquitectura, requisitos, diseño, pruebas,
versiones, planificación).
Describir el ciclo de vida completo del desarrollo orientado a objetos.
Para desarrollar un modelo y representarlo en UML es necesario conocer todos los conceptos
relacionados con el desarrollo de soŌware orientado a objetos. Para dicho propósito, se detallarán
algunos conceptos básicos que serán uƟlizados en las soluciones que plantea este libro.
1.3.1 Paquete
Los paquetes permiten organizar las clases de un modelo. Un paquete conƟene clases cuyas
funciones similares. En UML, un paquete se representa de la siguiente forma:
1.3.2 Clase
Una clase es un modelo que se uƟliza para describir uno o más objetos del mismo Ɵpo. En su forma
más sencilla, una clase es un conjunto de atributos y métodos; es una abstracción y no representa a
ningún objeto en parƟcular. En UML, una clase se representa de la siguiente forma:
1.3.3 Objeto
Es cualquier cosa real o abstracta de la que se almacenan datos, y los métodos controlan y manipulan
dichos datos. Un objeto se crea o instancia a parƟr de una clase. En UML, un objeto se representa
de la siguiente forma:
UML incorpora nueve diagramas que permiten representar un modelo desde diferentes perspecƟvas.
Estos se muestran a conƟnuación:
Diagramas de
Casos de Uso
Diagramas de
Diagramas de
Clase
Secuencia
Paquete
Diagramas de Diagramas de
Colaboración MODELO Objeto
Diagramas de Diagramas de
Estado Componentes
Diagramas de Diagramas de
AcƟvidad Distribución
28 MÉTODO DE LAS 6’D - ENFOQUE ORIENTADO A LAS ESTRUCTURAS LÓGICAS
A conƟnuación, se detalla el diagrama de paquetes que será uƟlizado en las soluciones planteadas
en el presente texto.
Este permite especificar y visualizar las relaciones de dependencia existentes entre los paquetes que
forman parte de una solución. Una relación de dependencia entre dos o más paquetes se establece
cuando las clases que pertenecen a un paquete pueden tener acceso a todas o algunas de las clases
que pertenecen a otro paquete (dependencia unidireccional). También se puede establecer una
relación de dependencia bidireccional, cuando las clases que pertenecen a un paquete pueden tener
acceso a todas o algunas de las clases que pertenecen a otro paquete, y viceversa. En UML, una
relación de dependencia unidireccional entre dos paquetes se grafica de la siguiente manera:
dominioDeLaAplicacion Biblioteca
Relación de dependencia
unidireccional
En este caso, dependencia significa que todas las clases pertenecientes al paquete
“dominioDeLaAplicacion” podrán tener acceso a todas o algunas de las clases que pertenecen al
paquete “Biblioteca”. (Observe el senƟdo de la flecha que marca la dependencia unidireccional).
En el Método de las 6’D, el modelamiento de una solución se desarrolla durante la Etapa 03 - Diseño
de la solución.
Etapa 03
Definición
Solución
MODELAMIENTO
Definir un nombre para el proyecto. Este paso permiƟrá agrupar todos los elementos que serán
parte de la solución del problema uƟlizando el método planteado. El nombre del proyecto comenzará
con las letras “Proy” (abreviatura de proyecto), seguido de un nombre que idenƟfique al proyecto.
Este nombre debe ser seleccionado adecuadamente.
Definición de diagramas, relaciones y clases. En este paso se desarrollará el diagrama de paquetes
y se especificará la relación de dependencia entre estos, uƟlizando UML. En las soluciones, primero
se creará un paquete y luego todos los demás. Fundamentalmente, se desarrollarán soluciones
con dos paquetes donde uno de ellos se llamará “dominioDeLaAplicación” y el otro “Biblioteca”,
estableciendo una relación de dependencia unidireccional del primero hacia el segundo.
CAP. 1: M ÉTODO Y HERRAMIENTAS 29
En el paquete “Biblioteca” se tendrán clases reuƟlizables, tales como la clase Lectura1 y la clase LE2,
que facilitarán el ingreso de los datos a la computadora.
Regla general para especificar los nombres de los paquetes, clases, atributos y métodos:
El nombre de las clases debe comenzar con una letra mayúscula y el resto en minúscula. Si el nombre
es compuesto, todas las primeras letras de los nombres simples que forman el nombre de la clase o
paquete deberán comenzar con mayúscula.
El nombre de los paquetes, el nombre de los atributos y el nombre de los métodos se escriben en
letra minúscula. En caso que el nombre sea compuesto, a parƟr de la segunda palabra se escribirá
la primera letra en mayúscula. Los métodos constructores son una excepción a esta regla y Ɵenen el
mismo nombre que su clase (por lo que su nombre comienza con letra mayúscula).
1.4 ALGORITMO
En su forma más simple, una clase está consƟtuida por atributos y métodos. Los métodos representan
pequeños subprogramas encapsulados dentro de las clases y contribuyen a definir el comportamiento
ơpico de los objetos.
Los algoritmos se desarrollan para especificar cuáles son los pasos desarrollados en un determinado
método y cuáles son los datos que manejan dichos pasos. Un algoritmo consƟtuye una lista completa
de los pasos y una descripción de los datos que son necesarios para resolver un determinado problema
en el ámbito de un método.
De esto se deriva que un algoritmo se desarrolla para un determinado método y que su definición
Ɵene dos partes esenciales:
1.4.1 Características
Todo algoritmo debe ser finito. Si se sigue un algoritmo, este debe terminar en algún momento.
Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo
resultado.
1
La clase Lectura se uƟliza en todos los capítulos. La clase Lectura se especifica en el apéndice.
2
La clase LE se trata en la parte final de cada capítulo, y con mayor intensidad en el capítulo final. La clase LE se
especifica en el apéndice.
30 MÉTODO DE LAS 6’D - ENFOQUE ORIENTADO A LAS ESTRUCTURAS LÓGICAS
El resultado que se obtenga debe saƟsfacer los requerimientos de la persona interesada (efecƟvidad).
Debe ser estructurado. Es decir, debe ser fácil de leer, entender, usar y cambiar si es preciso.
En conclusión, los algoritmos permiten especificar la lógica de desarrollo de los métodos que
conforman una clase; por lo tanto, se debe entender la importancia de estudiar los algoritmos para
comprender cómo se está solucionando un determinado problema.
Se dispone de diversas herramientas para desarrollar los algoritmos en los métodos de las clases.
Entre estas herramientas se puede mencionar al pseudocódigo y al diagrama de flujo.
1.4.2 Herramientas
A. Pseudocódigo
B. Diagrama de flujo
C. Diagrama de acƟvidad
A. Pseudocódigo
Permite expresar un algoritmo con palabras en castellano que son semejantes a las sentencias de
un lenguaje de programación.
a. Pautas básicas:
Todo algoritmo debe tener un nombre que empiece con una letra mayúscula. Si es un nombre
compuesto, la primera letra de cada palabra simple deberá estar en mayúscula. No se permiten
los espacios en blanco en el nombre del algoritmo (generalmente se uƟlizará el nombre de la
clase y el nombre del método para referirse a un determinado algoritmo).
Es necesario que se determinen los datos de entrada y la información de salida.
Para declarar una variable “x” se deberá determinar qué Ɵpo de dato se almacenará. Por ejemplo,
si se desea declarar una variable de Ɵpo texto se realizará de la siguiente manera: TEXTO x.
Para asignar un valor a una variable “x” se uƟlizará el signo igual. Por ejemplo, si se desea asignar
5 a la variable “x” se realizará de la siguiente manera: x = 5.
Para indicar que la computadora lea un valor desde un disposiƟvo externo y lo almacene en la
variable “z”, se uƟliza: LEER z.
Para indicar que la computadora escriba hacia un disposiƟvo externo:
Para escribir un mensaje (observe que el mensaje está entre comillas) se uƟliza:
ESCRIBIR “hola”.
Para escribir el valor de una variable (observe que la variable no está entre comillas) se uƟliza:
ESCRIBIR x.
Para escribir el resultado de una expresión (observe que la expresión no está entre comillas)
se uƟliza: ESCRIBIR x + 2.
CAP. 1: M ÉTODO Y HERRAMIENTAS 31
ENTRADA:
En Entrada y Salida se especifican
SALIDA: las variables que se usarán en el
desarrollo del algoritmo.
INICIO:
...
... Este es el cuerpo del algoritmo
expresado en pseudocódigo. Las
... instrucciones se colocan entre
FIN:
INICIO... FIN
c. Reglas o pautas
Con la finalidad de comprender mejor el diseño de los algoritmos desarrollados en pseudocódigo
y diagrama de flujo, se han clasificado en seis grupos las reglas definidas.
FINSI
SI (condición) ENTONCES
instrucciones...
Permite especificar una estructura de
SI / SINO SINO
decisión doble “SI... SINO... FINSI”.
instrucciones...
FINSI
CASO valor 2 :
Permite especificar una estructura
instrucciones...
CUANDO de decisión múltiple “CUANDO...
CASO valor n :
FINCUANDO”.
instrucciones...
OTROS
instrucciones…
FINCUANDO
DESDE i = valorInicial
HASTA valorFinal
instrucción 1
Permite especificar una estructura
.
de repetición “DESDE... FINDESDE”.
DESDE .
Esta estructura es equivalente a
.
PARA.
instrucción n
FINDESDE
PARA ( i = valorInicial ;
condición ; valor )
instrucción 1
. Permite especificar una estructura de
PARA . repetición “PARA... FINPARA”. Esta
. estructura es equivalente a DESDE.
instrucción n
FINPARA
MIENTRAS (condición)
instrucción 1
.
Permite especificar una estructura
.
MIENTRAS de repetición “MIENTRAS...
.
FINMIENTRAS”.
instrucción n
FINMIENTRAS
HACER
instrucción 1
.
Permite especificar una estructura de
HACER .
repetición “HACER... MIENTRAS”.
.
instrucción n
MIENTRAS (condición
CAP. 1: M ÉTODO Y HERRAMIENTAS 33
B. Diagrama de flujo
Permite ilustrar la secuencia de pasos de un algoritmo por medio de símbolos especializados y
líneas de flujo. La combinación de símbolos especializados y líneas de flujo describe la lógica para
la solución del problema (algoritmo). Entonces, se puede afirmar que el Diagrama de Flujo es la
representación gráfica de un algoritmo.
DIAGRAMA DE FLUJO
FLUJO
Porque muestra la secuencia de lo que se
Ɵene que realizar.
DIAGRAMA
Por el hecho de ser dibujo que no
requiere estar a escala.
PROCESO
UƟlizado para asignar valores a variables y resultados de
operaciones matemáƟcas.
ENTRADA / SALIDA
UƟlizado para ingresar datos y visualizar la información que
resulta del procesamiento.
INICIO / FIN
Este símbolo permite marcar el inicio y el final del algoritmo.
CONECTOR
Este símbolo permite que no se crucen los flujos (líneas) en
un diagrama.
FLUJOS (LÍNEAS)
Líneas que permiten unir los diagramas y mostrar la secuencia
lógica a la solución del problema.
CAP. 1: M ÉTODO Y HERRAMIENTAS 37
INICIO
FIN
C. Diagrama de acƟvidades
Son parte del lenguaje unificado de modelado (UML) y se uƟlizan comúnmente en dos formas:
1.- Es el modelado de flujos de trabajo, haciendo hincapié en las acƟvidades tal y como son vistas
por los actores que colaboran con el sistema, esto es, modelando procesos de negocio.
2.- Es el modelado de una operación, uƟlizando los diagramas de acƟvidad como diagramas de flujo
para amostrar detalles de un algoritmo, haciendo amplio uso de las condiciones de procesos
concurrentes.
Los diagramas de acƟvidad están compuestos por símbolos de propósito especial, tales como
los símbolos de estado de acción, diamantes, pequeños círculos y barras de sincronización. Estos
símbolos están conectados mediante flechas de transición, las cuales representan el flujo de
acƟvidad.
Cada estado de acción representa la realización de una o varias tareas. Se representa por un
rectángulo de sus lados izquierdo y derecho reemplazados con arcos hacia fuera. Cada acƟvidad
conƟene una expresión de acción que especifica una acción parƟcular a realizar. Las acciones
pueden incluir cálculos aritméƟcos, lógicos u operaciones de entrada y salida. La expresión de
acción puede especificarse en lenguaje natural o uƟlizando pseudocódigo.
Las flechas en el Diagrama de AcƟvidad se llaman flechas de transición. Estas flechas representan
transiciones, las cuales indican el orden en el que ocurren las acciones representadas por los
estados de acción.
El círculo sólido en la parte superior del diagrama de acƟvidad representa el estado inicial de la
acƟvidad, es decir, el inicio de flujo de trabajo antes de que el programa realice las tareas modeladas.
El círculo sólido rodeado por una circunferencia que aparece en la parte inferior del diagrama de
acƟvidad representa el estado final, es decir, el final del flujo de trabajo después de que el programa
realiza todas las tareas. Un diamante o rombo permite representar caminos alternaƟvos según se
cumpla alguna condición.
38 MÉTODO DE LAS 6’D - ENFOQUE ORIENTADO A LAS ESTRUCTURAS LÓGICAS
ESTADO INICIAL
Este símbolo permite marcar el inicio del algoritmo.
DECISIÓN
Permite representar caminos alternaƟvos en base a una
condición.
ESTADO FINAL
Este símbolo permite marcar el final del algoritmo.
FLECHAS DE TRANSICIÓN
Líneas que indican el orden en que ocurren las acciones.
BARRAS DE SINCRONIZACIÓN
Líneas que permiten mostrar acƟvidades concurrentes.
NOTAS
Comentarios que permiten describir el propósito de los
diagramas.
CAP. 1: M ÉTODO Y HERRAMIENTAS 39
En el Método de las 6`D, el algoritmo de una solución se desarrolla después del modelamiento,
durante la Etapa 03 – “Diseño de la Solución”.
Etapa 03
Diseño
Solución
MODELAMIENTO
ALGORITMO
1.5 PROGRAMACIÓN
La programación es la traducción del modelamiento y los algoritmos en sentencias que la computadora
puede comprender y ejecutar. Es decir, que la programación es la acción de escribir programas para
una computadora, uƟlizando alguno de los lenguajes de programación existentes. Dicha acción se
conoce como codificación.
Las personas que escriben los programas son conocidas como programadores, los cuales están
divididos en categorías según su experiencia y dominio de diferentes lenguajes de programación.
Entonces, un lenguaje de programación es aquel que uƟlizan los programadores, que son comprendidos
y ejecutados en una computadora.
Nos “comunicamos” con las computadoras a través de los programas desarrollados en un lenguaje
de programación en parƟcular. Existen diferentes lenguajes de programación, la mayor parte de los
cuales Ɵenen un conjunto de reglas o sentencias muy especializadas.
La forma de programación ha variado con el paso de los años. Al inicio, se desarrolló la programación
lineal, luego de la programación modular, después la programación estructurada y ahora la
programación orientada a objetos.
Entre los lenguajes de programación orientados a objetos podemos destacar a C++ y Java.
40 MÉTODO DE LAS 6’D - ENFOQUE ORIENTADO A LAS ESTRUCTURAS LÓGICAS
A. C++
C++ es un lenguaje de programación, diseñado a mediados de los años 1980 por Bjame Stroudstrup,
como extensión del lenguaje de programación C.
Actualmente, existe un estándar denominado ISO C++, al que se han adherido la mayoría de los
fabricantes de compiladores más modernos.
Existen también algunos intérpretes como ROOT (enlace externo). Las principales caracterísƟcas del
C++ son el soporte para programación orientada a objetos y el soporte de planƟllas o programación
genérica (templates). Se puede decir que C++ es un lenguaje que abarca tres paradigmas de la
programación: la programación estructurada, la programación genérica y la programación orientada
a objetos.
C++ está considerado por muchos programadores como uno de los mejores lenguajes de
programación, debido a que permite trabajar tanto a alto como a bajo nivel; sin embargo es a su vez
uno de los que menos automaƟzaciones Ɵene (obliga a hacerlo casi todo manualmente al igual que
C) lo que genera más Ɵempo para su aprendizaje.
B. Java
Java es un lenguaje de programación orientado a objetos, desarrollado por Sun MicroSystems, una
compañía reconocida por sus estaciones de trabajo UNIX de alta calidad.
Fundamentado en el lenguaje de programación C++, el lenguaje Java se diseñó para ser pequeño,
sencillo y portáƟl a través de plataformas y sistemas operaƟvos, tanto a nivel de código fuente como
binario, lo que significa que los programas Java (applets, aplicaciones y servlests), pueden ejecutarse
en cualquier computadora que tenga instalada una máquina virtual de Java.
En la actualidad, la Programación Estructurada (PE) y la Programación Orientada a Objetos (POO)
son las formas de programación uƟlizadas por la mayoría de los programadores, siendo la POO la
más reciente y la que asegura solucionar la mayoría de los problemas de la PE, incorporando nuevas
caracterísƟcas y nuevos conceptos. Una caracterísƟca importante de la POO es que uƟliza conceptos
ópƟmos de la PE y de las otras formas de programación.
En el Método de las 6´D, la programación de una solución se desarrolla durante la Etapa 04 –
“Desarrollo de la Solución”.
Etapa 04
Desarrollo
Solución
CODIFICACIÓN
Codificar el proyecto. En este paso, se desarrollará la codificación del proyecto; es decir, uƟlizando
el lenguaje de programación Java y/o C++, se traducirá lo especificado en el modelamiento y en los
algoritmos en sentencias que la computadora pueda comprender y ejecutar.