Metodo de Las 6d

September 6, 2022 | Author: Anonymous | Category: N/A
Share Embed Donate


Short Description

Download Metodo de Las 6d...

Description

 

Método de las 6`D Modelamiento - Algoritmo - Progr Programación. amación. Tomo I. Enfoque orientado a las estructuras lógicas Autores: Juan José Flores Cueto y Carmen Bertolo  Zuñiga

© Derechos de autor registrados: Empresa Editora Macro EIRL

© Derechos de edición, arte gráfico y diagramación reservados: Empresa Editora Macro EIRL Corrección de eslo: Mónica Barrera Velasco Milton A. Gonzales M. Coordinación de arte y diseño: Alejandro Marcas León Diagramación: Lizbeth Eufracio Quispe Sebasan Alvarez Sanchez Edición a cargo de: © Empresa Editora Macro EIRL Av. Paseo de la República N.° 5613 , Miraflores, Lima, Perú     Teléfono: (511) 748 0560 

E-mail: proyecto@editorialm [email protected] acro.com Página web: www.ed www.editorialmacro.com itorialmacro.com

Primera edición: seembre de 2014 Tiraje: 1000 ejemplares

Impresión Talleres gráficos de la Empresa E mpresa Editora Macro EIRL Jr. San Agusn N.° 612-624, Surquillo, Lima, Perú ISBN N.° 978-612-304-218-9 Hecho el depósito legal en la Biblioteca Nacional del Perú Nº 2014-12577 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 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. Se ha desempeñado profesionalmente en diversas empresas nacionales, ocupando las funciones de desarrollador de so  ware ware, analista de sistemas, auditor de sistemas y jefe de proyectos. Desde mayo del 2009 ocupa el cargo de director de la USMP Virtual, donde además ejerce la docencia. También se desempeña como catedráco en la Facultad de Ingeniería y Arquitectura (FIA) de la Universidad de San Mar n de Porres (USMP), y en la Universidad Nacional José Fausno Sánchez Carrión (UNJFSC). 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 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/jj florescueto, 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 Editor ial USMP, USMP, 2008. T También ambién ha esc escrito rito diversos ar  culos 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 A nuestros hijos, Danae y el pequeño Rodrigo

 

Índice Capítulo 1 Método y herramientas .............. ............................. .............................. .............................. .............................. .............................. .............................. .............................. .................. ... 13 1.1

Método de las 6’D ............. .......................... ......................... ......................... .......................... ......................... ......................... ......................... .................. ......15 15

1.1.1 Etapas y pasos ............ ......................... ......................... ......................... .......................... ......................... ......................... ......................... .................. ......16 16 1.1.2 Resumen de método........................ ..................................... ......................... ......................... .......................... ......................... .....................23 .........23 1.1.3 Resultado de las eta etapas pas del méto método do ............ ......................... ......................... ......................... .......................... ......................24 .........24 1.2

Marco de trabajo ............. .......................... ......................... ......................... ......................... ......................... .......................... ......................... ....................25 ........25

1.3

Modelamiento ............ ......................... ......................... ......................... .......................... ......................... ......................... .......................... .........................26 ............26

1.3.1 Paquete ........ ..................... ......................... ......................... .......................... ......................... ......................... ......................... ...............................26 ...................26 1.3.2 Clase ........... ........................ .......................... ......................... ......................... ......................... ......................... .......................... ..................................26 .....................26 1.3.3 Objeto ............. ......................... ......................... .......................... ......................... ......................... ......................... ......................... ..............................27 .................27 1.3.4 Diagrama de paque paquetes tes .......................... ...................................... ......................... ......................... ......................... .......................... .................28 ....28 1.4 Algoritmo ............ ......................... ......................... ......................... .......................... ......................... ......................... .......................... ..................................29 .....................29 1.4.1 Caracteríscas ............ ......................... .......................... ......................... ......................... .......................... ......................... ......................... ..................29 .....29 1.4.2 Herramient Herramientas as .............. ......................... .......................... ......................... ......................... .......................... ......................... ......................... .................. .....30 30 1.5 Programación ........................ ..................................... ......................... ......................... ......................... ......................... .......................... ...........................39 ..............39 1.5.1 Tipos de lenguajes de programació programación n ... ............... ......................... .......................... ......................... ......................... ..................40 .....40

Capítulo 2 Estructuras lógicas de secuencia y estructura de datos variable ......... ................... .................... .................... .................... ....................41 ..........41 2.1 Estructuras ló lógicas gicas de secuenci secuencia a ............... ......................... ......................... .......................... ......................... ......................... .....................45 ........45 2.1.1

Definición ............ ......................... ......................... ......................... .......................... ......................... ......................... .......................... .........................45 ............45

2.2 Método de las 6 6´D ´D - Desarroll Desarrollo o de soluciones ccon on un paquete ............. ......................... ......................... ..............46 .46 2.3 Estructuras ló lógicas gicas de secuenci secuencia: a: Mostrar informaci información ón ............. .......................... ......................... ........................47 ............47 2.3.1

Definición ............ ......................... ......................... ......................... .......................... ......................... ......................... .......................... .........................47 ............47

2.3.2 Represen Representación tación ............. ......................... ......................... ......................... ......................... .......................... ......................... ......................... ................ ... 47 2.3.3 Consideracio Consideraciones nes adicionales para los llenguajes enguajes de pro programación gramación C++ y Jav Java a .........49 2.4 Estructura de datos: Vari Variable able ........ .................... ......................... .......................... ......................... ......................... .......................... ................... ......60 60 2.4.1

Definición ............ ......................... ......................... ......................... .......................... ......................... ......................... .......................... .........................60 ............60

2.4.2 Declaració Declaración n ... ................ ......................... ......................... .......................... ......................... ......................... .......................... ......................... .................. ......60 60 2.4.3 Nombre ........... ........................ ......................... ......................... .......................... ......................... ......................... ......................... .............................60 .................60 2.4.4 Inicializac Inicialización ión ............ ......................... .......................... ......................... ......................... ......................... ......................... .......................... .....................61 ........61 2.4.5 Almacenamient Almacenamiento ooa asignación signación de datos ............. ......................... ......................... .......................... ......................... ...............61 ...61 2.4.6 Constant Constantes es .... ................. ......................... ......................... .......................... ......................... ......................... ......................... ......................... ................... ......62 62 2.5 Tipos de dato ............ ........................ ......................... .......................... ......................... ......................... ......................... ......................... ............................62 ...............62 2.5.1

Definición ............ ......................... ......................... ......................... .......................... ......................... ......................... .......................... .........................62 ............62

2.5.2 En pseudocódigo y diagrama de flujo ............. .......................... ......................... ......................... ......................... ...................63 .......63 2.5.3 En lenguaje C++............ ......................... .......................... ......................... ......................... ......................... ......................... .......................... ................ ... 64 2.5.4 En lenguaje Jav Java a ............ ........................ ......................... ......................... ......................... .......................... ......................... ......................... ................ ... 65

 

2.6 Uso de comentarios............ ........................ ......................... .......................... ......................... ......................... ......................... ......................... .................. .....75 75 2.7 Estructura lógica de secuencia: Ingresar datos datos............ ......................... ......................... ......................... ......................... ..............80 ..80 2.7.1

Definición ............. ......................... ......................... ......................... ......................... .......................... ......................... ......................... .........................80 ............80

2.7.2 Represent Representación ación ............. .......................... ......................... ......................... ......................... ......................... .......................... ......................... ............... ... 80 2.8 Estructura lógica de secuencia: Procesar datos............ ......................... ......................... ......................... ......................... ..............91 ..91 2.8.1

Definición ............. ......................... ......................... ......................... ......................... .......................... ......................... ......................... .........................91 ............91

2.8.2 Tipos........... ........................ .......................... ......................... ......................... .......................... ......................... ......................... ..................................91 .....................91 2.9 Método de las 6 6`D `D - Desarroll Desarrollo o de soluciones co con n dos paquetes............ ......................... ........................100 ...........100 2.10

Desarrollo de Aplicacion Aplicaciones es Java, ulizando Java Developm Development ent Kit (JDK ) ... ................ ...................126 ......126

2.10.1 Edición............. .......................... ......................... ......................... .......................... ......................... ......................... ......................... ...........................126 ...............126 2.10.2 Compilación ........... ........................ ......................... ......................... .......................... ......................... ......................... ......................... .................... ........126 126 2.10.3 Ejecución ............ ........................ ......................... .......................... ......................... ......................... ......................... ......................... .........................126 ............126 2.11 Soluciones ulizando cuadros de diálogo............. ......................... ......................... ......................... ......................... ....................128 .......128 2.11.1 Uso de la clase LE codificada en Java ..................... .................................. ......................... ......................... .......................128 ..........128 2.11.2 Método de las 6´D - U Uso so de cuadro cuadross de diálogo ............. .......................... ......................... ......................... ..............129 .129

Capítulo 3 Estructuras Estructur as lógicas de decisión o selección .......... .................... .................... .................... .................... .................... .................... .................... .................... ............ .. 143 3.1 Desarrollo de solucione solucioness con un paquete .............. ......................... .......................... ......................... ......................... ....................147 .......147 3.2 Estructuras lógic lógicas as de decisión............ ......................... .......................... ......................... ......................... .......................... .........................147 ............147 3.2.1

Definición ............. ......................... ......................... ......................... ......................... .......................... ......................... ......................... .........................147 ............147

3.2.2 Estructura lógic lógica a de decisión simple ......................... ...................................... ......................... ......................... ......................148 .........148 3.2.3 Estructura llógica ógica de decisión do doble ble ... ............... ......................... .......................... ......................... ......................... ....................167 .......167 3.2.4 Estructura lógica de decisión múlple: “CUANDO” ............. .......................... ......................... .......................184 ...........184 3.2.5 Estructura lógica de decisión múlple: “SI ANIDADOS” ............. ......................... ......................... .................208 ....208 3.3 Uso combinado de las e estructuras structuras lógicas de de decisión cisión............. ......................... ......................... .......................... ..............237 .237 3.4 Uso anidado de las e estructuras structuras lógicas de decisión decisión............. .......................... ......................... ......................... ...................237 ......237 3.5

Desarrollo de aplicaciones Java, ulizando Integrated Integrated Development Environment (IDE) .. 257

3.6 Método de las 6 6´D ´D - Uso de cuadros de diálogo............ ........................ ......................... ......................... .........................259 .............259

Capítulo 4 Estructuras Estructur as lógicas de control o repeción .......... .................... .................... .................... .................... .................... .................... .................... .................... ............ .. 281 4.1 Método de las 6 6’D ’D - Desarrollo de solucio soluciones nes con dos paquete paquetess ............ ........................ .......................285 ...........285 4.2 Estructuras lógicas de repeción ............ ......................... .......................... ......................... ......................... ......................... ......................286 ..........286 4.2.1 Otros usos de las variables............ ........................ ......................... .......................... ......................... ......................... .........................287 ............287 4.2.2 Estructura lógica de repeción: “HACER” ............ ........................ ......................... .......................... ......................... ..............287 ..287 4.2.4 Estructura lógica de repeción: “MIENTRAS “MIENTRAS”” ............. ......................... ......................... .......................... ....................348 .......348 4.2.5 Estructura lógica de repeción: “DESDE” o “PARA” .................................................378 4.3 Empaquetar aplicacion aplicaciones es Java ulizando Java ARchives ( JAR ) ............ ......................... ......................... ..............409 ..409 4.3.1 Creación de un JAR......................... ...................................... ......................... ......................... .......................... ......................... .......................409 ...........409

 

4.3.2 Ejecución de un JAR ......................... ...................................... ......................... ......................... .......................... ......................... .....................411 .........411 4.3.3 Visualizar un JAR ......................... ...................................... .......................... ......................... ......................... ......................... ..........................412 ..............412 4.3.4 Extracción de un JJAR AR ........... ........................ ......................... ......................... .......................... ......................... ......................... ......................413 .........413 4.4

So  ware ware para decompilar aplicaciones java ......................... ..................................... ......................... .......................... .................415 ....415

4.4.1 Uso de jav javap ap del JDK ............ ........................ ......................... .......................... ......................... ......................... ......................... .....................415 .........415 4.4.2

ware ............ Uso de otros so  ware ......................... .......................... ......................... ......................... ......................... ......................... ...................416 ......416

4.5 Método de las 6 6´D ´D - Uso de cuadros de diálogo........... ........................ .......................... ......................... .........................418 .............418

Capítulo 5 Estructuras Estructur as lógicas combinadas ............................... ............... ............................... .............................. .............................. .............................. .............................. ................... .... 435 5.1 Uso co combinado mbinado de las estructuras lógicas ........... ....................... ......................... ......................... ......................... ......................439 .........439 5.2 Manejo de ex excepciones cepciones en el lenguaj lenguaje e de programac programación ión Java......................... ...................................... ...............522 ..522 5.3 Desarrollo de las capaci capacidades dades lógicas............ ........................ ......................... ......................... ......................... .......................... ................530 ...530 5.4 Desarrollo de miniaplicacio miniaplicaciones nes Java (Applet) ulizando Java Development Development Kit ( JDK ) ...557 5.5 Métodos de las 6´D – Uso de cuadros de diálogo .. ............... ......................... ......................... .......................... ...................559 ......559

Capítulo 6 Introducción Introducc ión al desarrollo de soluciones orientadas a objetos y al uso de Interfaz Gráfica de Usuario ............................. .............. ............................... ............................... .............................. .............................. .............................. .............................. ..................... ..................... ...................... ....... 583 6.1 Conceptos bási básicos cos ............ ........................ ......................... .......................... ......................... ......................... .......................... ......................... ................... .......588 588 6.1.1 Clase ............ ........................ ......................... ......................... ......................... .......................... ......................... ......................... ..................................588 .....................588 6.1.2 Objeto (Modelos de en entes tes de dell mundo mundo)) ............ ........................ ......................... .......................... ......................... .................589 .....589 6.1.3 Atributo ........... ........................ ......................... ......................... .......................... ......................... ......................... ......................... .............................590 .................590 6.1.4 Método ........... ........................ ......................... ......................... .......................... ......................... ......................... ......................... .............................595 .................595 6.2

Método de las 6’D: Redefinición de pasos ............. ......................... ......................... .......................... ......................... ...................608 .......608

6.2.1 Ajuste de los pasos definidos para las etapas del método............ ........................ ......................... ...............608 ..608 6.3

So  ware ware para generar ejecutables en MS-Windows MS-Windows basado en aplicaciones Java ........615

ware ........... 6.3.1 Uso de so  ware ........................ ......................... ......................... .......................... ......................... ......................... .......................... ...............615 ..615

6.4 Introducció Introducción n a las soluciones ulizando Interfaz Gráfica de Usuario (GUI) ...... ................... ...............618 ..618 6.4.1 Introducción............. ......................... ......................... .......................... ......................... ......................... .......................... ......................... .................... ........618 618 6.4.2

Definición ............ ......................... .......................... ......................... ......................... .......................... ......................... ......................... .........................618 ............618

6.4.3 Etapas para el desarrol desarrollo lo de GUI ............ ........................ ......................... .......................... ......................... ......................... ................618 ...618 6.4.4 Contenedor Contenedores es y ccomponentes omponentes de la GU GUI......... I...................... .......................... ......................... ......................... ...................619 ......619 6.4.5 Administrado Administradores res de diseño de la GUI............ ........................ ......................... ......................... ......................... ......................620 .........620 6.4.6 Manejadores de event evento o de lla a GUI ... ................ ......................... ......................... ......................... ........................ ......................620 ..........620 6.5 Método de las 6´D – D Desarrollo esarrollo de soluciones co con n GUI ..... ................. ......................... .......................... ....................621 .......621

Bibliogra a .............................. ............... .............................. ............................... ............................... .............................. .............................. .............................. .................... ..................... ................ 631

 

Apéndice * Clases creadas e incorporadas en Java .............. ............................. .............................. .............................. .............................. .............................. ......................... .......... 633 Clases incorporadas en el lenguaje Java ........... ........................ .......................... ......................... ......................... ......................... ....................635 ........635 Clase Lectura............. Lectura.......................... ......................... ......................... ......................... ......................... .......................... ......................... ...............................635 ...................635 Clase LE (versión 2.2) ...................... .................................. ......................... .......................... ......................... ......................... ......................... ......................636 ..........636 El paquete del lenguaje Java............ ........................ ......................... .......................... ......................... ......................... ......................... .....................643 .........643 Conversión de datos............ Conversión ......................... .......................... ......................... ......................... .......................... ......................... ......................... .........................645 ............645 Conversión Conver sión implícita de datos en Java ........ ..................... ......................... ......................... .......................... ......................... ......................646 ..........646 Conversión explícita de datos en Java (casng) ............. ......................... ......................... .......................... ......................... ................648 ....648 Envoltorios de los pos de datos primivos: clases wrappers.............. wrappers.......................... ......................... ...................649 ......649 Funciones matemácas: clase Math ............. .......................... ......................... ......................... .......................... ......................... ........................659 ............659 Introducción ............. ......................... ......................... ......................... ......................... .......................... ......................... ......................... ................................659 ...................659 Métodos ............ ......................... ......................... ......................... .......................... ......................... ......................... ......................... ......................... ..........................660 .............660 Manejo de cadenas: clase String .... ................ ......................... ......................... ......................... .......................... ......................... ......................... ...............7 ..703 03 Introducción ............. ......................... ......................... ......................... ......................... .......................... ......................... ......................... ................................703 ...................703 Métodos ............ ......................... ......................... ......................... ......................... ......................... .......................... ......................... ......................... ..........................704 .............704 Manejo de format formatos: os: clase Decimalf Decimalformat ormat ...... .................. ......................... .......................... ......................... ......................... ......................754 .........754 Manejo de fechas: clase Calendar............ ......................... .......................... ......................... ......................... ......................... ......................... .................759 ....759 Manejo de fechas: clase Gregoriancal Gregoriancalendar endar ................... ............................... ......................... .......................... ......................... ...................764 .......764 Manejo de fechas: clase Simpledate Simpledateformat format ......... ...................... ......................... ......................... ......................... ......................... ..................766 .....766

* El presente apéndice solo se encuentra disponible en la página web de la editorial: www.editorialmacro.com

 

Introducción En este libro se trata en forma detallada y dinámica los conceptos y temas fundamentales necesarios para el desarrollo de soluciones u lizando el Método de las 6’D, y el empleo de sus capacidades lógicas.   Se explican los conceptos fundamentales sobre el modelamiento y el UML, profundizando en el tema de algoritmos y su diseño u lizando diagramas de flujo y pseudocódigo. Se presenta también el diagrama de acvidades como una herramient herramienta a adicional para diseñar algoritmos, y se desarrollan conceptos sobre programación y codi ficación ulizando los lenguajes de programación orientados a objetos C++ y Java. 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 orientada s 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: 

Desarrollo de aplicaciones Java ulizando Java Development Kit ( JDK )



Desarrollo de aplicaciones Java ulizando Integrated Development Environment ( IDE )

 

Empaquetar aplicaciones Java ulizando Java ARchives ( JAR )

 

Soware para decompilar aplicaciones Java

 

Desarrollo de miniaplicaciones Java (Applet) u lizando Java Development Kit ( JDK )

 

Soware para generar ejecutables en MS-Windows basado en aplicaciones Java

 

C AP.

  éét ot oddoo y yhheer r a M r ammi ei ennt at as 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”.

1.1 MÉTODO DE LAS 6’D En la siguiente figura se muestra el Método de las 6’D  con sus respecvas etapas.

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

MODEL MIENTO MODELAMIENTO    ALGORITMO LGORITMO

Etapa 05 Depuración Pruebas

Etapa 06

CODIFICACIÓN Documento

 

16

MÉTODO DE LAS 6’D - ENFOQUE ORIENTADO A LAS ESTRUCTURAS LÓGICAS

1.1.1 1.1 .1 Etapas y pasos  A. Descripción de la Etapa 01 – Descripción del problema

Etapa 01 Descripción del problema

Lo primero que se debe hacer en esta etapa es idenficar cuál es el problema que se desea resolver 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. Una vez idenficado el problema, es necesario comprenderlo en su totalidad, es decir, entender qué es exactamente lo que se desea resolver. Finalmente, se debe escribir un enunciado claro, concreto y conciso del problema a resolver.

Pasos: Idenficación del problema.

 

Descripción general 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

B. Descripción de la Etapa 02 – Definición de la solución

Etapa 02 Definición de la solución

En esta etapa es necesario estudiar a fondo el problema para poder solucionarlo, saber 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. Una vez entendido el problema se está en condiciones de estudiarlo a fondo y plantear diversas alternavas que permitan solucionarlo, aplicando siempre la más adecuada.

Pasos: Definir el resultado deseado.

 

Determinar los datos que se deben ingresar o generar para obtener el resultado deseado.

 

Determinar la forma en que los datos serán procesados para transformarlos en información.

 

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

C. Descripción de la Etapa 03 – Definición de la solución

Etapa 03 Diseño de la solución

Una vez definida la solución se procederá a diseñar la lógica, modelando y desarrollando algoritmos. Para el modelado de la solución del problema se ulizará el Lenguaje Unificado de Modelado  (Unified Modeling Language , UML), que es una herramienta usada para describir clases, objetos y sus relaciones. Para el desarrollo de algoritmos se ulizarán Pseudocódigos o Diagramas de Flujo (DF), que son herramientas ulizadas para diseñar algoritmos de los diferentes métodos de una clase. Finalizado el desarrollo de los algoritmos es necesario verificar si se han incluido soluciones para todas las formas en que se presenta el problema. A este po de prueba se le denomina “Prueba de escritorio”.

Pasos:

MODEL MIENTO MODELAMIENTO    ALGORITMO LGORITMO

Definir un nombre para el proyecto.

 

Definición de diagramas, relaciones y clases.

 

Desarrollo de algoritmos.

 

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

D. Descripción de la Etapa 04 – Desarrollo de la solución

Etapa 04 Desarrollo de la solución

Una vez previstas todas las posibilidades y alternavas que puedan presentarse y que pasen sin inconvenientes por la clase y los algoritmos, se procederá a la codificación del problema en algún lenguaje de programació programación. n. La codificación involucra traducir los diagramas, las especificaciones de las clases (expresadas en notación UML), y los pasos del algoritmo de cada método (expresado en DF o pseudocódigo), en sentencias de un lenguaje de programación determinado. Estas sentencias son almacenadas en un proyecto (o archivo) lógico, y constuyen lo que la computadora podrá ejecutar.

Pasos:

CODIFIC CIÓN CODIFICACIÓN

Codificar el proyecto.

 

Desarrollar comentarios internos en los programas de computadora.

 

 

Desarrollar copias de seguridad de los programas de computadora.

PROGRAMAS

El resultado obtenido en esta etapa son los programas  y/o clases  codificados en un lenguaje de programación, programaci ón, que permiten solucionar el problema.

 

20

MÉTODO DE LAS 6’D - ENFOQUE ORIENTADO A LAS ESTRUCTURAS LÓGICAS

E. Descripción de la Etapa 05 – Depuración y pruebas

Etapa 05 Depuración y pruebas

Luego que se codifiquen los programas y/o clases, deberán ser probados mediante su 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. Hay que corregir el programa, anular, modificar o crear nuevas sentencias, volver a probar el programa y connuar con la corrección y pruebas hasta conseguir el resultado deseado.

Pasos: Realizar la depuración y verificar la correcta escritura de los programas.

 

Realizar Realiz ar pruebas de sintaxis.

 

Realizar Realiz ar pruebas de lógica.

 

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

F. Descripción de la Etapa 06 – Documentación

Etapa 06 Documentación

En esta etapa se recopila toda la documentación generada en las etapas anteriores, la cual servirá como base para la elaboración del manual técnico. El empo dedicado a esta etapa será de mucha ayuda para desarrollar buenos hábitos, necesarios cuando se desarrolle el so  ware ware en forma profesional. El manual técnico debe incluir, como mínimo: Descripción del problema.

 

Resultados esperados y datos necesarios para generar dichos resultados.

 

Diagramas UML, DF y/o pseudocódigo.

 

Pruebas desarrolladas.

 

Listado de programas con comentarios internos.

 

Pasos: Recopilar el material generado en cada una de las etapas anteriores.

 

Generar el manual del programa.

 

Generar el manual del usuario.

 

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.

La ingeniería reversa  permite crear o actualizar el modelo preliminar realizado en

Ingeniería  reversa



n veces

la 03del “Diseño de la solución”, a Etapa par r delEtapa código programa realizado en la 04 “Desarrollo de la solución”, y corregido en la Etapa 05 “Depuración y pruebas”.

Etapa 03 Es decir, a través de la ingeniería reversa  es posible programar o codificar algunas partes (hasta su correcto funcionamiento) que no estén especificadas en la Etapa 03 “Diseño de la solución”. A parr de esta solución, se actualizan los diagramas de la Etapa 03 y se connúa con el proceso hasta llegar a la solución deseada.

Diseño Solución

Etapa 04 Desarrollo Solución

Pasos:

Etapa 05 Exportar proyecto (archivos class o Java) al disco de la PC, si está trabajando con un IDE.

 

Depuración y pruebas

Importar proyecto (archivos class o Java) a una herramienta CASE y realizar la ingeniería rever reversa. sa.

 

MODEL MIENTO MODELAMIENTO  ALG  A   LGOR LGORITMO OR I TM O

Organizar el modelo obtenido en la herramienta CASE.

 

CODIFIC CIÓN CODIFICACIÓN DIAGRAMAS ACTUALIZADOS

 

CAP. 1: MÉTODO Y  HERRAMIENTAS 

1.1.2 1.1 .2 Resumen de método Resumen de las etapas y los pasos del método.

   6    0    a    p    a    t    E

   o    t    n    e    m    u    c    o    D

    l  .     l    o   s    a    a    s    a     d    l    u    e    u    a    r    n    r    e    o    n  .    a    a    a    e    d   i     l    n   a    r    m    m  .    t    m    i    e    g    e    n    e    a    e    o    r    r    n     l    u   e    r     l    a    l    a    r    g    r    a     l    a    a    i    i     d   s    r    a    o    r    a    u    s    p   r    a    a    e    r    p    e    u    o   e    c    p    n    l    n     l    c    t    a    e    e    e    e    e    a    n   t    R   m   e    e    G    d    G    d  

 

      

   n    5     ó    s    0    i    c    a     b    a    a    r    e    p    u   u    a    p   r    t    e    P    E    D

      

   s    s    a    a    s     b     b    o     l    e    e  .    u  .    u    e    s    n    r    s    r  .    a    d   a    a    ó    t     l    p   i    p   a    i    r    a    a    c    r    c    c    e    r    m   r    x    r    i    c    a    a    a         fi   r    u   a    a    t    a    g    r    i    z    z    z    t    r    n    r    i    i    i     l    u   r    o   i    r    g     l    i     l     ó    a    p   e    c    c    o    a    s    a    l    v    r    e    e    e    e    e    e    a    s    e    p    R    d    R    d    R    d   y    l  

 

      

   4    0    a    p    a    t    E

   o     l     l    n     ó    o    i    r    r    c    u    a    l    s    o    e    S    D

 

   n    o    ó    ñ   i    e    c    u    s    i     l    D   o    S

 

   n   n     ó    i     ó    c    i    i    c    n    l    u         fi    e    o    D   S

 

   t    E

   n   a     ó    i    c    m    e    p    l    i    r    b    c    o    s    r    e    D   P

 

 

      

      

 

 

      

      

 .    r    s    n    s    n    a    o    a    e    á    o    ó    r     l     l    i     l    e    s    r    c    e    o    u   r    e    r    s    r    e    s    r    a    a    n    q    s    o    a    e    g    r    e    d     l    o  .    a  .    n    n    a    s    m     d    n    m    a    t    l    e    d   o    i    u   n    t    o    i    e    o   a    r    r    i    r     b    q     d    r     d    t    o    s    a    o    m    n   e    o   u   a    r    m    i    t    a    r    s    e    e    a    a    e     f    s    f    n    l    e    e    s    e    n    c     d    a    a    o    e    i    u    m    n   n         fi    s    t    t    b   e    r    s    t    o   r    r    s    r    g    r    a    n    e    s    e    e    e    a    e    a    e    a     l    o    l    o   p   p   r    D   e    t    e    r    d    D    d    d   o   p   e    d    D    f       

   1    0    a    p    a

 

      

    l    e    e    e    a    r     d  .    y     d  ,    a    s    o   s    n   p  .    n   s     l    o    a    e     l    o     ó    u   e    t    i    n    o    m  .    r    m    r    c    a    o   s    r    c    i    i     b    i    r    t    i    e    r    r    n    n    c    e    a    y    g    o    s    s         fi   m         fi    a    a    l     l    g    a    e    l    e    o   o    r    e    i    e    D   n   p    D    d   r    c    D   a       

   2    0    a    p    a    t    E

      

   s    e  .  .    e    a    o    a     l    s    r    r     d     d     l    o   n   s    o    r    o    s    d    i    e  .    r    a    a     d    e    r     d    a    a     l    e    r    o     l     l    a    s    a     l     d   a    a    t    a    t    o   t    m   t    o     d    o   m    c    c    r    r    u    u    n    i    a    a    s         fi   e    r    e    n   r    p    r    a    r    s    r    p    i    y    a    r    g    a    i    u    l    o    g    e     d   o    s    m   t    m   s    p    o   m    o   r    e    o   n   o    r    o    e    o   g    e    e    r    o    C   p    D   c    i    p   c    D   c    s    d   p   c       

   3    0    a    p    a    t    E

 

      

 

 

      

      

   o    r  .    a    l    n   a     l     ó    e    i    m   n    l  .    c    d  .    c    e     ó    e    o    a     d   o   a    a    l    i     d    c    c    b    p    l    m   a    s    m    i    e         fi   o    i    a    e    i    c    c    l           r    r    r    l    p    r    b    n    s    n   e    e    b    o    o    u    e    l    e    n    e    c    e    r    n   p   r     d    I     d    D   g    p    E    y    p  

      

 

      

 

      

23

 

24

MÉTODO DE LAS 6’D - ENFOQUE ORIENTADO A LAS ESTRUCTURAS LÓGICAS

1.1.3 1.1 .3 Resultado de las etapas del método

   6    0    a    p    a    t    E

   o    t    n    e    m    u    c    o    D

   5    0    a    p    a    t    E

   n     ó    i    s    c    a     b    a    r    e    u   u    p   r    e    P    D

   4    o     l    n    0     l    o    ó    i    a    r    c    p    r    u    a    l    s    a    t    e    o    E    D   S

   s    e     l    a    u    n    a    M

   s    a     b    e    u    r    P

   s    a    m    a    r    g    o    r    P

   n    o    ó    ñ   i    e    c    u    s    i     l    D   o    S

   s    s    a    o    m    m   t    i    a    r    r    g    o    g    a    i     l    D   a    y

   2    0    a    p    a    t    E

   n   n     ó    i     ó    c    i    i    c    n   u         fi    l    e    o    D   S

   s    e    n    o    i    c    a    c         fi    i    c    e    p    s    E

   1    0    a    p    a    t    E

   n   a     ó    i    c    m    e    p     l    i    r    b    c    o    s    r    e    P    D

   o     d    a    i    c    n    u    n    E

   3    0    a    p    a    t    E

 

CAP. 1: MÉTODO Y  HERRAMIENTAS 

25

1.2 MARCO DE TRABAJO Este libro busca dar solución a problemas sencillos ulizando el Método de las 6’D. La solución de los problemas se iniciará con el enunciado del problema, para luego desarrollar la etapa 02 (“De finición de la solución”), etapa 03 (“Diseño de la solución”) y etapa 04 (“Desarrollo de la solución”); es decir, solo se desarrollarán las tres etapas del método que son posibles especi ficar en el presente texto. La etapa 05 (“Depuración y pruebas”) se desarrollará directamente en un lenguaje de programació programación, n, y la etapa 06 (“Documentación”) (“Documentación”) es la recopilació recopilación n del material y la elaboración de los manuales respecvos.

Etapa 01

MARCO DE TRABAJO

Descripción del problema

ENUNCIADO

Etapa 02 Definición Solución

Etapa 03 Diseño Solución

Etapa 04

MODEL MIENTO MODELAMIENTO  ALG  A   LGO LGORITMO O RI TM O

Desarrollo Solución

CODIFIC CIÓ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 especi ficados en cada una de las etapas del método se pueden redefinir o modificar car.. Esto signi s ignifica 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.

 

MÉTODO DE LAS 6’D - ENFOQUE ORIENTADO A LAS ESTRUCTURAS LÓGICAS

26

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). El Lenguaje Unificado de Modelado (UML) es un lenguaje gráfico que permite: Visualizar un modelo.

  

Especificar un modelo (construir modelos precisos, no ambiguos). Construir un modelo en un lenguaje de programaci programación ón (se establecen correspo correspondencias ndencias con lenguajes orientados a objetos, como Java, C++, Visual Basic.

 

Documentar los componentes de un sistema de so  ware 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 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:

NombrePaquete

Nombre del paquete

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:

NombreClase (NombrePaquete al que pertenece)

Nombre de la clase y del paquete al cual pertenece la clase

Atributos

Lista de atributos de la clase

Métodos

Lista de métodos de la clase

 

CAP. 1: MÉTODO Y  HERRAMIENTAS 

27

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:

Nombre de la clase a la cual pertenece el objeto y el nombre del objeto. Ambos nombres deben estar separados por dos puntos.

NombreClase : nombreObjeto

UML incorpora nueve diagramas que permiten representar repres entar un modelo desde diferentes perspecvas. Estos se muestran a connuación:

Diagramas de Casos de Uso Diagramas de Clase Paquete

Diagramas de Secuencia

Diagramas de Colaboración

Diagramas de Objeto

MODELO

Diagramas de Estado

Diagramas de Componentes

Diagramas de Acvidad

Diagramas de Distribución

 

MÉTODO DE LAS 6’D - ENFOQUE ORIENTADO A LAS ESTRUCTURAS LÓGICAS

28

A connuación, se detalla el diagrama de paquetes que será u lizado en las soluciones planteadas en el presente texto.

1.3.4 Diagrama de paquetes 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, 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 gra fica 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

MODEL MIENTO MODELAMIENTO Se desarrollan los siguientes pasos:

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 “dominioDeLaAplicacion”  se definirá la clase que va a permir solucionar el problema planteado ulizando UML. El nombre de la clase que define el método principal comienza con las letras “Prg” (abreviatura de programa), seguido de un nombre que idenfique a la clase. Este nombre deberá ser seleccionado adecuadamente. Dicha clase por lo general no tendrá atributos definidos. En el paquete “Biblioteca”  se  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 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 el  nombre de los métodos métodos se  se escriben en letra minúscula. En caso que el nombr nombre e sea compuesto 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 comienz comienza a 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 represent representan an pequeños subprogramas encapsulados encapsulados dentro de las clases y contribuyen a definir el comportamiento  pico pico de los objetos. Los algoritmos se desarrollan para especi ficar 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 de finición ene dos partes esenciales: Una lista de pasos que deben ser ejecutados.

 

Una descripción de los datos que son manipulados por estos pasos.

 

1.4.1

Características

Descripción de los pasos que deben ser ejecutados (estructura (estructurass lógicas).

 

Descripción de los datos que son manipulados por estos pasos (estructuras de datos).

 

Un algoritmo debe ser preciso, indicando el orden de realización de cada paso.

 

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.

 

MÉTODO DE LAS 6’D - ENFOQUE ORIENTADO A LAS ESTRUCTURAS LÓGICAS

30

Un algoritmo puede o no tener datos de entrada.

 

Un algoritmo producirá uno o más datos de salida.

 

Los datos de entrada y salida deben almacenarse en estructuras de datos.

 

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 especi ficar la lógica de desarrollo de los métodos que conforman confo rman 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 herramientas se puede mencionar al pseudocódigo y al diagrama de flujo.

Herramientas

1.4.2

 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 programación. ó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 compuesto 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 información de salida.

 



Para declarar 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

b. Estructura básica de un pseudocódigo: Algoritmo NombreClase – nombreMetodo( ) ENTRADA:

En Entrada y Salida se especi  fi can can las variables que se usarán en el

SALIDA:

desarrollo del algoritmo.

INICIO:

... ...

FIN:

Este es el cuerpo del algoritmo expresado en pseudocódigo. Las instrucciones se colocan entre 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.

 

REGLA

FORMATO

DESCRIPCIÓN

GRUPO 1 Utilizada para el ingreso de datos. L EE R

L E ER x

El dato ingresado se almacena en la variable especificada.

ESCRIBIR “Hola” ESCRIBIR

ESCRIBIR x ESCRIBIR x + z

Utilizada

para

la

salida

de

información. Se puede visualizar una cadena, el contenido de una variable o el resultado de una operación matemática. Utilizada para realizar comentarios

COME NTARI O

CO ME NTA RIO “ Var i ab l e s”

internos en los algoritmos de las soluciones.

NUMERO

N U M ER O x

T E X TO

T E X TO m e n s a j e

C A R AC T E R

C A R A C T ER l et ra

L OG I C O

L O GI C O a p ro b ad o

VE R D A D ER O

a p ro b ad o = VE R D A D ER O

FA L SO

a p ro b ad o = FA L SO

Permite declarar una variable de tipo numérico. Permite declarar una variable de tipo texto o cadena. Permite declarar declarar a una va variable riable d de e tipo texto o cadena de una sola letra. Permite declarar una variable de tipo lógico

Permite asignar el valor VERDADERO a una variable lógica.

Permite asignar el v alor FALSO a una variable lógica.

 

32

MÉTODO DE LAS 6’D - ENFOQUE ORIENTADO A LAS ESTRUCTURAS LÓGICAS

REGLA

FORMATO

DESCRIPCIÓN

GRUPO 2 SI (condición) ENTONCES   SI

instrucciones...

Permite especificar una estructura de decisión simple “SI... FINSI”.

FINSI SI (condición) ENTONCES   SI / SINO

instrucciones...

SINO  

instrucciones...

Permite especificar una estructura de decisión doble “SI... SINO... FINSI”.

FINSI CUANDO (variable) SEA  

CASO valor 1 : instrucciones...

  CUANDO

CASO valor 2 :

   

instrucciones... CASO valor n :

   

instrucciones...

Permite especificar una estructura de

decisión

múltiple

“CUANDO...

FINCUANDO”.

OTROS

 

instrucciones…

FINCUANDO DESDE i = valorInicial  

HASTA valorFi nal instrucción 1

DESDE

 

.

 

. .

 

instrucción n

Permite especificar una estructura de repetición “DESDE... FINDESDE”. Esta estructura es equivalente a PARA.

  FINDESDE PARA ( i = valorInicial ;  

condición ; valor ) instrucción 1

PARA

 

.

Permite especificar una estructura de

   

. .

repetición “PARA... FINPARA”. Esta estructura es equivalente a DESDE.

 

instrucción n

  FINPARA MIENTRAS (condición)  

MIENTRAS

instrucción 1

 

.

 

.

 

.

 

instrucción n

Permite especificar una estructura de

repetición

“MIENTRAS...

FINMIENTRAS”.

FINMIENTRAS HACER instrucción 1 HACER

   

. .

 

.

 

instrucción n

MIENTRAS (condición

Permite especificar una estructura de repetición “HACER... MIENTRAS”.

 

CAP. 1: MÉTODO Y  HERRAMIENTAS 

TE RMINA R

Permite terminar la ejecución de una

TE RMINA R

estructura lógica de repetición.

Permite CO NTINUA R

volver

a

ejecutar

una

estructura lógica de repetición, sin

C ON T I N U A

finalizar todas las instrucciones que forman parte de la misma.

REGLA

FORMATO

DESCRIPCIÓN

GRUPO 3

Permite obtener el coseno del valor COSENO

almacenado en la variable “n”. El x = COSENO n

resultado se almacena en la variable “x”.

Permite obtener el seno del valor almacenado en la variable “n”. El S EN O

x = S EN O n

resultado se almacena en la variable “x”.

Permite obtener la longitud de la cadena almacenada en la variable L ON GI T U D

x = L ON G I T U D n

“n” o la longitud del vector “n”. El resultado se almacena en la variable “x”.

Permite obtener el número de filas F I LA

x = FILA n

de una matriz “n”. El resultado se almacena en la variable “x”.

Permite CO LUMNA

x = C O LU M N A n

obtener

columnas de

el

una

número

de

matriz “n”. El

resultado se almacena en la variable “x”.

Permite MAYUSCULA

x = MAYUSCULA n

cambiar

a

mayúscula

la

cadena almacenada en la variable “n”. El resultado se almacena en la variable “x”.

Permite M I N U SC U L A

x = MINUS CUL A n

cambiar

a

minúscula

la

cadena almacenada en la variable “n”. El resultado se almacena en la variable “x”.

33

 

34

MÉTODO DE LAS 6’D - ENFOQUE ORIENTADO A LAS ESTRUCTURAS LÓGICAS

REGLA

FORMATO

DESCRIPCIÓN

GRUPO 4 Permite obtener el resto de la división R E S TO

x = z R E S TO n

entre las variables “z” y “n”. El resultado se almacena en la variable “x”.

Permite obtener la parte entera de la DIV IDIR

x = z DIV IDI R n

división de las variables “z” y “n”. El resultado se almacena en la variable “x”.

Permite obtener la raíz “n” del número RA IZ

x = z RA IZ n

“z”. El resultado se almacena en la variable “x”.

Permite obtener la potencia “n” del PO T E N C I A

x = z P OT E N C I A n

número “z”. El resultado se almacena en la variable “x”.

Permite obtener el número mayor entre el valor almacenado en la M AX I M O

x = z M A XI M O n

variable “n” y la variable “z”. El resultado se almacena en la variable “x”.

Permite obtener el número mayor entre los valores almacenados en las MAYO R

x = MAYO R n 1, n 2, n3 …

variables “n1”, “n2”, “n3”… El resultado se almacena en la variable “x”.

Permite obtener el número menor entre los valores almacenados en las M EN OR

x = M EN O R n 1, n 2, n 3…

variables “n1”, “n2”, “n3”… El resultado se almacena en la variable “x”.

Permite obtener el número menor entre el valor almacenado en la MINIMO

x = z MINI MO n

variable “n” y la variable “z”. El resultado se almacena en la variable “x”.

Permite obtener el promedio entre los PR OM E D I O

x = PR O M ED I O n1 , n 2 , n 3 …

valores almacenados en las variables “n1”, “n2”, “n3”… El resultado se almacena en la variable “x”

 

CAP. 1: MÉTODO Y  HERRAMIENTAS 

Permite obtener el carácter ubicado C A R A C T ER

x = z C AR A C T E R n

en la posición “n” de la cadena “z”. El resultado se almacena en la variable “x”. Permite obtener un número cualquiera

 ALEATOR IO

x = z ALE ATORIO n

(aleatorio) entre los valores de “z” y “n”. El resultado se almacena en la variable “x”. Permite redondear un número “z” al

R E D O N D EA R

x = z R ED O N D EA R n

número de decimales especificado en “n” El resultado se almacena en la variable “x”.

REGLA

FORMATO

DESCRIPCIÓN

GRUPO 5 Permite

obtener

una

subcadena

comprendida entre las posiciones S U B C AD E N A

x = z S U B C AD E N A n1 , n 2

especificadas por “n1” y “n2” de la cadena “z”. El resultado se almacena en la variable “x”. Permite

ELIMINAESPACIO

x = z ELIMINAESPACIO n1, n2

eliminar

los

espacios

existentes en una cadena entre las posiciones especificadas por “n1” y “n2”. El resultado se almacena en la variable “x”.

REGLA

FORMATO

DESCRIPCIÓN

GRUPO 6 Utilizada CREAR vector[n] CREAR

para

crear

arreglos

previamente declarados. Un arreglo permite almacenar más de un dato

CREAR matriz[n1][n2]

del mismo tipo.

C L A SE

C L AS E Pr g Ej e m pl o

U t i li z a d a pa r a es p e c i f i c a r un a c l as e.

CREAR

C R E AR o bj e t o

E JE CUTA R

E JECUTAR

PA RA METRO

PA RAME TRO l ist aVa r i ab l es

R E TO R N A R

R E TO R N A R v a r i a b l e

a l go r i t m o

Permite crear un objeto de una determinada clase.

Pe r m it e ej e c ut ar o t r o a lg o ri t m o.

Permite especificar si un algoritmo recibe datos o valores.

Permite especificar si un algoritmo retorna una respuesta.

35

 

36

MÉTODO DE LAS 6’D - ENFOQUE ORIENTADO A LAS ESTRUCTURAS LÓGICAS

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 a firmar 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.

Elementos o símbolos básicos:

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

Estructura básica de un diagrama de flujo:

Algoritmo NombreClase – nombreMetodo()

INICIO

Instrucciones…

Este es el cuerpo del algoritmo expresado en diagrama de flujo. Las instrucciones se colocan entre INICIO… FIN.

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 dec ir,, 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 deci r, 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 Las barras de sincronización permiten mostrar ac vidades concurrentes, es decir, acvidades que pueden realizarse en paralelo. Sin embargo, en la realidad puede ser que no se ejecuten simultáneamente. La idea es indicar qué acvidades se pueden realizar en paralelo, sin que ello signifique que deba forzosamente realizarse así. Puede realizarse en cualquier orden, lo importante es dar la idea de que se pueden ejecutar al mismo empo. Las barras de sincroniz sincronización ación son líneas connuas gruesas y pueden ser vercales u horizontales. 

En Diagrama de vidad, comoque en cualquier UML, incluir notas. Las notas sonun comentarios conAcexplicaciones describen diagrama el propósito depuede los símbolos del diagrama de Acvidad. Las notas son símbolos representados por rectángulos con la esquina superior derecha doblada. Una línea punteada permite conectar cada nota con el elemento que describe dicha nota. Generalmente, las notas pueden ulizarse para describir como se relacionan los diagramas con un lenguaje de programación en par cular. Al igual que los Pseudocódigo y los Diagramas de Flujo, los Diagramas de Ac vidades ayudan a los programadores programador es a desarrollar y representar los algoritmos, aunque muchos programadores prefieren ulizar Pseudocódigo o Diagramas de Flujo. Los Diagramas de Ac vidad claramente muestran cómo operan las estructuras lógicas y pueden ser usados para diseñar algoritmos.

Elementos o símbolos básicos: ESTADO INICIAL Este símbolo permite marcar el inicio del algoritmo.

ESTADO DE ACCIÓN O ACTIVIDAD Representa la realización de una o varias tareas.

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. 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

MODEL MIENTO MODELAMIENTO  ALG  A   LGO LGORITMO O RI TM O

Se desarrollará el siguiente paso:

Desarrollo de algoritmos. En este paso, se desarrollará el algoritmo para el método especificado en

 

la clase, la cual forma parte del paquete “dominioDeLaAplicación” . Para el desarrollo del algoritmo se ulizará Pseudocódigo y/o Diagrama de Flujo.  También, en algunos casos, a modo de introducción se ulizarán los diagramas de acvidades.

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 computador computadora. a.

Nos “comunicamos” con las computadoras a través de los programas desarrollados en un lenguaje de programación en parcular 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.

 

MÉTODO DE LAS 6’D - ENFOQUE ORIENTADO A LAS ESTRUCTURAS LÓGICAS

40

1.5.1 Tipos de lenguajes de programación  A. C++

C++ es un lenguaje de programació programación, 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 fabrican tes de compilador compiladores es 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ó programación 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: programaci ón: la programació programación n estructurada, la programación programación genérica y la programación programación orientada a objetos. C++ está considerado considerado po porr muchos progr programadores amadores co como mo uno de los mejores lenguajes de programación, 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 aprendizaje.. B. Java

Java es un lenguaje de programación orientado a objetos, desarrollado por Sun MicroSystems, una compañía reconocida 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

CODIFIC CIÓN CODIFICACIÓN Se desarrollará solo el primer paso. Codificar el proyecto. En este paso, se desarrollará la codi ficació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.

 

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF